@js-empire/emperor-ui 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/.husky/pre-commit +4 -0
  2. package/.storybook/main.ts +2 -11
  3. package/.storybook/preview.ts +1 -1
  4. package/.vscode/extensions.json +3 -0
  5. package/README.md +68 -1
  6. package/package.json +16 -4
  7. package/public/icons/emperor-ui-logo.ico +0 -0
  8. package/public/images/avatar-female.jpg +0 -0
  9. package/public/images/avatar-male.jpg +0 -0
  10. package/public/images/emperor-ui-logo.png +0 -0
  11. package/src/components/atoms/brand/brand.stories.tsx +27 -0
  12. package/src/components/atoms/brand/brand.tsx +56 -0
  13. package/src/components/atoms/brand/index.ts +1 -0
  14. package/src/components/atoms/brand/styles/classes.ts +9 -0
  15. package/src/components/atoms/brand/styles/index.ts +2 -0
  16. package/src/components/atoms/brand/styles/styles.ts +0 -0
  17. package/src/components/atoms/column/column.stories.tsx +36 -0
  18. package/src/components/atoms/column/column.tsx +21 -0
  19. package/src/components/atoms/column/index.ts +1 -0
  20. package/src/components/atoms/container/column.stories.tsx +36 -0
  21. package/src/components/atoms/container/container.tsx +28 -0
  22. package/src/components/atoms/container/index.ts +1 -0
  23. package/src/components/atoms/index.ts +6 -0
  24. package/src/components/atoms/portal/index.ts +1 -0
  25. package/src/components/atoms/portal/portal.stories.tsx +43 -0
  26. package/src/components/atoms/portal/portal.tsx +23 -0
  27. package/src/components/atoms/row/index.ts +1 -0
  28. package/src/components/atoms/row/row.stories.tsx +36 -0
  29. package/src/components/atoms/row/row.tsx +26 -0
  30. package/src/components/atoms/uploader/avatar-label.tsx +83 -0
  31. package/src/components/atoms/uploader/index.ts +7 -0
  32. package/src/components/atoms/uploader/stories/uploader.stories.tsx +41 -0
  33. package/src/components/atoms/uploader/upload-file-error-box.tsx +29 -0
  34. package/src/components/atoms/uploader/upload-file-input.tsx +36 -0
  35. package/src/components/atoms/uploader/upload-file-label.tsx +74 -0
  36. package/src/components/atoms/uploader/upload-file-listing.tsx +53 -0
  37. package/src/components/atoms/uploader/uploader.tsx +55 -0
  38. package/src/components/atoms/uploader/view-image-modal.tsx +39 -0
  39. package/src/components/index.ts +4 -8
  40. package/src/components/molecules/index.ts +5 -0
  41. package/src/components/molecules/item-card/item-card.tsx +6 -0
  42. package/src/components/molecules/nav-bar/index.ts +3 -0
  43. package/src/components/molecules/nav-bar/nav-bar-item.tsx +70 -0
  44. package/src/components/molecules/nav-bar/nav-bar.tsx +65 -0
  45. package/src/components/molecules/nav-bar/stories/hover-effect/nav-bar-hover-effect.stories.tsx +52 -0
  46. package/src/components/molecules/nav-bar/stories/nav-bar.stories.tsx +50 -0
  47. package/src/components/molecules/nav-bar/styles/classes.ts +68 -0
  48. package/src/components/molecules/nav-bar/styles/index.ts +2 -0
  49. package/src/components/molecules/nav-bar/styles/styles.ts +84 -0
  50. package/src/components/molecules/nav-bar/sub-items-box.tsx +57 -0
  51. package/src/components/molecules/scaffold/scaffold.stories.tsx +21 -0
  52. package/src/components/molecules/scaffold/scaffold.tsx +36 -0
  53. package/src/components/molecules/side-bar/compact-side-bar.tsx +73 -0
  54. package/src/components/molecules/side-bar/index.ts +1 -0
  55. package/src/components/molecules/side-bar/side-bar-drawer.tsx +124 -0
  56. package/src/components/molecules/side-bar/side-bar.stories.tsx +110 -0
  57. package/src/components/molecules/side-bar/side-bar.tsx +31 -0
  58. package/src/components/molecules/side-bar/styles/classes.ts +28 -0
  59. package/src/components/molecules/side-bar/styles/index.ts +2 -0
  60. package/src/components/molecules/side-bar/styles/styles.ts +13 -0
  61. package/src/components/organisms/footer/footer.tsx +20 -0
  62. package/src/components/organisms/footer/styles/classes.ts +15 -0
  63. package/src/components/organisms/footer/styles/index.ts +2 -0
  64. package/src/components/organisms/footer/styles/styles.ts +9 -0
  65. package/src/components/organisms/header/header.tsx +94 -0
  66. package/src/components/organisms/header/segmented-header-content.tsx +37 -0
  67. package/src/components/organisms/header/stories/header.stories.tsx +143 -0
  68. package/src/components/organisms/header/styles/classes.ts +22 -0
  69. package/src/components/organisms/header/styles/index.ts +2 -0
  70. package/src/components/organisms/header/styles/styles.ts +39 -0
  71. package/src/components/organisms/index.ts +4 -0
  72. package/src/components/templates/index.ts +1 -0
  73. package/src/components/templates/landing-page/index.ts +1 -0
  74. package/src/components/templates/landing-page/landing-page.stories.tsx +21 -0
  75. package/src/components/templates/landing-page/landing-page.tsx +57 -0
  76. package/src/components/templates/landing-page/styles/classes.ts +11 -0
  77. package/src/components/templates/landing-page/styles/index.ts +1 -0
  78. package/src/constants/defaults.ts +42 -7
  79. package/src/constants/fake.ts +2 -0
  80. package/src/constants/index.ts +2 -0
  81. package/src/constants/uploader.ts +27 -0
  82. package/src/context/emperor-ui-context.ts +4 -4
  83. package/src/context/index.ts +2 -0
  84. package/src/context/navigation-context.ts +6 -0
  85. package/src/context/uploader-context.ts +6 -0
  86. package/src/enums/index.ts +2 -0
  87. package/src/enums/placeholders.ts +4 -0
  88. package/src/enums/preserved-keys.ts +3 -0
  89. package/src/hooks/index.ts +3 -0
  90. package/src/hooks/use-navigation.ts +12 -0
  91. package/src/hooks/use-uploader-context.ts +14 -0
  92. package/src/hooks/use-uploader.tsx +215 -0
  93. package/src/index.ts +9 -5
  94. package/src/main.tsx +3 -0
  95. package/src/mocks/header.tsx +118 -0
  96. package/src/mocks/index.ts +1 -0
  97. package/src/providers/config-provider.tsx +54 -0
  98. package/src/providers/emperor-ui-provider.tsx +17 -24
  99. package/src/providers/index.ts +3 -0
  100. package/src/providers/navigation-provider.tsx +42 -0
  101. package/src/providers/uploader-provider.tsx +53 -0
  102. package/src/styles/globals.css +13 -0
  103. package/src/styles/hero.ts +2 -0
  104. package/src/types/components/atoms/brand.ts +13 -0
  105. package/src/types/components/atoms/column.ts +3 -0
  106. package/src/types/components/atoms/container.ts +3 -0
  107. package/src/types/components/atoms/index.ts +6 -0
  108. package/src/types/components/atoms/portal.ts +6 -0
  109. package/src/types/components/atoms/row.ts +3 -0
  110. package/src/types/components/atoms/uploader.ts +104 -0
  111. package/src/types/components/index.ts +3 -8
  112. package/src/types/components/molecules/header/header.ts +51 -0
  113. package/src/types/components/molecules/index.ts +9 -0
  114. package/src/types/components/molecules/nav-bar/nav-bar.ts +65 -0
  115. package/src/types/components/molecules/side-bar/index.ts +1 -0
  116. package/src/types/components/molecules/side-bar/side-bar.ts +40 -0
  117. package/src/types/components/templates/index.ts +1 -0
  118. package/src/types/components/templates/landing-page.ts +10 -0
  119. package/src/types/context/config.ts +54 -0
  120. package/src/types/context/index.ts +2 -1
  121. package/src/types/context/navigation.ts +17 -0
  122. package/src/types/shared/components.ts +4 -0
  123. package/src/utils/compress-images.ts +36 -0
  124. package/src/utils/index.ts +2 -0
  125. package/src/utils/storybook.tsx +15 -0
  126. package/tsconfig.app.json +3 -2
  127. package/tsconfig.node.json +0 -1
  128. package/vite.config.ts +4 -0
  129. package/dist/emperor-ui.js +0 -3171
  130. package/dist/emperor-ui.umd.cjs +0 -6
  131. package/dist/index.d.ts +0 -200
  132. package/src/components/footer/footer.tsx +0 -6
  133. package/src/components/header/header.tsx +0 -49
  134. package/src/components/item-card/item-card.tsx +0 -6
  135. package/src/components/nav-bar/index.ts +0 -1
  136. package/src/components/nav-bar/nav-bar.tsx +0 -6
  137. package/src/components/scaffold/scaffold.tsx +0 -15
  138. package/src/index.css +0 -1
  139. package/src/types/components/header/header.ts +0 -21
  140. package/src/types/components/nav-bar/nav-bar.ts +0 -9
  141. package/src/types/context/emperor-ui.ts +0 -37
  142. package/tailwind.config.js +0 -6
  143. /package/src/components/{filter → molecules/filter}/filter.tsx +0 -0
  144. /package/src/components/{filter → molecules/filter}/index.ts +0 -0
  145. /package/src/components/{item-card → molecules/item-card}/index.ts +0 -0
  146. /package/src/components/{scaffold → molecules/scaffold}/index.ts +0 -0
  147. /package/src/components/{footer → organisms/footer}/index.ts +0 -0
  148. /package/src/components/{header → organisms/header}/index.ts +0 -0
  149. /package/src/components/{item-details → organisms/item-details}/index.ts +0 -0
  150. /package/src/components/{item-details → organisms/item-details}/item-details.tsx +0 -0
  151. /package/src/components/{listings → organisms/listings}/index.ts +0 -0
  152. /package/src/components/{listings → organisms/listings}/listings.tsx +0 -0
  153. /package/src/types/components/{filter → molecules/filter}/filter.ts +0 -0
  154. /package/src/types/components/{filter → molecules/filter}/index.ts +0 -0
  155. /package/src/types/components/{footer → molecules/footer}/footer.ts +0 -0
  156. /package/src/types/components/{footer → molecules/footer}/index.ts +0 -0
  157. /package/src/types/components/{header → molecules/header}/index.ts +0 -0
  158. /package/src/types/components/{item-card → molecules/item-card}/index.ts +0 -0
  159. /package/src/types/components/{item-card → molecules/item-card}/item-card.ts +0 -0
  160. /package/src/types/components/{item-details → molecules/item-details}/index.ts +0 -0
  161. /package/src/types/components/{item-details → molecules/item-details}/item-details.ts +0 -0
  162. /package/src/types/components/{listings → molecules/listings}/index.ts +0 -0
  163. /package/src/types/components/{listings → molecules/listings}/listings.ts +0 -0
  164. /package/src/types/components/{nav-bar → molecules/nav-bar}/index.ts +0 -0
  165. /package/src/types/components/{scaffold → molecules/scaffold}/index.ts +0 -0
  166. /package/src/types/components/{scaffold → molecules/scaffold}/scaffold.ts +0 -0
