@ieee-ui/ui 0.0.1
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.
- package/README.md +73 -0
- package/dist/ieee-ui.cjs.js +91 -0
- package/dist/ieee-ui.css +1 -0
- package/dist/ieee-ui.es.js +765 -0
- package/dist/index.d.ts +1 -0
- package/dist/vite.svg +1 -0
- package/package.json +55 -0
package/README.md
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# React + TypeScript + Vite
|
|
2
|
+
|
|
3
|
+
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
|
|
4
|
+
|
|
5
|
+
Currently, two official plugins are available:
|
|
6
|
+
|
|
7
|
+
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
|
|
8
|
+
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
|
|
9
|
+
|
|
10
|
+
## React Compiler
|
|
11
|
+
|
|
12
|
+
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
|
|
13
|
+
|
|
14
|
+
## Expanding the ESLint configuration
|
|
15
|
+
|
|
16
|
+
If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
|
|
17
|
+
|
|
18
|
+
```js
|
|
19
|
+
export default defineConfig([
|
|
20
|
+
globalIgnores(['dist']),
|
|
21
|
+
{
|
|
22
|
+
files: ['**/*.{ts,tsx}'],
|
|
23
|
+
extends: [
|
|
24
|
+
// Other configs...
|
|
25
|
+
|
|
26
|
+
// Remove tseslint.configs.recommended and replace with this
|
|
27
|
+
tseslint.configs.recommendedTypeChecked,
|
|
28
|
+
// Alternatively, use this for stricter rules
|
|
29
|
+
tseslint.configs.strictTypeChecked,
|
|
30
|
+
// Optionally, add this for stylistic rules
|
|
31
|
+
tseslint.configs.stylisticTypeChecked,
|
|
32
|
+
|
|
33
|
+
// Other configs...
|
|
34
|
+
],
|
|
35
|
+
languageOptions: {
|
|
36
|
+
parserOptions: {
|
|
37
|
+
project: ['./tsconfig.node.json', './tsconfig.app.json'],
|
|
38
|
+
tsconfigRootDir: import.meta.dirname,
|
|
39
|
+
},
|
|
40
|
+
// other options...
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
])
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
|
|
47
|
+
|
|
48
|
+
```js
|
|
49
|
+
// eslint.config.js
|
|
50
|
+
import reactX from 'eslint-plugin-react-x'
|
|
51
|
+
import reactDom from 'eslint-plugin-react-dom'
|
|
52
|
+
|
|
53
|
+
export default defineConfig([
|
|
54
|
+
globalIgnores(['dist']),
|
|
55
|
+
{
|
|
56
|
+
files: ['**/*.{ts,tsx}'],
|
|
57
|
+
extends: [
|
|
58
|
+
// Other configs...
|
|
59
|
+
// Enable lint rules for React
|
|
60
|
+
reactX.configs['recommended-typescript'],
|
|
61
|
+
// Enable lint rules for React DOM
|
|
62
|
+
reactDom.configs.recommended,
|
|
63
|
+
],
|
|
64
|
+
languageOptions: {
|
|
65
|
+
parserOptions: {
|
|
66
|
+
project: ['./tsconfig.node.json', './tsconfig.app.json'],
|
|
67
|
+
tsconfigRootDir: import.meta.dirname,
|
|
68
|
+
},
|
|
69
|
+
// other options...
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
])
|
|
73
|
+
```
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("react");var L={exports:{}},D={};/**
|
|
2
|
+
* @license React
|
|
3
|
+
* react-jsx-runtime.production.js
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/var Q;function re(){if(Q)return D;Q=1;var m=Symbol.for("react.transitional.element"),f=Symbol.for("react.fragment");function c(p,d,i){var g=null;if(i!==void 0&&(g=""+i),d.key!==void 0&&(g=""+d.key),"key"in d){i={};for(var h in d)h!=="key"&&(i[h]=d[h])}else i=d;return d=i.ref,{$$typeof:m,type:p,key:g,ref:d!==void 0?d:null,props:i}}return D.Fragment=f,D.jsx=c,D.jsxs=c,D}var F={};/**
|
|
10
|
+
* @license React
|
|
11
|
+
* react-jsx-runtime.development.js
|
|
12
|
+
*
|
|
13
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
14
|
+
*
|
|
15
|
+
* This source code is licensed under the MIT license found in the
|
|
16
|
+
* LICENSE file in the root directory of this source tree.
|
|
17
|
+
*/var K;function ne(){return K||(K=1,process.env.NODE_ENV!=="production"&&(function(){function m(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===G?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case N:return"Fragment";case W:return"Profiler";case O:return"StrictMode";case J:return"Suspense";case U:return"SuspenseList";case B:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case S:return"Portal";case z:return e.displayName||"Context";case I:return(e._context.displayName||"Context")+".Consumer";case V:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case q:return n=e.displayName||null,n!==null?n:m(e.type)||"Memo";case P:n=e._payload,e=e._init;try{return m(e(n))}catch{}}return null}function f(e){return""+e}function c(e){try{f(e);var n=!1}catch{n=!0}if(n){n=console;var s=n.error,l=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return s.call(n,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",l),f(e)}}function p(e){if(e===N)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===P)return"<...>";try{var n=m(e);return n?"<"+n+">":"<...>"}catch{return"<...>"}}function d(){var e=Y.A;return e===null?null:e.getOwner()}function i(){return Error("react-stack-top-frame")}function g(e){if(M.call(e,"key")){var n=Object.getOwnPropertyDescriptor(e,"key").get;if(n&&n.isReactWarning)return!1}return e.key!==void 0}function h(e,n){function s(){C||(C=!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)",n))}s.isReactWarning=!0,Object.defineProperty(e,"key",{get:s,configurable:!0})}function T(){var e=m(this.type);return $[e]||($[e]=!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.")),e=this.props.ref,e!==void 0?e:null}function y(e,n,s,l,j,v){var u=s.ref;return e={$$typeof:w,type:e,key:n,props:s,_owner:l},(u!==void 0?u:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:T}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:j}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:v}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function b(e,n,s,l,j,v){var u=n.children;if(u!==void 0)if(l)if(X(u)){for(l=0;l<u.length;l++)x(u[l]);Object.freeze&&Object.freeze(u)}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 x(u);if(M.call(n,"key")){u=m(e);var R=Object.keys(n).filter(function(te){return te!=="key"});l=0<R.length?"{key: someKey, "+R.join(": ..., ")+": ...}":"{key: someKey}",k[u+l]||(R=0<R.length?"{"+R.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
18
|
+
let props = %s;
|
|
19
|
+
<%s {...props} />
|
|
20
|
+
React keys must be passed directly to JSX without using spread:
|
|
21
|
+
let props = %s;
|
|
22
|
+
<%s key={someKey} {...props} />`,l,u,R,u),k[u+l]=!0)}if(u=null,s!==void 0&&(c(s),u=""+s),g(n)&&(c(n.key),u=""+n.key),"key"in n){s={};for(var H in n)H!=="key"&&(s[H]=n[H])}else s=n;return u&&h(s,typeof e=="function"?e.displayName||e.name||"Unknown":e),y(e,u,s,d(),j,v)}function x(e){_(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===P&&(e._payload.status==="fulfilled"?_(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function _(e){return typeof e=="object"&&e!==null&&e.$$typeof===w}var a=E,w=Symbol.for("react.transitional.element"),S=Symbol.for("react.portal"),N=Symbol.for("react.fragment"),O=Symbol.for("react.strict_mode"),W=Symbol.for("react.profiler"),I=Symbol.for("react.consumer"),z=Symbol.for("react.context"),V=Symbol.for("react.forward_ref"),J=Symbol.for("react.suspense"),U=Symbol.for("react.suspense_list"),q=Symbol.for("react.memo"),P=Symbol.for("react.lazy"),B=Symbol.for("react.activity"),G=Symbol.for("react.client.reference"),Y=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,M=Object.prototype.hasOwnProperty,X=Array.isArray,A=console.createTask?console.createTask:function(){return null};a={react_stack_bottom_frame:function(e){return e()}};var C,$={},t=a.react_stack_bottom_frame.bind(a,i)(),o=A(p(i)),k={};F.Fragment=N,F.jsx=function(e,n,s){var l=1e4>Y.recentlyCreatedOwnerStacks++;return b(e,n,s,!1,l?Error("react-stack-top-frame"):t,l?A(p(e)):o)},F.jsxs=function(e,n,s){var l=1e4>Y.recentlyCreatedOwnerStacks++;return b(e,n,s,!0,l?Error("react-stack-top-frame"):t,l?A(p(e)):o)}})()),F}var ee;function oe(){return ee||(ee=1,process.env.NODE_ENV==="production"?L.exports=re():L.exports=ne()),L.exports}var r=oe();const Z=({children:m,variant:f="primary",size:c="medium",isLoading:p=!1,leftIcon:d,rightIcon:i,disabled:g,className:h="",...T})=>{const y=`
|
|
23
|
+
inline-flex items-center justify-center gap-2
|
|
24
|
+
font-semibold rounded-lg
|
|
25
|
+
transition-all duration-200
|
|
26
|
+
focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2
|
|
27
|
+
disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none
|
|
28
|
+
`,b={primary:`
|
|
29
|
+
bg-primary text-primary-foreground
|
|
30
|
+
hover:bg-primary/90 active:bg-primary/80
|
|
31
|
+
shadow-sm hover:shadow
|
|
32
|
+
`,secondary:`
|
|
33
|
+
bg-secondary text-secondary-foreground
|
|
34
|
+
hover:bg-secondary/90 active:bg-secondary/80
|
|
35
|
+
shadow-sm hover:shadow
|
|
36
|
+
`,accent:`
|
|
37
|
+
bg-accent text-accent-foreground
|
|
38
|
+
hover:bg-accent/90 active:bg-accent/80
|
|
39
|
+
shadow-sm hover:shadow
|
|
40
|
+
`,danger:`
|
|
41
|
+
bg-destructive text-destructive-foreground
|
|
42
|
+
hover:bg-destructive/90 active:bg-destructive/80
|
|
43
|
+
shadow-sm hover:shadow
|
|
44
|
+
`,success:`
|
|
45
|
+
bg-success text-success-foreground
|
|
46
|
+
hover:bg-success/90 active:bg-success/80
|
|
47
|
+
shadow-sm hover:shadow
|
|
48
|
+
`,info:`
|
|
49
|
+
bg-info text-info-foreground
|
|
50
|
+
hover:bg-info/90 active:bg-info/80
|
|
51
|
+
shadow-sm hover:shadow
|
|
52
|
+
`,highlight:`
|
|
53
|
+
bg-highlight text-highlight-foreground
|
|
54
|
+
hover:bg-highlight/90 active:bg-highlight/80
|
|
55
|
+
shadow-sm hover:shadow
|
|
56
|
+
`,outline:`
|
|
57
|
+
bg-transparent border-2 border-primary text-primary
|
|
58
|
+
hover:bg-primary/5 active:bg-primary/10
|
|
59
|
+
`,ghost:`
|
|
60
|
+
bg-transparent text-primary
|
|
61
|
+
hover:bg-muted active:bg-muted/80
|
|
62
|
+
`},x={small:"px-3 py-1.5 text-sm",medium:"px-5 py-2.5 text-base",large:"px-7 py-3.5 text-lg"};return r.jsxs("button",{className:`
|
|
63
|
+
${y}
|
|
64
|
+
${b[f]}
|
|
65
|
+
${x[c]}
|
|
66
|
+
${h}
|
|
67
|
+
`,disabled:g||p,...T,children:[p&&r.jsxs("svg",{className:"animate-spin h-4 w-4",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[r.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),r.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),!p&&d&&r.jsx("span",{children:d}),m,!p&&i&&r.jsx("span",{children:i})]})},se=({label:m,error:f,className:c="",...p})=>r.jsxs("div",{className:"flex flex-col gap-1",children:[m&&r.jsx("label",{className:"text-sm font-medium text-gray-700",children:m}),r.jsx("input",{className:`px-3 py-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 ${f?"border-red-500":"border-gray-300"} ${c}`,...p}),f&&r.jsx("span",{className:"text-xs text-red-500",children:f})]}),ae=({label:m,value:f,onChange:c,placeholder:p="Select date",error:d,disabled:i=!1,minDate:g,maxDate:h,className:T=""})=>{const[y,b]=E.useState(!1),[x,_]=E.useState(f),[a,w]=E.useState(f?new Date(f.getFullYear(),f.getMonth(),1):new Date(new Date().getFullYear(),new Date().getMonth(),1)),[S,N]=E.useState(!1),O=E.useRef(null);E.useEffect(()=>{const t=o=>{O.current&&!O.current.contains(o.target)&&b(!1)};return y&&document.addEventListener("mousedown",t),()=>document.removeEventListener("mousedown",t)},[y]);const W=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],I=["January","February","March","April","May","June","July","August","September","October","November","December"],z=t=>{const o=t.getFullYear(),k=t.getMonth(),e=new Date(o,k,1),s=new Date(o,k+1,0).getDate(),l=e.getDay(),j=[];for(let v=0;v<l;v++)j.push(null);for(let v=1;v<=s;v++)j.push(v);return j},V=()=>{w(new Date(a.getFullYear(),a.getMonth()-1,1))},J=()=>{w(new Date(a.getFullYear(),a.getMonth()+1,1))},U=t=>{w(new Date(a.getFullYear(),t,1))},q=t=>{w(new Date(t,a.getMonth(),1)),N(!1)},P=()=>{const t=new Date().getFullYear(),o=g?g.getFullYear():t-100,k=h?h.getFullYear():t+100,e=[];for(let n=o;n<=k;n++)e.push(n);return e},B=t=>{const o=new Date(a.getFullYear(),a.getMonth(),t);g&&o<g||h&&o>h||(_(o),c==null||c(o),b(!1))},G=()=>{const t=new Date;w(new Date(t.getFullYear(),t.getMonth(),1)),_(t),c==null||c(t),b(!1)},Y=()=>{_(void 0),c==null||c(void 0)},M=t=>{const o=new Date(a.getFullYear(),a.getMonth(),t);return!!(g&&o<g||h&&o>h)},X=t=>{const o=new Date;return t===o.getDate()&&a.getMonth()===o.getMonth()&&a.getFullYear()===o.getFullYear()},A=t=>x?t===x.getDate()&&a.getMonth()===x.getMonth()&&a.getFullYear()===x.getFullYear():!1,C=t=>t?t.toLocaleDateString("en-US",{month:"2-digit",day:"2-digit",year:"numeric"}):"",$=z(a);return r.jsxs("div",{className:`relative ${T}`,ref:O,children:[r.jsxs("div",{className:"flex flex-col gap-1",children:[m&&r.jsx("label",{className:"text-xs font-medium text-text-muted tracking-wide uppercase",children:m}),r.jsxs("div",{className:`
|
|
68
|
+
relative flex items-center gap-2 px-4 py-3
|
|
69
|
+
bg-surface border-b-2 transition-all cursor-pointer
|
|
70
|
+
rounded-t-lg
|
|
71
|
+
${y?"border-primary bg-background-light":"border-border"}
|
|
72
|
+
${d?"border-destructive":""}
|
|
73
|
+
${i?"opacity-50 cursor-not-allowed":"hover:bg-background-light"}
|
|
74
|
+
`,onClick:()=>!i&&b(!y),children:[r.jsx("input",{type:"text",value:C(x),placeholder:p,readOnly:!0,disabled:i,className:`
|
|
75
|
+
flex-1 bg-transparent outline-none cursor-pointer
|
|
76
|
+
text-text-primary placeholder:text-muted-foreground
|
|
77
|
+
${i?"cursor-not-allowed":""}
|
|
78
|
+
`}),r.jsx("svg",{className:"w-5 h-5 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})}),x&&!i&&r.jsx("button",{onClick:t=>{t.stopPropagation(),Y()},className:"p-1 rounded-full hover:bg-muted transition-colors",type:"button",children:r.jsx("svg",{className:"w-4 h-4 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),d&&r.jsx("span",{className:"text-xs text-destructive tracking-wide",children:d})]}),y&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"md:hidden fixed inset-0 bg-black/20 z-40"}),r.jsxs("div",{className:`
|
|
79
|
+
fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-50 w-[90vw] max-w-sm
|
|
80
|
+
md:absolute md:top-full md:left-0 md:mt-1 md:z-10 md:w-80 md:translate-x-0 md:translate-y-0
|
|
81
|
+
bg-card shadow-2xl rounded-lg overflow-hidden border border-border
|
|
82
|
+
`,children:[r.jsxs("div",{className:"flex items-center justify-between px-3 py-2 md:px-4 md:py-3 bg-primary text-primary-foreground",children:[r.jsx("button",{onClick:V,className:"p-1.5 md:p-2 rounded-full hover:bg-white/10 transition-colors",type:"button","aria-label":"Previous month",children:r.jsx("svg",{className:"w-4 h-4 md:w-5 md:h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),r.jsxs("div",{className:"flex items-center gap-1.5 md:gap-2",children:[r.jsx("select",{value:a.getMonth(),onChange:t=>U(Number(t.target.value)),className:"bg-white/10 hover:bg-white/20 px-1.5 py-0.5 md:px-2 md:py-1 rounded text-xs md:text-sm font-medium cursor-pointer outline-none focus:ring-2 focus:ring-white/30 transition-colors",onClick:t=>t.stopPropagation(),children:I.map((t,o)=>r.jsx("option",{value:o,className:"bg-card text-text-primary",children:t},t))}),r.jsxs("button",{onClick:()=>N(!S),className:"bg-white/10 hover:bg-white/20 px-1.5 py-0.5 md:px-2 md:py-1 rounded text-xs md:text-sm font-medium transition-colors",type:"button",children:[a.getFullYear(),r.jsx("svg",{className:`w-3 h-3 inline-block ml-0.5 md:ml-1 transition-transform ${S?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]})]}),r.jsx("button",{onClick:J,className:"p-1.5 md:p-2 rounded-full hover:bg-white/10 transition-colors",type:"button","aria-label":"Next month",children:r.jsx("svg",{className:"w-4 h-4 md:w-5 md:h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})})]}),S?r.jsx("div",{className:"p-3 md:p-4 bg-card max-h-64 overflow-y-auto",children:r.jsx("div",{className:"grid grid-cols-3 md:grid-cols-4 gap-1.5 md:gap-2",children:P().map(t=>r.jsx("button",{onClick:()=>q(t),type:"button",className:`
|
|
83
|
+
px-2 py-1.5 md:px-3 md:py-2 rounded-lg text-xs md:text-sm font-medium transition-all
|
|
84
|
+
${t===a.getFullYear()?"bg-primary text-primary-foreground shadow-md scale-105 hover:bg-primary/90":t===new Date().getFullYear()?"bg-accent/20 text-accent-foreground font-bold hover:bg-accent/30":"text-text-primary hover:bg-muted hover:scale-105"}
|
|
85
|
+
`,children:t},t))})}):r.jsxs("div",{className:"p-3 md:p-4 bg-card",children:[r.jsx("div",{className:"grid grid-cols-7 gap-0.5 md:gap-1 mb-1.5 md:mb-2",children:W.map(t=>r.jsx("div",{className:"text-center text-[10px] md:text-xs font-medium text-muted-foreground py-1.5 md:py-2",children:t},t))}),r.jsx("div",{className:"grid grid-cols-7 gap-0.5 md:gap-1",children:$.map((t,o)=>r.jsx("button",{onClick:()=>{t&&!M(t)&&B(t)},type:"button",className:`
|
|
86
|
+
aspect-square flex items-center justify-center rounded-full
|
|
87
|
+
text-xs md:text-sm font-medium transition-all
|
|
88
|
+
${t?"":"invisible"}
|
|
89
|
+
${t&&A(t)?"bg-primary text-primary-foreground shadow-md scale-105 hover:bg-primary/90":t&&X(t)?"bg-accent text-accent-foreground font-bold hover:bg-accent/90 hover:scale-105":"text-text-primary hover:bg-muted hover:scale-110"}
|
|
90
|
+
${t&&M(t)?"opacity-30 cursor-not-allowed":"cursor-pointer"}
|
|
91
|
+
`,children:t},o))})]}),r.jsxs("div",{className:"flex items-center justify-between px-3 py-2 md:px-4 md:py-3 bg-surface border-t border-border gap-2",children:[r.jsx(Z,{variant:"outline",size:"small",onClick:G,type:"button",className:"text-xs md:text-sm px-2 md:px-3",children:"Today"}),r.jsx(Z,{variant:"primary",size:"small",onClick:()=>b(!1),type:"button",className:"text-xs md:text-sm px-2 md:px-3",children:"Done"})]})]})]})]})};exports.Button=Z;exports.DatePicker=ae;exports.Input=se;
|
package/dist/ieee-ui.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-700:oklch(37.3% .034 259.733);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--radius-md:.375rem;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius:.5rem;--color-primary:#00529b;--color-primary-foreground:#fff;--color-secondary:#bd0d2a;--color-secondary-foreground:#fff;--color-accent:#ffa300;--color-accent-foreground:#1a1a1a;--color-success:#78be20;--color-success-foreground:#fff;--color-info:#00aeef;--color-info-foreground:#fff;--color-highlight:#009ec3;--color-highlight-foreground:#fff;--color-destructive:#bd0d2a;--color-destructive-foreground:#fff;--color-background:#fff;--color-background-light:#eef6fc;--color-foreground:#1a1a1a;--color-surface:#f9fbfd;--color-border:#d0d8e0;--color-ring:#00529b;--color-text-primary:#1a1a1a;--color-text-muted:#4a5568;--color-muted:#f9fbfd;--color-muted-foreground:#4a5568;--color-card:#fff}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}.dark{--color-primary:#00427a;--color-primary-foreground:#fff;--color-secondary:#a54e62;--color-secondary-foreground:#fff;--color-accent:#ffc352;--color-accent-foreground:#1a1a1a;--color-success:#4aa63c;--color-success-foreground:#fff;--color-info:#0075a1;--color-info-foreground:#fff;--color-highlight:#006f82;--color-highlight-foreground:#fff;--color-destructive:#a54e62;--color-destructive-foreground:#fff;--color-background:#0f1214;--color-background-light:#1a1d21;--color-foreground:#fff;--color-surface:#1a1d21;--color-border:#2a2f33;--color-input:#2a2f33;--color-ring:#0062a3;--color-text-primary:#fff;--color-text-muted:#a0a0a0;--color-muted:#1a1d21;--color-muted-foreground:#a0a0a0;--color-card:#1a1d21;--color-card-foreground:#fff;--color-modal:#1a1d21;--color-navbar:#0f1214;--color-button-primary:#0062a3;--color-button-secondary:#ffc352;--color-button-danger:#a54e62}*{border-color:var(--color-border)}body{background-color:var(--color-background);color:var(--color-foreground);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}}@layer components;@layer utilities{.invisible{visibility:hidden}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-1\/2{top:50%}.left-1\/2{left:50%}.z-40{z-index:40}.z-50{z-index:50}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-8{margin-top:calc(var(--spacing)*8)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-24{height:calc(var(--spacing)*24)}.max-h-64{max-height:calc(var(--spacing)*64)}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-\[90vw\]{width:90vw}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-sm{max-width:var(--container-sm)}.flex-1{flex:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-180{rotate:180deg}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-8{gap:calc(var(--spacing)*8)}.gap-12{gap:calc(var(--spacing)*12)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*12)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-16>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*16)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*16)*calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:var(--radius)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-blue-100{border-color:var(--color-blue-100)}.border-border{border-color:var(--color-border)}.border-destructive{border-color:var(--color-destructive)}.border-gray-300{border-color:var(--color-gray-300)}.border-primary{border-color:var(--color-primary)}.border-red-500{border-color:var(--color-red-500)}.bg-accent{background-color:var(--color-accent)}.bg-accent\/20{background-color:#ffa30033}@supports (color:color-mix(in lab,red,red)){.bg-accent\/20{background-color:color-mix(in oklab,var(--color-accent)20%,transparent)}}.bg-background{background-color:var(--color-background)}.bg-background-light{background-color:var(--color-background-light)}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-card{background-color:var(--color-card)}.bg-destructive{background-color:var(--color-destructive)}.bg-highlight{background-color:var(--color-highlight)}.bg-info{background-color:var(--color-info)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-success{background-color:var(--color-success)}.bg-surface{background-color:var(--color-surface)}.bg-transparent{background-color:#0000}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-7{padding-inline:calc(var(--spacing)*7)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.pt-2{padding-top:calc(var(--spacing)*2)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-accent-foreground{color:var(--color-accent-foreground)}.text-destructive{color:var(--color-destructive)}.text-destructive-foreground{color:var(--color-destructive-foreground)}.text-foreground{color:var(--color-foreground)}.text-gray-700{color:var(--color-gray-700)}.text-highlight-foreground{color:var(--color-highlight-foreground)}.text-info-foreground{color:var(--color-info-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-red-500{color:var(--color-red-500)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-success-foreground{color:var(--color-success-foreground)}.text-text-muted{color:var(--color-text-muted)}.text-text-primary{color:var(--color-text-primary)}.uppercase{text-transform:uppercase}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:bg-accent\/30:hover{background-color:#ffa3004d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/30:hover{background-color:color-mix(in oklab,var(--color-accent)30%,transparent)}}.hover\:bg-accent\/90:hover{background-color:#ffa300e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/90:hover{background-color:color-mix(in oklab,var(--color-accent)90%,transparent)}}.hover\:bg-background-light:hover{background-color:var(--color-background-light)}.hover\:bg-destructive\/90:hover{background-color:#bd0d2ae6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--color-destructive)90%,transparent)}}.hover\:bg-highlight\/90:hover{background-color:#009ec3e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-highlight\/90:hover{background-color:color-mix(in oklab,var(--color-highlight)90%,transparent)}}.hover\:bg-info\/90:hover{background-color:#00aeefe6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-info\/90:hover{background-color:color-mix(in oklab,var(--color-info)90%,transparent)}}.hover\:bg-muted:hover{background-color:var(--color-muted)}.hover\:bg-primary\/5:hover{background-color:#00529b0d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab,var(--color-primary)5%,transparent)}}.hover\:bg-primary\/90:hover{background-color:#00529be6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary)90%,transparent)}}.hover\:bg-secondary\/90:hover{background-color:#bd0d2ae6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--color-secondary)90%,transparent)}}.hover\:bg-success\/90:hover{background-color:#78be20e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-success\/90:hover{background-color:color-mix(in oklab,var(--color-success)90%,transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\:shadow:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\:ring-white\/30:focus{--tw-ring-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.focus\:ring-white\/30:focus{--tw-ring-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-accent\/80:active{background-color:#ffa300cc}@supports (color:color-mix(in lab,red,red)){.active\:bg-accent\/80:active{background-color:color-mix(in oklab,var(--color-accent)80%,transparent)}}.active\:bg-destructive\/80:active{background-color:#bd0d2acc}@supports (color:color-mix(in lab,red,red)){.active\:bg-destructive\/80:active{background-color:color-mix(in oklab,var(--color-destructive)80%,transparent)}}.active\:bg-highlight\/80:active{background-color:#009ec3cc}@supports (color:color-mix(in lab,red,red)){.active\:bg-highlight\/80:active{background-color:color-mix(in oklab,var(--color-highlight)80%,transparent)}}.active\:bg-info\/80:active{background-color:#00aeefcc}@supports (color:color-mix(in lab,red,red)){.active\:bg-info\/80:active{background-color:color-mix(in oklab,var(--color-info)80%,transparent)}}.active\:bg-muted\/80:active{background-color:#f9fbfdcc}@supports (color:color-mix(in lab,red,red)){.active\:bg-muted\/80:active{background-color:color-mix(in oklab,var(--color-muted)80%,transparent)}}.active\:bg-primary\/10:active{background-color:#00529b1a}@supports (color:color-mix(in lab,red,red)){.active\:bg-primary\/10:active{background-color:color-mix(in oklab,var(--color-primary)10%,transparent)}}.active\:bg-primary\/80:active{background-color:#00529bcc}@supports (color:color-mix(in lab,red,red)){.active\:bg-primary\/80:active{background-color:color-mix(in oklab,var(--color-primary)80%,transparent)}}.active\:bg-secondary\/80:active{background-color:#bd0d2acc}@supports (color:color-mix(in lab,red,red)){.active\:bg-secondary\/80:active{background-color:color-mix(in oklab,var(--color-secondary)80%,transparent)}}.active\:bg-success\/80:active{background-color:#78be20cc}@supports (color:color-mix(in lab,red,red)){.active\:bg-success\/80:active{background-color:color-mix(in oklab,var(--color-success)80%,transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:48rem){.md\:absolute{position:absolute}.md\:top-full{top:100%}.md\:left-0{left:calc(var(--spacing)*0)}.md\:z-10{z-index:10}.md\:mt-0{margin-top:calc(var(--spacing)*0)}.md\:mt-1{margin-top:calc(var(--spacing)*1)}.md\:mb-2{margin-bottom:calc(var(--spacing)*2)}.md\:ml-1{margin-left:calc(var(--spacing)*1)}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-5{height:calc(var(--spacing)*5)}.md\:w-5{width:calc(var(--spacing)*5)}.md\:w-80{width:calc(var(--spacing)*80)}.md\:translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.md\:translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:gap-1{gap:calc(var(--spacing)*1)}.md\:gap-2{gap:calc(var(--spacing)*2)}.md\:p-2{padding:calc(var(--spacing)*2)}.md\:p-4{padding:calc(var(--spacing)*4)}.md\:px-2{padding-inline:calc(var(--spacing)*2)}.md\:px-3{padding-inline:calc(var(--spacing)*3)}.md\:px-4{padding-inline:calc(var(--spacing)*4)}.md\:py-1{padding-block:calc(var(--spacing)*1)}.md\:py-2{padding-block:calc(var(--spacing)*2)}.md\:py-3{padding-block:calc(var(--spacing)*3)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}}@media(min-width:64rem){.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
|
|
@@ -0,0 +1,765 @@
|
|
|
1
|
+
import re, { useState as $, useRef as ne, useEffect as oe } from "react";
|
|
2
|
+
var L = { exports: {} }, M = {};
|
|
3
|
+
/**
|
|
4
|
+
* @license React
|
|
5
|
+
* react-jsx-runtime.production.js
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
8
|
+
*
|
|
9
|
+
* This source code is licensed under the MIT license found in the
|
|
10
|
+
* LICENSE file in the root directory of this source tree.
|
|
11
|
+
*/
|
|
12
|
+
var Z;
|
|
13
|
+
function se() {
|
|
14
|
+
if (Z) return M;
|
|
15
|
+
Z = 1;
|
|
16
|
+
var m = Symbol.for("react.transitional.element"), f = Symbol.for("react.fragment");
|
|
17
|
+
function c(p, d, i) {
|
|
18
|
+
var g = null;
|
|
19
|
+
if (i !== void 0 && (g = "" + i), d.key !== void 0 && (g = "" + d.key), "key" in d) {
|
|
20
|
+
i = {};
|
|
21
|
+
for (var h in d)
|
|
22
|
+
h !== "key" && (i[h] = d[h]);
|
|
23
|
+
} else i = d;
|
|
24
|
+
return d = i.ref, {
|
|
25
|
+
$$typeof: m,
|
|
26
|
+
type: p,
|
|
27
|
+
key: g,
|
|
28
|
+
ref: d !== void 0 ? d : null,
|
|
29
|
+
props: i
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return M.Fragment = f, M.jsx = c, M.jsxs = c, M;
|
|
33
|
+
}
|
|
34
|
+
var D = {};
|
|
35
|
+
/**
|
|
36
|
+
* @license React
|
|
37
|
+
* react-jsx-runtime.development.js
|
|
38
|
+
*
|
|
39
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
40
|
+
*
|
|
41
|
+
* This source code is licensed under the MIT license found in the
|
|
42
|
+
* LICENSE file in the root directory of this source tree.
|
|
43
|
+
*/
|
|
44
|
+
var Q;
|
|
45
|
+
function ae() {
|
|
46
|
+
return Q || (Q = 1, process.env.NODE_ENV !== "production" && (function() {
|
|
47
|
+
function m(e) {
|
|
48
|
+
if (e == null) return null;
|
|
49
|
+
if (typeof e == "function")
|
|
50
|
+
return e.$$typeof === G ? null : e.displayName || e.name || null;
|
|
51
|
+
if (typeof e == "string") return e;
|
|
52
|
+
switch (e) {
|
|
53
|
+
case _:
|
|
54
|
+
return "Fragment";
|
|
55
|
+
case W:
|
|
56
|
+
return "Profiler";
|
|
57
|
+
case S:
|
|
58
|
+
return "StrictMode";
|
|
59
|
+
case J:
|
|
60
|
+
return "Suspense";
|
|
61
|
+
case U:
|
|
62
|
+
return "SuspenseList";
|
|
63
|
+
case B:
|
|
64
|
+
return "Activity";
|
|
65
|
+
}
|
|
66
|
+
if (typeof e == "object")
|
|
67
|
+
switch (typeof e.tag == "number" && console.error(
|
|
68
|
+
"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
|
|
69
|
+
), e.$$typeof) {
|
|
70
|
+
case T:
|
|
71
|
+
return "Portal";
|
|
72
|
+
case z:
|
|
73
|
+
return e.displayName || "Context";
|
|
74
|
+
case I:
|
|
75
|
+
return (e._context.displayName || "Context") + ".Consumer";
|
|
76
|
+
case V:
|
|
77
|
+
var n = e.render;
|
|
78
|
+
return e = e.displayName, e || (e = n.displayName || n.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
|
|
79
|
+
case q:
|
|
80
|
+
return n = e.displayName || null, n !== null ? n : m(e.type) || "Memo";
|
|
81
|
+
case O:
|
|
82
|
+
n = e._payload, e = e._init;
|
|
83
|
+
try {
|
|
84
|
+
return m(e(n));
|
|
85
|
+
} catch {
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
function f(e) {
|
|
91
|
+
return "" + e;
|
|
92
|
+
}
|
|
93
|
+
function c(e) {
|
|
94
|
+
try {
|
|
95
|
+
f(e);
|
|
96
|
+
var n = !1;
|
|
97
|
+
} catch {
|
|
98
|
+
n = !0;
|
|
99
|
+
}
|
|
100
|
+
if (n) {
|
|
101
|
+
n = console;
|
|
102
|
+
var s = n.error, l = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
|
|
103
|
+
return s.call(
|
|
104
|
+
n,
|
|
105
|
+
"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
|
|
106
|
+
l
|
|
107
|
+
), f(e);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
function p(e) {
|
|
111
|
+
if (e === _) return "<>";
|
|
112
|
+
if (typeof e == "object" && e !== null && e.$$typeof === O)
|
|
113
|
+
return "<...>";
|
|
114
|
+
try {
|
|
115
|
+
var n = m(e);
|
|
116
|
+
return n ? "<" + n + ">" : "<...>";
|
|
117
|
+
} catch {
|
|
118
|
+
return "<...>";
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
function d() {
|
|
122
|
+
var e = Y.A;
|
|
123
|
+
return e === null ? null : e.getOwner();
|
|
124
|
+
}
|
|
125
|
+
function i() {
|
|
126
|
+
return Error("react-stack-top-frame");
|
|
127
|
+
}
|
|
128
|
+
function g(e) {
|
|
129
|
+
if (P.call(e, "key")) {
|
|
130
|
+
var n = Object.getOwnPropertyDescriptor(e, "key").get;
|
|
131
|
+
if (n && n.isReactWarning) return !1;
|
|
132
|
+
}
|
|
133
|
+
return e.key !== void 0;
|
|
134
|
+
}
|
|
135
|
+
function h(e, n) {
|
|
136
|
+
function s() {
|
|
137
|
+
F || (F = !0, console.error(
|
|
138
|
+
"%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)",
|
|
139
|
+
n
|
|
140
|
+
));
|
|
141
|
+
}
|
|
142
|
+
s.isReactWarning = !0, Object.defineProperty(e, "key", {
|
|
143
|
+
get: s,
|
|
144
|
+
configurable: !0
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
function R() {
|
|
148
|
+
var e = m(this.type);
|
|
149
|
+
return C[e] || (C[e] = !0, console.error(
|
|
150
|
+
"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."
|
|
151
|
+
)), e = this.props.ref, e !== void 0 ? e : null;
|
|
152
|
+
}
|
|
153
|
+
function y(e, n, s, l, j, v) {
|
|
154
|
+
var u = s.ref;
|
|
155
|
+
return e = {
|
|
156
|
+
$$typeof: w,
|
|
157
|
+
type: e,
|
|
158
|
+
key: n,
|
|
159
|
+
props: s,
|
|
160
|
+
_owner: l
|
|
161
|
+
}, (u !== void 0 ? u : null) !== null ? Object.defineProperty(e, "ref", {
|
|
162
|
+
enumerable: !1,
|
|
163
|
+
get: R
|
|
164
|
+
}) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
|
|
165
|
+
configurable: !1,
|
|
166
|
+
enumerable: !1,
|
|
167
|
+
writable: !0,
|
|
168
|
+
value: 0
|
|
169
|
+
}), Object.defineProperty(e, "_debugInfo", {
|
|
170
|
+
configurable: !1,
|
|
171
|
+
enumerable: !1,
|
|
172
|
+
writable: !0,
|
|
173
|
+
value: null
|
|
174
|
+
}), Object.defineProperty(e, "_debugStack", {
|
|
175
|
+
configurable: !1,
|
|
176
|
+
enumerable: !1,
|
|
177
|
+
writable: !0,
|
|
178
|
+
value: j
|
|
179
|
+
}), Object.defineProperty(e, "_debugTask", {
|
|
180
|
+
configurable: !1,
|
|
181
|
+
enumerable: !1,
|
|
182
|
+
writable: !0,
|
|
183
|
+
value: v
|
|
184
|
+
}), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
|
|
185
|
+
}
|
|
186
|
+
function b(e, n, s, l, j, v) {
|
|
187
|
+
var u = n.children;
|
|
188
|
+
if (u !== void 0)
|
|
189
|
+
if (l)
|
|
190
|
+
if (X(u)) {
|
|
191
|
+
for (l = 0; l < u.length; l++)
|
|
192
|
+
x(u[l]);
|
|
193
|
+
Object.freeze && Object.freeze(u);
|
|
194
|
+
} else
|
|
195
|
+
console.error(
|
|
196
|
+
"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
|
|
197
|
+
);
|
|
198
|
+
else x(u);
|
|
199
|
+
if (P.call(n, "key")) {
|
|
200
|
+
u = m(e);
|
|
201
|
+
var N = Object.keys(n).filter(function(te) {
|
|
202
|
+
return te !== "key";
|
|
203
|
+
});
|
|
204
|
+
l = 0 < N.length ? "{key: someKey, " + N.join(": ..., ") + ": ...}" : "{key: someKey}", k[u + l] || (N = 0 < N.length ? "{" + N.join(": ..., ") + ": ...}" : "{}", console.error(
|
|
205
|
+
`A props object containing a "key" prop is being spread into JSX:
|
|
206
|
+
let props = %s;
|
|
207
|
+
<%s {...props} />
|
|
208
|
+
React keys must be passed directly to JSX without using spread:
|
|
209
|
+
let props = %s;
|
|
210
|
+
<%s key={someKey} {...props} />`,
|
|
211
|
+
l,
|
|
212
|
+
u,
|
|
213
|
+
N,
|
|
214
|
+
u
|
|
215
|
+
), k[u + l] = !0);
|
|
216
|
+
}
|
|
217
|
+
if (u = null, s !== void 0 && (c(s), u = "" + s), g(n) && (c(n.key), u = "" + n.key), "key" in n) {
|
|
218
|
+
s = {};
|
|
219
|
+
for (var H in n)
|
|
220
|
+
H !== "key" && (s[H] = n[H]);
|
|
221
|
+
} else s = n;
|
|
222
|
+
return u && h(
|
|
223
|
+
s,
|
|
224
|
+
typeof e == "function" ? e.displayName || e.name || "Unknown" : e
|
|
225
|
+
), y(
|
|
226
|
+
e,
|
|
227
|
+
u,
|
|
228
|
+
s,
|
|
229
|
+
d(),
|
|
230
|
+
j,
|
|
231
|
+
v
|
|
232
|
+
);
|
|
233
|
+
}
|
|
234
|
+
function x(e) {
|
|
235
|
+
E(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === O && (e._payload.status === "fulfilled" ? E(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
|
|
236
|
+
}
|
|
237
|
+
function E(e) {
|
|
238
|
+
return typeof e == "object" && e !== null && e.$$typeof === w;
|
|
239
|
+
}
|
|
240
|
+
var a = re, w = Symbol.for("react.transitional.element"), T = Symbol.for("react.portal"), _ = Symbol.for("react.fragment"), S = Symbol.for("react.strict_mode"), W = Symbol.for("react.profiler"), I = Symbol.for("react.consumer"), z = Symbol.for("react.context"), V = Symbol.for("react.forward_ref"), J = Symbol.for("react.suspense"), U = Symbol.for("react.suspense_list"), q = Symbol.for("react.memo"), O = Symbol.for("react.lazy"), B = Symbol.for("react.activity"), G = Symbol.for("react.client.reference"), Y = a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, P = Object.prototype.hasOwnProperty, X = Array.isArray, A = console.createTask ? console.createTask : function() {
|
|
241
|
+
return null;
|
|
242
|
+
};
|
|
243
|
+
a = {
|
|
244
|
+
react_stack_bottom_frame: function(e) {
|
|
245
|
+
return e();
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
var F, C = {}, t = a.react_stack_bottom_frame.bind(
|
|
249
|
+
a,
|
|
250
|
+
i
|
|
251
|
+
)(), o = A(p(i)), k = {};
|
|
252
|
+
D.Fragment = _, D.jsx = function(e, n, s) {
|
|
253
|
+
var l = 1e4 > Y.recentlyCreatedOwnerStacks++;
|
|
254
|
+
return b(
|
|
255
|
+
e,
|
|
256
|
+
n,
|
|
257
|
+
s,
|
|
258
|
+
!1,
|
|
259
|
+
l ? Error("react-stack-top-frame") : t,
|
|
260
|
+
l ? A(p(e)) : o
|
|
261
|
+
);
|
|
262
|
+
}, D.jsxs = function(e, n, s) {
|
|
263
|
+
var l = 1e4 > Y.recentlyCreatedOwnerStacks++;
|
|
264
|
+
return b(
|
|
265
|
+
e,
|
|
266
|
+
n,
|
|
267
|
+
s,
|
|
268
|
+
!0,
|
|
269
|
+
l ? Error("react-stack-top-frame") : t,
|
|
270
|
+
l ? A(p(e)) : o
|
|
271
|
+
);
|
|
272
|
+
};
|
|
273
|
+
})()), D;
|
|
274
|
+
}
|
|
275
|
+
var K;
|
|
276
|
+
function le() {
|
|
277
|
+
return K || (K = 1, process.env.NODE_ENV === "production" ? L.exports = se() : L.exports = ae()), L.exports;
|
|
278
|
+
}
|
|
279
|
+
var r = le();
|
|
280
|
+
const ee = ({
|
|
281
|
+
children: m,
|
|
282
|
+
variant: f = "primary",
|
|
283
|
+
size: c = "medium",
|
|
284
|
+
isLoading: p = !1,
|
|
285
|
+
leftIcon: d,
|
|
286
|
+
rightIcon: i,
|
|
287
|
+
disabled: g,
|
|
288
|
+
className: h = "",
|
|
289
|
+
...R
|
|
290
|
+
}) => {
|
|
291
|
+
const y = `
|
|
292
|
+
inline-flex items-center justify-center gap-2
|
|
293
|
+
font-semibold rounded-lg
|
|
294
|
+
transition-all duration-200
|
|
295
|
+
focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2
|
|
296
|
+
disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none
|
|
297
|
+
`, b = {
|
|
298
|
+
primary: `
|
|
299
|
+
bg-primary text-primary-foreground
|
|
300
|
+
hover:bg-primary/90 active:bg-primary/80
|
|
301
|
+
shadow-sm hover:shadow
|
|
302
|
+
`,
|
|
303
|
+
secondary: `
|
|
304
|
+
bg-secondary text-secondary-foreground
|
|
305
|
+
hover:bg-secondary/90 active:bg-secondary/80
|
|
306
|
+
shadow-sm hover:shadow
|
|
307
|
+
`,
|
|
308
|
+
accent: `
|
|
309
|
+
bg-accent text-accent-foreground
|
|
310
|
+
hover:bg-accent/90 active:bg-accent/80
|
|
311
|
+
shadow-sm hover:shadow
|
|
312
|
+
`,
|
|
313
|
+
danger: `
|
|
314
|
+
bg-destructive text-destructive-foreground
|
|
315
|
+
hover:bg-destructive/90 active:bg-destructive/80
|
|
316
|
+
shadow-sm hover:shadow
|
|
317
|
+
`,
|
|
318
|
+
success: `
|
|
319
|
+
bg-success text-success-foreground
|
|
320
|
+
hover:bg-success/90 active:bg-success/80
|
|
321
|
+
shadow-sm hover:shadow
|
|
322
|
+
`,
|
|
323
|
+
info: `
|
|
324
|
+
bg-info text-info-foreground
|
|
325
|
+
hover:bg-info/90 active:bg-info/80
|
|
326
|
+
shadow-sm hover:shadow
|
|
327
|
+
`,
|
|
328
|
+
highlight: `
|
|
329
|
+
bg-highlight text-highlight-foreground
|
|
330
|
+
hover:bg-highlight/90 active:bg-highlight/80
|
|
331
|
+
shadow-sm hover:shadow
|
|
332
|
+
`,
|
|
333
|
+
outline: `
|
|
334
|
+
bg-transparent border-2 border-primary text-primary
|
|
335
|
+
hover:bg-primary/5 active:bg-primary/10
|
|
336
|
+
`,
|
|
337
|
+
ghost: `
|
|
338
|
+
bg-transparent text-primary
|
|
339
|
+
hover:bg-muted active:bg-muted/80
|
|
340
|
+
`
|
|
341
|
+
}, x = {
|
|
342
|
+
small: "px-3 py-1.5 text-sm",
|
|
343
|
+
medium: "px-5 py-2.5 text-base",
|
|
344
|
+
large: "px-7 py-3.5 text-lg"
|
|
345
|
+
};
|
|
346
|
+
return /* @__PURE__ */ r.jsxs(
|
|
347
|
+
"button",
|
|
348
|
+
{
|
|
349
|
+
className: `
|
|
350
|
+
${y}
|
|
351
|
+
${b[f]}
|
|
352
|
+
${x[c]}
|
|
353
|
+
${h}
|
|
354
|
+
`,
|
|
355
|
+
disabled: g || p,
|
|
356
|
+
...R,
|
|
357
|
+
children: [
|
|
358
|
+
p && /* @__PURE__ */ r.jsxs(
|
|
359
|
+
"svg",
|
|
360
|
+
{
|
|
361
|
+
className: "animate-spin h-4 w-4",
|
|
362
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
363
|
+
fill: "none",
|
|
364
|
+
viewBox: "0 0 24 24",
|
|
365
|
+
children: [
|
|
366
|
+
/* @__PURE__ */ r.jsx(
|
|
367
|
+
"circle",
|
|
368
|
+
{
|
|
369
|
+
className: "opacity-25",
|
|
370
|
+
cx: "12",
|
|
371
|
+
cy: "12",
|
|
372
|
+
r: "10",
|
|
373
|
+
stroke: "currentColor",
|
|
374
|
+
strokeWidth: "4"
|
|
375
|
+
}
|
|
376
|
+
),
|
|
377
|
+
/* @__PURE__ */ r.jsx(
|
|
378
|
+
"path",
|
|
379
|
+
{
|
|
380
|
+
className: "opacity-75",
|
|
381
|
+
fill: "currentColor",
|
|
382
|
+
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
383
|
+
}
|
|
384
|
+
)
|
|
385
|
+
]
|
|
386
|
+
}
|
|
387
|
+
),
|
|
388
|
+
!p && d && /* @__PURE__ */ r.jsx("span", { children: d }),
|
|
389
|
+
m,
|
|
390
|
+
!p && i && /* @__PURE__ */ r.jsx("span", { children: i })
|
|
391
|
+
]
|
|
392
|
+
}
|
|
393
|
+
);
|
|
394
|
+
}, ie = ({
|
|
395
|
+
label: m,
|
|
396
|
+
error: f,
|
|
397
|
+
className: c = "",
|
|
398
|
+
...p
|
|
399
|
+
}) => /* @__PURE__ */ r.jsxs("div", { className: "flex flex-col gap-1", children: [
|
|
400
|
+
m && /* @__PURE__ */ r.jsx("label", { className: "text-sm font-medium text-gray-700", children: m }),
|
|
401
|
+
/* @__PURE__ */ r.jsx(
|
|
402
|
+
"input",
|
|
403
|
+
{
|
|
404
|
+
className: `px-3 py-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 ${f ? "border-red-500" : "border-gray-300"} ${c}`,
|
|
405
|
+
...p
|
|
406
|
+
}
|
|
407
|
+
),
|
|
408
|
+
f && /* @__PURE__ */ r.jsx("span", { className: "text-xs text-red-500", children: f })
|
|
409
|
+
] }), ue = ({
|
|
410
|
+
label: m,
|
|
411
|
+
value: f,
|
|
412
|
+
onChange: c,
|
|
413
|
+
placeholder: p = "Select date",
|
|
414
|
+
error: d,
|
|
415
|
+
disabled: i = !1,
|
|
416
|
+
minDate: g,
|
|
417
|
+
maxDate: h,
|
|
418
|
+
className: R = ""
|
|
419
|
+
}) => {
|
|
420
|
+
const [y, b] = $(!1), [x, E] = $(f), [a, w] = $(
|
|
421
|
+
f ? new Date(f.getFullYear(), f.getMonth(), 1) : new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), 1)
|
|
422
|
+
), [T, _] = $(!1), S = ne(null);
|
|
423
|
+
oe(() => {
|
|
424
|
+
const t = (o) => {
|
|
425
|
+
S.current && !S.current.contains(o.target) && b(!1);
|
|
426
|
+
};
|
|
427
|
+
return y && document.addEventListener("mousedown", t), () => document.removeEventListener("mousedown", t);
|
|
428
|
+
}, [y]);
|
|
429
|
+
const W = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], I = [
|
|
430
|
+
"January",
|
|
431
|
+
"February",
|
|
432
|
+
"March",
|
|
433
|
+
"April",
|
|
434
|
+
"May",
|
|
435
|
+
"June",
|
|
436
|
+
"July",
|
|
437
|
+
"August",
|
|
438
|
+
"September",
|
|
439
|
+
"October",
|
|
440
|
+
"November",
|
|
441
|
+
"December"
|
|
442
|
+
], z = (t) => {
|
|
443
|
+
const o = t.getFullYear(), k = t.getMonth(), e = new Date(o, k, 1), s = new Date(o, k + 1, 0).getDate(), l = e.getDay(), j = [];
|
|
444
|
+
for (let v = 0; v < l; v++)
|
|
445
|
+
j.push(null);
|
|
446
|
+
for (let v = 1; v <= s; v++)
|
|
447
|
+
j.push(v);
|
|
448
|
+
return j;
|
|
449
|
+
}, V = () => {
|
|
450
|
+
w(
|
|
451
|
+
new Date(a.getFullYear(), a.getMonth() - 1, 1)
|
|
452
|
+
);
|
|
453
|
+
}, J = () => {
|
|
454
|
+
w(
|
|
455
|
+
new Date(a.getFullYear(), a.getMonth() + 1, 1)
|
|
456
|
+
);
|
|
457
|
+
}, U = (t) => {
|
|
458
|
+
w(new Date(a.getFullYear(), t, 1));
|
|
459
|
+
}, q = (t) => {
|
|
460
|
+
w(new Date(t, a.getMonth(), 1)), _(!1);
|
|
461
|
+
}, O = () => {
|
|
462
|
+
const t = (/* @__PURE__ */ new Date()).getFullYear(), o = g ? g.getFullYear() : t - 100, k = h ? h.getFullYear() : t + 100, e = [];
|
|
463
|
+
for (let n = o; n <= k; n++)
|
|
464
|
+
e.push(n);
|
|
465
|
+
return e;
|
|
466
|
+
}, B = (t) => {
|
|
467
|
+
const o = new Date(
|
|
468
|
+
a.getFullYear(),
|
|
469
|
+
a.getMonth(),
|
|
470
|
+
t
|
|
471
|
+
);
|
|
472
|
+
g && o < g || h && o > h || (E(o), c == null || c(o), b(!1));
|
|
473
|
+
}, G = () => {
|
|
474
|
+
const t = /* @__PURE__ */ new Date();
|
|
475
|
+
w(new Date(t.getFullYear(), t.getMonth(), 1)), E(t), c == null || c(t), b(!1);
|
|
476
|
+
}, Y = () => {
|
|
477
|
+
E(void 0), c == null || c(void 0);
|
|
478
|
+
}, P = (t) => {
|
|
479
|
+
const o = new Date(
|
|
480
|
+
a.getFullYear(),
|
|
481
|
+
a.getMonth(),
|
|
482
|
+
t
|
|
483
|
+
);
|
|
484
|
+
return !!(g && o < g || h && o > h);
|
|
485
|
+
}, X = (t) => {
|
|
486
|
+
const o = /* @__PURE__ */ new Date();
|
|
487
|
+
return t === o.getDate() && a.getMonth() === o.getMonth() && a.getFullYear() === o.getFullYear();
|
|
488
|
+
}, A = (t) => x ? t === x.getDate() && a.getMonth() === x.getMonth() && a.getFullYear() === x.getFullYear() : !1, F = (t) => t ? t.toLocaleDateString("en-US", {
|
|
489
|
+
month: "2-digit",
|
|
490
|
+
day: "2-digit",
|
|
491
|
+
year: "numeric"
|
|
492
|
+
}) : "", C = z(a);
|
|
493
|
+
return /* @__PURE__ */ r.jsxs("div", { className: `relative ${R}`, ref: S, children: [
|
|
494
|
+
/* @__PURE__ */ r.jsxs("div", { className: "flex flex-col gap-1", children: [
|
|
495
|
+
m && /* @__PURE__ */ r.jsx("label", { className: "text-xs font-medium text-text-muted tracking-wide uppercase", children: m }),
|
|
496
|
+
/* @__PURE__ */ r.jsxs(
|
|
497
|
+
"div",
|
|
498
|
+
{
|
|
499
|
+
className: `
|
|
500
|
+
relative flex items-center gap-2 px-4 py-3
|
|
501
|
+
bg-surface border-b-2 transition-all cursor-pointer
|
|
502
|
+
rounded-t-lg
|
|
503
|
+
${y ? "border-primary bg-background-light" : "border-border"}
|
|
504
|
+
${d ? "border-destructive" : ""}
|
|
505
|
+
${i ? "opacity-50 cursor-not-allowed" : "hover:bg-background-light"}
|
|
506
|
+
`,
|
|
507
|
+
onClick: () => !i && b(!y),
|
|
508
|
+
children: [
|
|
509
|
+
/* @__PURE__ */ r.jsx(
|
|
510
|
+
"input",
|
|
511
|
+
{
|
|
512
|
+
type: "text",
|
|
513
|
+
value: F(x),
|
|
514
|
+
placeholder: p,
|
|
515
|
+
readOnly: !0,
|
|
516
|
+
disabled: i,
|
|
517
|
+
className: `
|
|
518
|
+
flex-1 bg-transparent outline-none cursor-pointer
|
|
519
|
+
text-text-primary placeholder:text-muted-foreground
|
|
520
|
+
${i ? "cursor-not-allowed" : ""}
|
|
521
|
+
`
|
|
522
|
+
}
|
|
523
|
+
),
|
|
524
|
+
/* @__PURE__ */ r.jsx(
|
|
525
|
+
"svg",
|
|
526
|
+
{
|
|
527
|
+
className: "w-5 h-5 text-muted-foreground",
|
|
528
|
+
fill: "none",
|
|
529
|
+
stroke: "currentColor",
|
|
530
|
+
viewBox: "0 0 24 24",
|
|
531
|
+
children: /* @__PURE__ */ r.jsx(
|
|
532
|
+
"path",
|
|
533
|
+
{
|
|
534
|
+
strokeLinecap: "round",
|
|
535
|
+
strokeLinejoin: "round",
|
|
536
|
+
strokeWidth: 2,
|
|
537
|
+
d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"
|
|
538
|
+
}
|
|
539
|
+
)
|
|
540
|
+
}
|
|
541
|
+
),
|
|
542
|
+
x && !i && /* @__PURE__ */ r.jsx(
|
|
543
|
+
"button",
|
|
544
|
+
{
|
|
545
|
+
onClick: (t) => {
|
|
546
|
+
t.stopPropagation(), Y();
|
|
547
|
+
},
|
|
548
|
+
className: "p-1 rounded-full hover:bg-muted transition-colors",
|
|
549
|
+
type: "button",
|
|
550
|
+
children: /* @__PURE__ */ r.jsx(
|
|
551
|
+
"svg",
|
|
552
|
+
{
|
|
553
|
+
className: "w-4 h-4 text-muted-foreground",
|
|
554
|
+
fill: "none",
|
|
555
|
+
stroke: "currentColor",
|
|
556
|
+
viewBox: "0 0 24 24",
|
|
557
|
+
children: /* @__PURE__ */ r.jsx(
|
|
558
|
+
"path",
|
|
559
|
+
{
|
|
560
|
+
strokeLinecap: "round",
|
|
561
|
+
strokeLinejoin: "round",
|
|
562
|
+
strokeWidth: 2,
|
|
563
|
+
d: "M6 18L18 6M6 6l12 12"
|
|
564
|
+
}
|
|
565
|
+
)
|
|
566
|
+
}
|
|
567
|
+
)
|
|
568
|
+
}
|
|
569
|
+
)
|
|
570
|
+
]
|
|
571
|
+
}
|
|
572
|
+
),
|
|
573
|
+
d && /* @__PURE__ */ r.jsx("span", { className: "text-xs text-destructive tracking-wide", children: d })
|
|
574
|
+
] }),
|
|
575
|
+
y && /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
|
|
576
|
+
/* @__PURE__ */ r.jsx("div", { className: "md:hidden fixed inset-0 bg-black/20 z-40" }),
|
|
577
|
+
/* @__PURE__ */ r.jsxs(
|
|
578
|
+
"div",
|
|
579
|
+
{
|
|
580
|
+
className: `
|
|
581
|
+
fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-50 w-[90vw] max-w-sm
|
|
582
|
+
md:absolute md:top-full md:left-0 md:mt-1 md:z-10 md:w-80 md:translate-x-0 md:translate-y-0
|
|
583
|
+
bg-card shadow-2xl rounded-lg overflow-hidden border border-border
|
|
584
|
+
`,
|
|
585
|
+
children: [
|
|
586
|
+
/* @__PURE__ */ r.jsxs("div", { className: "flex items-center justify-between px-3 py-2 md:px-4 md:py-3 bg-primary text-primary-foreground", children: [
|
|
587
|
+
/* @__PURE__ */ r.jsx(
|
|
588
|
+
"button",
|
|
589
|
+
{
|
|
590
|
+
onClick: V,
|
|
591
|
+
className: "p-1.5 md:p-2 rounded-full hover:bg-white/10 transition-colors",
|
|
592
|
+
type: "button",
|
|
593
|
+
"aria-label": "Previous month",
|
|
594
|
+
children: /* @__PURE__ */ r.jsx(
|
|
595
|
+
"svg",
|
|
596
|
+
{
|
|
597
|
+
className: "w-4 h-4 md:w-5 md:h-5",
|
|
598
|
+
fill: "none",
|
|
599
|
+
stroke: "currentColor",
|
|
600
|
+
viewBox: "0 0 24 24",
|
|
601
|
+
children: /* @__PURE__ */ r.jsx(
|
|
602
|
+
"path",
|
|
603
|
+
{
|
|
604
|
+
strokeLinecap: "round",
|
|
605
|
+
strokeLinejoin: "round",
|
|
606
|
+
strokeWidth: 2,
|
|
607
|
+
d: "M15 19l-7-7 7-7"
|
|
608
|
+
}
|
|
609
|
+
)
|
|
610
|
+
}
|
|
611
|
+
)
|
|
612
|
+
}
|
|
613
|
+
),
|
|
614
|
+
/* @__PURE__ */ r.jsxs("div", { className: "flex items-center gap-1.5 md:gap-2", children: [
|
|
615
|
+
/* @__PURE__ */ r.jsx(
|
|
616
|
+
"select",
|
|
617
|
+
{
|
|
618
|
+
value: a.getMonth(),
|
|
619
|
+
onChange: (t) => U(Number(t.target.value)),
|
|
620
|
+
className: "bg-white/10 hover:bg-white/20 px-1.5 py-0.5 md:px-2 md:py-1 rounded text-xs md:text-sm font-medium cursor-pointer outline-none focus:ring-2 focus:ring-white/30 transition-colors",
|
|
621
|
+
onClick: (t) => t.stopPropagation(),
|
|
622
|
+
children: I.map((t, o) => /* @__PURE__ */ r.jsx(
|
|
623
|
+
"option",
|
|
624
|
+
{
|
|
625
|
+
value: o,
|
|
626
|
+
className: "bg-card text-text-primary",
|
|
627
|
+
children: t
|
|
628
|
+
},
|
|
629
|
+
t
|
|
630
|
+
))
|
|
631
|
+
}
|
|
632
|
+
),
|
|
633
|
+
/* @__PURE__ */ r.jsxs(
|
|
634
|
+
"button",
|
|
635
|
+
{
|
|
636
|
+
onClick: () => _(!T),
|
|
637
|
+
className: "bg-white/10 hover:bg-white/20 px-1.5 py-0.5 md:px-2 md:py-1 rounded text-xs md:text-sm font-medium transition-colors",
|
|
638
|
+
type: "button",
|
|
639
|
+
children: [
|
|
640
|
+
a.getFullYear(),
|
|
641
|
+
/* @__PURE__ */ r.jsx(
|
|
642
|
+
"svg",
|
|
643
|
+
{
|
|
644
|
+
className: `w-3 h-3 inline-block ml-0.5 md:ml-1 transition-transform ${T ? "rotate-180" : ""}`,
|
|
645
|
+
fill: "none",
|
|
646
|
+
stroke: "currentColor",
|
|
647
|
+
viewBox: "0 0 24 24",
|
|
648
|
+
children: /* @__PURE__ */ r.jsx(
|
|
649
|
+
"path",
|
|
650
|
+
{
|
|
651
|
+
strokeLinecap: "round",
|
|
652
|
+
strokeLinejoin: "round",
|
|
653
|
+
strokeWidth: 2,
|
|
654
|
+
d: "M19 9l-7 7-7-7"
|
|
655
|
+
}
|
|
656
|
+
)
|
|
657
|
+
}
|
|
658
|
+
)
|
|
659
|
+
]
|
|
660
|
+
}
|
|
661
|
+
)
|
|
662
|
+
] }),
|
|
663
|
+
/* @__PURE__ */ r.jsx(
|
|
664
|
+
"button",
|
|
665
|
+
{
|
|
666
|
+
onClick: J,
|
|
667
|
+
className: "p-1.5 md:p-2 rounded-full hover:bg-white/10 transition-colors",
|
|
668
|
+
type: "button",
|
|
669
|
+
"aria-label": "Next month",
|
|
670
|
+
children: /* @__PURE__ */ r.jsx(
|
|
671
|
+
"svg",
|
|
672
|
+
{
|
|
673
|
+
className: "w-4 h-4 md:w-5 md:h-5",
|
|
674
|
+
fill: "none",
|
|
675
|
+
stroke: "currentColor",
|
|
676
|
+
viewBox: "0 0 24 24",
|
|
677
|
+
children: /* @__PURE__ */ r.jsx(
|
|
678
|
+
"path",
|
|
679
|
+
{
|
|
680
|
+
strokeLinecap: "round",
|
|
681
|
+
strokeLinejoin: "round",
|
|
682
|
+
strokeWidth: 2,
|
|
683
|
+
d: "M9 5l7 7-7 7"
|
|
684
|
+
}
|
|
685
|
+
)
|
|
686
|
+
}
|
|
687
|
+
)
|
|
688
|
+
}
|
|
689
|
+
)
|
|
690
|
+
] }),
|
|
691
|
+
T ? /* @__PURE__ */ r.jsx("div", { className: "p-3 md:p-4 bg-card max-h-64 overflow-y-auto", children: /* @__PURE__ */ r.jsx("div", { className: "grid grid-cols-3 md:grid-cols-4 gap-1.5 md:gap-2", children: O().map((t) => /* @__PURE__ */ r.jsx(
|
|
692
|
+
"button",
|
|
693
|
+
{
|
|
694
|
+
onClick: () => q(t),
|
|
695
|
+
type: "button",
|
|
696
|
+
className: `
|
|
697
|
+
px-2 py-1.5 md:px-3 md:py-2 rounded-lg text-xs md:text-sm font-medium transition-all
|
|
698
|
+
${t === a.getFullYear() ? "bg-primary text-primary-foreground shadow-md scale-105 hover:bg-primary/90" : t === (/* @__PURE__ */ new Date()).getFullYear() ? "bg-accent/20 text-accent-foreground font-bold hover:bg-accent/30" : "text-text-primary hover:bg-muted hover:scale-105"}
|
|
699
|
+
`,
|
|
700
|
+
children: t
|
|
701
|
+
},
|
|
702
|
+
t
|
|
703
|
+
)) }) }) : /* @__PURE__ */ r.jsxs("div", { className: "p-3 md:p-4 bg-card", children: [
|
|
704
|
+
/* @__PURE__ */ r.jsx("div", { className: "grid grid-cols-7 gap-0.5 md:gap-1 mb-1.5 md:mb-2", children: W.map((t) => /* @__PURE__ */ r.jsx(
|
|
705
|
+
"div",
|
|
706
|
+
{
|
|
707
|
+
className: "text-center text-[10px] md:text-xs font-medium text-muted-foreground py-1.5 md:py-2",
|
|
708
|
+
children: t
|
|
709
|
+
},
|
|
710
|
+
t
|
|
711
|
+
)) }),
|
|
712
|
+
/* @__PURE__ */ r.jsx("div", { className: "grid grid-cols-7 gap-0.5 md:gap-1", children: C.map((t, o) => /* @__PURE__ */ r.jsx(
|
|
713
|
+
"button",
|
|
714
|
+
{
|
|
715
|
+
onClick: () => {
|
|
716
|
+
t && !P(t) && B(t);
|
|
717
|
+
},
|
|
718
|
+
type: "button",
|
|
719
|
+
className: `
|
|
720
|
+
aspect-square flex items-center justify-center rounded-full
|
|
721
|
+
text-xs md:text-sm font-medium transition-all
|
|
722
|
+
${t ? "" : "invisible"}
|
|
723
|
+
${t && A(t) ? "bg-primary text-primary-foreground shadow-md scale-105 hover:bg-primary/90" : t && X(t) ? "bg-accent text-accent-foreground font-bold hover:bg-accent/90 hover:scale-105" : "text-text-primary hover:bg-muted hover:scale-110"}
|
|
724
|
+
${t && P(t) ? "opacity-30 cursor-not-allowed" : "cursor-pointer"}
|
|
725
|
+
`,
|
|
726
|
+
children: t
|
|
727
|
+
},
|
|
728
|
+
o
|
|
729
|
+
)) })
|
|
730
|
+
] }),
|
|
731
|
+
/* @__PURE__ */ r.jsxs("div", { className: "flex items-center justify-between px-3 py-2 md:px-4 md:py-3 bg-surface border-t border-border gap-2", children: [
|
|
732
|
+
/* @__PURE__ */ r.jsx(
|
|
733
|
+
ee,
|
|
734
|
+
{
|
|
735
|
+
variant: "outline",
|
|
736
|
+
size: "small",
|
|
737
|
+
onClick: G,
|
|
738
|
+
type: "button",
|
|
739
|
+
className: "text-xs md:text-sm px-2 md:px-3",
|
|
740
|
+
children: "Today"
|
|
741
|
+
}
|
|
742
|
+
),
|
|
743
|
+
/* @__PURE__ */ r.jsx(
|
|
744
|
+
ee,
|
|
745
|
+
{
|
|
746
|
+
variant: "primary",
|
|
747
|
+
size: "small",
|
|
748
|
+
onClick: () => b(!1),
|
|
749
|
+
type: "button",
|
|
750
|
+
className: "text-xs md:text-sm px-2 md:px-3",
|
|
751
|
+
children: "Done"
|
|
752
|
+
}
|
|
753
|
+
)
|
|
754
|
+
] })
|
|
755
|
+
]
|
|
756
|
+
}
|
|
757
|
+
)
|
|
758
|
+
] })
|
|
759
|
+
] });
|
|
760
|
+
};
|
|
761
|
+
export {
|
|
762
|
+
ee as Button,
|
|
763
|
+
ue as DatePicker,
|
|
764
|
+
ie as Input
|
|
765
|
+
};
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {}
|
package/dist/vite.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
package/package.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ieee-ui/ui",
|
|
3
|
+
"publishConfig": {
|
|
4
|
+
"access": "public"
|
|
5
|
+
},
|
|
6
|
+
"version": "0.0.1",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "./dist/ieee-ui.cjs.js",
|
|
9
|
+
"module": "./dist/ieee-ui.es.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"files": [
|
|
12
|
+
"dist"
|
|
13
|
+
],
|
|
14
|
+
"exports": {
|
|
15
|
+
".": {
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"import": "./dist/ieee-ui.es.js",
|
|
18
|
+
"require": "./dist/ieee-ui.cjs.js"
|
|
19
|
+
},
|
|
20
|
+
"./style.css": "./dist/ieee-ui.css"
|
|
21
|
+
},
|
|
22
|
+
"scripts": {
|
|
23
|
+
"dev": "vite",
|
|
24
|
+
"demo": "vite",
|
|
25
|
+
"build": "tsc -b && vite build",
|
|
26
|
+
"build:lib": "tsc -b && vite build -c vite.lib.config.ts",
|
|
27
|
+
"lint": "eslint .",
|
|
28
|
+
"preview": "vite preview"
|
|
29
|
+
},
|
|
30
|
+
"peerDependencies": {
|
|
31
|
+
"react": "^19.0.0",
|
|
32
|
+
"react-dom": "^19.0.0"
|
|
33
|
+
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"react": "^19.2.0",
|
|
36
|
+
"react-dom": "^19.2.0"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@eslint/js": "^9.39.1",
|
|
40
|
+
"@tailwindcss/vite": "^4.0.0",
|
|
41
|
+
"@types/node": "^24.10.1",
|
|
42
|
+
"@types/react": "^19.2.5",
|
|
43
|
+
"@types/react-dom": "^19.2.3",
|
|
44
|
+
"@vitejs/plugin-react": "^5.1.1",
|
|
45
|
+
"eslint": "^9.39.1",
|
|
46
|
+
"eslint-plugin-react-hooks": "^7.0.1",
|
|
47
|
+
"eslint-plugin-react-refresh": "^0.4.24",
|
|
48
|
+
"globals": "^16.5.0",
|
|
49
|
+
"tailwindcss": "^4.0.0",
|
|
50
|
+
"typescript": "~5.9.3",
|
|
51
|
+
"typescript-eslint": "^8.46.4",
|
|
52
|
+
"vite": "^6.0.0",
|
|
53
|
+
"vite-plugin-dts": "^4.5.4"
|
|
54
|
+
}
|
|
55
|
+
}
|