From 9ce91c593cf10230d269a98be10392c19d58acf7 Mon Sep 17 00:00:00 2001 From: xion Date: Sat, 19 Oct 2024 18:25:59 +0800 Subject: [PATCH] add tailwindcss --- .gitignore | 3 +- .npmrc | 1 + .storybook/main.js | 67 ++- .storybook/preview-head.html | 2 + .storybook/preview.js | 2 + .storybook/tailwind.css | 3 + apps/ui/deploy/message.js | 36 +- apps/ui/deploy/theme/index.css | 27 ++ apps/ui/deploy/theme/index.js | 1 + apps/ui/docs/message.mdx | 7 + apps/ui/docs/message.stories.js | 6 +- apps/ui/theme/modal.mdx | 131 ++++++ package.json | 16 +- pnpm-lock.yaml | 704 ++++++++++++++++++++++++++++++++ postcss.config.js | 6 + tailwind.config.js | 10 + 16 files changed, 989 insertions(+), 33 deletions(-) create mode 100644 .npmrc create mode 100644 .storybook/preview-head.html create mode 100644 .storybook/tailwind.css create mode 100644 apps/ui/deploy/theme/index.css create mode 100644 apps/ui/deploy/theme/index.js create mode 100644 apps/ui/docs/message.mdx create mode 100644 apps/ui/theme/modal.mdx create mode 100644 postcss.config.js create mode 100644 tailwind.config.js 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: [], +};