diff --git a/.gitignore b/.gitignore
index 474763e..e8f9af3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
node_modules
-*storybook.log
\ No newline at end of file
+*storybook.log
+storybook-static
\ No newline at end of file
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000..db5b829
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1 @@
+@kevisual:registry=https://npm.xiongxiao.me
diff --git a/.storybook/main.js b/.storybook/main.js
index 04e4a49..548dd67 100644
--- a/.storybook/main.js
+++ b/.storybook/main.js
@@ -1,21 +1,64 @@
+import MiniCssExtractPlugin from 'mini-css-extract-plugin';
+const WEBPACK_SERVE = Boolean(process.env.WEBPACK_SERVE);
+const mode = WEBPACK_SERVE ? 'development' : 'production';
+export const isDev = mode === 'development';
+
/** @type { import('@storybook/html-webpack5').StorybookConfig } */
const config = {
- stories: [
- "../stories/**/*.mdx",
- "../stories/**/*.stories.@(js|jsx|mjs|ts|tsx)",
- "../apps/**/*.mdx",
- "../apps/**/*.stories.@(js|jsx|mjs|ts|tsx)",
- ],
+ stories: ['../stories/**/*.mdx', '../stories/**/*.stories.@(js|jsx|mjs|ts|tsx)', '../apps/**/*.mdx', '../apps/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
addons: [
- "@storybook/addon-webpack5-compiler-swc",
- "@storybook/addon-links",
- "@storybook/addon-essentials",
- "@chromatic-com/storybook",
- "@storybook/addon-interactions",
+ '@storybook/addon-webpack5-compiler-swc',
+ '@storybook/addon-links',
+ '@storybook/addon-essentials',
+ '@chromatic-com/storybook',
+ '@storybook/addon-interactions',
],
framework: {
- name: "@storybook/html-webpack5",
+ name: '@storybook/html-webpack5',
options: {},
},
+ webpackFinal: async (config) => {
+ const newConfig = {
+ ...config,
+ module: {
+ ...config.module,
+ rules: [
+ ...config.module.rules.filter((i) => {
+ if (i.test instanceof RegExp && i.test.test('.css')) {
+ return false;
+ }
+ return true;
+ }),
+ {
+ test: /\.css$/,
+ use: [
+ {
+ loader: !isDev ? MiniCssExtractPlugin.loader : 'style-loader',
+ },
+ {
+ loader: 'css-loader',
+ options: {
+ modules: false,
+ },
+ },
+ 'postcss-loader',
+ ],
+ },
+ ],
+ },
+ plugins: [
+ ...config.plugins,
+ // ...(config.plugins ?? [])
+ // // DocgenPlugin adds to the build time and we don't use storybook's autogenerated docs.
+ // .filter((plugin) => plugin.constructor.name !== 'DocgenPlugin'),
+ // ,
+ new MiniCssExtractPlugin({
+ filename: '[name].bundle.css',
+ chunkFilename: '[id].css',
+ }),
+ ],
+ };
+ return newConfig;
+ },
};
export default config;
diff --git a/.storybook/preview-head.html b/.storybook/preview-head.html
new file mode 100644
index 0000000..253d065
--- /dev/null
+++ b/.storybook/preview-head.html
@@ -0,0 +1,2 @@
+
+
diff --git a/.storybook/preview.js b/.storybook/preview.js
index a354068..96c8406 100644
--- a/.storybook/preview.js
+++ b/.storybook/preview.js
@@ -1,3 +1,5 @@
+import './tailwind.css';
+
/** @type { import('@storybook/html').Preview } */
const preview = {
parameters: {
diff --git a/.storybook/tailwind.css b/.storybook/tailwind.css
new file mode 100644
index 0000000..bd6213e
--- /dev/null
+++ b/.storybook/tailwind.css
@@ -0,0 +1,3 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
\ No newline at end of file
diff --git a/apps/ui/deploy/message.js b/apps/ui/deploy/message.js
index 0a931aa..3e4bffb 100644
--- a/apps/ui/deploy/message.js
+++ b/apps/ui/deploy/message.js
@@ -59,7 +59,7 @@ export class MessageContainer {
0 9px 28px 8px rgba(0, 0, 0, 0.05);
justify-content: center;
align-item: center;
- animation: message-slide-down 0.5s ease-out forwards; /* 应用动画 */
+ animation: message-slide-down 0.3s ease-out forwards; /* 应用动画 */
}
/* 添加消失类时 */
.message-wrapper.message-hide {
@@ -188,6 +188,7 @@ export class MessageContainer {
}
}
const controller = new MessageContainer();
+
export const createMessage = (content, opts) => {
let { icon, key, style, className, type } = opts || {};
const div = document.createElement('div');
@@ -207,7 +208,6 @@ export const createMessage = (content, opts) => {
i.classList.add('message-icon');
contentDiv.appendChild(i);
}
- console.log(content, type, icon, 'content');
if (content instanceof HTMLElement) {
contentDiv.appendChild(content);
} else {
@@ -222,13 +222,17 @@ export const createMessage = (content, opts) => {
const methods = ['success', 'info', 'warning', 'error', 'loading'];
export class Message {
- static controller = controller;
- static open = (message, timeout = 3000, onClose, opts) => {
+ controller = controller;
+ constructor() {
+ this.controller = controller;
+ }
+ open = (message, timeout = 3000, onClose, opts) => {
+ const controller = this.controller;
const div = createMessage(message, opts);
const remove = () => {
div.classList.add('message-hide');
setTimeout(() => {
- if (div.isConnected) {
+ if (div?.isConnected) {
div.remove();
} else {
console.log('not connected');
@@ -252,19 +256,21 @@ export class Message {
remove();
};
};
- static success = (message, timeout = 3000, onClose) => {
- return Message.open(message, timeout, onClose, { type: 'success' });
+ success = (message, timeout = 1000, onClose) => {
+ return this.open(message, timeout, onClose, { type: 'success' });
};
- static info = (message, timeout = 3000, onClose) => {
- return Message.open(message, timeout, onClose, { type: 'info' });
+ info = (message, timeout = 1500, onClose) => {
+ return this.open(message, timeout, onClose, { type: 'info' });
};
- static warning = (message, timeout = 3000, onClose) => {
- return Message.open(message, timeout, onClose, { type: 'warning' });
+ warning = (message, timeout = 3000, onClose) => {
+ return this.open(message, timeout, onClose, { type: 'warning' });
};
- static error = (message, timeout = 3000, onClose) => {
- return Message.open(message, timeout, onClose, { type: 'error' });
+ error = (message, timeout = 3000, onClose) => {
+ return this.open(message, timeout, onClose, { type: 'error' });
};
- static loading = (message, timeout = 0, onClose) => {
- return Message.open(message, timeout, onClose, { type: 'loading' });
+ loading = (message, timeout = 0, onClose) => {
+ return this.open(message, timeout, onClose, { type: 'loading' });
};
}
+
+export const message = new Message();
diff --git a/apps/ui/deploy/theme/index.css b/apps/ui/deploy/theme/index.css
new file mode 100644
index 0000000..742e0db
--- /dev/null
+++ b/apps/ui/deploy/theme/index.css
@@ -0,0 +1,27 @@
+#ui-modal-list {
+ position: relative;
+}
+.ui-modal-wrapper {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 200;
+}
+.ui-modal-close {
+ display: none;
+}
+.ui-modal-mask {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: rgba(0, 0, 0, 0.5);
+ z-index: 201;
+}
+.ui-modal-content {
+ position: fixed;
+ z-index: 202;
+}
\ No newline at end of file
diff --git a/apps/ui/deploy/theme/index.js b/apps/ui/deploy/theme/index.js
new file mode 100644
index 0000000..8f945b9
--- /dev/null
+++ b/apps/ui/deploy/theme/index.js
@@ -0,0 +1 @@
+var e={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};function t(e){var t=Object.create(null);return function(o){return void 0===t[o]&&(t[o]=e(o)),t[o]}}var o=/[A-Z]|^ms/g,n=/_EMO_([^_]+?)_([^]*?)_EMO_/g,i=function(e){return 45===e.charCodeAt(1)},l=function(e){return null!=e&&"boolean"!=typeof e},a=t((function(e){return i(e)?e:e.replace(o,"-$&").toLowerCase()})),s=function(t,o){switch(t){case"animation":case"animationName":if("string"==typeof o)return o.replace(n,(function(e,t,o){return d={name:t,styles:o,next:d},t}))}return 1===e[t]||i(t)||"number"!=typeof o||0===o?o:o+"px"};function r(e,t,o){if(null==o)return"";var n=o;if(void 0!==n.__emotion_styles)return n;switch(typeof o){case"boolean":return"";case"object":var i=o;if(1===i.anim)return d={name:i.name,styles:i.styles,next:d},i.name;var c=o;if(void 0!==c.styles){var u=c.next;if(void 0!==u)for(;void 0!==u;)d={name:u.name,styles:u.styles,next:d},u=u.next;return c.styles+";"}return function(e,t,o){var n="";if(Array.isArray(o))for(var i=0;i=4;++n,i-=4)t=1540483477*(65535&(t=255&e.charCodeAt(n)|(255&e.charCodeAt(++n))<<8|(255&e.charCodeAt(++n))<<16|(255&e.charCodeAt(++n))<<24))+(59797*(t>>>16)<<16),o=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&o)+(59797*(o>>>16)<<16);switch(i){case 3:o^=(255&e.charCodeAt(n+2))<<16;case 2:o^=(255&e.charCodeAt(n+1))<<8;case 1:o=1540483477*(65535&(o^=255&e.charCodeAt(n)))+(59797*(o>>>16)<<16)}return(((o=1540483477*(65535&(o^=o>>>13))+(59797*(o>>>16)<<16))^o>>>15)>>>0).toString(36)}(i)+u;return{name:f,styles:i,next:d}}const f=e=>{if(!e)return"";return u([e]).styles},m=e=>{if(!e)return"";return u(e).styles},h=(e,t)=>{if(!e)return;if(!t)return;const o=u([t]);e.style.cssText=o.styles};function p(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var g,y,C,S={};var v=p(function(){if(C)return S;C=1;var e=S&&S.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(S,"__esModule",{value:!0}),S.default=function(e,o){var n=null;if(!e||"string"!=typeof e)return n;var i=(0,t.default)(e),l="function"==typeof o;return i.forEach((function(e){if("declaration"===e.type){var t=e.property,i=e.value;l?o(t,i,e):i&&((n=n||{})[t]=i)}})),n};var t=e(function(){if(y)return g;y=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,o=/^\s*/,n=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,l=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,a=/^[;\s]*/,s=/^\s+|\s+$/g,r="";function d(e){return e?e.replace(s,r):r}return g=function(s,c){if("string"!=typeof s)throw new TypeError("First argument must be a string");if(!s)return[];c=c||{};var u=1,f=1;function m(e){var o=e.match(t);o&&(u+=o.length);var n=e.lastIndexOf("\n");f=~n?e.length-n:f+e.length}function h(){var e={line:u,column:f};return function(t){return t.position=new p(e),C(),t}}function p(e){this.start=e,this.end={line:u,column:f},this.source=c.source}function g(e){var t=new Error(c.source+":"+u+":"+f+": "+e);if(t.reason=e,t.filename=c.source,t.line=u,t.column=f,t.source=s,!c.silent)throw t}function y(e){var t=e.exec(s);if(t){var o=t[0];return m(o),s=s.slice(o.length),t}}function C(){y(o)}function S(e){var t;for(e=e||[];t=v();)!1!==t&&e.push(t);return e}function v(){var e=h();if("/"==s.charAt(0)&&"*"==s.charAt(1)){for(var t=2;r!=s.charAt(t)&&("*"!=s.charAt(t)||"/"!=s.charAt(t+1));)++t;if(t+=2,r===s.charAt(t-1))return g("End of comment missing");var o=s.slice(2,t-2);return f+=2,m(o),s=s.slice(t),f+=2,e({type:"comment",comment:o})}}function x(){var t=h(),o=y(n);if(o){if(v(),!y(i))return g("property missing ':'");var s=y(l),c=t({type:"declaration",property:d(o[0].replace(e,r)),value:s?d(s[0].replace(e,r)):r});return y(a),c}}return p.prototype.content=s,C(),function(){var e,t=[];for(S(t);e=x();)!1!==e&&(t.push(e),S(t));return t}()}}());return S}()),x=v.default||v;const w=e=>e?"string"==typeof e?document.querySelector(e):e:null,E=(e,t,o)=>{e&&(t&&e.classList.add(t),o&&"string"==typeof o?e.style.cssText=o:o&&h(e,o))},b=(e,t,o,n)=>{if(!e)return;t&&e.classList.add(t);let i={...n};o&&"string"==typeof o?i={...n,...x(o)}:o&&"object"==typeof o&&(i={...n,...o}),h(e,i)};let k=e=>crypto.getRandomValues(new Uint8Array(e)),O=(e,t=21)=>((e,t,o)=>{let n=(2<{let a="";for(;;){let t=o(i),s=i;for(;s--;)if(a+=e[t[s]&n]||"",a.length===l)return a}}})(e,t,k);const T="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",N=O("0123456789abcdefghijklmnopqrstuvwxyz",6),F=O(T,12),D=(e=6)=>"b-"+N(e),L=(e=6)=>F(e);function A(e){const t=/\{\{\s*(.*?)\s*\}\}/g,o=[];let n;for(;null!==(n=t.exec(e));)o.push(n[1]);return o}const M=(e,t,o=!0)=>{const n=window.history;"string"==typeof e?n.pushState({key:"default",usr:t},"",e):n.pushState({key:"default",usr:t},"",e.pathname),o&&window.dispatchEvent(new Event("popstate"))},_={push:M},j=e=>null==e||"{}"===JSON.stringify(e),I=e=>{let t;const o=new Set,n=(e,n)=>{const i="function"==typeof e?e(t):e;if(!Object.is(i,t)){const e=t;t=(null!=n?n:"object"!=typeof i||null===i)?i:Object.assign({},t,i),o.forEach((o=>o(t,e)))}},i=()=>t,l={setState:n,getState:i,getInitialState:()=>a,subscribe:e=>(o.add(e),()=>o.delete(e))},a=t=e(n,i,l);return l},R=e=>e?I(e):I,H=R(((e,t)=>({modals:[],getModal:e=>t().modals.find((t=>t.id===e))}))),z={},G=e=>{const t=e.target;if(t){if(t.classList.contains("ui-modal-mask")){const o=H.getState().modals.find((e=>e.id===t.dataset.id));return o&&o.open&&o.onMaskClose(e),void e.preventDefault()}}else console.log("target is null")};class q{static rootClassName="#ui-modal-list";root;id;modalElement;Element;mask;maskClassName;maskStyle;maskClose;contentClassName;contentStyle;destroyOnClose;hideOnClose;open;isUse=!0;onClose;cacheFragment;defaultStyle;constructor(e){this.root=this.initRoot(e.root),(e=>{const t=e.id;z[t]&&e===z[t]||(z[t]&&z[t].removeEventListener("click",G),z[t]=null,e.addEventListener("click",G),z[t]=e)})(this.root),this.id=e.id||D(),this.mask=e.mask??!0,this.maskClassName=e.maskClassName,this.maskStyle=e.maskStyle,this.maskClose=e.maskClose??!0,this.contentClassName=e.contentClassName,this.contentStyle=e.contentStyle,this.destroyOnClose=e.destroyOnClose??!0,this.hideOnClose=e.hideOnClose??!0,this.destroyOnClose||this.hideOnClose||(this.destroyOnClose=!0,console.warn("destroyOnClose Or hideOnClose must one is true")),this.cacheFragment=new DocumentFragment,this.defaultStyle=e.defaultStyle||{},this.open=e.open??!0,this.onClose=e.onClose}initRoot(e){let t=w(e);if(!t){const e=document.querySelector("#ui-modal-list");return e?(t=e,t.classList.add("ui-modal-root"),t):(t=document.createElement("div"),t.id="ui-modal-list",t.classList.add("ui-modal-root"),document.body.appendChild(t),t)}return t.classList.add("ui-custom-modal","ui-modal-root"),t.id||(t.id="ui-modal"+D()),t}static render(...e){let[t,o,n]=e;const i=w(t);if(!i)return void console.warn("el is not exist",t);let l,a="";"string"==typeof o&&o?a=o:"object"==typeof o&&(a=o.id,n=o,o=o.id);const s=H.getState();if(a&&(l=H.getState().getModal(a)),!l){const e=new this({id:o,...n});l=e,H.setState({modals:[...s.modals,e]})}return l.renderEl(i),l}static create(e){let t,o=e.id;const n=H.getState();if(o&&(t=H.getState().getModal(o)),!t){const i=new this({...e,id:o});t=i,H.setState({modals:[...n.modals,i]})}return t}createMask(){const e=document.createElement("div");return e.classList.add("ui-modal-mask"),e.dataset.id=this.id,b(e,this.maskClassName,this.maskStyle,this.defaultStyle?.defaultMaskStyle),e}renderEl(e){const t=this.defaultStyle?.defaultContentStyle||{position:"absolute",padding:"20px",left:"50%",top:"20%",width:"600px",background:"#fff",borderRadius:"5px",boxShadow:"0 0 10px rgba(0,0,0,.1)",transform:"translate(-50%, -50%)",maxHeight:"80vh",overflow:"auto"},o=document.createDocumentFragment(),n=document.createElement("div");if(n.classList.add("ui-modal-wrapper"),n.id=this.id,n.dataset.mid=this.id,this.mask){const e=this.createMask();n.appendChild(e)}const i=document.createElement("div");return i.classList.add("ui-modal-content"),b(i,this.contentClassName,this.contentStyle,t),i.appendChild(e),n.appendChild(i),o.appendChild(n),this.modalElement=n,this.Element=e,this.appendRoot(o),this}appendRoot(e){this.root.appendChild(e),this.setOpen(this.open)}setOpen(e){this.open=e,this.destroyOnClose?e?this.root.appendChild(this.modalElement):this.cacheFragment.appendChild(this.modalElement):this.hideOnClose&&(e?this.modalElement.classList.remove("ui-modal-close"):this.modalElement.classList.add("ui-modal-close"))}unMount(){const e=document.createDocumentFragment();e.appendChild(this.Element),this.modalElement?.remove();const t=H.getState();return H.setState({modals:t.modals.filter((e=>e.id!==this.id))}),this.isUse=!1,this.cacheFragment=new DocumentFragment,e}reRender(e,t){if(e){if(this.modalElement?.remove?.(),this.modalElement=void 0,!this.Element)return;this.renderEl(this.Element)}}async onMaskClose(e){this.maskClose&&(this.setOpen(!1),this.onClose?.(e))}setDefaultStyle(e,t){this.defaultStyle[e]=t}}class W extends q{constructor(e){super(e)}}class P extends q{dialogTitle;dialogTitleClassName;dialogTitleStyle;dialogTitleEl;dialogTitleCloseIcon;dialogContentClassName;dialogContentStyle;dialogFooterShow;dialogFooterClassName;dialogFooterStyle;constructor(e){super(e),this.dialogTitle=e.dialogTitle,this.dialogTitleClassName=e.dialogTitleClassName,this.dialogTitleStyle=e.dialogTitleStyle,this.dialogTitleEl=e.dialogTitleEl,this.dialogTitleCloseIcon=e.dialogTitleCloseIcon,this.dialogContentClassName=e.dialogContentClassName,this.dialogContentStyle=e.dialogContentStyle,this.dialogFooterClassName=e.dialogFooterClassName,this.dialogFooterStyle=e.dialogFooterStyle,this.dialogFooterShow=e.dialogFooterShow??!1,this.setDefaultStyle("defaultContentStyle",{position:"absolute",padding:"0px",left:"50%",top:"20%",width:"600px",background:"#fff",borderRadius:"5px",boxShadow:"0 0 10px rgba(0,0,0,.1)",transform:"translate(-50%, -50%)",maxHeight:"80vh",overflow:"auto",...e?.defaultStyle?.defaultContentStyle}),this.setDefaultStyle("defaultDialogTitleStyle",{display:"flex",justifyContent:"space-between",alignItems:"center",position:"sticky",padding:"10px 20px",top:"0",fontSize:"16px",background:"#fff",marginTop:"-10px",borderBottom:"1px solid #f0f0f0",marginBottom:"5px",...e?.defaultStyle?.defaultDialogTitleStyle}),this.setDefaultStyle("defaultDialogContentStyle",{padding:"20px",...e?.defaultStyle?.defaultDialogContentStyle}),this.setDefaultStyle("defaultDialogFooterStyle",{display:"flex",justifyItems:"end",borderTop:"1px solid #f0f0f0",padding:"10px 20px",...e?.defaultStyle?.defaultDialogFooterStyle})}appendRoot(e){const t=document.createDocumentFragment();t.appendChild(this.Element);const o=e.querySelector(".ui-modal-content");o.classList.add("ui-modal-dialog");const n=document.createElement("div");if(n.classList.add("ui-modal-dialog-title"),b(n,this.dialogTitleClassName,this.dialogTitleStyle,this.defaultStyle.defaultDialogTitleStyle),this.dialogTitleEl?n.appendChild(this.dialogTitleEl):n.innerText=this.dialogTitle,this.dialogTitleCloseIcon){const e=document.createElement("span");e.className="ui-modal-dialog-close",e.innerHTML="×",e.style.cssText="\n cursor: pointer;\n font-size: 24px;\n margin: -5px 10px 0 0;\n ",e.onclick=e=>{this.setOpen(!1)},n.appendChild(e)}o.appendChild(n);const i=document.createElement("div");if(i.className="ui-modal-dialog-content",b(i,this.dialogContentClassName,this.dialogContentStyle,this.defaultStyle.defaultDialogContentStyle),i.appendChild(t),this.dialogFooterShow){const e=document.createElement("div");e.className="ui-modal-dialog-footer",b(e,this.dialogFooterClassName,this.dialogFooterStyle,this.defaultStyle.defaultDialogFooterStyle),o.appendChild(e)}o.appendChild(i),super.appendRoot(e)}renderEl(e){return super.renderEl(e)}renderFooter(e){const t=w(e);if(!t)return;const o=this.Element.querySelector(".ui-modal-dialog-footer");o&&(o.innerHTML="",o.appendChild(t))}renerContent(e){const t=w(e);if(!t)return;const o=this.Element.querySelector(".ui-modal-dialog-content");o&&(o.innerHTML="",o.appendChild(t))}}function U(e){if(null==e||"boolean"==typeof e)return console.warn("Invalid JSX element:",e),null;const{type:t,props:o}=e;if(t===Symbol.for("react.fragment")){const e=document.createDocumentFragment();if(o.children)if(Array.isArray(o.children))o.children.forEach((t=>{const o=U(t);o&&e.appendChild(o)}));else{const t=U(o.children);t&&e.appendChild(t)}return e}const n=document.createElement(t);return Object.keys(o).forEach((e=>{if("children"===e){if(Array.isArray(o.children))o.children.forEach((e=>{const t=U(e);t&&n.appendChild(t)}));else if("string"==typeof o.children)n.appendChild(document.createTextNode(o.children));else if("object"==typeof o.children&&null!==o.children){const e=U(o.children);e&&n.appendChild(e)}}else if(e.startsWith("on")){const t=e.slice(2).toLowerCase();n.addEventListener(t,o[e])}else"style"===e&&"object"==typeof o[e]?Object.assign(n.style,o[e]):"dangerouslySetInnerHTML"===e?o[e]&&"string"==typeof o[e].__html?n.innerHTML=o[e].__html:console.warn("Invalid dangerouslySetInnerHTML content:",o[e]):"ref"===e?console.warn("Ref prop is not supported in manual DOM creation"):"key"===e?console.warn("Key prop is not applicable in manual DOM creation"):n.setAttribute(e,o[e])})),n}export{W as BlankModal,P as DialogModal,q as Modal,T as alphabetLetterAll,U as createDOMElement,R as createStore,F as customNanoid,E as elAddCS,b as elAddCS2,A as extractKeysFromBraces,L as generate,D as generateId,N as generateId6,f as getCssText,m as getCssTextObjs,_ as history,j as isObjectNull,H as modalStore,h as obj2css,M as push,w as querySelector};
diff --git a/apps/ui/docs/message.mdx b/apps/ui/docs/message.mdx
new file mode 100644
index 0000000..95ee5d1
--- /dev/null
+++ b/apps/ui/docs/message.mdx
@@ -0,0 +1,7 @@
+# message
+
+类似antd的message,但是是直接用 `import` 调用
+
+```js
+import { message } from 'https://kevisual.xiongxiao.me/system/ui/message.js'
+```
\ No newline at end of file
diff --git a/apps/ui/docs/message.stories.js b/apps/ui/docs/message.stories.js
index cd285df..6105290 100644
--- a/apps/ui/docs/message.stories.js
+++ b/apps/ui/docs/message.stories.js
@@ -1,11 +1,13 @@
-import { Message, createMessage } from '../deploy/message.js';
+import { message as Message, createMessage } from '../deploy/message.js';
+
export default {
title: 'ui/message',
tags: ['autodocs'],
+ description: 'Message component',
render: ({ label, fn, ...args }) => {
const div = createMessage(label, { type: 'success' });
div.addEventListener('click', () => {
- fn('Hello World', 2000);
+ Message.success('Hello World', 2000);
});
div.style.border = '1px solid #000';
const uiMessage = document.createElement('div');
diff --git a/apps/ui/theme/modal.mdx b/apps/ui/theme/modal.mdx
new file mode 100644
index 0000000..d371e85
--- /dev/null
+++ b/apps/ui/theme/modal.mdx
@@ -0,0 +1,131 @@
+import { message } from '../deploy/message.js'
+import { DialogModal } from '@kevisual/ui'
+import '@kevisual/ui/dist/index.css'
+
+Modal
+
+> 使用原生js实现的弹窗组件
+
+
+export const ShowModal = () => {
+ const url = 'https://kevisual.xiongxiao.me/system/theme/index.js'
+
+ const onClick = async () => {
+ console.log('theme', DialogModal)
+ // console.log('clicked')
+ // message.info('Hello, this is a message')
+ const content = document.createElement('div');
+ content.innerHTML = `
+
+
Token 无效
+
您的登录凭证已失效,请重新登录。
+
确定
+
+`;
+ const modal = DialogModal.render(content, {
+ id: 'redirect-to-login',
+ contentStyle: {
+ width: 'unset',
+ },
+ dialogTitleStyle: {
+ display: 'none',
+ padding: '0',
+ },
+ dialogContentStyle: {
+ padding: '0',
+ },
+ mask: true,
+ open: false,
+ });
+ modal.setOpen(true)
+ }
+ return 点击显示弹窗
+}
+
+
+
+使用方法
+```js
+// import { DialogModal } from 'https://kevisual.xiongxiao.me/system/theme/index.js'
+import { DialogModal } from '@kevisual/ui';
+import '@kevisual/ui/dist/index.css';
+
+const content = document.createElement('div');
+content.innerHTML = `
+
+
Token 无效
+
您的登录凭证已失效,请重新登录。
+
确定
+
+`;
+export const modal = DialogModal.render(content, {
+ id: 'redirect-to-login',
+ contentStyle: {
+ width: 'unset',
+ },
+ dialogTitleStyle: {
+ display: 'none',
+ padding: '0',
+ },
+ dialogContentStyle: {
+ padding: '0',
+ },
+ mask: true,
+ open: false,
+});
+
+```
+
+类型
+```typescript
+export type ModalOpts<
+ T = {
+ [key: string]: any;
+ },
+ U = {
+ [key: string]: any;
+ },
+> = {
+ root?: HTMLDivElement | string;
+ id?: string;
+ mask?: boolean;
+ maskClassName?: string;
+ maskStyle?: ElStyle;
+ maskClose?: boolean;
+
+ contentClassName?: string;
+ contentStyle?: ElStyle;
+ destroyOnClose?: boolean; // 关闭,把Element移动到cacheFragment中
+ hideOnClose?: boolean; // 关闭后是否销毁,设置display:none
+ open?: boolean;
+
+ onClose?: () => void;
+ defaultStyle?: DefaultStyle;
+} & T;
+export type DefaultStyle = {
+ defaultContentStyle?: ObjCss;
+ defaultMaskStyle?: ObjCss;
+} & T;
+
+type DialogModalOpts = {
+ dialogTitle?: string;
+ dialogTitleClassName?: string;
+ dialogTitleStyle?: ElStyle;
+ dialogTitleEl?: HTMLElement;
+ dialogTitleCloseIcon?: boolean;
+
+ dialogContentClassName?: string;
+ dialogContentStyle?: ElStyle;
+
+ dialogFooterClassName?: string;
+ dialogFooterStyle?: ElStyle;
+} & ModalOpts;
+
+type DialogDefaultStyle = {
+ defaultDialogTitleStyle?: ObjCss;
+ defaultDialogContentStyle?: ObjCss;
+ defaultDialogFooterStyle?: ObjCss;
+};
+
+
+```
\ No newline at end of file
diff --git a/package.json b/package.json
index 75f83ab..59d195b 100644
--- a/package.json
+++ b/package.json
@@ -1,13 +1,14 @@
{
"name": "system-apps",
- "version": "1.0.0",
+ "version": "0.0.1",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"dev": "storybook dev -p 6006",
"storybook": "storybook dev -p 6006",
- "build-storybook": "storybook build"
+ "build": "storybook build ",
+ "deploy": "envision switchOrg docs && envision deploy ./storybook-static -k system-book -v 0.0.5"
},
"keywords": [],
"author": "",
@@ -22,6 +23,15 @@
"@storybook/html": "^8.3.6",
"@storybook/html-webpack5": "^8.3.6",
"@storybook/test": "^8.3.6",
- "storybook": "^8.3.6"
+ "autoprefixer": "^10.4.20",
+ "mini-css-extract-plugin": "^2.9.1",
+ "postcss": "^8.4.47",
+ "postcss-loader": "^8.1.1",
+ "storybook": "^8.3.6",
+ "tailwindcss": "^3.4.14"
+ },
+ "dependencies": {
+ "@kevisual/ui": "^0.0.2",
+ "systemjs": "^6.15.1"
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3272d86..4941245 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -7,6 +7,13 @@ settings:
importers:
.:
+ dependencies:
+ '@kevisual/ui':
+ specifier: ^0.0.2
+ version: 0.0.2
+ systemjs:
+ specifier: ^6.15.1
+ version: 6.15.1
devDependencies:
'@chromatic-com/storybook':
specifier: ^2.0.2
@@ -35,9 +42,24 @@ importers:
'@storybook/test':
specifier: ^8.3.6
version: 8.3.6(storybook@8.3.6)
+ autoprefixer:
+ specifier: ^10.4.20
+ version: 10.4.20(postcss@8.4.47)
+ mini-css-extract-plugin:
+ specifier: ^2.9.1
+ version: 2.9.1(webpack@5.95.0(@swc/core@1.7.36)(esbuild@0.23.1))
+ postcss:
+ specifier: ^8.4.47
+ version: 8.4.47
+ postcss-loader:
+ specifier: ^8.1.1
+ version: 8.1.1(postcss@8.4.47)(typescript@5.6.3)(webpack@5.95.0(@swc/core@1.7.36)(esbuild@0.23.1))
storybook:
specifier: ^8.3.6
version: 8.3.6
+ tailwindcss:
+ specifier: ^3.4.14
+ version: 3.4.14
apps/store: {}
@@ -48,6 +70,10 @@ packages:
'@adobe/css-tools@4.4.0':
resolution: {integrity: sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==}
+ '@alloc/quick-lru@5.2.0':
+ resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
+ engines: {node: '>=10'}
+
'@babel/code-frame@7.25.7':
resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==}
engines: {node: '>=6.9.0'}
@@ -212,6 +238,10 @@ packages:
cpu: [x64]
os: [win32]
+ '@isaacs/cliui@8.0.2':
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
+ engines: {node: '>=12'}
+
'@jridgewell/gen-mapping@0.3.5':
resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
engines: {node: '>=6.0.0'}
@@ -233,12 +263,31 @@ packages:
'@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
+ '@kevisual/ui@0.0.2':
+ resolution: {integrity: sha512-M47Z16TX5fN/lY8nvyN6y9CERXVvQ885Mi6hbSHythXuiay+GHO9FD4M6ib33LJlVpxQaVOmHwW3uD16h+pCdQ==}
+
'@mdx-js/react@3.0.1':
resolution: {integrity: sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==}
peerDependencies:
'@types/react': '>=16'
react: '>=16'
+ '@nodelib/fs.scandir@2.1.5':
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.stat@2.0.5':
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.walk@1.2.8':
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+
+ '@pkgjs/parseargs@0.11.0':
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
+ engines: {node: '>=14'}
+
'@storybook/addon-actions@8.3.6':
resolution: {integrity: sha512-nOqgl0WoZK2KwjaABaXMoIgrIHOQl9inOzJvqQau0HOtsvnXGXYfJXYnpjZenoZDoZXKbUDl0U2haDFx2a2fJw==}
peerDependencies:
@@ -709,10 +758,23 @@ packages:
resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
engines: {node: '>=10'}
+ ansi-styles@6.2.1:
+ resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+ engines: {node: '>=12'}
+
+ any-promise@1.3.0:
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
+
anymatch@3.1.3:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
engines: {node: '>= 8'}
+ arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+
+ argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
aria-query@5.3.0:
resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
@@ -731,6 +793,13 @@ packages:
resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==}
engines: {node: '>=4'}
+ autoprefixer@10.4.20:
+ resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+
available-typed-arrays@1.0.7:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
@@ -756,6 +825,9 @@ packages:
brace-expansion@1.1.11:
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+
braces@3.0.3:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
@@ -786,6 +858,10 @@ packages:
camel-case@4.1.2:
resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
+ camelcase-css@2.0.1:
+ resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
+ engines: {node: '>= 6'}
+
caniuse-lite@1.0.30001669:
resolution: {integrity: sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==}
@@ -859,6 +935,10 @@ packages:
commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+ commander@4.1.1:
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
+ engines: {node: '>= 6'}
+
commander@8.3.0:
resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
engines: {node: '>= 12'}
@@ -888,6 +968,19 @@ packages:
resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
engines: {node: '>=10'}
+ cosmiconfig@9.0.0:
+ resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ cross-spawn@7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ engines: {node: '>= 8'}
+
css-loader@6.11.0:
resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==}
engines: {node: '>= 12.13.0'}
@@ -918,6 +1011,9 @@ packages:
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+ dayjs@1.11.13:
+ resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
+
debug@2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
peerDependencies:
@@ -963,6 +1059,12 @@ packages:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ didyoumean@1.2.2:
+ resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
+
+ dlv@1.1.3:
+ resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
+
dom-accessibility-api@0.5.16:
resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
@@ -988,12 +1090,21 @@ packages:
dot-case@3.0.4:
resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
+ eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+
ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
electron-to-chromium@1.5.41:
resolution: {integrity: sha512-dfdv/2xNjX0P8Vzme4cfzHqnPm5xsZXwsolTYr0eyW18IUmNyG08vL+fttvinTfhKfIKdRoqkDIC9e9iWQCNYQ==}
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+
encodeurl@1.0.2:
resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
engines: {node: '>= 0.8'}
@@ -1009,6 +1120,10 @@ packages:
entities@2.2.0:
resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
+ env-paths@2.2.1:
+ resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
+ engines: {node: '>=6'}
+
error-ex@1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
@@ -1083,12 +1198,19 @@ packages:
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+ fast-glob@3.3.2:
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ engines: {node: '>=8.6.0'}
+
fast-json-stable-stringify@2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
fast-uri@3.0.3:
resolution: {integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==}
+ fastq@1.17.1:
+ resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+
filesize@10.1.6:
resolution: {integrity: sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==}
engines: {node: '>= 10.4.0'}
@@ -1104,6 +1226,10 @@ packages:
for-each@0.3.3:
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+ foreground-child@3.3.0:
+ resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
+ engines: {node: '>=14'}
+
fork-ts-checker-webpack-plugin@8.0.0:
resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==}
engines: {node: '>=12.13.0', yarn: '>=1.0.0'}
@@ -1115,6 +1241,9 @@ packages:
resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
engines: {node: '>= 0.6'}
+ fraction.js@4.3.7:
+ resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
+
fresh@0.5.2:
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
engines: {node: '>= 0.6'}
@@ -1149,9 +1278,17 @@ packages:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
+ glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+
glob-to-regexp@0.4.1:
resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
+ glob@10.4.5:
+ resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
+ hasBin: true
+
gopd@1.0.1:
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
@@ -1252,6 +1389,9 @@ packages:
inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ inline-style-parser@0.2.4:
+ resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==}
+
ipaddr.js@1.9.1:
resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
engines: {node: '>= 0.10'}
@@ -1275,6 +1415,10 @@ packages:
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
engines: {node: '>= 0.4'}
+ is-core-module@2.15.1:
+ resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==}
+ engines: {node: '>= 0.4'}
+
is-docker@2.2.1:
resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
engines: {node: '>=8'}
@@ -1284,6 +1428,10 @@ packages:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
+ is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
is-generator-function@1.0.10:
resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
engines: {node: '>= 0.4'}
@@ -1304,13 +1452,27 @@ packages:
resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
engines: {node: '>=8'}
+ isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ jackspeak@3.4.3:
+ resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
+
jest-worker@27.5.1:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
+ jiti@1.21.6:
+ resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==}
+ hasBin: true
+
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+ js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+
jsdoc-type-pratt-parser@4.1.0:
resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==}
engines: {node: '>=12.0.0'}
@@ -1327,6 +1489,14 @@ packages:
jsonfile@6.1.0:
resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+ lilconfig@2.1.0:
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
+ engines: {node: '>=10'}
+
+ lilconfig@3.1.2:
+ resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
+ engines: {node: '>=14'}
+
lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
@@ -1334,6 +1504,9 @@ packages:
resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
engines: {node: '>=6.11.5'}
+ lodash-es@4.17.21:
+ resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
+
lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
@@ -1347,6 +1520,9 @@ packages:
lower-case@2.0.2:
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
+ lru-cache@10.4.3:
+ resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+
lz-string@1.5.0:
resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
hasBin: true
@@ -1380,10 +1556,18 @@ packages:
merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+ merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+
methods@1.1.2:
resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
engines: {node: '>= 0.6'}
+ micromatch@4.0.8:
+ resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
+ engines: {node: '>=8.6'}
+
mime-db@1.52.0:
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
engines: {node: '>= 0.6'}
@@ -1401,15 +1585,32 @@ packages:
resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
engines: {node: '>=4'}
+ mini-css-extract-plugin@2.9.1:
+ resolution: {integrity: sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+
minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ minimatch@9.0.5:
+ resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minipass@7.1.2:
+ resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
ms@2.0.0:
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+ mz@2.7.0:
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+
nanoid@3.3.7:
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -1435,9 +1636,21 @@ packages:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
+ normalize-range@0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+
nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+ object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+
+ object-hash@3.0.0:
+ resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
+ engines: {node: '>= 6'}
+
object-inspect@1.13.2:
resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
engines: {node: '>= 0.4'}
@@ -1450,6 +1663,9 @@ packages:
resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
engines: {node: '>=12'}
+ package-json-from-dist@1.0.1:
+ resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
+
param-case@3.0.4:
resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
@@ -1474,6 +1690,17 @@ packages:
path-browserify@1.0.1:
resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
+ path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
+ path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ path-scurry@1.11.1:
+ resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
+ engines: {node: '>=16 || 14 >=14.18'}
+
path-to-regexp@0.1.10:
resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==}
@@ -1492,6 +1719,14 @@ packages:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
+ pify@2.3.0:
+ resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
+ engines: {node: '>=0.10.0'}
+
+ pirates@4.0.6:
+ resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
+ engines: {node: '>= 6'}
+
polished@4.3.1:
resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==}
engines: {node: '>=10'}
@@ -1500,6 +1735,43 @@ packages:
resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
engines: {node: '>= 0.4'}
+ postcss-import@15.1.0:
+ resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ postcss: ^8.0.0
+
+ postcss-js@4.0.1:
+ resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
+ engines: {node: ^12 || ^14 || >= 16}
+ peerDependencies:
+ postcss: ^8.4.21
+
+ postcss-load-config@4.0.2:
+ resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
+ engines: {node: '>= 14'}
+ peerDependencies:
+ postcss: '>=8.0.9'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
+
+ postcss-loader@8.1.1:
+ resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==}
+ engines: {node: '>= 18.12.0'}
+ peerDependencies:
+ '@rspack/core': 0.x || 1.x
+ postcss: ^7.0.0 || ^8.0.1
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ '@rspack/core':
+ optional: true
+ webpack:
+ optional: true
+
postcss-modules-extract-imports@3.1.0:
resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==}
engines: {node: ^10 || ^12 || >= 14}
@@ -1524,6 +1796,12 @@ packages:
peerDependencies:
postcss: ^8.1.0
+ postcss-nested@6.2.0:
+ resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+
postcss-selector-parser@6.1.2:
resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
engines: {node: '>=4'}
@@ -1561,6 +1839,9 @@ packages:
resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==}
engines: {node: '>=0.6'}
+ queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
randombytes@2.1.0:
resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
@@ -1596,6 +1877,9 @@ packages:
resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
engines: {node: '>=0.10.0'}
+ read-cache@1.0.0:
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
+
readdirp@3.6.0:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
@@ -1632,6 +1916,17 @@ packages:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
+ resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ hasBin: true
+
+ reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+
safe-buffer@5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
@@ -1672,10 +1967,22 @@ packages:
setprototypeof@1.2.0:
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
+ shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+
+ shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
side-channel@1.0.6:
resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
engines: {node: '>= 0.4'}
+ signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+
source-map-js@1.2.1:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
@@ -1698,6 +2005,14 @@ packages:
resolution: {integrity: sha512-9GVbtej6ZzPRUM7KRQ7848506FfHrUiJGqPuIQdoSJd09EmuEoLjmLAgEOmrHBQKgGYMaM7Vh9GsTLim6vwZTQ==}
hasBin: true
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+
+ string-width@5.1.2:
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
+ engines: {node: '>=12'}
+
strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
@@ -1716,6 +2031,14 @@ packages:
peerDependencies:
webpack: ^5.0.0
+ style-to-object@1.0.8:
+ resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==}
+
+ sucrase@3.35.0:
+ resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
+
supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
@@ -1728,12 +2051,24 @@ packages:
resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
engines: {node: '>=10'}
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
swc-loader@0.2.6:
resolution: {integrity: sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==}
peerDependencies:
'@swc/core': ^1.2.147
webpack: '>=2'
+ systemjs@6.15.1:
+ resolution: {integrity: sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA==}
+
+ tailwindcss@3.4.14:
+ resolution: {integrity: sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+
tapable@2.2.1:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'}
@@ -1762,6 +2097,13 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ thenify-all@1.6.0:
+ resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
+ engines: {node: '>=0.8'}
+
+ thenify@3.3.1:
+ resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+
tiny-invariant@1.3.3:
resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
@@ -1785,6 +2127,9 @@ packages:
resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
engines: {node: '>=6.10'}
+ ts-interface-checker@0.1.13:
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+
tslib@2.8.0:
resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==}
@@ -1904,6 +2249,19 @@ packages:
resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
engines: {node: '>= 0.4'}
+ which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+
+ wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+
+ wrap-ansi@8.1.0:
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
+ engines: {node: '>=12'}
+
ws@8.18.0:
resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
engines: {node: '>=10.0.0'}
@@ -1920,10 +2278,17 @@ packages:
resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
engines: {node: '>= 6'}
+ yaml@2.6.0:
+ resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==}
+ engines: {node: '>= 14'}
+ hasBin: true
+
snapshots:
'@adobe/css-tools@4.4.0': {}
+ '@alloc/quick-lru@5.2.0': {}
+
'@babel/code-frame@7.25.7':
dependencies:
'@babel/highlight': 7.25.7
@@ -2026,6 +2391,15 @@ snapshots:
'@esbuild/win32-x64@0.23.1':
optional: true
+ '@isaacs/cliui@8.0.2':
+ dependencies:
+ string-width: 5.1.2
+ string-width-cjs: string-width@4.2.3
+ strip-ansi: 7.1.0
+ strip-ansi-cjs: strip-ansi@6.0.1
+ wrap-ansi: 8.1.0
+ wrap-ansi-cjs: wrap-ansi@7.0.0
+
'@jridgewell/gen-mapping@0.3.5':
dependencies:
'@jridgewell/set-array': 1.2.1
@@ -2048,12 +2422,33 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
+ '@kevisual/ui@0.0.2':
+ dependencies:
+ dayjs: 1.11.13
+ lodash-es: 4.17.21
+ style-to-object: 1.0.8
+
'@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1)':
dependencies:
'@types/mdx': 2.0.13
'@types/react': 18.3.11
react: 18.3.1
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ '@nodelib/fs.stat@2.0.5': {}
+
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.17.1
+
+ '@pkgjs/parseargs@0.11.0':
+ optional: true
+
'@storybook/addon-actions@8.3.6(storybook@8.3.6)':
dependencies:
'@storybook/global': 5.0.0
@@ -2673,11 +3068,19 @@ snapshots:
ansi-styles@5.2.0: {}
+ ansi-styles@6.2.1: {}
+
+ any-promise@1.3.0: {}
+
anymatch@3.1.3:
dependencies:
normalize-path: 3.0.0
picomatch: 2.3.1
+ arg@5.0.2: {}
+
+ argparse@2.0.1: {}
+
aria-query@5.3.0:
dependencies:
dequal: 2.0.3
@@ -2692,6 +3095,16 @@ snapshots:
dependencies:
tslib: 2.8.0
+ autoprefixer@10.4.20(postcss@8.4.47):
+ dependencies:
+ browserslist: 4.24.0
+ caniuse-lite: 1.0.30001669
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
+ picocolors: 1.1.1
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+
available-typed-arrays@1.0.7:
dependencies:
possible-typed-array-names: 1.0.0
@@ -2728,6 +3141,10 @@ snapshots:
balanced-match: 1.0.2
concat-map: 0.0.1
+ brace-expansion@2.0.1:
+ dependencies:
+ balanced-match: 1.0.2
+
braces@3.0.3:
dependencies:
fill-range: 7.1.1
@@ -2760,6 +3177,8 @@ snapshots:
pascal-case: 3.1.2
tslib: 2.8.0
+ camelcase-css@2.0.1: {}
+
caniuse-lite@1.0.30001669: {}
case-sensitive-paths-webpack-plugin@2.4.0: {}
@@ -2828,6 +3247,8 @@ snapshots:
commander@2.20.3: {}
+ commander@4.1.1: {}
+
commander@8.3.0: {}
concat-map@0.0.1: {}
@@ -2852,6 +3273,21 @@ snapshots:
path-type: 4.0.0
yaml: 1.10.2
+ cosmiconfig@9.0.0(typescript@5.6.3):
+ dependencies:
+ env-paths: 2.2.1
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ parse-json: 5.2.0
+ optionalDependencies:
+ typescript: 5.6.3
+
+ cross-spawn@7.0.3:
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
css-loader@6.11.0(webpack@5.95.0(@swc/core@1.7.36)(esbuild@0.23.1)):
dependencies:
icss-utils: 5.1.0(postcss@8.4.47)
@@ -2881,6 +3317,8 @@ snapshots:
csstype@3.1.3: {}
+ dayjs@1.11.13: {}
+
debug@2.6.9:
dependencies:
ms: 2.0.0
@@ -2907,6 +3345,10 @@ snapshots:
destroy@1.2.0: {}
+ didyoumean@1.2.2: {}
+
+ dlv@1.1.3: {}
+
dom-accessibility-api@0.5.16: {}
dom-accessibility-api@0.6.3: {}
@@ -2938,10 +3380,16 @@ snapshots:
no-case: 3.0.4
tslib: 2.8.0
+ eastasianwidth@0.2.0: {}
+
ee-first@1.1.1: {}
electron-to-chromium@1.5.41: {}
+ emoji-regex@8.0.0: {}
+
+ emoji-regex@9.2.2: {}
+
encodeurl@1.0.2: {}
encodeurl@2.0.0: {}
@@ -2953,6 +3401,8 @@ snapshots:
entities@2.2.0: {}
+ env-paths@2.2.1: {}
+
error-ex@1.3.2:
dependencies:
is-arrayish: 0.2.1
@@ -3066,10 +3516,22 @@ snapshots:
fast-deep-equal@3.1.3: {}
+ fast-glob@3.3.2:
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.8
+
fast-json-stable-stringify@2.1.0: {}
fast-uri@3.0.3: {}
+ fastq@1.17.1:
+ dependencies:
+ reusify: 1.0.4
+
filesize@10.1.6: {}
fill-range@7.1.1:
@@ -3092,6 +3554,11 @@ snapshots:
dependencies:
is-callable: 1.2.7
+ foreground-child@3.3.0:
+ dependencies:
+ cross-spawn: 7.0.3
+ signal-exit: 4.1.0
+
fork-ts-checker-webpack-plugin@8.0.0(typescript@5.6.3)(webpack@5.95.0(@swc/core@1.7.36)(esbuild@0.23.1)):
dependencies:
'@babel/code-frame': 7.25.7
@@ -3111,6 +3578,8 @@ snapshots:
forwarded@0.2.0: {}
+ fraction.js@4.3.7: {}
+
fresh@0.5.2: {}
fs-extra@10.1.0:
@@ -3146,8 +3615,21 @@ snapshots:
dependencies:
is-glob: 4.0.3
+ glob-parent@6.0.2:
+ dependencies:
+ is-glob: 4.0.3
+
glob-to-regexp@0.4.1: {}
+ glob@10.4.5:
+ dependencies:
+ foreground-child: 3.3.0
+ jackspeak: 3.4.3
+ minimatch: 9.0.5
+ minipass: 7.1.2
+ package-json-from-dist: 1.0.1
+ path-scurry: 1.11.1
+
gopd@1.0.1:
dependencies:
get-intrinsic: 1.2.4
@@ -3248,6 +3730,8 @@ snapshots:
inherits@2.0.4: {}
+ inline-style-parser@0.2.4: {}
+
ipaddr.js@1.9.1: {}
is-absolute-url@4.0.1: {}
@@ -3265,10 +3749,16 @@ snapshots:
is-callable@1.2.7: {}
+ is-core-module@2.15.1:
+ dependencies:
+ hasown: 2.0.2
+
is-docker@2.2.1: {}
is-extglob@2.1.1: {}
+ is-fullwidth-code-point@3.0.0: {}
+
is-generator-function@1.0.10:
dependencies:
has-tostringtag: 1.0.2
@@ -3287,14 +3777,28 @@ snapshots:
dependencies:
is-docker: 2.2.1
+ isexe@2.0.0: {}
+
+ jackspeak@3.4.3:
+ dependencies:
+ '@isaacs/cliui': 8.0.2
+ optionalDependencies:
+ '@pkgjs/parseargs': 0.11.0
+
jest-worker@27.5.1:
dependencies:
'@types/node': 22.7.6
merge-stream: 2.0.0
supports-color: 8.1.1
+ jiti@1.21.6: {}
+
js-tokens@4.0.0: {}
+ js-yaml@4.1.0:
+ dependencies:
+ argparse: 2.0.1
+
jsdoc-type-pratt-parser@4.1.0: {}
json-parse-even-better-errors@2.3.1: {}
@@ -3309,10 +3813,16 @@ snapshots:
optionalDependencies:
graceful-fs: 4.2.11
+ lilconfig@2.1.0: {}
+
+ lilconfig@3.1.2: {}
+
lines-and-columns@1.2.4: {}
loader-runner@4.3.0: {}
+ lodash-es@4.17.21: {}
+
lodash@4.17.21: {}
loose-envify@1.4.0:
@@ -3325,6 +3835,8 @@ snapshots:
dependencies:
tslib: 2.8.0
+ lru-cache@10.4.3: {}
+
lz-string@1.5.0: {}
magic-string@0.30.12:
@@ -3351,8 +3863,15 @@ snapshots:
merge-stream@2.0.0: {}
+ merge2@1.4.1: {}
+
methods@1.1.2: {}
+ micromatch@4.0.8:
+ dependencies:
+ braces: 3.0.3
+ picomatch: 2.3.1
+
mime-db@1.52.0: {}
mime-types@2.1.35:
@@ -3363,14 +3882,32 @@ snapshots:
min-indent@1.0.1: {}
+ mini-css-extract-plugin@2.9.1(webpack@5.95.0(@swc/core@1.7.36)(esbuild@0.23.1)):
+ dependencies:
+ schema-utils: 4.2.0
+ tapable: 2.2.1
+ webpack: 5.95.0(@swc/core@1.7.36)(esbuild@0.23.1)
+
minimatch@3.1.2:
dependencies:
brace-expansion: 1.1.11
+ minimatch@9.0.5:
+ dependencies:
+ brace-expansion: 2.0.1
+
+ minipass@7.1.2: {}
+
ms@2.0.0: {}
ms@2.1.3: {}
+ mz@2.7.0:
+ dependencies:
+ any-promise: 1.3.0
+ object-assign: 4.1.1
+ thenify-all: 1.6.0
+
nanoid@3.3.7: {}
negotiator@0.6.3: {}
@@ -3388,10 +3925,16 @@ snapshots:
normalize-path@3.0.0: {}
+ normalize-range@0.1.2: {}
+
nth-check@2.1.1:
dependencies:
boolbase: 1.0.0
+ object-assign@4.1.1: {}
+
+ object-hash@3.0.0: {}
+
object-inspect@1.13.2: {}
on-finished@2.4.1:
@@ -3404,6 +3947,8 @@ snapshots:
is-docker: 2.2.1
is-wsl: 2.2.0
+ package-json-from-dist@1.0.1: {}
+
param-case@3.0.4:
dependencies:
dot-case: 3.0.4
@@ -3431,6 +3976,15 @@ snapshots:
path-browserify@1.0.1: {}
+ path-key@3.1.1: {}
+
+ path-parse@1.0.7: {}
+
+ path-scurry@1.11.1:
+ dependencies:
+ lru-cache: 10.4.3
+ minipass: 7.1.2
+
path-to-regexp@0.1.10: {}
path-type@4.0.0: {}
@@ -3441,12 +3995,46 @@ snapshots:
picomatch@2.3.1: {}
+ pify@2.3.0: {}
+
+ pirates@4.0.6: {}
+
polished@4.3.1:
dependencies:
'@babel/runtime': 7.25.7
possible-typed-array-names@1.0.0: {}
+ postcss-import@15.1.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.8
+
+ postcss-js@4.0.1(postcss@8.4.47):
+ dependencies:
+ camelcase-css: 2.0.1
+ postcss: 8.4.47
+
+ postcss-load-config@4.0.2(postcss@8.4.47):
+ dependencies:
+ lilconfig: 3.1.2
+ yaml: 2.6.0
+ optionalDependencies:
+ postcss: 8.4.47
+
+ postcss-loader@8.1.1(postcss@8.4.47)(typescript@5.6.3)(webpack@5.95.0(@swc/core@1.7.36)(esbuild@0.23.1)):
+ dependencies:
+ cosmiconfig: 9.0.0(typescript@5.6.3)
+ jiti: 1.21.6
+ postcss: 8.4.47
+ semver: 7.6.3
+ optionalDependencies:
+ webpack: 5.95.0(@swc/core@1.7.36)(esbuild@0.23.1)
+ transitivePeerDependencies:
+ - typescript
+
postcss-modules-extract-imports@3.1.0(postcss@8.4.47):
dependencies:
postcss: 8.4.47
@@ -3468,6 +4056,11 @@ snapshots:
icss-utils: 5.1.0(postcss@8.4.47)
postcss: 8.4.47
+ postcss-nested@6.2.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-selector-parser: 6.1.2
+
postcss-selector-parser@6.1.2:
dependencies:
cssesc: 3.0.0
@@ -3507,6 +4100,8 @@ snapshots:
dependencies:
side-channel: 1.0.6
+ queue-microtask@1.2.3: {}
+
randombytes@2.1.0:
dependencies:
safe-buffer: 5.2.1
@@ -3542,6 +4137,10 @@ snapshots:
dependencies:
loose-envify: 1.4.0
+ read-cache@1.0.0:
+ dependencies:
+ pify: 2.3.0
+
readdirp@3.6.0:
dependencies:
picomatch: 2.3.1
@@ -3592,6 +4191,18 @@ snapshots:
resolve-from@4.0.0: {}
+ resolve@1.22.8:
+ dependencies:
+ is-core-module: 2.15.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
+ reusify@1.0.4: {}
+
+ run-parallel@1.2.0:
+ dependencies:
+ queue-microtask: 1.2.3
+
safe-buffer@5.2.1: {}
safer-buffer@2.1.2: {}
@@ -3657,6 +4268,12 @@ snapshots:
setprototypeof@1.2.0: {}
+ shebang-command@2.0.0:
+ dependencies:
+ shebang-regex: 3.0.0
+
+ shebang-regex@3.0.0: {}
+
side-channel@1.0.6:
dependencies:
call-bind: 1.0.7
@@ -3664,6 +4281,8 @@ snapshots:
get-intrinsic: 1.2.4
object-inspect: 1.13.2
+ signal-exit@4.1.0: {}
+
source-map-js@1.2.1: {}
source-map-support@0.5.21:
@@ -3685,6 +4304,18 @@ snapshots:
- supports-color
- utf-8-validate
+ string-width@4.2.3:
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+
+ string-width@5.1.2:
+ dependencies:
+ eastasianwidth: 0.2.0
+ emoji-regex: 9.2.2
+ strip-ansi: 7.1.0
+
strip-ansi@6.0.1:
dependencies:
ansi-regex: 5.0.1
@@ -3701,6 +4332,20 @@ snapshots:
dependencies:
webpack: 5.95.0(@swc/core@1.7.36)(esbuild@0.23.1)
+ style-to-object@1.0.8:
+ dependencies:
+ inline-style-parser: 0.2.4
+
+ sucrase@3.35.0:
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ commander: 4.1.1
+ glob: 10.4.5
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+ pirates: 4.0.6
+ ts-interface-checker: 0.1.13
+
supports-color@5.5.0:
dependencies:
has-flag: 3.0.0
@@ -3713,12 +4358,43 @@ snapshots:
dependencies:
has-flag: 4.0.0
+ supports-preserve-symlinks-flag@1.0.0: {}
+
swc-loader@0.2.6(@swc/core@1.7.36)(webpack@5.95.0(@swc/core@1.7.36)(esbuild@0.23.1)):
dependencies:
'@swc/core': 1.7.36
'@swc/counter': 0.1.3
webpack: 5.95.0(@swc/core@1.7.36)(esbuild@0.23.1)
+ systemjs@6.15.1: {}
+
+ tailwindcss@3.4.14:
+ dependencies:
+ '@alloc/quick-lru': 5.2.0
+ arg: 5.0.2
+ chokidar: 3.6.0
+ didyoumean: 1.2.2
+ dlv: 1.1.3
+ fast-glob: 3.3.2
+ glob-parent: 6.0.2
+ is-glob: 4.0.3
+ jiti: 1.21.6
+ lilconfig: 2.1.0
+ micromatch: 4.0.8
+ normalize-path: 3.0.0
+ object-hash: 3.0.0
+ picocolors: 1.1.1
+ postcss: 8.4.47
+ postcss-import: 15.1.0(postcss@8.4.47)
+ postcss-js: 4.0.1(postcss@8.4.47)
+ postcss-load-config: 4.0.2(postcss@8.4.47)
+ postcss-nested: 6.2.0(postcss@8.4.47)
+ postcss-selector-parser: 6.1.2
+ resolve: 1.22.8
+ sucrase: 3.35.0
+ transitivePeerDependencies:
+ - ts-node
+
tapable@2.2.1: {}
telejson@7.2.0:
@@ -3744,6 +4420,14 @@ snapshots:
commander: 2.20.3
source-map-support: 0.5.21
+ thenify-all@1.6.0:
+ dependencies:
+ thenify: 3.3.1
+
+ thenify@3.3.1:
+ dependencies:
+ any-promise: 1.3.0
+
tiny-invariant@1.3.3: {}
tinyrainbow@1.2.0: {}
@@ -3758,6 +4442,8 @@ snapshots:
ts-dedent@2.2.0: {}
+ ts-interface-checker@0.1.13: {}
+
tslib@2.8.0: {}
tween-functions@1.2.0: {}
@@ -3895,6 +4581,24 @@ snapshots:
gopd: 1.0.1
has-tostringtag: 1.0.2
+ which@2.0.2:
+ dependencies:
+ isexe: 2.0.0
+
+ wrap-ansi@7.0.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ wrap-ansi@8.1.0:
+ dependencies:
+ ansi-styles: 6.2.1
+ string-width: 5.1.2
+ strip-ansi: 7.1.0
+
ws@8.18.0: {}
yaml@1.10.2: {}
+
+ yaml@2.6.0: {}
diff --git a/postcss.config.js b/postcss.config.js
new file mode 100644
index 0000000..6da8c2f
--- /dev/null
+++ b/postcss.config.js
@@ -0,0 +1,6 @@
+module.exports = {
+ plugins: [
+ 'tailwindcss',
+ 'autoprefixer',
+ ],
+};
diff --git a/tailwind.config.js b/tailwind.config.js
new file mode 100644
index 0000000..de95521
--- /dev/null
+++ b/tailwind.config.js
@@ -0,0 +1,10 @@
+module.exports = {
+ content: [
+ './apps/**/*.{js,mdx,jsx,ts,tsx}',
+ './stories/**/*.{js,mdx,jsx,ts,tsx}',
+ ],
+ theme: {
+ extend: {},
+ },
+ plugins: [],
+};