@@ -1,6 +0,0 @@
1
- (function(x,I){typeof exports=="object"&&typeof module<"u"?I(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],I):(x=typeof globalThis<"u"?globalThis:x||self,I(x.EmperorUI={},x.React))})(this,(function(x,I){"use strict";var le={exports:{}},re={};var we;function qe(){if(we)return re;we=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function r(t,s,c){var l=null;if(c!==void 0&&(l=""+c),s.key!==void 0&&(l=""+s.key),"key"in s){c={};for(var p in s)p!=="key"&&(c[p]=s[p])}else c=s;return s=c.ref,{$$typeof:e,type:t,key:l,ref:s!==void 0?s:null,props:c}}return re.Fragment=n,re.jsx=r,re.jsxs=r,re}var te={};var xe;function He(){return xe||(xe=1,process.env.NODE_ENV!=="production"&&(function(){function e(o){if(o==null)return null;if(typeof o=="function")return o.$$typeof===pe?null:o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case w:return"Fragment";case Q:return"Profiler";case F:return"StrictMode";case G:return"Suspense";case X:return"SuspenseList";case fe:return"Activity"}if(typeof o=="object")switch(typeof o.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),o.$$typeof){case S:return"Portal";case D:return o.displayName||"Context";case J:return(o._context.displayName||"Context")+".Consumer";case Y:var f=o.render;return o=o.displayName,o||(o=f.displayName||f.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case m:return f=o.displayName||null,f!==null?f:e(o.type)||"Memo";case _:f=o._payload,o=o._init;try{return e(o(f))}catch{}}return null}function n(o){return""+o}function r(o){try{n(o);var f=!1}catch{f=!0}if(f){f=console;var h=f.error,k=typeof Symbol=="function"&&Symbol.toStringTag&&o[Symbol.toStringTag]||o.constructor.name||"Object";return h.call(f,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",k),n(o)}}function t(o){if(o===w)return"<>";if(typeof o=="object"&&o!==null&&o.$$typeof===_)return"<...>";try{var f=e(o);return f?"<"+f+">":"<...>"}catch{return"<...>"}}function s(){var o=W.A;return o===null?null:o.getOwner()}function c(){return Error("react-stack-top-frame")}function l(o){if(ne.call(o,"key")){var f=Object.getOwnPropertyDescriptor(o,"key").get;if(f&&f.isReactWarning)return!1}return o.key!==void 0}function p(o,f){function h(){P||(P=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",f))}h.isReactWarning=!0,Object.defineProperty(o,"key",{get:h,configurable:!0})}function u(){var o=e(this.type);return z[o]||(z[o]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),o=this.props.ref,o!==void 0?o:null}function g(o,f,h,k,V,K){var v=h.ref;return o={$$typeof:T,type:o,key:f,props:h,_owner:k},(v!==void 0?v:null)!==null?Object.defineProperty(o,"ref",{enumerable:!1,get:u}):Object.defineProperty(o,"ref",{enumerable:!1,value:null}),o._store={},Object.defineProperty(o._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(o,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(o,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:V}),Object.defineProperty(o,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:K}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o}function y(o,f,h,k,V,K){var v=f.children;if(v!==void 0)if(k)if(se(v)){for(k=0;k<v.length;k++)E(v[k]);Object.freeze&&Object.freeze(v)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else E(v);if(ne.call(f,"key")){v=e(o);var L=Object.keys(f).filter(function(ee){return ee!=="key"});k=0<L.length?"{key: someKey, "+L.join(": ..., ")+": ...}":"{key: someKey}",ie[v+k]||(L=0<L.length?"{"+L.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
2
- let props = %s;
3
- <%s {...props} />
4
- React keys must be passed directly to JSX without using spread:
5
- let props = %s;
6
- <%s key={someKey} {...props} />`,k,v,L,v),ie[v+k]=!0)}if(v=null,h!==void 0&&(r(h),v=""+h),l(f)&&(r(f.key),v=""+f.key),"key"in f){h={};for(var B in f)B!=="key"&&(h[B]=f[B])}else h=f;return v&&p(h,typeof o=="function"?o.displayName||o.name||"Unknown":o),g(o,v,h,s(),V,K)}function E(o){R(o)?o._store&&(o._store.validated=1):typeof o=="object"&&o!==null&&o.$$typeof===_&&(o._payload.status==="fulfilled"?R(o._payload.value)&&o._payload.value._store&&(o._payload.value._store.validated=1):o._store&&(o._store.validated=1))}function R(o){return typeof o=="object"&&o!==null&&o.$$typeof===T}var A=I,T=Symbol.for("react.transitional.element"),S=Symbol.for("react.portal"),w=Symbol.for("react.fragment"),F=Symbol.for("react.strict_mode"),Q=Symbol.for("react.profiler"),J=Symbol.for("react.consumer"),D=Symbol.for("react.context"),Y=Symbol.for("react.forward_ref"),G=Symbol.for("react.suspense"),X=Symbol.for("react.suspense_list"),m=Symbol.for("react.memo"),_=Symbol.for("react.lazy"),fe=Symbol.for("react.activity"),pe=Symbol.for("react.client.reference"),W=A.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ne=Object.prototype.hasOwnProperty,se=Array.isArray,O=console.createTask?console.createTask:function(){return null};A={react_stack_bottom_frame:function(o){return o()}};var P,z={},d=A.react_stack_bottom_frame.bind(A,c)(),ae=O(t(c)),ie={};te.Fragment=w,te.jsx=function(o,f,h){var k=1e4>W.recentlyCreatedOwnerStacks++;return y(o,f,h,!1,k?Error("react-stack-top-frame"):d,k?O(t(o)):ae)},te.jsxs=function(o,f,h){var k=1e4>W.recentlyCreatedOwnerStacks++;return y(o,f,h,!0,k?Error("react-stack-top-frame"):d,k?O(t(o)):ae)}})()),te}var Ee;function Ze(){return Ee||(Ee=1,process.env.NODE_ENV==="production"?le.exports=qe():le.exports=He()),le.exports}var j=Ze();function Re(e){var n,r,t="";if(typeof e=="string"||typeof e=="number")t+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(n=0;n<s;n++)e[n]&&(r=Re(e[n]))&&(t&&(t+=" "),t+=r)}else for(r in e)e[r]&&(t&&(t+=" "),t+=r);return t}function Ce(){for(var e,n,r=0,t="",s=arguments.length;r<s;r++)(e=arguments[r])&&(n=Re(e))&&(t&&(t+=" "),t+=n);return t}const Qe=(e,n)=>{const r=new Array(e.length+n.length);for(let t=0;t<e.length;t++)r[t]=e[t];for(let t=0;t<n.length;t++)r[e.length+t]=n[t];return r},Ke=(e,n)=>({classGroupId:e,validator:n}),Se=(e=new Map,n=null,r)=>({nextPart:e,validators:n,classGroupId:r}),ce="-",Ae=[],er="arbitrary..",rr=e=>{const n=or(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:t}=e;return{getClassGroupId:l=>{if(l.startsWith("[")&&l.endsWith("]"))return tr(l);const p=l.split(ce),u=p[0]===""&&p.length>1?1:0;return _e(p,u,n)},getConflictingClassGroupIds:(l,p)=>{if(p){const u=t[l],g=r[l];return u?g?Qe(g,u):u:g||Ae}return r[l]||Ae}}},_e=(e,n,r)=>{if(e.length-n===0)return r.classGroupId;const s=e[n],c=r.nextPart.get(s);if(c){const g=_e(e,n+1,c);if(g)return g}const l=r.validators;if(l===null)return;const p=n===0?e.join(ce):e.slice(n).join(ce),u=l.length;for(let g=0;g<u;g++){const y=l[g];if(y.validator(p))return y.classGroupId}},tr=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=e.slice(1,-1),r=n.indexOf(":"),t=n.slice(0,r);return t?er+t:void 0})(),or=e=>{const{theme:n,classGroups:r}=e;return nr(r,n)},nr=(e,n)=>{const r=Se();for(const t in e){const s=e[t];ge(s,r,t,n)}return r},ge=(e,n,r,t)=>{const s=e.length;for(let c=0;c<s;c++){const l=e[c];sr(l,n,r,t)}},sr=(e,n,r,t)=>{if(typeof e=="string"){ar(e,n,r);return}if(typeof e=="function"){ir(e,n,r,t);return}lr(e,n,r,t)},ar=(e,n,r)=>{const t=e===""?n:Te(n,e);t.classGroupId=r},ir=(e,n,r,t)=>{if(cr(e)){ge(e(t),n,r,t);return}n.validators===null&&(n.validators=[]),n.validators.push(Ke(r,e))},lr=(e,n,r,t)=>{const s=Object.entries(e),c=s.length;for(let l=0;l<c;l++){const[p,u]=s[l];ge(u,Te(n,p),r,t)}},Te=(e,n)=>{let r=e;const t=n.split(ce),s=t.length;for(let c=0;c<s;c++){const l=t[c];let p=r.nextPart.get(l);p||(p=Se(),r.nextPart.set(l,p)),r=p}return r},cr=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,dr=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,r=Object.create(null),t=Object.create(null);const s=(c,l)=>{r[c]=l,n++,n>e&&(n=0,t=r,r=Object.create(null))};return{get(c){let l=r[c];if(l!==void 0)return l;if((l=t[c])!==void 0)return s(c,l),l},set(c,l){c in r?r[c]=l:s(c,l)}}},he="!",Pe=":",ur=[],je=(e,n,r,t,s)=>({modifiers:e,hasImportantModifier:n,baseClassName:r,maybePostfixModifierPosition:t,isExternal:s}),mr=e=>{const{prefix:n,experimentalParseClassName:r}=e;let t=s=>{const c=[];let l=0,p=0,u=0,g;const y=s.length;for(let S=0;S<y;S++){const w=s[S];if(l===0&&p===0){if(w===Pe){c.push(s.slice(u,S)),u=S+1;continue}if(w==="/"){g=S;continue}}w==="["?l++:w==="]"?l--:w==="("?p++:w===")"&&p--}const E=c.length===0?s:s.slice(u);let R=E,A=!1;E.endsWith(he)?(R=E.slice(0,-1),A=!0):E.startsWith(he)&&(R=E.slice(1),A=!0);const T=g&&g>u?g-u:void 0;return je(c,A,R,T)};if(n){const s=n+Pe,c=t;t=l=>l.startsWith(s)?c(l.slice(s.length)):je(ur,!1,l,void 0,!0)}if(r){const s=t;t=c=>r({className:c,parseClassName:s})}return t},fr=e=>{const n=new Map;return e.orderSensitiveModifiers.forEach((r,t)=>{n.set(r,1e6+t)}),r=>{const t=[];let s=[];for(let c=0;c<r.length;c++){const l=r[c],p=l[0]==="[",u=n.has(l);p||u?(s.length>0&&(s.sort(),t.push(...s),s=[]),t.push(l)):s.push(l)}return s.length>0&&(s.sort(),t.push(...s)),t}},pr=e=>({cache:dr(e.cacheSize),parseClassName:mr(e),sortModifiers:fr(e),...rr(e)}),br=/\s+/,gr=(e,n)=>{const{parseClassName:r,getClassGroupId:t,getConflictingClassGroupIds:s,sortModifiers:c}=n,l=[],p=e.trim().split(br);let u="";for(let g=p.length-1;g>=0;g-=1){const y=p[g],{isExternal:E,modifiers:R,hasImportantModifier:A,baseClassName:T,maybePostfixModifierPosition:S}=r(y);if(E){u=y+(u.length>0?" "+u:u);continue}let w=!!S,F=t(w?T.substring(0,S):T);if(!F){if(!w){u=y+(u.length>0?" "+u:u);continue}if(F=t(T),!F){u=y+(u.length>0?" "+u:u);continue}w=!1}const Q=R.length===0?"":R.length===1?R[0]:c(R).join(":"),J=A?Q+he:Q,D=J+F;if(l.indexOf(D)>-1)continue;l.push(D);const Y=s(F,w);for(let G=0;G<Y.length;++G){const X=Y[G];l.push(J+X)}u=y+(u.length>0?" "+u:u)}return u},hr=(...e)=>{let n=0,r,t,s="";for(;n<e.length;)(r=e[n++])&&(t=Oe(r))&&(s&&(s+=" "),s+=t);return s},Oe=e=>{if(typeof e=="string")return e;let n,r="";for(let t=0;t<e.length;t++)e[t]&&(n=Oe(e[t]))&&(r&&(r+=" "),r+=n);return r},vr=(e,...n)=>{let r,t,s,c;const l=u=>{const g=n.reduce((y,E)=>E(y),e());return r=pr(g),t=r.cache.get,s=r.cache.set,c=p,p(u)},p=u=>{const g=t(u);if(g)return g;const y=gr(u,r);return s(u,y),y};return c=l,(...u)=>c(hr(...u))},kr=[],C=e=>{const n=r=>r[e]||kr;return n.isThemeGetter=!0,n},ze=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Ie=/^\((?:(\w[\w-]*):)?(.+)\)$/i,yr=/^\d+\/\d+$/,wr=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,xr=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Er=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Rr=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Cr=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,q=e=>yr.test(e),b=e=>!!e&&!Number.isNaN(Number(e)),U=e=>!!e&&Number.isInteger(Number(e)),ve=e=>e.endsWith("%")&&b(e.slice(0,-1)),N=e=>wr.test(e),Sr=()=>!0,Ar=e=>xr.test(e)&&!Er.test(e),Ne=()=>!1,_r=e=>Rr.test(e),Tr=e=>Cr.test(e),Pr=e=>!a(e)&&!i(e),jr=e=>H(e,Le,Ne),a=e=>ze.test(e),$=e=>H(e,Ue,Ar),ke=e=>H(e,Mr,b),Me=e=>H(e,Ge,Ne),Or=e=>H(e,Ve,Tr),de=e=>H(e,De,_r),i=e=>Ie.test(e),oe=e=>Z(e,Ue),zr=e=>Z(e,Fr),Fe=e=>Z(e,Ge),Ir=e=>Z(e,Le),Nr=e=>Z(e,Ve),ue=e=>Z(e,De,!0),H=(e,n,r)=>{const t=ze.exec(e);return t?t[1]?n(t[1]):r(t[2]):!1},Z=(e,n,r=!1)=>{const t=Ie.exec(e);return t?t[1]?n(t[1]):r:!1},Ge=e=>e==="position"||e==="percentage",Ve=e=>e==="image"||e==="url",Le=e=>e==="length"||e==="size"||e==="bg-size",Ue=e=>e==="length",Mr=e=>e==="number",Fr=e=>e==="family-name",De=e=>e==="shadow",Gr=vr(()=>{const e=C("color"),n=C("font"),r=C("text"),t=C("font-weight"),s=C("tracking"),c=C("leading"),l=C("breakpoint"),p=C("container"),u=C("spacing"),g=C("radius"),y=C("shadow"),E=C("inset-shadow"),R=C("text-shadow"),A=C("drop-shadow"),T=C("blur"),S=C("perspective"),w=C("aspect"),F=C("ease"),Q=C("animate"),J=()=>["auto","avoid","all","avoid-page","page","left","right","column"],D=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],Y=()=>[...D(),i,a],G=()=>["auto","hidden","clip","visible","scroll"],X=()=>["auto","contain","none"],m=()=>[i,a,u],_=()=>[q,"full","auto",...m()],fe=()=>[U,"none","subgrid",i,a],pe=()=>["auto",{span:["full",U,i,a]},U,i,a],W=()=>[U,"auto",i,a],ne=()=>["auto","min","max","fr",i,a],se=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],O=()=>["start","end","center","stretch","center-safe","end-safe"],P=()=>["auto",...m()],z=()=>[q,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...m()],d=()=>[e,i,a],ae=()=>[...D(),Fe,Me,{position:[i,a]}],ie=()=>["no-repeat",{repeat:["","x","y","space","round"]}],o=()=>["auto","cover","contain",Ir,jr,{size:[i,a]}],f=()=>[ve,oe,$],h=()=>["","none","full",g,i,a],k=()=>["",b,oe,$],V=()=>["solid","dashed","dotted","double"],K=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],v=()=>[b,ve,Fe,Me],L=()=>["","none",T,i,a],B=()=>["none",b,i,a],ee=()=>["none",b,i,a],ye=()=>[b,i,a],be=()=>[q,"full",...m()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[N],breakpoint:[N],color:[Sr],container:[N],"drop-shadow":[N],ease:["in","out","in-out"],font:[Pr],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[N],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[N],shadow:[N],spacing:["px",b],text:[N],"text-shadow":[N],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",q,a,i,w]}],container:["container"],columns:[{columns:[b,a,i,p]}],"break-after":[{"break-after":J()}],"break-before":[{"break-before":J()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:Y()}],overflow:[{overflow:G()}],"overflow-x":[{"overflow-x":G()}],"overflow-y":[{"overflow-y":G()}],overscroll:[{overscroll:X()}],"overscroll-x":[{"overscroll-x":X()}],"overscroll-y":[{"overscroll-y":X()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:_()}],"inset-x":[{"inset-x":_()}],"inset-y":[{"inset-y":_()}],start:[{start:_()}],end:[{end:_()}],top:[{top:_()}],right:[{right:_()}],bottom:[{bottom:_()}],left:[{left:_()}],visibility:["visible","invisible","collapse"],z:[{z:[U,"auto",i,a]}],basis:[{basis:[q,"full","auto",p,...m()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[b,q,"auto","initial","none",a]}],grow:[{grow:["",b,i,a]}],shrink:[{shrink:["",b,i,a]}],order:[{order:[U,"first","last","none",i,a]}],"grid-cols":[{"grid-cols":fe()}],"col-start-end":[{col:pe()}],"col-start":[{"col-start":W()}],"col-end":[{"col-end":W()}],"grid-rows":[{"grid-rows":fe()}],"row-start-end":[{row:pe()}],"row-start":[{"row-start":W()}],"row-end":[{"row-end":W()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":ne()}],"auto-rows":[{"auto-rows":ne()}],gap:[{gap:m()}],"gap-x":[{"gap-x":m()}],"gap-y":[{"gap-y":m()}],"justify-content":[{justify:[...se(),"normal"]}],"justify-items":[{"justify-items":[...O(),"normal"]}],"justify-self":[{"justify-self":["auto",...O()]}],"align-content":[{content:["normal",...se()]}],"align-items":[{items:[...O(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...O(),{baseline:["","last"]}]}],"place-content":[{"place-content":se()}],"place-items":[{"place-items":[...O(),"baseline"]}],"place-self":[{"place-self":["auto",...O()]}],p:[{p:m()}],px:[{px:m()}],py:[{py:m()}],ps:[{ps:m()}],pe:[{pe:m()}],pt:[{pt:m()}],pr:[{pr:m()}],pb:[{pb:m()}],pl:[{pl:m()}],m:[{m:P()}],mx:[{mx:P()}],my:[{my:P()}],ms:[{ms:P()}],me:[{me:P()}],mt:[{mt:P()}],mr:[{mr:P()}],mb:[{mb:P()}],ml:[{ml:P()}],"space-x":[{"space-x":m()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":m()}],"space-y-reverse":["space-y-reverse"],size:[{size:z()}],w:[{w:[p,"screen",...z()]}],"min-w":[{"min-w":[p,"screen","none",...z()]}],"max-w":[{"max-w":[p,"screen","none","prose",{screen:[l]},...z()]}],h:[{h:["screen","lh",...z()]}],"min-h":[{"min-h":["screen","lh","none",...z()]}],"max-h":[{"max-h":["screen","lh",...z()]}],"font-size":[{text:["base",r,oe,$]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[t,i,ke]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ve,a]}],"font-family":[{font:[zr,a,n]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,i,a]}],"line-clamp":[{"line-clamp":[b,"none",i,ke]}],leading:[{leading:[c,...m()]}],"list-image":[{"list-image":["none",i,a]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",i,a]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:d()}],"text-color":[{text:d()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...V(),"wavy"]}],"text-decoration-thickness":[{decoration:[b,"from-font","auto",i,$]}],"text-decoration-color":[{decoration:d()}],"underline-offset":[{"underline-offset":[b,"auto",i,a]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:m()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",i,a]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",i,a]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ae()}],"bg-repeat":[{bg:ie()}],"bg-size":[{bg:o()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},U,i,a],radial:["",i,a],conic:[U,i,a]},Nr,Or]}],"bg-color":[{bg:d()}],"gradient-from-pos":[{from:f()}],"gradient-via-pos":[{via:f()}],"gradient-to-pos":[{to:f()}],"gradient-from":[{from:d()}],"gradient-via":[{via:d()}],"gradient-to":[{to:d()}],rounded:[{rounded:h()}],"rounded-s":[{"rounded-s":h()}],"rounded-e":[{"rounded-e":h()}],"rounded-t":[{"rounded-t":h()}],"rounded-r":[{"rounded-r":h()}],"rounded-b":[{"rounded-b":h()}],"rounded-l":[{"rounded-l":h()}],"rounded-ss":[{"rounded-ss":h()}],"rounded-se":[{"rounded-se":h()}],"rounded-ee":[{"rounded-ee":h()}],"rounded-es":[{"rounded-es":h()}],"rounded-tl":[{"rounded-tl":h()}],"rounded-tr":[{"rounded-tr":h()}],"rounded-br":[{"rounded-br":h()}],"rounded-bl":[{"rounded-bl":h()}],"border-w":[{border:k()}],"border-w-x":[{"border-x":k()}],"border-w-y":[{"border-y":k()}],"border-w-s":[{"border-s":k()}],"border-w-e":[{"border-e":k()}],"border-w-t":[{"border-t":k()}],"border-w-r":[{"border-r":k()}],"border-w-b":[{"border-b":k()}],"border-w-l":[{"border-l":k()}],"divide-x":[{"divide-x":k()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":k()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...V(),"hidden","none"]}],"divide-style":[{divide:[...V(),"hidden","none"]}],"border-color":[{border:d()}],"border-color-x":[{"border-x":d()}],"border-color-y":[{"border-y":d()}],"border-color-s":[{"border-s":d()}],"border-color-e":[{"border-e":d()}],"border-color-t":[{"border-t":d()}],"border-color-r":[{"border-r":d()}],"border-color-b":[{"border-b":d()}],"border-color-l":[{"border-l":d()}],"divide-color":[{divide:d()}],"outline-style":[{outline:[...V(),"none","hidden"]}],"outline-offset":[{"outline-offset":[b,i,a]}],"outline-w":[{outline:["",b,oe,$]}],"outline-color":[{outline:d()}],shadow:[{shadow:["","none",y,ue,de]}],"shadow-color":[{shadow:d()}],"inset-shadow":[{"inset-shadow":["none",E,ue,de]}],"inset-shadow-color":[{"inset-shadow":d()}],"ring-w":[{ring:k()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:d()}],"ring-offset-w":[{"ring-offset":[b,$]}],"ring-offset-color":[{"ring-offset":d()}],"inset-ring-w":[{"inset-ring":k()}],"inset-ring-color":[{"inset-ring":d()}],"text-shadow":[{"text-shadow":["none",R,ue,de]}],"text-shadow-color":[{"text-shadow":d()}],opacity:[{opacity:[b,i,a]}],"mix-blend":[{"mix-blend":[...K(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":K()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[b]}],"mask-image-linear-from-pos":[{"mask-linear-from":v()}],"mask-image-linear-to-pos":[{"mask-linear-to":v()}],"mask-image-linear-from-color":[{"mask-linear-from":d()}],"mask-image-linear-to-color":[{"mask-linear-to":d()}],"mask-image-t-from-pos":[{"mask-t-from":v()}],"mask-image-t-to-pos":[{"mask-t-to":v()}],"mask-image-t-from-color":[{"mask-t-from":d()}],"mask-image-t-to-color":[{"mask-t-to":d()}],"mask-image-r-from-pos":[{"mask-r-from":v()}],"mask-image-r-to-pos":[{"mask-r-to":v()}],"mask-image-r-from-color":[{"mask-r-from":d()}],"mask-image-r-to-color":[{"mask-r-to":d()}],"mask-image-b-from-pos":[{"mask-b-from":v()}],"mask-image-b-to-pos":[{"mask-b-to":v()}],"mask-image-b-from-color":[{"mask-b-from":d()}],"mask-image-b-to-color":[{"mask-b-to":d()}],"mask-image-l-from-pos":[{"mask-l-from":v()}],"mask-image-l-to-pos":[{"mask-l-to":v()}],"mask-image-l-from-color":[{"mask-l-from":d()}],"mask-image-l-to-color":[{"mask-l-to":d()}],"mask-image-x-from-pos":[{"mask-x-from":v()}],"mask-image-x-to-pos":[{"mask-x-to":v()}],"mask-image-x-from-color":[{"mask-x-from":d()}],"mask-image-x-to-color":[{"mask-x-to":d()}],"mask-image-y-from-pos":[{"mask-y-from":v()}],"mask-image-y-to-pos":[{"mask-y-to":v()}],"mask-image-y-from-color":[{"mask-y-from":d()}],"mask-image-y-to-color":[{"mask-y-to":d()}],"mask-image-radial":[{"mask-radial":[i,a]}],"mask-image-radial-from-pos":[{"mask-radial-from":v()}],"mask-image-radial-to-pos":[{"mask-radial-to":v()}],"mask-image-radial-from-color":[{"mask-radial-from":d()}],"mask-image-radial-to-color":[{"mask-radial-to":d()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":D()}],"mask-image-conic-pos":[{"mask-conic":[b]}],"mask-image-conic-from-pos":[{"mask-conic-from":v()}],"mask-image-conic-to-pos":[{"mask-conic-to":v()}],"mask-image-conic-from-color":[{"mask-conic-from":d()}],"mask-image-conic-to-color":[{"mask-conic-to":d()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ae()}],"mask-repeat":[{mask:ie()}],"mask-size":[{mask:o()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",i,a]}],filter:[{filter:["","none",i,a]}],blur:[{blur:L()}],brightness:[{brightness:[b,i,a]}],contrast:[{contrast:[b,i,a]}],"drop-shadow":[{"drop-shadow":["","none",A,ue,de]}],"drop-shadow-color":[{"drop-shadow":d()}],grayscale:[{grayscale:["",b,i,a]}],"hue-rotate":[{"hue-rotate":[b,i,a]}],invert:[{invert:["",b,i,a]}],saturate:[{saturate:[b,i,a]}],sepia:[{sepia:["",b,i,a]}],"backdrop-filter":[{"backdrop-filter":["","none",i,a]}],"backdrop-blur":[{"backdrop-blur":L()}],"backdrop-brightness":[{"backdrop-brightness":[b,i,a]}],"backdrop-contrast":[{"backdrop-contrast":[b,i,a]}],"backdrop-grayscale":[{"backdrop-grayscale":["",b,i,a]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[b,i,a]}],"backdrop-invert":[{"backdrop-invert":["",b,i,a]}],"backdrop-opacity":[{"backdrop-opacity":[b,i,a]}],"backdrop-saturate":[{"backdrop-saturate":[b,i,a]}],"backdrop-sepia":[{"backdrop-sepia":["",b,i,a]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":m()}],"border-spacing-x":[{"border-spacing-x":m()}],"border-spacing-y":[{"border-spacing-y":m()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",i,a]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[b,"initial",i,a]}],ease:[{ease:["linear","initial",F,i,a]}],delay:[{delay:[b,i,a]}],animate:[{animate:["none",Q,i,a]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[S,i,a]}],"perspective-origin":[{"perspective-origin":Y()}],rotate:[{rotate:B()}],"rotate-x":[{"rotate-x":B()}],"rotate-y":[{"rotate-y":B()}],"rotate-z":[{"rotate-z":B()}],scale:[{scale:ee()}],"scale-x":[{"scale-x":ee()}],"scale-y":[{"scale-y":ee()}],"scale-z":[{"scale-z":ee()}],"scale-3d":["scale-3d"],skew:[{skew:ye()}],"skew-x":[{"skew-x":ye()}],"skew-y":[{"skew-y":ye()}],transform:[{transform:[i,a,"","none","gpu","cpu"]}],"transform-origin":[{origin:Y()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:be()}],"translate-x":[{"translate-x":be()}],"translate-y":[{"translate-y":be()}],"translate-z":[{"translate-z":be()}],"translate-none":["translate-none"],accent:[{accent:d()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:d()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",i,a]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":m()}],"scroll-mx":[{"scroll-mx":m()}],"scroll-my":[{"scroll-my":m()}],"scroll-ms":[{"scroll-ms":m()}],"scroll-me":[{"scroll-me":m()}],"scroll-mt":[{"scroll-mt":m()}],"scroll-mr":[{"scroll-mr":m()}],"scroll-mb":[{"scroll-mb":m()}],"scroll-ml":[{"scroll-ml":m()}],"scroll-p":[{"scroll-p":m()}],"scroll-px":[{"scroll-px":m()}],"scroll-py":[{"scroll-py":m()}],"scroll-ps":[{"scroll-ps":m()}],"scroll-pe":[{"scroll-pe":m()}],"scroll-pt":[{"scroll-pt":m()}],"scroll-pr":[{"scroll-pr":m()}],"scroll-pb":[{"scroll-pb":m()}],"scroll-pl":[{"scroll-pl":m()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",i,a]}],fill:[{fill:["none",...d()]}],"stroke-w":[{stroke:[b,oe,$,ke]}],stroke:[{stroke:["none",...d()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function M(...e){return Gr(Ce(e))}function Vr({className:e}){return j.jsx("div",{className:M("",e),children:"Filter Component"})}function Lr({className:e}){return j.jsx("div",{className:M("",e),children:"ItemCard Component"})}const Ye=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,We=Ce,Ur=((e,n)=>r=>{var t;if(n?.variants==null)return We(e,r?.class,r?.className);const{variants:s,defaultVariants:c}=n,l=Object.keys(s).map(g=>{const y=r?.[g],E=c?.[g];if(y===null)return null;const R=Ye(y)||Ye(E);return s[g][R]}),p=r&&Object.entries(r).reduce((g,y)=>{let[E,R]=y;return R===void 0||(g[E]=R),g},{}),u=n==null||(t=n.compoundVariants)===null||t===void 0?void 0:t.reduce((g,y)=>{let{class:E,className:R,...A}=y;return Object.entries(A).every(T=>{let[S,w]=T;return Array.isArray(w)?w.includes({...c,...p}[S]):{...c,...p}[S]===w})?[...g,E,R]:g},[]);return We(e,l,u,r?.class,r?.className)})(["flex justify-center items-center min-h-16"],{variants:{variant:{primary:"bg-blue-500 text-white",secondary:"bg-gray-500 text-black"},padding:{sm:"p-2",md:"p-4",lg:"p-6"}},defaultVariants:{variant:"primary",padding:"md"},compoundVariants:[{variant:"primary",padding:"lg",class:"shadow-lg"},{variant:"secondary",padding:"sm",class:"border-2 border-black"}]}),Dr=I.forwardRef(({className:e,variant:n,padding:r,...t},s)=>j.jsx("header",{ref:s,className:M(Ur({variant:n,padding:r,className:e})),...t,children:"this is a header"}));function Yr({className:e}){return j.jsx("div",{className:M("",e),children:"Footer Component"})}function Wr({className:e}){return j.jsx("div",{className:M("",e),children:"ItemDetails Component"})}function Br({className:e}){return j.jsx("div",{className:M("",e),children:"Listings Component"})}function $r({className:e}){return j.jsx("div",{className:M("",e),children:"NavBar Component"})}const me=I.createContext(void 0);function Be(){const e=I.useContext(me);if(!e)throw new Error("useEmperorUI must be used within a EmperorUIProvider");return e}function $e({className:e,children:n}){const{config:r}=Be(),t=r?.theme?.colors?.background;return j.jsx("div",{className:M("flex flex-col",e),style:{backgroundColor:t},children:n})}const Je={primary:"#1E40AF",secondary:"#F59E0B",background:"#FFFFFF",text:"#111827",danger:"#DC2626",warning:"#D97706",info:"#3B82F6",success:"#16A34A"},Xe={theme:{mode:"dark",colors:Je},layout:{withScaffold:!0}};function Jr({children:e,config:n=Xe}){const r=I.useMemo(()=>({config:n}),[n]);return n.layout?.withScaffold??!0?j.jsx(me.Provider,{value:r,children:j.jsx($e,{children:e})}):j.jsx(me.Provider,{value:r,children:e})}x.EmperorUIContext=me,x.EmperorUIProvider=Jr,x.Filter=Vr,x.Footer=Yr,x.Header=Dr,x.ItemCard=Lr,x.ItemDetails=Wr,x.Listings=Br,x.NavBar=$r,x.Scaffold=$e,x.cn=M,x.defaultColorsPalette=Je,x.defaultEmperorUIConfig=Xe,x.useEmperorUI=Be,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"})}));
package/dist/index.d.ts DELETED
@@ -1,200 +0,0 @@
1
- import { ClassAttributes } from 'react';
2
- import { ClassProp } from 'class-variance-authority/types';
3
- import { ClassValue } from 'clsx';
4
- import { Context } from 'react';
5
- import { ForwardRefExoticComponent } from 'react';
6
- import { HTMLAttributes } from 'react';
7
- import { JSX } from 'react/jsx-runtime';
8
- import { ReactNode } from 'react';
9
- import { RefAttributes } from 'react';
10
- import { VariantProps } from 'class-variance-authority';
11
-
12
- export declare function cn(...classes: ClassValue[]): string;
13
-
14
- export declare type ColorMode = "light" | "dark";
15
-
16
- export declare type ColorsPalette = {
17
- primary: string;
18
- secondary: string;
19
- success: string;
20
- danger: string;
21
- warning: string;
22
- info: string;
23
- background: string;
24
- text: string;
25
- };
26
-
27
- export declare const defaultColorsPalette: ColorsPalette;
28
-
29
- export declare const defaultEmperorUIConfig: EmperorUIConfig;
30
-
31
- export declare type EmperorUIConfig = {
32
- theme?: Partial<EmperorUITheme>;
33
- layout?: Partial<EmperorUILayout>;
34
- };
35
-
36
- export declare const EmperorUIContext: Context<EmperorUIContextState | undefined>;
37
-
38
- export declare type EmperorUIContextState = {
39
- config: EmperorUIConfig;
40
- };
41
-
42
- export declare type EmperorUILayout = {
43
- withScaffold: boolean;
44
- };
45
-
46
- export declare function EmperorUIProvider({ children, config, }: EmperorUIProviderProps): JSX.Element;
47
-
48
- export declare type EmperorUIProviderProps = {
49
- children: ReactNode;
50
- config: EmperorUIConfig;
51
- };
52
-
53
- export declare type EmperorUITheme = {
54
- mode: ColorMode;
55
- colors: Partial<ColorsPalette>;
56
- };
57
-
58
- export declare function Filter({ className }: FilterProps): JSX.Element;
59
-
60
- export declare type FilterClassnames = {
61
- base?: string;
62
- };
63
-
64
- export declare type FilterProps = SharedComponentProps & {
65
- classNames?: FilterClassnames;
66
- };
67
-
68
- export declare function Footer({ className }: FooterProps): JSX.Element;
69
-
70
- export declare type FooterClassnames = {
71
- base?: string;
72
- };
73
-
74
- export declare type FooterProps = SharedComponentProps & {
75
- classNames?: FooterClassnames;
76
- };
77
-
78
- export declare const Header: ForwardRefExoticComponent<Omit<ClassAttributes<HTMLElement> & HTMLAttributes<HTMLElement> & VariantProps<(props?: ({
79
- variant?: "primary" | "secondary" | null | undefined;
80
- padding?: "sm" | "md" | "lg" | null | undefined;
81
- } & ClassProp) | undefined) => string> & SharedComponentProps & {
82
- variant?: "default" | "compact";
83
- classNames?: HeaderClassnames;
84
- }, "ref"> & RefAttributes<HTMLElement>>;
85
-
86
- export declare type HeaderActivations = {
87
- hideLog?: boolean;
88
- hideNavbar?: boolean;
89
- hideUserDropdown?: boolean;
90
- hideSideMenu?: boolean;
91
- };
92
-
93
- export declare type HeaderClassnames = {
94
- base?: string;
95
- logo?: string;
96
- navbar?: string;
97
- userDropdown?: string;
98
- sideMenu?: string;
99
- };
100
-
101
- export declare type HeaderProps = SharedComponentProps & {
102
- variant?: "default" | "compact";
103
- classNames?: HeaderClassnames;
104
- };
105
-
106
- export declare function ItemCard({ className }: ItemCardProps_2): JSX.Element;
107
-
108
- export declare type ItemCardClassnames = {
109
- base?: string;
110
- };
111
-
112
- declare type ItemCardClassnames_2 = {
113
- base?: string;
114
- };
115
-
116
- export declare type ItemCardProps = SharedComponentProps & {
117
- classNames?: ItemCardClassnames;
118
- };
119
-
120
- declare type ItemCardProps_2 = SharedComponentProps_2 & {
121
- classNames?: ItemCardClassnames_2;
122
- };
123
-
124
- export declare function ItemDetails({ className }: ItemDetailsProps_2): JSX.Element;
125
-
126
- export declare type ItemDetailsClassnames = {
127
- base?: string;
128
- };
129
-
130
- declare type ItemDetailsClassnames_2 = {
131
- base?: string;
132
- };
133
-
134
- export declare type ItemDetailsProps = SharedComponentProps & {
135
- classNames?: ItemDetailsClassnames;
136
- };
137
-
138
- declare type ItemDetailsProps_2 = SharedComponentProps_2 & {
139
- classNames?: ItemDetailsClassnames_2;
140
- };
141
-
142
- export declare function Listings({ className }: ListingsProps_2): JSX.Element;
143
-
144
- export declare type ListingsClassnames = {
145
- base?: string;
146
- };
147
-
148
- declare type ListingsClassnames_2 = {
149
- base?: string;
150
- };
151
-
152
- export declare type ListingsProps = SharedComponentProps & {
153
- classNames?: ListingsClassnames;
154
- };
155
-
156
- declare type ListingsProps_2 = SharedComponentProps_2 & {
157
- classNames?: ListingsClassnames_2;
158
- };
159
-
160
- export declare function NavBar({ className }: NavBarProps_2): JSX.Element;
161
-
162
- export declare type NavBarClassnames = {
163
- base?: string;
164
- };
165
-
166
- declare type NavBarClassnames_2 = {
167
- base?: string;
168
- };
169
-
170
- export declare type NavBarProps = SharedComponentProps & {
171
- classNames?: NavBarClassnames;
172
- };
173
-
174
- declare type NavBarProps_2 = SharedComponentProps_2 & {
175
- classNames?: NavBarClassnames_2;
176
- };
177
-
178
- export declare function Scaffold({ className, children }: ScaffoldProps): JSX.Element;
179
-
180
- export declare type ScaffoldClassnames = {
181
- base?: string;
182
- };
183
-
184
- export declare type ScaffoldProps = SharedComponentProps & {
185
- classNames?: ScaffoldClassnames;
186
- };
187
-
188
- export declare type SharedComponentProps = {
189
- className?: string;
190
- children?: ReactNode;
191
- };
192
-
193
- declare type SharedComponentProps_2 = {
194
- className?: string;
195
- children?: ReactNode;
196
- };
197
-
198
- export declare function useEmperorUI(): EmperorUIContextState;
199
-
200
- export { }
@@ -1,6 +0,0 @@
1
- import type { ItemCardProps } from "src";
2
- import { cn } from "@utils";
3
-
4
- export function ItemCard({ className }: ItemCardProps) {
5
- return <div className={cn("", className)}>ItemCard Component</div>;
6
- }
@@ -1,49 +0,0 @@
1
- import type { HeaderProps } from "@types";
2
- import { cn } from "@utils";
3
- import { cva, VariantProps } from "class-variance-authority";
4
- import { ComponentProps, forwardRef } from "react";
5
-
6
- const headerStyles = cva(["flex justify-center items-center min-h-16"], {
7
- variants: {
8
- variant: {
9
- primary: "bg-blue-500 text-white",
10
- secondary: "bg-gray-500 text-black",
11
- },
12
- padding: {
13
- sm: "p-2",
14
- md: "p-4",
15
- lg: "p-6",
16
- },
17
- },
18
- defaultVariants: {
19
- variant: "primary",
20
- padding: "md",
21
- },
22
- compoundVariants: [
23
- {
24
- variant: "primary",
25
- padding: "lg",
26
- class: "shadow-lg",
27
- },
28
- {
29
- variant: "secondary",
30
- padding: "sm",
31
- class: "border-2 border-black",
32
- },
33
- ],
34
- });
35
-
36
- export const Header = forwardRef<
37
- HTMLElement,
38
- ComponentProps<"header"> & VariantProps<typeof headerStyles> & HeaderProps
39
- >(({ className, variant, padding, ...props }, ref) => {
40
- return (
41
- <header
42
- ref={ref}
43
- className={cn(headerStyles({ variant, padding, className }))}
44
- {...props}
45
- >
46
- this is a header
47
- </header>
48
- );
49
- });
@@ -1,6 +0,0 @@
1
- import type { FooterProps } from "@types";
2
- import { cn } from "@utils";
3
-
4
- export function Footer({ className }: FooterProps) {
5
- return <div className={cn("", className)}>Footer Component</div>;
6
- }
@@ -1 +0,0 @@
1
- export * from "./nav-bar";
@@ -1,6 +0,0 @@
1
- import type { NavBarProps } from "src";
2
- import { cn } from "@utils";
3
-
4
- export function NavBar({ className }: NavBarProps) {
5
- return <div className={cn("", className)}>NavBar Component</div>;
6
- }
@@ -1,15 +0,0 @@
1
- import { useEmperorUI } from "@hooks";
2
- import type { ScaffoldProps } from "@types";
3
- import { cn } from "@utils";
4
-
5
- export function Scaffold({ className, children }: ScaffoldProps) {
6
- const { config } = useEmperorUI();
7
-
8
- const backgroundColor = config?.theme?.colors?.background;
9
-
10
- return (
11
- <div className={cn("flex flex-col", className)} style={{ backgroundColor }}>
12
- {children}
13
- </div>
14
- );
15
- }
package/src/index.css DELETED
@@ -1 +0,0 @@
1
- @import "tailwindcss";
@@ -1,21 +0,0 @@
1
- import type { SharedComponentProps } from "@types";
2
-
3
- export type HeaderClassnames = {
4
- base?: string;
5
- logo?: string;
6
- navbar?: string;
7
- userDropdown?: string;
8
- sideMenu?: string;
9
- };
10
-
11
- export type HeaderActivations = {
12
- hideLog?: boolean;
13
- hideNavbar?: boolean;
14
- hideUserDropdown?: boolean;
15
- hideSideMenu?: boolean;
16
- };
17
-
18
- export type HeaderProps = SharedComponentProps & {
19
- variant?: "default" | "compact";
20
- classNames?: HeaderClassnames;
21
- };
@@ -1,9 +0,0 @@
1
- import type { SharedComponentProps } from "@types";
2
-
3
- export type NavBarClassnames = {
4
- base?: string;
5
- };
6
-
7
- export type NavBarProps = SharedComponentProps & {
8
- classNames?: NavBarClassnames;
9
- };
@@ -1,37 +0,0 @@
1
- import { type ReactNode } from "react";
2
-
3
- export type EmperorUIContextState = {
4
- config: EmperorUIConfig;
5
- };
6
-
7
- export type EmperorUIProviderProps = {
8
- children: ReactNode;
9
- config: EmperorUIConfig;
10
- };
11
-
12
- export type ColorMode = "light" | "dark";
13
-
14
- export type ColorsPalette = {
15
- primary: string;
16
- secondary: string;
17
- success: string;
18
- danger: string;
19
- warning: string;
20
- info: string;
21
- background: string;
22
- text: string;
23
- };
24
-
25
- export type EmperorUITheme = {
26
- mode: ColorMode;
27
- colors: Partial<ColorsPalette>;
28
- };
29
-
30
- export type EmperorUILayout = {
31
- withScaffold: boolean;
32
- };
33
-
34
- export type EmperorUIConfig = {
35
- theme?: Partial<EmperorUITheme>;
36
- layout?: Partial<EmperorUILayout>;
37
- };
@@ -1,6 +0,0 @@
1
- /** @type {import('tailwindcss').Config} */
2
- export default {
3
- content: ["./src/**/*.{js,ts,jsx,tsx}"],
4
- theme: {},
5
- plugins: [],
6
- };