@solace-health/ui 0.10.668 → 0.10.671
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 +9 -2
- package/dist/chunk-2DLCWPKO.cjs +27 -0
- package/dist/chunk-2DLCWPKO.cjs.map +1 -0
- package/dist/{chunk-QOIWWR24.cjs → chunk-2E7ZG247.cjs} +2 -2
- package/dist/{chunk-QOIWWR24.cjs.map → chunk-2E7ZG247.cjs.map} +1 -1
- package/dist/{chunk-FXLG3LU3.cjs → chunk-3WAG2NWA.cjs} +2 -2
- package/dist/{chunk-FXLG3LU3.cjs.map → chunk-3WAG2NWA.cjs.map} +1 -1
- package/dist/{chunk-VO2GGQ2X.js → chunk-6T7SXJ44.js} +2 -2
- package/dist/{chunk-VO2GGQ2X.js.map → chunk-6T7SXJ44.js.map} +1 -1
- package/dist/{chunk-3N4EBY5Q.js → chunk-74AGGELC.js} +2 -2
- package/dist/{chunk-3N4EBY5Q.js.map → chunk-74AGGELC.js.map} +1 -1
- package/dist/chunk-7QWN4Z56.js +27 -0
- package/dist/chunk-7QWN4Z56.js.map +1 -0
- package/dist/{chunk-2BUA2PCN.cjs → chunk-DJ5RP6A2.cjs} +2 -2
- package/dist/{chunk-2BUA2PCN.cjs.map → chunk-DJ5RP6A2.cjs.map} +1 -1
- package/dist/{chunk-BCJNTCHK.js → chunk-EJBXIBM4.js} +2 -2
- package/dist/{chunk-BCJNTCHK.js.map → chunk-EJBXIBM4.js.map} +1 -1
- package/dist/{chunk-VTYXYLTK.cjs → chunk-EZK5NRS6.cjs} +2 -2
- package/dist/{chunk-VTYXYLTK.cjs.map → chunk-EZK5NRS6.cjs.map} +1 -1
- package/dist/chunk-FFAC2CCY.cjs +2 -0
- package/dist/chunk-FFAC2CCY.cjs.map +1 -0
- package/dist/{chunk-QUD4HTUP.cjs → chunk-FMFRB4JI.cjs} +2 -2
- package/dist/chunk-FMFRB4JI.cjs.map +1 -0
- package/dist/{chunk-FBXJ2VCI.js → chunk-FQGC44HX.js} +2 -2
- package/dist/{chunk-FBXJ2VCI.js.map → chunk-FQGC44HX.js.map} +1 -1
- package/dist/{chunk-ETZDR7A5.cjs → chunk-H37HOXIG.cjs} +2 -2
- package/dist/{chunk-ETZDR7A5.cjs.map → chunk-H37HOXIG.cjs.map} +1 -1
- package/dist/chunk-IRMVTSQ3.cjs +2 -0
- package/dist/chunk-IRMVTSQ3.cjs.map +1 -0
- package/dist/{chunk-DJD7UZPR.cjs → chunk-KXR3HDPA.cjs} +2 -2
- package/dist/{chunk-DJD7UZPR.cjs.map → chunk-KXR3HDPA.cjs.map} +1 -1
- package/dist/{chunk-ONAYZGIC.js → chunk-M2YQU26J.js} +2 -2
- package/dist/{chunk-ONAYZGIC.js.map → chunk-M2YQU26J.js.map} +1 -1
- package/dist/{chunk-JE6P5GU3.js → chunk-M7LXLMUQ.js} +2 -2
- package/dist/{chunk-JE6P5GU3.js.map → chunk-M7LXLMUQ.js.map} +1 -1
- package/dist/chunk-NVFC45IS.js +2 -0
- package/dist/chunk-NVFC45IS.js.map +1 -0
- package/dist/{chunk-WMOD232S.js → chunk-OYN4D5J3.js} +2 -2
- package/dist/{chunk-WMOD232S.js.map → chunk-OYN4D5J3.js.map} +1 -1
- package/dist/{chunk-UVZVZAGK.js → chunk-PVA67MWT.js} +2 -2
- package/dist/{chunk-UVZVZAGK.js.map → chunk-PVA67MWT.js.map} +1 -1
- package/dist/chunk-QHNRUAYJ.js +2 -0
- package/dist/chunk-QHNRUAYJ.js.map +1 -0
- package/dist/{chunk-Z6BTLUPD.js → chunk-R2R3QR2N.js} +2 -2
- package/dist/{chunk-Z6BTLUPD.js.map → chunk-R2R3QR2N.js.map} +1 -1
- package/dist/{chunk-6TGWLOLD.js → chunk-R3HGV3DR.js} +2 -2
- package/dist/{chunk-6TGWLOLD.js.map → chunk-R3HGV3DR.js.map} +1 -1
- package/dist/{chunk-3TNSGXJ6.cjs → chunk-RQTTULKO.cjs} +2 -2
- package/dist/{chunk-3TNSGXJ6.cjs.map → chunk-RQTTULKO.cjs.map} +1 -1
- package/dist/{chunk-L4FOTU2K.cjs → chunk-RXR3BZZK.cjs} +2 -2
- package/dist/{chunk-L4FOTU2K.cjs.map → chunk-RXR3BZZK.cjs.map} +1 -1
- package/dist/{chunk-VTBYJGTJ.cjs → chunk-SC4FK5N3.cjs} +2 -2
- package/dist/{chunk-VTBYJGTJ.cjs.map → chunk-SC4FK5N3.cjs.map} +1 -1
- package/dist/chunk-SP2L5FI7.js +2 -0
- package/dist/chunk-SP2L5FI7.js.map +1 -0
- package/dist/{chunk-SMTXYI6Q.js → chunk-STIYYCSL.js} +2 -2
- package/dist/{chunk-SMTXYI6Q.js.map → chunk-STIYYCSL.js.map} +1 -1
- package/dist/{chunk-C45VZ526.cjs → chunk-UIKSYA4B.cjs} +2 -2
- package/dist/{chunk-C45VZ526.cjs.map → chunk-UIKSYA4B.cjs.map} +1 -1
- package/dist/{chunk-E7W73IO3.cjs → chunk-UJH4JKQC.cjs} +2 -2
- package/dist/{chunk-E7W73IO3.cjs.map → chunk-UJH4JKQC.cjs.map} +1 -1
- package/dist/{chunk-X7HU4N6X.cjs → chunk-URUWP25E.cjs} +2 -2
- package/dist/{chunk-X7HU4N6X.cjs.map → chunk-URUWP25E.cjs.map} +1 -1
- package/dist/{chunk-FMPII2NF.js → chunk-VIPOYVA3.js} +2 -2
- package/dist/{chunk-FMPII2NF.js.map → chunk-VIPOYVA3.js.map} +1 -1
- package/dist/{chunk-KIKR45SH.js → chunk-WHAXVJN5.js} +2 -2
- package/dist/{chunk-KIKR45SH.js.map → chunk-WHAXVJN5.js.map} +1 -1
- package/dist/{chunk-MPGPI6LC.js → chunk-XOWSDMW5.js} +2 -2
- package/dist/{chunk-MPGPI6LC.js.map → chunk-XOWSDMW5.js.map} +1 -1
- package/dist/{chunk-HP66FPW5.cjs → chunk-YVXKLKHE.cjs} +2 -2
- package/dist/{chunk-HP66FPW5.cjs.map → chunk-YVXKLKHE.cjs.map} +1 -1
- package/dist/{chunk-SM7PYFD2.cjs → chunk-ZZW5IT44.cjs} +2 -2
- package/dist/{chunk-SM7PYFD2.cjs.map → chunk-ZZW5IT44.cjs.map} +1 -1
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/v2/address-input/address-input.cjs +1 -1
- package/dist/v2/address-input/address-input.js +1 -1
- package/dist/v2/button/button.cjs +1 -1
- package/dist/v2/button/button.js +1 -1
- package/dist/v2/calendar/calendar.cjs +1 -1
- package/dist/v2/calendar/calendar.js +1 -1
- package/dist/v2/card/card.cjs +1 -1
- package/dist/v2/card/card.d.ts +7 -2
- package/dist/v2/card/card.js +1 -1
- package/dist/v2/carousel/carousel.cjs +1 -1
- package/dist/v2/carousel/carousel.js +1 -1
- package/dist/v2/checkbox/button-checkbox.cjs +1 -1
- package/dist/v2/checkbox/button-checkbox.js +1 -1
- package/dist/v2/checkbox-group/checkbox-group.cjs +1 -1
- package/dist/v2/checkbox-group/checkbox-group.js +1 -1
- package/dist/v2/combobox/combobox.cjs +1 -1
- package/dist/v2/combobox/combobox.js +1 -1
- package/dist/v2/command/command.cjs +1 -1
- package/dist/v2/command/command.js +1 -1
- package/dist/v2/date-picker/date-picker-input.cjs +1 -1
- package/dist/v2/date-picker/date-picker-input.js +1 -1
- package/dist/v2/date-picker/date-picker.cjs +1 -1
- package/dist/v2/date-picker/date-picker.js +1 -1
- package/dist/v2/dialog/dialog.cjs +1 -1
- package/dist/v2/dialog/dialog.js +1 -1
- package/dist/v2/drawer/drawer.cjs +1 -1
- package/dist/v2/drawer/drawer.js +1 -1
- package/dist/v2/flex-drawer/flex-drawer.cjs +1 -1
- package/dist/v2/flex-drawer/flex-drawer.js +1 -1
- package/dist/v2/image-preview/image-preview.cjs +1 -1
- package/dist/v2/image-preview/image-preview.js +1 -1
- package/dist/v2/index.cjs +1 -1
- package/dist/v2/index.js +1 -1
- package/dist/v2/input/formatters.cjs +1 -1
- package/dist/v2/input/formatters.d.ts +1 -0
- package/dist/v2/input/formatters.js +1 -1
- package/dist/v2/input/input.cjs +1 -1
- package/dist/v2/input/input.d.ts +2 -2
- package/dist/v2/input/input.js +1 -1
- package/dist/v2/input/input.stories.d.ts +2 -0
- package/dist/v2/multiselect/components/MultiSelectCommandGroup.cjs +1 -1
- package/dist/v2/multiselect/components/MultiSelectCommandGroup.js +1 -1
- package/dist/v2/multiselect/components/MultiSelectDropdown.cjs +1 -1
- package/dist/v2/multiselect/components/MultiSelectDropdown.js +1 -1
- package/dist/v2/multiselect/multiselect.cjs +1 -1
- package/dist/v2/multiselect/multiselect.js +1 -1
- package/dist/v2/time-select/time-select.cjs +1 -1
- package/dist/v2/time-select/time-select.js +1 -1
- package/package.json +7 -6
- package/dist/chunk-3TXN7A2Z.js +0 -2
- package/dist/chunk-3TXN7A2Z.js.map +0 -1
- package/dist/chunk-6LESB5UU.js +0 -27
- package/dist/chunk-6LESB5UU.js.map +0 -1
- package/dist/chunk-7X6KFDGZ.cjs +0 -2
- package/dist/chunk-7X6KFDGZ.cjs.map +0 -1
- package/dist/chunk-JH4FQUIS.js +0 -2
- package/dist/chunk-JH4FQUIS.js.map +0 -1
- package/dist/chunk-KKTQL7QK.js +0 -2
- package/dist/chunk-KKTQL7QK.js.map +0 -1
- package/dist/chunk-OUGYUQUB.cjs +0 -27
- package/dist/chunk-OUGYUQUB.cjs.map +0 -1
- package/dist/chunk-QUD4HTUP.cjs.map +0 -1
- package/dist/chunk-Z2MOZQCG.cjs +0 -2
- package/dist/chunk-Z2MOZQCG.cjs.map +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<p align="center">
|
|
2
2
|
<a href="https://solace.health" target="_blank" align="center">
|
|
3
|
-
<img src="https://
|
|
3
|
+
<img width="200" alt="solace" src="https://github.com/user-attachments/assets/595c7bb2-336a-4ac4-81f4-c834c1165dc9" />
|
|
4
4
|
</a>
|
|
5
5
|
<br />
|
|
6
6
|
</p>
|
|
@@ -102,11 +102,18 @@ Please refer to the [Shadcn docs](https://ui.shadcn.com/docs/components) to add
|
|
|
102
102
|
|
|
103
103
|
### V2 Component Requirements on the Consumer Apps
|
|
104
104
|
|
|
105
|
+
V2 Components are our current standard to develop all features at Solace. Non V2 component should be considered deprecated, with the exception of [Illustrations](https://solace-health.github.io/solace-health-ui/?path=/docs/general-illustration--docs).
|
|
106
|
+
|
|
105
107
|
To use the V2 components, consumer apps must install [tailwindcss](https://tailwindcss.com/docs/installation/using-vite), include the `tailwindTheme.css` file provided by this repo, and configure tailwind to scan the source files of `@solace-health/ui` in their `node_modules` directory.
|
|
106
108
|
|
|
107
|
-
E.g.
|
|
109
|
+
E.g. in the health app's `globals.css` file:
|
|
108
110
|
|
|
109
111
|
```css
|
|
110
112
|
@source "../../node_modules/@solace-health/ui/dist";
|
|
111
113
|
@import "@solace-health/ui/tailwindTheme.css";
|
|
114
|
+
@import "@solace-health/ui/mdxEditorTheme.css";
|
|
112
115
|
```
|
|
116
|
+
|
|
117
|
+
## Design System
|
|
118
|
+
|
|
119
|
+
To read more about our design system, go [here](https://app.notion.com/p/findsolace/Solace-Design-System-36e9601d59a9806d923df8f8a3f3650e).
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';var chunkIRMVTSQ3_cjs=require('./chunk-IRMVTSQ3.cjs'),chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),u=require('react'),classVarianceAuthority=require('class-variance-authority'),hi2=require('react-icons/hi2'),lu=require('react-icons/lu'),jsxRuntime=require('react/jsx-runtime');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var u__namespace=/*#__PURE__*/_interopNamespace(u);var _=classVarianceAuthority.cva(`
|
|
2
|
+
flex items-center h-12 w-full min-w-0 rounded-md border bg-white px-3 py-3 text-base transition-all outline-none
|
|
3
|
+
dark:bg-input/30 border-input shadow-xs
|
|
4
|
+
placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground
|
|
5
|
+
file:inline-flex file:h-6 file:mr-2 file:border-0 file:text-foreground
|
|
6
|
+
disabled:cursor-not-allowed disabled:opacity-50 disabled:pointer-events-none disabled:bg-gray-200
|
|
7
|
+
focus-visible:ring-ring/50 focus-visible:ring-[3px]
|
|
8
|
+
`,{variants:{variant:{default:`
|
|
9
|
+
hover:enabled:border-dark-green
|
|
10
|
+
focus:enabled:border-dark-green
|
|
11
|
+
focus:enabled:shadow-green-300
|
|
12
|
+
focus-within:shadow
|
|
13
|
+
focus-within:shadow-green-300
|
|
14
|
+
focus-visible:border-dark-green
|
|
15
|
+
`,invalid:`
|
|
16
|
+
border-destructive
|
|
17
|
+
hover:border-destructive
|
|
18
|
+
focus:border-destructive
|
|
19
|
+
focus:shadow-red-100
|
|
20
|
+
focus-within:shadow
|
|
21
|
+
focus-within:shadow-red-100
|
|
22
|
+
focus-visible:border-destructive
|
|
23
|
+
aria-invalid:ring-destructive/20
|
|
24
|
+
dark:aria-invalid:ring-destructive/40
|
|
25
|
+
aria-invalid:border-destructive
|
|
26
|
+
`,search:"pr-8 [&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-cancel-button]:display-none",currency:"pl-5"}},defaultVariants:{variant:"default"}}),$={default:{inputType:"text",mask:l=>l},phone:{inputType:"tel",mask:chunkIRMVTSQ3_cjs.a},"positive-integer":{inputType:"text",inputMode:"numeric",mask:chunkIRMVTSQ3_cjs.b}},j=u__namespace.forwardRef(({className:l,variant:r,type:T,wrapperClassName:C=void 0,label:o,helperText:f,charLength:c,value:t,defaultValue:M,onChange:b,id:F,labelProps:L,format:p="default",...g},E)=>{let i=$[p],a=p!=="default",v=a?i.inputType:T,P=a?i.inputMode:void 0,[m,h]=u.useState(()=>{let e=t??M??"";return i.mask(e)}),y=F||u__namespace.useId(),V=t!==void 0?t:m,w=(()=>{if(t!==void 0)return V;if(a)return m})(),x=String(w??"").length>0,H=String(w??"").length,K=t!==void 0?{value:i.mask(t)}:a?{value:m}:{};u.useEffect(()=>{a&&t!==void 0&&h(i.mask(t));},[t,p]);let k=e=>{if(a){let I=i.mask(e.target.value);h(I),b?.({...e,target:{...e.target,value:I}});}else b?.(e);},A=e=>{if(a){if(e.metaKey||e.ctrlKey)return;!/[0-9/]/.test(e.key)&&!["Backspace","Delete","ArrowLeft","ArrowRight","Tab"].includes(e.key)&&e.preventDefault();}g.onKeyDown?.(e);};return jsxRuntime.jsxs("div",{className:chunkQRO22BPZ_cjs.a("relative w-full",C),children:[o&&(typeof o=="string"?jsxRuntime.jsx("label",{htmlFor:y,className:"header-xs text-primary mb-2 block font-bold",...L,children:o}):o),jsxRuntime.jsxs("div",{className:"relative",children:[jsxRuntime.jsx("input",{ref:E,id:y,type:v,inputMode:P,"data-slot":"input",className:chunkQRO22BPZ_cjs.a(_({variant:r}),l),onChange:k,onKeyDown:A,...K,...g}),r==="invalid"&&jsxRuntime.jsx(hi2.HiOutlineExclamationCircle,{size:"1.5rem",className:"text-destructive pointer-events-none absolute top-3 right-2"}),r==="search"&&!x&&jsxRuntime.jsx(lu.LuSearch,{size:"1.25rem",className:"pointer-events-none absolute top-3.5 right-3 text-black"}),r==="search"&&x&&jsxRuntime.jsx(lu.LuX,{size:"1.25rem",className:"absolute top-3.5 right-3 cursor-pointer text-black","aria-label":"Clear search",role:"button",onClick:()=>{k?.({target:{value:""}});}}),r==="currency"&&jsxRuntime.jsx("span",{className:"text-muted-foreground pointer-events-none absolute top-[50%] left-2.5 -translate-y-1/2",children:"$"}),v==="time"&&jsxRuntime.jsx(lu.LuClock4,{size:"1.25rem",className:"text-muted-foreground pointer-events-none absolute top-3.5 right-3"})]}),(f||c)&&jsxRuntime.jsxs("div",{className:"mt-2 flex items-center justify-between",children:[jsxRuntime.jsx("span",{className:chunkQRO22BPZ_cjs.a("text-sm",r==="invalid"?"text-destructive":"text-secondary"),children:f||""}),c&&jsxRuntime.jsxs("span",{className:chunkQRO22BPZ_cjs.a("text-sm",r==="invalid"?"text-destructive":"text-secondary"),children:[H,"/",c]})]})]})});j.displayName="Input";exports.a=_;exports.b=j;//# sourceMappingURL=chunk-2DLCWPKO.cjs.map
|
|
27
|
+
//# sourceMappingURL=chunk-2DLCWPKO.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/v2/input/input.tsx"],"names":["inputVariants","cva","FORMAT_CONFIGS","value","maskPhone","maskPositiveInteger","Input","u","className","variant","passedType","wrapperClassName","label","helperText","charLength","defaultValue","onChange","id","labelProps","format","props","ref","formatConfig","isFormatted","type","inputMode","internalValue","setInternalValue","useState","initial","inputId","currentValue","displayValue","hasValue","currentLength","valueProps","useEffect","handleChange","formatted","handleKeyDown","jsxs","cn","jsx","HiOutlineExclamationCircle","LuSearch","LuX","LuClock4"],"mappings":"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","file":"chunk-2DLCWPKO.cjs","sourcesContent":["import * as React from 'react';\nimport { ForwardedRef, useEffect, useState } from 'react';\nimport { cva, VariantProps } from 'class-variance-authority';\nimport { HiOutlineExclamationCircle } from 'react-icons/hi2';\nimport { LuClock4, LuSearch, LuX } from 'react-icons/lu';\n\nimport { cn } from '@/lib/utils';\nimport { maskPhone, maskPositiveInteger } from './formatters';\n\nconst inputVariants = cva(\n `\n flex items-center h-12 w-full min-w-0 rounded-md border bg-white px-3 py-3 text-base transition-all outline-none\n dark:bg-input/30 border-input shadow-xs\n placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground\n file:inline-flex file:h-6 file:mr-2 file:border-0 file:text-foreground\n disabled:cursor-not-allowed disabled:opacity-50 disabled:pointer-events-none disabled:bg-gray-200\n focus-visible:ring-ring/50 focus-visible:ring-[3px] \n `,\n {\n variants: {\n variant: {\n default: `\n hover:enabled:border-dark-green \n focus:enabled:border-dark-green\n focus:enabled:shadow-green-300\n focus-within:shadow\n focus-within:shadow-green-300\n focus-visible:border-dark-green \n `,\n invalid: `\n border-destructive\n hover:border-destructive\n focus:border-destructive\n focus:shadow-red-100\n focus-within:shadow\n focus-within:shadow-red-100\n focus-visible:border-destructive\n aria-invalid:ring-destructive/20\n dark:aria-invalid:ring-destructive/40\n aria-invalid:border-destructive \n `,\n // Hide chrome default search clear button with ::-webkit-search-cancel-button\n search:\n 'pr-8 [&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-cancel-button]:display-none',\n currency: 'pl-5',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\ntype FormatConfig = {\n inputType: React.HTMLInputTypeAttribute;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n mask: (value: string) => string;\n};\n\nexport type InputFormat = 'default' | 'phone' | 'positive-integer';\n\nconst FORMAT_CONFIGS: Record<InputFormat, FormatConfig> = {\n default: {\n inputType: 'text',\n mask: (value) => value,\n },\n phone: {\n inputType: 'tel',\n mask: maskPhone,\n },\n 'positive-integer': {\n inputType: 'text',\n inputMode: 'numeric',\n mask: maskPositiveInteger,\n },\n};\n\nexport type InputProps = React.ComponentProps<'input'> &\n VariantProps<typeof inputVariants> & {\n wrapperClassName?: string;\n label?: React.ReactNode;\n helperText?: string;\n charLength?: number;\n labelProps?: React.ComponentProps<'label'>;\n format?: InputFormat;\n };\n\nconst Input = React.forwardRef(\n (\n {\n className,\n variant,\n type: passedType,\n wrapperClassName = undefined,\n label,\n helperText,\n charLength,\n value,\n defaultValue,\n onChange,\n id,\n labelProps,\n format = 'default',\n ...props\n }: InputProps,\n ref?: ForwardedRef<HTMLInputElement>,\n ) => {\n const formatConfig = FORMAT_CONFIGS[format];\n const isFormatted = format !== 'default';\n const type = isFormatted ? formatConfig.inputType : passedType;\n const inputMode = isFormatted ? formatConfig.inputMode : undefined;\n\n const [internalValue, setInternalValue] = useState<string>(() => {\n const initial = (value ?? defaultValue ?? '') as string;\n return formatConfig.mask(initial);\n });\n\n const inputId = id || React.useId();\n\n const currentValue = value !== undefined ? value : internalValue;\n\n const displayValue = (() => {\n if (value !== undefined) return currentValue;\n if (isFormatted) return internalValue;\n return undefined;\n })();\n\n const hasValue = String(displayValue ?? '').length > 0;\n const currentLength = String(displayValue ?? '').length;\n\n const valueProps = (() => {\n if (value !== undefined) return { value: formatConfig.mask(value as string) };\n if (isFormatted) return { value: internalValue };\n return {};\n })();\n\n useEffect(() => {\n if (isFormatted && value !== undefined) {\n setInternalValue(formatConfig.mask(value as string));\n }\n }, [value, format]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isFormatted) {\n const formatted = formatConfig.mask(e.target.value);\n setInternalValue(formatted);\n onChange?.({ ...e, target: { ...e.target, value: formatted } });\n } else {\n onChange?.(e);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (isFormatted) {\n // Allow events to pass with keyboard shortcuts (Cmd/Ctrl + key)\n if (e.metaKey || e.ctrlKey) {\n return;\n }\n\n if (\n !/[0-9/]/.test(e.key) &&\n !['Backspace', 'Delete', 'ArrowLeft', 'ArrowRight', 'Tab'].includes(e.key)\n ) {\n e.preventDefault();\n }\n }\n props.onKeyDown?.(e);\n };\n\n return (\n <div className={cn('relative w-full', wrapperClassName)}>\n {label &&\n (typeof label === 'string' ? (\n <label\n htmlFor={inputId}\n className=\"header-xs text-primary mb-2 block font-bold\"\n {...labelProps}\n >\n {label}\n </label>\n ) : (\n label\n ))}\n <div className=\"relative\">\n <input\n ref={ref}\n id={inputId}\n type={type}\n inputMode={inputMode}\n data-slot=\"input\"\n className={cn(inputVariants({ variant }), className)}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n {...valueProps}\n {...props}\n />\n {variant === 'invalid' && (\n <HiOutlineExclamationCircle\n size=\"1.5rem\"\n className=\"text-destructive pointer-events-none absolute top-3 right-2\"\n />\n )}\n\n {variant === 'search' && !hasValue && (\n <LuSearch\n size=\"1.25rem\"\n className=\"pointer-events-none absolute top-3.5 right-3 text-black\"\n />\n )}\n {variant === 'search' && hasValue && (\n <LuX\n size=\"1.25rem\"\n className=\"absolute top-3.5 right-3 cursor-pointer text-black\"\n aria-label=\"Clear search\"\n role=\"button\"\n onClick={() => {\n const event = {\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>;\n handleChange?.(event);\n }}\n />\n )}\n {variant === 'currency' && (\n <span className=\"text-muted-foreground pointer-events-none absolute top-[50%] left-2.5 -translate-y-1/2\">\n $\n </span>\n )}\n\n {type === 'time' && (\n <LuClock4\n size=\"1.25rem\"\n className=\"text-muted-foreground pointer-events-none absolute top-3.5 right-3\"\n />\n )}\n </div>\n {(helperText || charLength) && (\n <div className=\"mt-2 flex items-center justify-between\">\n <span\n className={cn(\n 'text-sm',\n variant === 'invalid' ? 'text-destructive' : 'text-secondary',\n )}\n >\n {helperText || ''}\n </span>\n {charLength && (\n <span\n className={cn(\n 'text-sm',\n variant === 'invalid' ? 'text-destructive' : 'text-secondary',\n )}\n >\n {currentLength}/{charLength}\n </span>\n )}\n </div>\n )}\n </div>\n );\n },\n);\n\nInput.displayName = 'Input';\n\nexport { Input, inputVariants };\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var chunkBBJ3KAN6_cjs=require('./chunk-BBJ3KAN6.cjs'),
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var chunkBBJ3KAN6_cjs=require('./chunk-BBJ3KAN6.cjs'),chunkEZK5NRS6_cjs=require('./chunk-EZK5NRS6.cjs'),chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),lu=require('react-icons/lu'),jsxRuntime=require('react/jsx-runtime');var S=({options:o,selected:l,toggleOption:i,onSearch:c,uniqueId:p})=>{let d=chunkBBJ3KAN6_cjs.a({selected:l,options:o});return jsxRuntime.jsx(chunkEZK5NRS6_cjs.f,{className:"h-full overflow-auto",children:jsxRuntime.jsx("div",{className:"flex flex-col gap-1",children:(c?d:o).map(e=>{let s=l.some(t=>t.value===e.value);return jsxRuntime.jsxs(chunkEZK5NRS6_cjs.h,{value:e.value,keywords:typeof e.label=="string"?[e.label]:void 0,disabled:e.disable,onMouseDown:t=>{t.preventDefault(),t.stopPropagation();},onSelect:()=>i(e),className:chunkQRO22BPZ_cjs.a("flex cursor-pointer items-center justify-between p-3 data-[selected=true]:bg-green-200 hover:data-[selected=true]:bg-green-200",e.disable&&"text-muted-foreground cursor-default",s&&"bg-green-100"),children:[e.label,s&&jsxRuntime.jsx(lu.LuCheck,{className:"h-4 w-4 text-green-800"})]},e.value)})})},`${p}-command-group`)};exports.a=S;//# sourceMappingURL=chunk-2E7ZG247.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-2E7ZG247.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/v2/multiselect/components/MultiSelectCommandGroup.tsx"],"names":["MultiSelectCommandGroup","options","selected","toggleOption","onSearch","uniqueId","mergedOptions","useMergeOptions","jsx","CommandGroup","option","optionSelected","s","jsxs","CommandItem","e","cn","LuCheck"],"mappings":"4OAeO,IAAMA,CAAAA,CAA0B,CAAC,CACtC,OAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CACF,CAAA,GAAa,CACX,IAAMC,CAAAA,CAAgBC,mBAAAA,CAAgB,CAAE,QAAA,CAAAL,CAAAA,CAAU,OAAA,CAAAD,CAAQ,CAAC,CAAA,CAG3D,OACEO,cAAAA,CAACC,mBAAAA,CAAA,CAA+C,SAAA,CAAU,sBAAA,CACxD,QAAA,CAAAD,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,qBAAA,CACZ,QAAA,CAAA,CALgBJ,CAAAA,CAAWE,CAAAA,CAAgBL,CAAAA,EAK5B,GAAA,CAAKS,CAAAA,EAAmB,CACtC,IAAMC,CAAAA,CAAiBT,CAAAA,CAAS,IAAA,CAAMU,CAAAA,EAAMA,CAAAA,CAAE,KAAA,GAAUF,EAAO,KAAK,CAAA,CACpE,OACEG,eAAAA,CAACC,mBAAAA,CAAA,CAEC,KAAA,CAAOJ,CAAAA,CAAO,KAAA,CACd,QAAA,CAAU,OAAOA,CAAAA,CAAO,KAAA,EAAU,QAAA,CAAW,CAACA,CAAAA,CAAO,KAAK,CAAA,CAAI,MAAA,CAC9D,QAAA,CAAUA,CAAAA,CAAO,OAAA,CACjB,WAAA,CAAcK,CAAAA,EAAM,CAClBA,CAAAA,CAAE,cAAA,EAAe,CACjBA,CAAAA,CAAE,eAAA,GACJ,CAAA,CACA,QAAA,CAAU,IAAMZ,CAAAA,CAAaO,CAAM,CAAA,CACnC,SAAA,CAAWM,mBAAAA,CAGT,gIAAA,CACAN,CAAAA,CAAO,OAAA,EAAW,sCAAA,CAClBC,CAAAA,EAAkB,cACpB,CAAA,CAEC,QAAA,CAAA,CAAAD,CAAAA,CAAO,KAAA,CACPC,CAAAA,EAAkBH,cAAAA,CAACS,UAAAA,CAAA,CAAQ,SAAA,CAAU,wBAAA,CAAyB,CAAA,CAAA,CAAA,CAlB1DP,CAAAA,CAAO,KAmBd,CAEJ,CAAC,CAAA,CACH,CAAA,CAAA,CA5BiB,CAAA,EAAGL,CAAQ,gBA6B9B,CAEJ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/v2/multiselect/components/MultiSelectCommandGroup.tsx"],"names":["MultiSelectCommandGroup","options","selected","toggleOption","onSearch","uniqueId","mergedOptions","useMergeOptions","jsx","CommandGroup","option","optionSelected","s","jsxs","CommandItem","e","cn","LuCheck"],"mappings":"4OAeO,IAAMA,CAAAA,CAA0B,CAAC,CACtC,OAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CACF,CAAA,GAAa,CACX,IAAMC,CAAAA,CAAgBC,mBAAAA,CAAgB,CAAE,QAAA,CAAAL,CAAAA,CAAU,OAAA,CAAAD,CAAQ,CAAC,CAAA,CAG3D,OACEO,cAAAA,CAACC,mBAAAA,CAAA,CAA+C,SAAA,CAAU,sBAAA,CACxD,QAAA,CAAAD,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,qBAAA,CACZ,QAAA,CAAA,CALgBJ,CAAAA,CAAWE,CAAAA,CAAgBL,CAAAA,EAK5B,GAAA,CAAKS,CAAAA,EAAmB,CACtC,IAAMC,CAAAA,CAAiBT,CAAAA,CAAS,IAAA,CAAMU,CAAAA,EAAMA,CAAAA,CAAE,KAAA,GAAUF,EAAO,KAAK,CAAA,CACpE,OACEG,eAAAA,CAACC,mBAAAA,CAAA,CAEC,KAAA,CAAOJ,CAAAA,CAAO,KAAA,CACd,QAAA,CAAU,OAAOA,CAAAA,CAAO,KAAA,EAAU,QAAA,CAAW,CAACA,CAAAA,CAAO,KAAK,CAAA,CAAI,MAAA,CAC9D,QAAA,CAAUA,CAAAA,CAAO,OAAA,CACjB,WAAA,CAAcK,CAAAA,EAAM,CAClBA,CAAAA,CAAE,cAAA,EAAe,CACjBA,CAAAA,CAAE,eAAA,GACJ,CAAA,CACA,QAAA,CAAU,IAAMZ,CAAAA,CAAaO,CAAM,CAAA,CACnC,SAAA,CAAWM,mBAAAA,CAGT,gIAAA,CACAN,CAAAA,CAAO,OAAA,EAAW,sCAAA,CAClBC,CAAAA,EAAkB,cACpB,CAAA,CAEC,QAAA,CAAA,CAAAD,CAAAA,CAAO,KAAA,CACPC,CAAAA,EAAkBH,cAAAA,CAACS,UAAAA,CAAA,CAAQ,SAAA,CAAU,wBAAA,CAAyB,CAAA,CAAA,CAAA,CAlB1DP,CAAAA,CAAO,KAmBd,CAEJ,CAAC,CAAA,CACH,CAAA,CAAA,CA5BiB,CAAA,EAAGL,CAAQ,gBA6B9B,CAEJ","file":"chunk-2E7ZG247.cjs","sourcesContent":["import { LuCheck } from 'react-icons/lu';\n\nimport { CommandGroup, CommandItem } from '@/v2/command/command';\nimport { cn } from '@/lib/utils';\nimport { MultiSelectProps, Option } from '../types';\nimport { UseMultiSelectReturn } from '../hooks/useMultiSelect';\nimport { UseInteractionsReturn } from '../hooks/useInteractions';\nimport { useMergeOptions } from '../hooks/useMergeOptions';\n\ntype Props = Pick<MultiSelectProps, 'onSearch'> &\n Pick<UseMultiSelectReturn, 'selected' | 'uniqueId'> &\n Pick<UseInteractionsReturn, 'toggleOption'> & {\n options: Option[];\n };\n\nexport const MultiSelectCommandGroup = ({\n options,\n selected,\n toggleOption,\n onSearch,\n uniqueId,\n}: Props) => {\n const mergedOptions = useMergeOptions({ selected, options });\n const displayOptions = onSearch ? mergedOptions : options;\n\n return (\n <CommandGroup key={`${uniqueId}-command-group`} className=\"h-full overflow-auto\">\n <div className=\"flex flex-col gap-1\">\n {displayOptions.map((option: Option) => {\n const optionSelected = selected.some((s) => s.value === option.value);\n return (\n <CommandItem\n key={option.value}\n value={option.value}\n keywords={typeof option.label === 'string' ? [option.label] : undefined}\n disabled={option.disable}\n onMouseDown={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n onSelect={() => toggleOption(option)}\n className={cn(\n // data-[selected=true] means when the user navigates onto an option with the keyboard\n // optionSelected means the user has actually toggled on the option\n 'flex cursor-pointer items-center justify-between p-3 data-[selected=true]:bg-green-200 hover:data-[selected=true]:bg-green-200',\n option.disable && 'text-muted-foreground cursor-default',\n optionSelected && 'bg-green-100',\n )}\n >\n {option.label}\n {optionSelected && <LuCheck className=\"h-4 w-4 text-green-800\" />}\n </CommandItem>\n );\n })}\n </div>\n </CommandGroup>\n );\n};\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var chunkFMFRB4JI_cjs=require('./chunk-FMFRB4JI.cjs'),chunkKRGVVBO5_cjs=require('./chunk-KRGVVBO5.cjs'),chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),b=require('react'),jsxRuntime=require('react/jsx-runtime');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var b__namespace=/*#__PURE__*/_interopNamespace(b);var x=b__namespace.forwardRef(({id:l,children:n,className:d,classNames:e={},size:h="default",nestedSection:a=null,...o},p)=>jsxRuntime.jsx(chunkFMFRB4JI_cjs.b,{variant:"outline",disabled:o.disabled,size:h,asChild:true,className:chunkQRO22BPZ_cjs.a(d,e?.base,!!a&&"cursor-default"),children:jsxRuntime.jsxs("div",{ref:p,className:chunkQRO22BPZ_cjs.a("h-auto flex-col items-stretch justify-start px-0! select-none",o.checked?"border-dark-green":"border-gray-400",o.disabled&&"text-secondary-foreground hover:text-secondary-foreground border-gray-300 hover:border-gray-300 hover:bg-white",e?.labelComponent),children:[jsxRuntime.jsxs("label",{htmlFor:l,className:chunkQRO22BPZ_cjs.a("flex min-h-12 w-full cursor-pointer items-center gap-2 px-4 py-3 leading-tight whitespace-normal",o.disabled&&"hover:cursor-not-allowed",e?.checkboxWrapper),children:[jsxRuntime.jsx(chunkKRGVVBO5_cjs.b,{id:l,...o,variant:"button",classNames:e?.checkbox}),e?.labelText?jsxRuntime.jsx("span",{className:chunkQRO22BPZ_cjs.a(e?.labelText),children:n}):n]}),a&&jsxRuntime.jsx("div",{className:chunkQRO22BPZ_cjs.a("mt-1 px-3 pb-3 font-normal",e?.nestedSection),children:a})]})}));x.displayName="ButtonCheckbox";exports.a=x;//# sourceMappingURL=chunk-3WAG2NWA.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-3WAG2NWA.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/v2/checkbox/button-checkbox.tsx"],"names":["ButtonCheckbox","b","id","children","className","classNames","size","nestedSection","props","ref","jsx","Button","cn","jsxs","Checkbox"],"mappings":"wkBAgBO,IAAMA,CAAAA,CAAuBC,YAAA,CAAA,UAAA,CAKlC,CACE,CAAE,EAAA,CAAAC,CAAAA,CAAI,QAAA,CAAAC,CAAAA,CAAU,SAAA,CAAAC,CAAAA,CAAW,UAAA,CAAAC,CAAAA,CAAa,EAAC,CAAG,IAAA,CAAAC,CAAAA,CAAO,SAAA,CAAW,aAAA,CAAAC,CAAAA,CAAgB,KAAM,GAAGC,CAAM,CAAA,CAC7FC,CAAAA,GAGEC,cAAAA,CAACC,mBAAAA,CAAA,CACC,OAAA,CAAQ,SAAA,CACR,QAAA,CAAUH,CAAAA,CAAM,QAAA,CAChB,IAAA,CAAMF,CAAAA,CACN,OAAA,CAAO,IAAA,CACP,UAAWM,mBAAAA,CAAGR,CAAAA,CAAWC,CAAAA,EAAY,IAAA,CAAM,CAAC,CAACE,CAAAA,EAAiB,gBAAgB,CAAA,CAE9E,QAAA,CAAAM,eAAAA,CAAC,KAAA,CAAA,CACC,GAAA,CAAKJ,CAAAA,CACL,SAAA,CAAWG,mBAAAA,CACT,gEACAJ,CAAAA,CAAM,OAAA,CAAU,mBAAA,CAAsB,iBAAA,CACtCA,CAAAA,CAAM,QAAA,EACJ,gHAAA,CACFH,CAAAA,EAAY,cACd,CAAA,CAEA,QAAA,CAAA,CAAAQ,eAAAA,CAAC,OAAA,CAAA,CACC,OAAA,CAASX,CAAAA,CACT,SAAA,CAAWU,oBACT,kGAAA,CACAJ,CAAAA,CAAM,QAAA,EAAY,0BAAA,CAClBH,CAAAA,EAAY,eACd,CAAA,CAEA,QAAA,CAAA,CAAAK,cAAAA,CAACI,mBAAAA,CAAA,CAAS,EAAA,CAAIZ,CAAAA,CAAK,GAAGM,CAAAA,CAAO,OAAA,CAAQ,SAAS,UAAA,CAAYH,CAAAA,EAAY,QAAA,CAAU,CAAA,CAC/EA,CAAAA,EAAY,SAAA,CACXK,cAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAWE,mBAAAA,CAAGP,CAAAA,EAAY,SAAS,CAAA,CAAI,QAAA,CAAAF,CAAAA,CAAS,CAAA,CAEtDA,GAEJ,CAAA,CACCI,CAAAA,EACCG,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAWE,mBAAAA,CAAG,4BAAA,CAA8BP,CAAAA,EAAY,aAAa,CAAA,CACvE,QAAA,CAAAE,CAAAA,CACH,CAAA,CAAA,CAEJ,CAAA,CACF,CAGN,EAEAP,EAAe,WAAA,CAAc,gBAAA","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/v2/checkbox/button-checkbox.tsx"],"names":["ButtonCheckbox","b","id","children","className","classNames","size","nestedSection","props","ref","jsx","Button","cn","jsxs","Checkbox"],"mappings":"wkBAgBO,IAAMA,CAAAA,CAAuBC,YAAA,CAAA,UAAA,CAKlC,CACE,CAAE,EAAA,CAAAC,CAAAA,CAAI,QAAA,CAAAC,CAAAA,CAAU,SAAA,CAAAC,CAAAA,CAAW,UAAA,CAAAC,CAAAA,CAAa,EAAC,CAAG,IAAA,CAAAC,CAAAA,CAAO,SAAA,CAAW,aAAA,CAAAC,CAAAA,CAAgB,KAAM,GAAGC,CAAM,CAAA,CAC7FC,CAAAA,GAGEC,cAAAA,CAACC,mBAAAA,CAAA,CACC,OAAA,CAAQ,SAAA,CACR,QAAA,CAAUH,CAAAA,CAAM,QAAA,CAChB,IAAA,CAAMF,CAAAA,CACN,OAAA,CAAO,IAAA,CACP,UAAWM,mBAAAA,CAAGR,CAAAA,CAAWC,CAAAA,EAAY,IAAA,CAAM,CAAC,CAACE,CAAAA,EAAiB,gBAAgB,CAAA,CAE9E,QAAA,CAAAM,eAAAA,CAAC,KAAA,CAAA,CACC,GAAA,CAAKJ,CAAAA,CACL,SAAA,CAAWG,mBAAAA,CACT,gEACAJ,CAAAA,CAAM,OAAA,CAAU,mBAAA,CAAsB,iBAAA,CACtCA,CAAAA,CAAM,QAAA,EACJ,gHAAA,CACFH,CAAAA,EAAY,cACd,CAAA,CAEA,QAAA,CAAA,CAAAQ,eAAAA,CAAC,OAAA,CAAA,CACC,OAAA,CAASX,CAAAA,CACT,SAAA,CAAWU,oBACT,kGAAA,CACAJ,CAAAA,CAAM,QAAA,EAAY,0BAAA,CAClBH,CAAAA,EAAY,eACd,CAAA,CAEA,QAAA,CAAA,CAAAK,cAAAA,CAACI,mBAAAA,CAAA,CAAS,EAAA,CAAIZ,CAAAA,CAAK,GAAGM,CAAAA,CAAO,OAAA,CAAQ,SAAS,UAAA,CAAYH,CAAAA,EAAY,QAAA,CAAU,CAAA,CAC/EA,CAAAA,EAAY,SAAA,CACXK,cAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAWE,mBAAAA,CAAGP,CAAAA,EAAY,SAAS,CAAA,CAAI,QAAA,CAAAF,CAAAA,CAAS,CAAA,CAEtDA,GAEJ,CAAA,CACCI,CAAAA,EACCG,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAWE,mBAAAA,CAAG,4BAAA,CAA8BP,CAAAA,EAAY,aAAa,CAAA,CACvE,QAAA,CAAAE,CAAAA,CACH,CAAA,CAAA,CAEJ,CAAA,CACF,CAGN,EAEAP,EAAe,WAAA,CAAc,gBAAA","file":"chunk-3WAG2NWA.cjs","sourcesContent":["import * as React from 'react';\nimport { cn } from '@/lib/utils';\nimport { Button, type ButtonSize } from '@/v2/button/button';\nimport { Checkbox, type CheckboxProps } from '@/v2/checkbox/checkbox';\nimport type { Slots } from '../types';\n\nexport type ButtonCheckboxSlots = Slots & {\n classNames?: {\n checkboxWrapper?: string;\n labelComponent?: string;\n labelText?: string;\n nestedSection?: string;\n checkbox?: CheckboxProps['classNames'];\n };\n};\n\nexport const ButtonCheckbox = React.forwardRef<\n HTMLDivElement,\n ButtonCheckboxSlots &\n CheckboxProps & { nestedSection?: React.ReactNode | null; size?: ButtonSize }\n>(\n (\n { id, children, className, classNames = {}, size = 'default', nestedSection = null, ...props },\n ref,\n ) => {\n return (\n <Button\n variant=\"outline\"\n disabled={props.disabled}\n size={size}\n asChild\n className={cn(className, classNames?.base, !!nestedSection && 'cursor-default')}\n >\n <div\n ref={ref}\n className={cn(\n 'h-auto flex-col items-stretch justify-start px-0! select-none',\n props.checked ? 'border-dark-green' : 'border-gray-400',\n props.disabled &&\n 'text-secondary-foreground hover:text-secondary-foreground border-gray-300 hover:border-gray-300 hover:bg-white',\n classNames?.labelComponent,\n )}\n >\n <label\n htmlFor={id}\n className={cn(\n 'flex min-h-12 w-full cursor-pointer items-center gap-2 px-4 py-3 leading-tight whitespace-normal',\n props.disabled && 'hover:cursor-not-allowed',\n classNames?.checkboxWrapper,\n )}\n >\n <Checkbox id={id} {...props} variant=\"button\" classNames={classNames?.checkbox} />\n {classNames?.labelText ? (\n <span className={cn(classNames?.labelText)}>{children}</span>\n ) : (\n children\n )}\n </label>\n {nestedSection && (\n <div className={cn('mt-1 px-3 pb-3 font-normal', classNames?.nestedSection)}>\n {nestedSection}\n </div>\n )}\n </div>\n </Button>\n );\n },\n);\n\nButtonCheckbox.displayName = 'ButtonCheckbox';\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {b as b$1}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {b as b$1}from'./chunk-SP2L5FI7.js';import {a}from'./chunk-YTIIAU4W.js';import {a as a$1}from'./chunk-CWXZFXQT.js';import {b}from'./chunk-6MYNQMQU.js';import {createContext,forwardRef,useContext,useMemo}from'react';import {Drawer}from'vaul';import*as i from'@radix-ui/react-dialog';import {LuX}from'react-icons/lu';import {jsx,jsxs}from'react/jsx-runtime';var s=createContext({isResponsive:true});function z({disableDrawerOnMobile:t=false,...e}){let{isMobile:a}=b(),r=useMemo(()=>({isResponsive:!t}),[t]);return jsx(s.Provider,{value:r,children:a&&!t?jsx(Drawer.Root,{"data-slot":"drawer",direction:"bottom",...e}):jsx(i.Root,{"data-slot":"dialog",...e})})}function B({...t}){let{isMobile:e}=b(),{isResponsive:a}=useContext(s);return e&&a?jsx(Drawer.Trigger,{"data-slot":"drawer-trigger",...t}):jsx(i.Trigger,{"data-slot":"dialog-trigger",...t})}function f({...t}){let{isMobile:e}=b(),{isResponsive:a}=useContext(s);return e&&a?jsx(Drawer.Portal,{"data-slot":"drawer-portal",...t}):jsx(i.Portal,{"data-slot":"dialog-portal",...t})}function P({...t}){let{isMobile:e}=b(),{isResponsive:a}=useContext(s);return e&&a?jsx(Drawer.Close,{"data-slot":"drawer-close",...t}):jsx(i.Close,{"data-slot":"dialog-close",...t})}var w=forwardRef(({className:t,...e},a$1)=>{let{isMobile:r}=b(),{isResponsive:c}=useContext(s);return r&&c?jsx(Drawer.Overlay,{"data-slot":"drawer-overlay",className:a("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50",t),ref:a$1,...e}):jsx(i.Overlay,{"data-slot":"dialog-overlay",className:a("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50",t),ref:a$1,...e})}),O=forwardRef(({className:t,children:e=null,overlayClassName:a$1,...r},c)=>{let{isMobile:C}=b(),{isResponsive:b$1}=useContext(s);return C&&b$1?jsxs(f,{"data-slot":"drawer-portal",children:[jsx(w,{className:a$1}),jsx(Drawer.Content,{"data-slot":"drawer-content",className:a("group/drawer-content bg-background z-modal-stacking-context fixed flex h-auto flex-col px-4","data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b","data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t","data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-md","data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm","max-w-dvw!",t),ref:c,...r,children:e})]}):jsxs(f,{"data-slot":"dialog-portal",children:[jsx(w,{className:a$1}),jsx(i.Content,{"data-slot":"dialog-content",className:a("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 z-modal-stacking-context fixed top-[50%] left-[50%] grid w-[calc(100%-2rem)] max-w-[34.4rem] translate-x-[-50%] translate-y-[-50%] rounded-lg border border-gray-300 p-6 shadow-sm duration-200",t),ref:c,...r,children:e})]})});function H({className:t,showCloseButton:e=true,...a$1}){let{isMobile:r}=b(),{isResponsive:c}=useContext(s);return r&&c?jsxs("div",{"data-slot":"drawer-header",className:a("relative flex flex-col gap-0.5 pt-6 pb-4 text-left md:gap-1.5",t),...a$1,children:[e&&jsx(P,{asChild:true,children:jsxs(b$1,{className:"absolute top-5 right-0",size:"sm",variant:"ghost-icon",children:[jsx(LuX,{}),jsx("span",{className:"sr-only",children:"Close dialog"})]})}),a$1.children]}):jsxs("div",{"data-slot":"dialog-header",className:a("relative flex flex-col gap-2 pb-4",t),...a$1,children:[e&&jsx(P,{asChild:true,children:jsxs(b$1,{className:"absolute top-0 right-0",size:"sm",variant:"ghost-icon",children:[jsx(LuX,{}),jsx("span",{className:"sr-only",children:"Close dialog"})]})}),a$1.children]})}function L({className:t,...e}){let{isMobile:a$1}=b(),{isResponsive:r}=useContext(s);return a$1&&r?jsx("div",{"data-slot":"drawer-footer",className:a("mt-auto flex flex-col gap-2 py-4",t),...e}):jsx("div",{"data-slot":"dialog-footer",className:a("mt-2 flex gap-2 pt-3",t),...e})}function E({className:t,...e}){let{isMobile:a$2}=a$1(),{isResponsive:r}=useContext(s);return a$2&&r?jsx(Drawer.Title,{"data-slot":"drawer-title",className:a("font-display pr-6 text-3xl",t),...e}):jsx(i.Title,{"data-slot":"dialog-title",className:a("font-display pr-6 text-3xl leading-none tracking-[0.01rem]",t),...e})}function F({className:t,...e}){let{isMobile:a$1}=b(),{isResponsive:r}=useContext(s);return a$1&&r?jsx(Drawer.Description,{"data-slot":"drawer-description",className:t,...e}):jsx(i.Description,{"data-slot":"dialog-description",className:a("text-muted-foreground text-sm",t),...e})}export{z as a,B as b,f as c,P as d,w as e,O as f,H as g,L as h,E as i,F as j};//# sourceMappingURL=chunk-6T7SXJ44.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-6T7SXJ44.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/v2/dialog/dialog.tsx"],"names":["DialogContext","createContext","Dialog","disableDrawerOnMobile","props","isMobile","useWindowSize_default","contextValue","useMemo","jsx","DrawerPrimitive","DialogTrigger","isResponsive","useContext","DialogPortal","DialogClose","DialogOverlay","forwardRef","className","ref","cn","DialogContent","children","overlayClassName","jsxs","DialogHeader","showCloseButton","Button","LuX","DialogFooter","DialogTitle","useIsMobile","DialogDescription"],"mappings":"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","file":"chunk-VO2GGQ2X.js","sourcesContent":["import { type ComponentProps, createContext, forwardRef, useContext, useMemo } from 'react';\nimport { Drawer as DrawerPrimitive } from 'vaul';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { LuX } from 'react-icons/lu';\n\nimport { cn } from '@/lib/utils';\nimport { Button } from '../button/button';\nimport { useIsMobile, useWindowSize } from '@/hooks';\n\nconst DialogContext = createContext({ isResponsive: true });\n\nfunction Dialog({\n disableDrawerOnMobile = false,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Root> &\n ComponentProps<typeof DrawerPrimitive.Root> & { disableDrawerOnMobile?: boolean }) {\n const { isMobile } = useWindowSize();\n\n const contextValue = useMemo(\n () => ({ isResponsive: !disableDrawerOnMobile }),\n [disableDrawerOnMobile],\n );\n\n return (\n <DialogContext.Provider value={contextValue}>\n {isMobile && !disableDrawerOnMobile ? (\n <DrawerPrimitive.Root data-slot=\"drawer\" direction=\"bottom\" {...props} />\n ) : (\n <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n )}\n </DialogContext.Provider>\n );\n}\n\nfunction DialogTrigger({\n ...props\n}: ComponentProps<typeof DialogPrimitive.Trigger> &\n ComponentProps<typeof DrawerPrimitive.Trigger>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return <DrawerPrimitive.Trigger data-slot=\"drawer-trigger\" {...props} />;\n }\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({\n ...props\n}: ComponentProps<typeof DialogPrimitive.Portal> & ComponentProps<typeof DrawerPrimitive.Portal>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return <DrawerPrimitive.Portal data-slot=\"drawer-portal\" {...props} />;\n }\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({\n ...props\n}: ComponentProps<typeof DialogPrimitive.Close> & ComponentProps<typeof DrawerPrimitive.Close>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return <DrawerPrimitive.Close data-slot=\"drawer-close\" {...props} />;\n }\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nconst DialogOverlay = forwardRef<\n HTMLDivElement,\n ComponentProps<typeof DialogPrimitive.Overlay> & ComponentProps<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DrawerPrimitive.Overlay\n data-slot=\"drawer-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n }\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n});\n\nconst DialogContent = forwardRef<\n HTMLDivElement,\n ComponentProps<typeof DialogPrimitive.Content> &\n ComponentProps<typeof DrawerPrimitive.Content> & {\n onBackButtonClick?: () => void;\n overlayClassName?: string | undefined;\n }\n>(({ className, children = null, overlayClassName, ...props }, ref) => {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DialogPortal data-slot=\"drawer-portal\">\n <DialogOverlay className={overlayClassName} />\n <DrawerPrimitive.Content\n data-slot=\"drawer-content\"\n className={cn(\n 'group/drawer-content bg-background z-modal-stacking-context fixed flex h-auto flex-col px-4',\n 'data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b',\n 'data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t',\n 'data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-md',\n 'data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm',\n 'max-w-dvw!',\n className,\n )}\n ref={ref}\n {...props}\n >\n {children}\n </DrawerPrimitive.Content>\n </DialogPortal>\n );\n }\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay className={overlayClassName} />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 z-modal-stacking-context fixed top-[50%] left-[50%] grid w-[calc(100%-2rem)] max-w-[34.4rem] translate-x-[-50%] translate-y-[-50%] rounded-lg border border-gray-300 p-6 shadow-sm duration-200',\n className,\n )}\n ref={ref}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n});\n\nfunction DialogHeader({\n className,\n showCloseButton = true,\n ...props\n}: ComponentProps<'div'> & {\n showCloseButton?: boolean;\n}) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <div\n data-slot=\"drawer-header\"\n className={cn('relative flex flex-col gap-0.5 pt-6 pb-4 text-left md:gap-1.5', className)}\n {...props}\n >\n {showCloseButton && (\n <DialogClose asChild>\n <Button className=\"absolute top-5 right-0\" size=\"sm\" variant=\"ghost-icon\">\n <LuX />\n <span className=\"sr-only\">Close dialog</span>\n </Button>\n </DialogClose>\n )}\n {props.children}\n </div>\n );\n }\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn('relative flex flex-col gap-2 pb-4', className)}\n {...props}\n >\n {showCloseButton && (\n <DialogClose asChild>\n <Button className=\"absolute top-0 right-0\" size=\"sm\" variant=\"ghost-icon\">\n <LuX />\n <span className=\"sr-only\">Close dialog</span>\n </Button>\n </DialogClose>\n )}\n {props.children}\n </div>\n );\n}\n\nfunction DialogFooter({ className, ...props }: ComponentProps<'div'>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <div\n data-slot=\"drawer-footer\"\n className={cn('mt-auto flex flex-col gap-2 py-4', className)}\n {...props}\n />\n );\n }\n return (\n <div data-slot=\"dialog-footer\" className={cn('mt-2 flex gap-2 pt-3', className)} {...props} />\n );\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Title> & ComponentProps<typeof DrawerPrimitive.Title>) {\n const { isMobile } = useIsMobile();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DrawerPrimitive.Title\n data-slot=\"drawer-title\"\n className={cn('font-display pr-6 text-3xl', className)}\n {...props}\n />\n );\n }\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn('font-display pr-6 text-3xl leading-none tracking-[0.01rem]', className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Description> &\n ComponentProps<typeof DrawerPrimitive.Description>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DrawerPrimitive.Description\n data-slot=\"drawer-description\"\n className={className}\n {...props}\n />\n );\n }\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/v2/dialog/dialog.tsx"],"names":["DialogContext","createContext","Dialog","disableDrawerOnMobile","props","isMobile","useWindowSize_default","contextValue","useMemo","jsx","DrawerPrimitive","DialogTrigger","isResponsive","useContext","DialogPortal","DialogClose","DialogOverlay","forwardRef","className","ref","cn","DialogContent","children","overlayClassName","jsxs","DialogHeader","showCloseButton","Button","LuX","DialogFooter","DialogTitle","useIsMobile","DialogDescription"],"mappings":"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","file":"chunk-6T7SXJ44.js","sourcesContent":["import { type ComponentProps, createContext, forwardRef, useContext, useMemo } from 'react';\nimport { Drawer as DrawerPrimitive } from 'vaul';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { LuX } from 'react-icons/lu';\n\nimport { cn } from '@/lib/utils';\nimport { Button } from '../button/button';\nimport { useIsMobile, useWindowSize } from '@/hooks';\n\nconst DialogContext = createContext({ isResponsive: true });\n\nfunction Dialog({\n disableDrawerOnMobile = false,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Root> &\n ComponentProps<typeof DrawerPrimitive.Root> & { disableDrawerOnMobile?: boolean }) {\n const { isMobile } = useWindowSize();\n\n const contextValue = useMemo(\n () => ({ isResponsive: !disableDrawerOnMobile }),\n [disableDrawerOnMobile],\n );\n\n return (\n <DialogContext.Provider value={contextValue}>\n {isMobile && !disableDrawerOnMobile ? (\n <DrawerPrimitive.Root data-slot=\"drawer\" direction=\"bottom\" {...props} />\n ) : (\n <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n )}\n </DialogContext.Provider>\n );\n}\n\nfunction DialogTrigger({\n ...props\n}: ComponentProps<typeof DialogPrimitive.Trigger> &\n ComponentProps<typeof DrawerPrimitive.Trigger>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return <DrawerPrimitive.Trigger data-slot=\"drawer-trigger\" {...props} />;\n }\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({\n ...props\n}: ComponentProps<typeof DialogPrimitive.Portal> & ComponentProps<typeof DrawerPrimitive.Portal>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return <DrawerPrimitive.Portal data-slot=\"drawer-portal\" {...props} />;\n }\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({\n ...props\n}: ComponentProps<typeof DialogPrimitive.Close> & ComponentProps<typeof DrawerPrimitive.Close>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return <DrawerPrimitive.Close data-slot=\"drawer-close\" {...props} />;\n }\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nconst DialogOverlay = forwardRef<\n HTMLDivElement,\n ComponentProps<typeof DialogPrimitive.Overlay> & ComponentProps<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DrawerPrimitive.Overlay\n data-slot=\"drawer-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n }\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n});\n\nconst DialogContent = forwardRef<\n HTMLDivElement,\n ComponentProps<typeof DialogPrimitive.Content> &\n ComponentProps<typeof DrawerPrimitive.Content> & {\n onBackButtonClick?: () => void;\n overlayClassName?: string | undefined;\n }\n>(({ className, children = null, overlayClassName, ...props }, ref) => {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DialogPortal data-slot=\"drawer-portal\">\n <DialogOverlay className={overlayClassName} />\n <DrawerPrimitive.Content\n data-slot=\"drawer-content\"\n className={cn(\n 'group/drawer-content bg-background z-modal-stacking-context fixed flex h-auto flex-col px-4',\n 'data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b',\n 'data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t',\n 'data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-md',\n 'data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm',\n 'max-w-dvw!',\n className,\n )}\n ref={ref}\n {...props}\n >\n {children}\n </DrawerPrimitive.Content>\n </DialogPortal>\n );\n }\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay className={overlayClassName} />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 z-modal-stacking-context fixed top-[50%] left-[50%] grid w-[calc(100%-2rem)] max-w-[34.4rem] translate-x-[-50%] translate-y-[-50%] rounded-lg border border-gray-300 p-6 shadow-sm duration-200',\n className,\n )}\n ref={ref}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n});\n\nfunction DialogHeader({\n className,\n showCloseButton = true,\n ...props\n}: ComponentProps<'div'> & {\n showCloseButton?: boolean;\n}) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <div\n data-slot=\"drawer-header\"\n className={cn('relative flex flex-col gap-0.5 pt-6 pb-4 text-left md:gap-1.5', className)}\n {...props}\n >\n {showCloseButton && (\n <DialogClose asChild>\n <Button className=\"absolute top-5 right-0\" size=\"sm\" variant=\"ghost-icon\">\n <LuX />\n <span className=\"sr-only\">Close dialog</span>\n </Button>\n </DialogClose>\n )}\n {props.children}\n </div>\n );\n }\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn('relative flex flex-col gap-2 pb-4', className)}\n {...props}\n >\n {showCloseButton && (\n <DialogClose asChild>\n <Button className=\"absolute top-0 right-0\" size=\"sm\" variant=\"ghost-icon\">\n <LuX />\n <span className=\"sr-only\">Close dialog</span>\n </Button>\n </DialogClose>\n )}\n {props.children}\n </div>\n );\n}\n\nfunction DialogFooter({ className, ...props }: ComponentProps<'div'>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <div\n data-slot=\"drawer-footer\"\n className={cn('mt-auto flex flex-col gap-2 py-4', className)}\n {...props}\n />\n );\n }\n return (\n <div data-slot=\"dialog-footer\" className={cn('mt-2 flex gap-2 pt-3', className)} {...props} />\n );\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Title> & ComponentProps<typeof DrawerPrimitive.Title>) {\n const { isMobile } = useIsMobile();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DrawerPrimitive.Title\n data-slot=\"drawer-title\"\n className={cn('font-display pr-6 text-3xl', className)}\n {...props}\n />\n );\n }\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn('font-display pr-6 text-3xl leading-none tracking-[0.01rem]', className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Description> &\n ComponentProps<typeof DrawerPrimitive.Description>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DrawerPrimitive.Description\n data-slot=\"drawer-description\"\n className={className}\n {...props}\n />\n );\n }\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a,b,c}from'./chunk-QXJK4OO3.js';import {a as a$2,c as c$1,d,e,f,h}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {a,b,c}from'./chunk-QXJK4OO3.js';import {a as a$2,c as c$1,d,e,f,h}from'./chunk-STIYYCSL.js';import {a as a$1}from'./chunk-YTIIAU4W.js';import {LuSearch,LuChevronsUpDown,LuCheck}from'react-icons/lu';import {useState}from'react';import {jsxs,jsx}from'react/jsx-runtime';var q=({classNames:r=void 0,disabled:w=false,options:t,preSearchOptions:N=void 0,onSearchChange:P=void 0,onChange:k=void 0,onOpenChange:d$1=void 0,placeholder:O="Select an option",searchLabel:L="Search...",notFoundMessage:z="Not found.",value:i=void 0,size:T="default",error:l=false})=>{let[s,p]=useState(false),[I,m]=useState(false),_=I?t:N||t;return jsxs(a,{open:s,onOpenChange:()=>{p(!s),m(false),d$1?.(!s);},children:[jsxs(b,{"aria-invalid":l,disabled:w,className:a$1("focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:border-dark-green inline-flex h-12 w-full shrink-0 cursor-pointer items-center justify-between gap-2 rounded-md border px-4 whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:bg-gray-200 disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-5",T==="sm"&&"py-xs h-8 px-3 [&_svg:not([class*='size-'])]:size-4",r?.trigger),children:[jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[!i&&jsx(LuSearch,{className:a$1(l&&"text-red")}),jsx("span",{className:"block min-w-0 truncate",children:i?t.find(e=>e.value===i)?.label:O})]}),jsx(LuChevronsUpDown,{className:"opacity-50"})]}),jsx(c,{align:"start",className:a$1("w-[var(--radix-popover-trigger-width)] p-0",r?.content),children:jsxs(a$2,{children:[jsx(c$1,{placeholder:L,className:a$1("h-9",r?.input),onValueChange:e=>{m(!!e),P?.(e);}}),jsxs(d,{onWheel:e=>e.stopPropagation(),children:[jsx(e,{children:z}),jsx(f,{children:_.map(e=>jsxs(h,{value:e.value,keywords:[typeof e.label=="string"?e.label:"",e.additionalSearchText??""],onSelect:g=>{k?.(g===i?"":g),p(false),d$1?.(false);},className:r?.item,disabled:e.disabled,children:[e.label,jsx(LuCheck,{className:a$1("ml-auto",i===e.value?"opacity-100":"opacity-0")})]},e.value))})]})]})})]})};export{q as a};//# sourceMappingURL=chunk-74AGGELC.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-74AGGELC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/v2/combobox/combobox.tsx"],"names":["Combobox","classNames","disabled","options","preSearchOptions","onSearchChange","onChange","onOpenChange","placeholder","searchLabel","notFoundMessage","value","size","error","open","setOpen","useState","isSearching","setIsSearching","optionsToDisplay","jsxs","Popover","PopoverTrigger","cn","jsx","LuSearch","item","LuChevronsUpDown","PopoverContent","Command","CommandInput","val","CommandList","CommandEmpty","CommandGroup","CommandItem","currentValue","LuCheck"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/v2/combobox/combobox.tsx"],"names":["Combobox","classNames","disabled","options","preSearchOptions","onSearchChange","onChange","onOpenChange","placeholder","searchLabel","notFoundMessage","value","size","error","open","setOpen","useState","isSearching","setIsSearching","optionsToDisplay","jsxs","Popover","PopoverTrigger","cn","jsx","LuSearch","item","LuChevronsUpDown","PopoverContent","Command","CommandInput","val","CommandList","CommandEmpty","CommandGroup","CommandItem","currentValue","LuCheck"],"mappings":"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","file":"chunk-74AGGELC.js","sourcesContent":["import { LuCheck, LuChevronsUpDown, LuSearch } from 'react-icons/lu';\nimport { useState } from 'react';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/v2/popover/popover';\nimport { cn } from '@/lib/utils';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/v2/command/command';\n\nexport type ComboboxOption = {\n label: string | React.ReactNode;\n value: string;\n additionalSearchText?: string;\n disabled?: boolean;\n};\n\nexport type ComboboxProps = {\n classNames?: {\n content?: string;\n input?: string;\n item?: string;\n trigger?: string;\n };\n disabled?: boolean;\n options: ComboboxOption[];\n preSearchOptions?: ComboboxOption[];\n onSearchChange?: (value: string) => void;\n onChange?: (value: string) => void;\n onOpenChange?: (open: boolean) => void;\n placeholder?: string;\n searchLabel?: string;\n notFoundMessage?: string;\n value?: string;\n size?: 'default' | 'sm';\n error?: boolean;\n};\n\nexport const Combobox = ({\n classNames = undefined,\n disabled = false,\n options,\n preSearchOptions = undefined,\n onSearchChange = undefined,\n onChange = undefined,\n onOpenChange = undefined,\n placeholder = 'Select an option',\n searchLabel = 'Search...',\n notFoundMessage = 'Not found.',\n value = undefined,\n size = 'default',\n error = false,\n}: ComboboxProps) => {\n const [open, setOpen] = useState(false);\n\n // Allow filtering down to just a subset of options before searching\n // NOTE: preSearchOptions is optional, while options is a required prop that we can fallback to\n const [isSearching, setIsSearching] = useState(false);\n const optionsToDisplay = isSearching ? options : preSearchOptions || options;\n\n const handleOpenChange = () => {\n setOpen(!open);\n setIsSearching(false);\n onOpenChange?.(!open);\n };\n\n return (\n <Popover open={open} onOpenChange={handleOpenChange}>\n <PopoverTrigger\n aria-invalid={error}\n disabled={disabled}\n className={cn(\n \"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:border-dark-green inline-flex h-12 w-full shrink-0 cursor-pointer items-center justify-between gap-2 rounded-md border px-4 whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:bg-gray-200 disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-5\",\n size === 'sm' && \"py-xs h-8 px-3 [&_svg:not([class*='size-'])]:size-4\",\n classNames?.trigger,\n )}\n >\n <div className=\"flex min-w-0 flex-1 items-center gap-2\">\n {!value && <LuSearch className={cn(error && 'text-red')} />}\n <span className=\"block min-w-0 truncate\">\n {value ? options.find((item) => item.value === value)?.label : placeholder}\n </span>\n </div>\n <LuChevronsUpDown className=\"opacity-50\" />\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className={cn('w-[var(--radix-popover-trigger-width)] p-0', classNames?.content)}\n >\n <Command>\n <CommandInput\n placeholder={searchLabel}\n className={cn('h-9', classNames?.input)}\n onValueChange={(val) => {\n setIsSearching(!!val);\n onSearchChange?.(val);\n }}\n />\n <CommandList onWheel={(e) => e.stopPropagation()}>\n <CommandEmpty>{notFoundMessage}</CommandEmpty>\n <CommandGroup>\n {optionsToDisplay.map((item) => (\n <CommandItem\n key={item.value}\n value={item.value}\n keywords={[\n typeof item.label === 'string' ? item.label : '',\n item.additionalSearchText ?? '',\n ]}\n onSelect={(currentValue) => {\n onChange?.(currentValue === value ? '' : currentValue);\n setOpen(false);\n onOpenChange?.(false);\n }}\n className={classNames?.item}\n disabled={item.disabled}\n >\n {item.label}\n <LuCheck\n className={cn('ml-auto', value === item.value ? 'opacity-100' : 'opacity-0')}\n />\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n};\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {b,a}from'./chunk-QHNRUAYJ.js';import {a as a$1}from'./chunk-YTIIAU4W.js';import*as u from'react';import {useState,useEffect}from'react';import {cva}from'class-variance-authority';import {HiOutlineExclamationCircle}from'react-icons/hi2';import {LuSearch,LuX,LuClock4}from'react-icons/lu';import {jsxs,jsx}from'react/jsx-runtime';var _=cva(`
|
|
2
|
+
flex items-center h-12 w-full min-w-0 rounded-md border bg-white px-3 py-3 text-base transition-all outline-none
|
|
3
|
+
dark:bg-input/30 border-input shadow-xs
|
|
4
|
+
placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground
|
|
5
|
+
file:inline-flex file:h-6 file:mr-2 file:border-0 file:text-foreground
|
|
6
|
+
disabled:cursor-not-allowed disabled:opacity-50 disabled:pointer-events-none disabled:bg-gray-200
|
|
7
|
+
focus-visible:ring-ring/50 focus-visible:ring-[3px]
|
|
8
|
+
`,{variants:{variant:{default:`
|
|
9
|
+
hover:enabled:border-dark-green
|
|
10
|
+
focus:enabled:border-dark-green
|
|
11
|
+
focus:enabled:shadow-green-300
|
|
12
|
+
focus-within:shadow
|
|
13
|
+
focus-within:shadow-green-300
|
|
14
|
+
focus-visible:border-dark-green
|
|
15
|
+
`,invalid:`
|
|
16
|
+
border-destructive
|
|
17
|
+
hover:border-destructive
|
|
18
|
+
focus:border-destructive
|
|
19
|
+
focus:shadow-red-100
|
|
20
|
+
focus-within:shadow
|
|
21
|
+
focus-within:shadow-red-100
|
|
22
|
+
focus-visible:border-destructive
|
|
23
|
+
aria-invalid:ring-destructive/20
|
|
24
|
+
dark:aria-invalid:ring-destructive/40
|
|
25
|
+
aria-invalid:border-destructive
|
|
26
|
+
`,search:"pr-8 [&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-cancel-button]:display-none",currency:"pl-5"}},defaultVariants:{variant:"default"}}),$={default:{inputType:"text",mask:l=>l},phone:{inputType:"tel",mask:a},"positive-integer":{inputType:"text",inputMode:"numeric",mask:b}},j=u.forwardRef(({className:l,variant:r,type:T,wrapperClassName:C=void 0,label:o,helperText:f,charLength:c,value:t,defaultValue:M,onChange:b,id:F,labelProps:L,format:p="default",...g},E)=>{let i=$[p],a=p!=="default",v=a?i.inputType:T,P=a?i.inputMode:void 0,[m,h]=useState(()=>{let e=t??M??"";return i.mask(e)}),y=F||u.useId(),V=t!==void 0?t:m,w=(()=>{if(t!==void 0)return V;if(a)return m})(),x=String(w??"").length>0,H=String(w??"").length,K=t!==void 0?{value:i.mask(t)}:a?{value:m}:{};useEffect(()=>{a&&t!==void 0&&h(i.mask(t));},[t,p]);let k=e=>{if(a){let I=i.mask(e.target.value);h(I),b?.({...e,target:{...e.target,value:I}});}else b?.(e);},A=e=>{if(a){if(e.metaKey||e.ctrlKey)return;!/[0-9/]/.test(e.key)&&!["Backspace","Delete","ArrowLeft","ArrowRight","Tab"].includes(e.key)&&e.preventDefault();}g.onKeyDown?.(e);};return jsxs("div",{className:a$1("relative w-full",C),children:[o&&(typeof o=="string"?jsx("label",{htmlFor:y,className:"header-xs text-primary mb-2 block font-bold",...L,children:o}):o),jsxs("div",{className:"relative",children:[jsx("input",{ref:E,id:y,type:v,inputMode:P,"data-slot":"input",className:a$1(_({variant:r}),l),onChange:k,onKeyDown:A,...K,...g}),r==="invalid"&&jsx(HiOutlineExclamationCircle,{size:"1.5rem",className:"text-destructive pointer-events-none absolute top-3 right-2"}),r==="search"&&!x&&jsx(LuSearch,{size:"1.25rem",className:"pointer-events-none absolute top-3.5 right-3 text-black"}),r==="search"&&x&&jsx(LuX,{size:"1.25rem",className:"absolute top-3.5 right-3 cursor-pointer text-black","aria-label":"Clear search",role:"button",onClick:()=>{k?.({target:{value:""}});}}),r==="currency"&&jsx("span",{className:"text-muted-foreground pointer-events-none absolute top-[50%] left-2.5 -translate-y-1/2",children:"$"}),v==="time"&&jsx(LuClock4,{size:"1.25rem",className:"text-muted-foreground pointer-events-none absolute top-3.5 right-3"})]}),(f||c)&&jsxs("div",{className:"mt-2 flex items-center justify-between",children:[jsx("span",{className:a$1("text-sm",r==="invalid"?"text-destructive":"text-secondary"),children:f||""}),c&&jsxs("span",{className:a$1("text-sm",r==="invalid"?"text-destructive":"text-secondary"),children:[H,"/",c]})]})]})});j.displayName="Input";export{_ as a,j as b};//# sourceMappingURL=chunk-7QWN4Z56.js.map
|
|
27
|
+
//# sourceMappingURL=chunk-7QWN4Z56.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/v2/input/input.tsx"],"names":["inputVariants","cva","FORMAT_CONFIGS","value","maskPhone","maskPositiveInteger","Input","className","variant","passedType","wrapperClassName","label","helperText","charLength","defaultValue","onChange","id","labelProps","format","props","ref","formatConfig","isFormatted","type","inputMode","internalValue","setInternalValue","useState","initial","inputId","currentValue","displayValue","hasValue","currentLength","valueProps","useEffect","handleChange","formatted","handleKeyDown","jsxs","cn","jsx","HiOutlineExclamationCircle","LuSearch","LuX","LuClock4"],"mappings":"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","file":"chunk-7QWN4Z56.js","sourcesContent":["import * as React from 'react';\nimport { ForwardedRef, useEffect, useState } from 'react';\nimport { cva, VariantProps } from 'class-variance-authority';\nimport { HiOutlineExclamationCircle } from 'react-icons/hi2';\nimport { LuClock4, LuSearch, LuX } from 'react-icons/lu';\n\nimport { cn } from '@/lib/utils';\nimport { maskPhone, maskPositiveInteger } from './formatters';\n\nconst inputVariants = cva(\n `\n flex items-center h-12 w-full min-w-0 rounded-md border bg-white px-3 py-3 text-base transition-all outline-none\n dark:bg-input/30 border-input shadow-xs\n placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground\n file:inline-flex file:h-6 file:mr-2 file:border-0 file:text-foreground\n disabled:cursor-not-allowed disabled:opacity-50 disabled:pointer-events-none disabled:bg-gray-200\n focus-visible:ring-ring/50 focus-visible:ring-[3px] \n `,\n {\n variants: {\n variant: {\n default: `\n hover:enabled:border-dark-green \n focus:enabled:border-dark-green\n focus:enabled:shadow-green-300\n focus-within:shadow\n focus-within:shadow-green-300\n focus-visible:border-dark-green \n `,\n invalid: `\n border-destructive\n hover:border-destructive\n focus:border-destructive\n focus:shadow-red-100\n focus-within:shadow\n focus-within:shadow-red-100\n focus-visible:border-destructive\n aria-invalid:ring-destructive/20\n dark:aria-invalid:ring-destructive/40\n aria-invalid:border-destructive \n `,\n // Hide chrome default search clear button with ::-webkit-search-cancel-button\n search:\n 'pr-8 [&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-cancel-button]:display-none',\n currency: 'pl-5',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\ntype FormatConfig = {\n inputType: React.HTMLInputTypeAttribute;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n mask: (value: string) => string;\n};\n\nexport type InputFormat = 'default' | 'phone' | 'positive-integer';\n\nconst FORMAT_CONFIGS: Record<InputFormat, FormatConfig> = {\n default: {\n inputType: 'text',\n mask: (value) => value,\n },\n phone: {\n inputType: 'tel',\n mask: maskPhone,\n },\n 'positive-integer': {\n inputType: 'text',\n inputMode: 'numeric',\n mask: maskPositiveInteger,\n },\n};\n\nexport type InputProps = React.ComponentProps<'input'> &\n VariantProps<typeof inputVariants> & {\n wrapperClassName?: string;\n label?: React.ReactNode;\n helperText?: string;\n charLength?: number;\n labelProps?: React.ComponentProps<'label'>;\n format?: InputFormat;\n };\n\nconst Input = React.forwardRef(\n (\n {\n className,\n variant,\n type: passedType,\n wrapperClassName = undefined,\n label,\n helperText,\n charLength,\n value,\n defaultValue,\n onChange,\n id,\n labelProps,\n format = 'default',\n ...props\n }: InputProps,\n ref?: ForwardedRef<HTMLInputElement>,\n ) => {\n const formatConfig = FORMAT_CONFIGS[format];\n const isFormatted = format !== 'default';\n const type = isFormatted ? formatConfig.inputType : passedType;\n const inputMode = isFormatted ? formatConfig.inputMode : undefined;\n\n const [internalValue, setInternalValue] = useState<string>(() => {\n const initial = (value ?? defaultValue ?? '') as string;\n return formatConfig.mask(initial);\n });\n\n const inputId = id || React.useId();\n\n const currentValue = value !== undefined ? value : internalValue;\n\n const displayValue = (() => {\n if (value !== undefined) return currentValue;\n if (isFormatted) return internalValue;\n return undefined;\n })();\n\n const hasValue = String(displayValue ?? '').length > 0;\n const currentLength = String(displayValue ?? '').length;\n\n const valueProps = (() => {\n if (value !== undefined) return { value: formatConfig.mask(value as string) };\n if (isFormatted) return { value: internalValue };\n return {};\n })();\n\n useEffect(() => {\n if (isFormatted && value !== undefined) {\n setInternalValue(formatConfig.mask(value as string));\n }\n }, [value, format]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isFormatted) {\n const formatted = formatConfig.mask(e.target.value);\n setInternalValue(formatted);\n onChange?.({ ...e, target: { ...e.target, value: formatted } });\n } else {\n onChange?.(e);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (isFormatted) {\n // Allow events to pass with keyboard shortcuts (Cmd/Ctrl + key)\n if (e.metaKey || e.ctrlKey) {\n return;\n }\n\n if (\n !/[0-9/]/.test(e.key) &&\n !['Backspace', 'Delete', 'ArrowLeft', 'ArrowRight', 'Tab'].includes(e.key)\n ) {\n e.preventDefault();\n }\n }\n props.onKeyDown?.(e);\n };\n\n return (\n <div className={cn('relative w-full', wrapperClassName)}>\n {label &&\n (typeof label === 'string' ? (\n <label\n htmlFor={inputId}\n className=\"header-xs text-primary mb-2 block font-bold\"\n {...labelProps}\n >\n {label}\n </label>\n ) : (\n label\n ))}\n <div className=\"relative\">\n <input\n ref={ref}\n id={inputId}\n type={type}\n inputMode={inputMode}\n data-slot=\"input\"\n className={cn(inputVariants({ variant }), className)}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n {...valueProps}\n {...props}\n />\n {variant === 'invalid' && (\n <HiOutlineExclamationCircle\n size=\"1.5rem\"\n className=\"text-destructive pointer-events-none absolute top-3 right-2\"\n />\n )}\n\n {variant === 'search' && !hasValue && (\n <LuSearch\n size=\"1.25rem\"\n className=\"pointer-events-none absolute top-3.5 right-3 text-black\"\n />\n )}\n {variant === 'search' && hasValue && (\n <LuX\n size=\"1.25rem\"\n className=\"absolute top-3.5 right-3 cursor-pointer text-black\"\n aria-label=\"Clear search\"\n role=\"button\"\n onClick={() => {\n const event = {\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>;\n handleChange?.(event);\n }}\n />\n )}\n {variant === 'currency' && (\n <span className=\"text-muted-foreground pointer-events-none absolute top-[50%] left-2.5 -translate-y-1/2\">\n $\n </span>\n )}\n\n {type === 'time' && (\n <LuClock4\n size=\"1.25rem\"\n className=\"text-muted-foreground pointer-events-none absolute top-3.5 right-3\"\n />\n )}\n </div>\n {(helperText || charLength) && (\n <div className=\"mt-2 flex items-center justify-between\">\n <span\n className={cn(\n 'text-sm',\n variant === 'invalid' ? 'text-destructive' : 'text-secondary',\n )}\n >\n {helperText || ''}\n </span>\n {charLength && (\n <span\n className={cn(\n 'text-sm',\n variant === 'invalid' ? 'text-destructive' : 'text-secondary',\n )}\n >\n {currentLength}/{charLength}\n </span>\n )}\n </div>\n )}\n </div>\n );\n },\n);\n\nInput.displayName = 'Input';\n\nexport { Input, inputVariants };\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var chunkFMFRB4JI_cjs=require('./chunk-FMFRB4JI.cjs'),chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),react=require('react'),lu=require('react-icons/lu'),reactDayPicker=require('react-day-picker'),jsxRuntime=require('react/jsx-runtime');function _({className:n,rootRef:r,...a}){return jsxRuntime.jsx("div",{"data-slot":"calendar",ref:r,className:chunkQRO22BPZ_cjs.a(n),...a})}function v({className:n,orientation:r,...a}){return r==="left"?jsxRuntime.jsx(lu.LuChevronLeft,{className:chunkQRO22BPZ_cjs.a("size-4",n),...a}):r==="right"?jsxRuntime.jsx(lu.LuChevronRight,{className:chunkQRO22BPZ_cjs.a("size-4",n),...a}):jsxRuntime.jsx(lu.LuChevronDown,{className:chunkQRO22BPZ_cjs.a("size-4",n),...a})}function k({children:n,...r}){return jsxRuntime.jsx("td",{...r,children:jsxRuntime.jsx("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:n})})}function z({className:n,day:r,modifiers:a,...o}){let u=reactDayPicker.getDefaultClassNames(),l=react.useRef(null);return react.useEffect(()=>{a.focused&&l.current?.focus();},[a.focused]),jsxRuntime.jsx(chunkFMFRB4JI_cjs.b,{ref:l,variant:"ghost","data-day":r.date.toLocaleDateString(),"data-today":a.today&&!a.selected,"data-selected-single":a.selected&&!a.range_start&&!a.range_end&&!a.range_middle,"data-range-start":a.range_start,"data-range-end":a.range_end,"data-range-middle":a.range_middle,className:chunkQRO22BPZ_cjs.a("text-primary","data-[today=true]:bg-accent","data-[today=true]:text-accent-foreground","data-[today=true]:rounded-md","data-[selected-single=true]:bg-green-800","data-[selected-single=true]:text-primary-foreground","data-[range-start=true]:bg-green-800","data-[range-start=true]:text-primary-foreground","data-[range-end=true]:bg-green-800","data-[range-end=true]:text-primary-foreground","data-[range-middle=true]:bg-green-300","data-[range-middle=true]:text-black","data-[range-start=true]:rounded-md","data-[range-start=true]:rounded-l-md","data-[range-end=true]:rounded-md","data-[range-end=true]:rounded-r-md","data-[range-middle=true]:rounded-none","group-data-[focused=true]/day:relative","group-data-[focused=true]/day:z-10","group-data-[focused=true]/day:border-ring","group-data-[focused=true]/day:ring-[3px]","group-data-[focused=true]/day:ring-ring/50","hover:bg-green-100","dark:hover:text-accent-foreground","flex","aspect-square","size-auto","w-full","min-w-(--cell-size)","flex-col","gap-1","leading-none","font-normal","h-9","[&>span]:text-xs","[&>span]:opacity-70",u.day,n),...o})}function E({className:n,classNames:r,showOutsideDays:a=true,captionLayout:o="dropdown",buttonVariant:u="ghost",formatters:l,components:f,...s}){let t=reactDayPicker.getDefaultClassNames();return jsxRuntime.jsx(reactDayPicker.DayPicker,{showOutsideDays:a,className:chunkQRO22BPZ_cjs.a("bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,n),captionLayout:o,endMonth:new Date(new Date().getFullYear()+10,11),formatters:{formatMonthDropdown:m=>m.toLocaleString("default",{month:"short"}),...l},classNames:{root:chunkQRO22BPZ_cjs.a("w-fit",t.root),months:chunkQRO22BPZ_cjs.a("relative flex flex-col gap-4 md:flex-row",t.months),month:chunkQRO22BPZ_cjs.a("flex w-full flex-col gap-4",t.month),nav:chunkQRO22BPZ_cjs.a("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",t.nav),button_previous:chunkQRO22BPZ_cjs.a(chunkFMFRB4JI_cjs.a({variant:u}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",t.button_previous),button_next:chunkQRO22BPZ_cjs.a(chunkFMFRB4JI_cjs.a({variant:u}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",t.button_next),month_caption:chunkQRO22BPZ_cjs.a("flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",t.month_caption),dropdowns:chunkQRO22BPZ_cjs.a("flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium",t.dropdowns),dropdown_root:chunkQRO22BPZ_cjs.a("has-focus:border-ring border-input has-focus:ring-ring/50 relative rounded-md border shadow-xs has-focus:ring-[3px]",t.dropdown_root),dropdown:chunkQRO22BPZ_cjs.a("absolute inset-0 opacity-0",t.dropdown),caption_label:chunkQRO22BPZ_cjs.a("font-bold select-none",o==="label"?"text-base":"[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-base [&>svg]:size-3.5",t.caption_label),table:"w-full border-collapse",weekdays:chunkQRO22BPZ_cjs.a("flex",t.weekdays),weekday:chunkQRO22BPZ_cjs.a("text-muted-foreground flex-1 rounded-md text-[0.8rem] font-normal select-none",t.weekday),week:chunkQRO22BPZ_cjs.a("mt-2 flex w-full",t.week),week_number_header:chunkQRO22BPZ_cjs.a("w-(--cell-size) select-none",t.week_number_header),week_number:chunkQRO22BPZ_cjs.a("text-muted-foreground text-[0.8rem] select-none",t.week_number),day:chunkQRO22BPZ_cjs.a("group/day relative aspect-square h-full w-full p-0 text-center select-none [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md",t.day),range_start:chunkQRO22BPZ_cjs.a("bg-accent rounded-l-md",t.range_start),range_middle:chunkQRO22BPZ_cjs.a("rounded-none",t.range_middle),range_end:chunkQRO22BPZ_cjs.a("bg-accent rounded-r-md",t.range_end),today:chunkQRO22BPZ_cjs.a(t.today),outside:chunkQRO22BPZ_cjs.a("text-muted-foreground aria-selected:text-muted-foreground",t.outside),disabled:chunkQRO22BPZ_cjs.a("text-muted-foreground opacity-50",t.disabled),hidden:chunkQRO22BPZ_cjs.a("invisible",t.hidden),...r},components:{Root:_,Chevron:v,DayButton:z,WeekNumber:k,...f},defaultMonth:s.mode==="single"?s.selected:void 0,...s})}exports.a=z;exports.b=E;//# sourceMappingURL=chunk-DJ5RP6A2.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-DJ5RP6A2.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/v2/calendar/calendar.tsx"],"names":["CalendarRoot","className","rootRef","props","jsx","cn","CalendarChevron","orientation","LuChevronLeft","LuChevronRight","LuChevronDown","CalendarWeekNumber","children","CalendarDayButton","day","modifiers","defaultClassNames","getDefaultClassNames","ref","useRef","useEffect","Button","Calendar","classNames","showOutsideDays","captionLayout","buttonVariant","formatters","components","DayPicker","date","buttonVariants"],"mappings":"4PAOA,SAASA,CAAAA,CAAa,CACpB,SAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAGoC,CAClC,OAAOC,cAAAA,CAAC,KAAA,CAAA,CAAI,WAAA,CAAU,UAAA,CAAW,GAAA,CAAKF,CAAAA,CAAS,SAAA,CAAWG,mBAAAA,CAAGJ,CAAS,CAAA,CAAI,GAAGE,CAAAA,CAAO,CACtF,CAEA,SAASG,CAAAA,CAAgB,CACvB,SAAA,CAAAL,CAAAA,CACA,WAAA,CAAAM,CAAAA,CACA,GAAGJ,CACL,CAAA,CAKG,CACD,OAAII,CAAAA,GAAgB,OACXH,cAAAA,CAACI,gBAAAA,CAAA,CAAc,SAAA,CAAWH,mBAAAA,CAAG,QAAA,CAAUJ,CAAS,CAAA,CAAI,GAAGE,CAAAA,CAAO,CAAA,CAGnEI,CAAAA,GAAgB,OAAA,CACXH,cAAAA,CAACK,iBAAAA,CAAA,CAAe,SAAA,CAAWJ,mBAAAA,CAAG,QAAA,CAAUJ,CAAS,CAAA,CAAI,GAAGE,CAAAA,CAAO,CAAA,CAGjEC,cAAAA,CAACM,gBAAAA,CAAA,CAAc,SAAA,CAAWL,mBAAAA,CAAG,QAAA,CAAUJ,CAAS,CAAA,CAAI,GAAGE,CAAAA,CAAO,CACvE,CAEA,SAASQ,CAAAA,CAAmB,CAAE,QAAA,CAAAC,CAAAA,CAAU,GAAGT,CAAM,CAAA,CAA+C,CAC9F,OACEC,cAAAA,CAAC,IAAA,CAAA,CAAI,GAAGD,CAAAA,CACN,QAAA,CAAAC,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,iEAAA,CACZ,QAAA,CAAAQ,CAAAA,CACH,CAAA,CACF,CAEJ,CAEA,SAASC,CAAAA,CAAkB,CACzB,SAAA,CAAAZ,CAAAA,CACA,GAAA,CAAAa,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,GAAGZ,CACL,CAAA,CAAqC,CACnC,IAAMa,CAAAA,CAAoBC,mCAAAA,EAAqB,CAEzCC,CAAAA,CAAMC,YAAAA,CAA0B,IAAI,CAAA,CAC1C,OAAAC,eAAAA,CAAU,IAAM,CACVL,CAAAA,CAAU,OAAA,EAASG,CAAAA,CAAI,OAAA,EAAS,KAAA,GACtC,CAAA,CAAG,CAACH,CAAAA,CAAU,OAAO,CAAC,CAAA,CAGpBX,cAAAA,CAACiB,mBAAAA,CAAA,CACC,GAAA,CAAKH,CAAAA,CACL,OAAA,CAAQ,OAAA,CACR,UAAA,CAAUJ,CAAAA,CAAI,IAAA,CAAK,kBAAA,EAAmB,CACtC,YAAA,CAAYC,CAAAA,CAAU,KAAA,EAAS,CAACA,CAAAA,CAAU,QAAA,CAC1C,sBAAA,CACEA,CAAAA,CAAU,QAAA,EACV,CAACA,CAAAA,CAAU,WAAA,EACX,CAACA,CAAAA,CAAU,SAAA,EACX,CAACA,CAAAA,CAAU,YAAA,CAEb,kBAAA,CAAkBA,CAAAA,CAAU,WAAA,CAC5B,gBAAA,CAAgBA,CAAAA,CAAU,SAAA,CAC1B,mBAAA,CAAmBA,CAAAA,CAAU,YAAA,CAC7B,SAAA,CAAWV,mBAAAA,CACT,cAAA,CAGA,6BAAA,CACA,0CAAA,CACA,8BAAA,CACA,0CAAA,CACA,qDAAA,CACA,sCAAA,CACA,iDAAA,CACA,oCAAA,CACA,+CAAA,CACA,uCAAA,CACA,qCAAA,CAGA,oCAAA,CACA,sCAAA,CACA,kCAAA,CACA,oCAAA,CACA,uCAAA,CAGA,wCAAA,CACA,oCAAA,CACA,2CAAA,CACA,0CAAA,CACA,4CAAA,CAGA,oBAAA,CACA,mCAAA,CAGA,MAAA,CACA,eAAA,CACA,WAAA,CACA,QAAA,CACA,qBAAA,CACA,UAAA,CACA,OAAA,CACA,cAAA,CACA,aAAA,CACA,KAAA,CACA,kBAAA,CACA,qBAAA,CACAW,CAAAA,CAAkB,GAAA,CAClBf,CACF,CAAA,CACC,GAAGE,CAAAA,CACN,CAEJ,CAEA,SAASmB,CAAAA,CAAS,CAChB,SAAA,CAAArB,CAAAA,CACA,UAAA,CAAAsB,CAAAA,CACA,gBAAAC,CAAAA,CAAkB,IAAA,CAClB,aAAA,CAAAC,CAAAA,CAAgB,UAAA,CAChB,aAAA,CAAAC,CAAAA,CAAgB,OAAA,CAChB,UAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,GAAGzB,CACL,CAAA,CAEG,CACD,IAAMa,CAAAA,CAAoBC,mCAAAA,EAAqB,CAE/C,OACEb,cAAAA,CAACyB,wBAAAA,CAAA,CACC,eAAA,CAAiBL,CAAAA,CACjB,SAAA,CAAWnB,mBAAAA,CACT,wJAAA,CACA,MAAA,CAAO,GAAA,CAAA,yCAAA,CAAA,CACP,MAAA,CAAO,GAAA,CAAA,6CAAA,CAAA,CACPJ,CACF,CAAA,CACA,aAAA,CAAewB,CAAAA,CACf,QAAA,CAAU,IAAI,IAAA,CAAK,IAAI,IAAA,EAAK,CAAE,WAAA,EAAY,CAAI,EAAA,CAAI,EAAE,CAAA,CACpD,UAAA,CAAY,CACV,mBAAA,CAAsBK,CAAAA,EAASA,CAAAA,CAAK,cAAA,CAAe,SAAA,CAAW,CAAE,KAAA,CAAO,OAAQ,CAAC,CAAA,CAChF,GAAGH,CACL,CAAA,CACA,UAAA,CAAY,CACV,IAAA,CAAMtB,mBAAAA,CAAG,OAAA,CAASW,CAAAA,CAAkB,IAAI,CAAA,CACxC,MAAA,CAAQX,mBAAAA,CAAG,0CAAA,CAA4CW,CAAAA,CAAkB,MAAM,CAAA,CAC/E,KAAA,CAAOX,mBAAAA,CAAG,4BAAA,CAA8BW,CAAAA,CAAkB,KAAK,CAAA,CAC/D,GAAA,CAAKX,mBAAAA,CACH,yEAAA,CACAW,CAAAA,CAAkB,GACpB,CAAA,CACA,eAAA,CAAiBX,mBAAAA,CACf0B,mBAAAA,CAAe,CAAE,OAAA,CAASL,CAAc,CAAC,CAAA,CACzC,6DAAA,CACAV,CAAAA,CAAkB,eACpB,CAAA,CACA,WAAA,CAAaX,mBAAAA,CACX0B,mBAAAA,CAAe,CAAE,OAAA,CAASL,CAAc,CAAC,CAAA,CACzC,6DAAA,CACAV,CAAAA,CAAkB,WACpB,CAAA,CACA,aAAA,CAAeX,mBAAAA,CACb,0EAAA,CACAW,CAAAA,CAAkB,aACpB,CAAA,CACA,SAAA,CAAWX,mBAAAA,CACT,qFAAA,CACAW,CAAAA,CAAkB,SACpB,CAAA,CACA,aAAA,CAAeX,oBACb,qHAAA,CACAW,CAAAA,CAAkB,aACpB,CAAA,CACA,QAAA,CAAUX,mBAAAA,CAAG,4BAAA,CAA8BW,CAAAA,CAAkB,QAAQ,CAAA,CACrE,aAAA,CAAeX,mBAAAA,CACb,uBAAA,CACAoB,CAAAA,GAAkB,OAAA,CACd,WAAA,CACA,2GAAA,CACJT,CAAAA,CAAkB,aACpB,CAAA,CACA,KAAA,CAAO,wBAAA,CACP,QAAA,CAAUX,mBAAAA,CAAG,MAAA,CAAQW,CAAAA,CAAkB,QAAQ,CAAA,CAC/C,OAAA,CAASX,mBAAAA,CACP,+EAAA,CACAW,CAAAA,CAAkB,OACpB,CAAA,CACA,IAAA,CAAMX,mBAAAA,CAAG,kBAAA,CAAoBW,CAAAA,CAAkB,IAAI,CAAA,CACnD,kBAAA,CAAoBX,mBAAAA,CAAG,6BAAA,CAA+BW,CAAAA,CAAkB,kBAAkB,CAAA,CAC1F,WAAA,CAAaX,mBAAAA,CACX,iDAAA,CACAW,CAAAA,CAAkB,WACpB,CAAA,CACA,GAAA,CAAKX,mBAAAA,CACH,2LAAA,CACAW,CAAAA,CAAkB,GACpB,CAAA,CACA,WAAA,CAAaX,mBAAAA,CAAG,wBAAA,CAA0BW,CAAAA,CAAkB,WAAW,CAAA,CACvE,YAAA,CAAcX,mBAAAA,CAAG,cAAA,CAAgBW,CAAAA,CAAkB,YAAY,CAAA,CAC/D,SAAA,CAAWX,mBAAAA,CAAG,wBAAA,CAA0BW,CAAAA,CAAkB,SAAS,CAAA,CACnE,KAAA,CAAOX,mBAAAA,CAAGW,CAAAA,CAAkB,KAAK,CAAA,CACjC,OAAA,CAASX,mBAAAA,CACP,2DAAA,CACAW,CAAAA,CAAkB,OACpB,CAAA,CACA,QAAA,CAAUX,mBAAAA,CAAG,kCAAA,CAAoCW,CAAAA,CAAkB,QAAQ,CAAA,CAC3E,MAAA,CAAQX,mBAAAA,CAAG,WAAA,CAAaW,CAAAA,CAAkB,MAAM,CAAA,CAChD,GAAGO,CACL,CAAA,CACA,UAAA,CAAY,CACV,IAAA,CAAMvB,CAAAA,CACN,OAAA,CAASM,CAAAA,CACT,SAAA,CAAWO,CAAAA,CACX,UAAA,CAAYF,CAAAA,CACZ,GAAGiB,CACL,CAAA,CACA,YAAA,CAAczB,CAAAA,CAAM,IAAA,GAAS,QAAA,CAAWA,CAAAA,CAAM,QAAA,CAAW,MAAA,CACxD,GAAGA,CAAAA,CACN,CAEJ","file":"chunk-2BUA2PCN.cjs","sourcesContent":["import { ComponentProps, HTMLAttributes, Ref, useEffect, useRef } from 'react';\nimport { LuChevronDown, LuChevronLeft, LuChevronRight } from 'react-icons/lu';\nimport { DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker';\n\nimport { cn } from '@/lib/utils';\nimport { Button, buttonVariants } from '../button/button';\n\nfunction CalendarRoot({\n className,\n rootRef,\n ...props\n}: {\n className?: string;\n rootRef?: Ref<HTMLDivElement>;\n} & HTMLAttributes<HTMLDivElement>) {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />;\n}\n\nfunction CalendarChevron({\n className,\n orientation,\n ...props\n}: {\n className?: string | undefined;\n size?: number | undefined;\n disabled?: boolean | undefined;\n orientation?: 'left' | 'right' | 'down' | 'up' | undefined;\n}) {\n if (orientation === 'left') {\n return <LuChevronLeft className={cn('size-4', className)} {...props} />;\n }\n\n if (orientation === 'right') {\n return <LuChevronRight className={cn('size-4', className)} {...props} />;\n }\n\n return <LuChevronDown className={cn('size-4', className)} {...props} />;\n}\n\nfunction CalendarWeekNumber({ children, ...props }: React.HTMLAttributes<HTMLTableCellElement>) {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n );\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = useRef<HTMLButtonElement>(null);\n useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n data-day={day.date.toLocaleDateString()}\n data-today={modifiers.today && !modifiers.selected}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'text-primary',\n\n // State-based styling for selected and ranged dates\n 'data-[today=true]:bg-accent',\n 'data-[today=true]:text-accent-foreground',\n 'data-[today=true]:rounded-md',\n 'data-[selected-single=true]:bg-green-800',\n 'data-[selected-single=true]:text-primary-foreground',\n 'data-[range-start=true]:bg-green-800',\n 'data-[range-start=true]:text-primary-foreground',\n 'data-[range-end=true]:bg-green-800',\n 'data-[range-end=true]:text-primary-foreground',\n 'data-[range-middle=true]:bg-green-300',\n 'data-[range-middle=true]:text-black',\n\n // Rounded corners for range positioning\n 'data-[range-start=true]:rounded-md',\n 'data-[range-start=true]:rounded-l-md',\n 'data-[range-end=true]:rounded-md',\n 'data-[range-end=true]:rounded-r-md',\n 'data-[range-middle=true]:rounded-none',\n\n // Focus/Interaction states\n 'group-data-[focused=true]/day:relative',\n 'group-data-[focused=true]/day:z-10',\n 'group-data-[focused=true]/day:border-ring',\n 'group-data-[focused=true]/day:ring-[3px]',\n 'group-data-[focused=true]/day:ring-ring/50',\n\n // Hover\n 'hover:bg-green-100',\n 'dark:hover:text-accent-foreground',\n\n // Layout and spacing\n 'flex',\n 'aspect-square',\n 'size-auto',\n 'w-full',\n 'min-w-(--cell-size)',\n 'flex-col',\n 'gap-1',\n 'leading-none',\n 'font-normal',\n 'h-9',\n '[&>span]:text-xs',\n '[&>span]:opacity-70',\n defaultClassNames.day,\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'dropdown',\n buttonVariant = 'ghost',\n formatters,\n components,\n ...props\n}: ComponentProps<typeof DayPicker> & {\n buttonVariant?: ComponentProps<typeof Button>['variant'];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n 'bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className,\n )}\n captionLayout={captionLayout}\n endMonth={new Date(new Date().getFullYear() + 10, 11)} // Ensure that user can navigate past current year (just kick it out 10 years)\n formatters={{\n formatMonthDropdown: (date) => date.toLocaleString('default', { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn('w-fit', defaultClassNames.root),\n months: cn('relative flex flex-col gap-4 md:flex-row', defaultClassNames.months),\n month: cn('flex w-full flex-col gap-4', defaultClassNames.month),\n nav: cn(\n 'absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1',\n defaultClassNames.nav,\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n 'size-(--cell-size) p-0 select-none aria-disabled:opacity-50',\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n 'size-(--cell-size) p-0 select-none aria-disabled:opacity-50',\n defaultClassNames.button_next,\n ),\n month_caption: cn(\n 'flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)',\n defaultClassNames.month_caption,\n ),\n dropdowns: cn(\n 'flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium',\n defaultClassNames.dropdowns,\n ),\n dropdown_root: cn(\n 'has-focus:border-ring border-input has-focus:ring-ring/50 relative rounded-md border shadow-xs has-focus:ring-[3px]',\n defaultClassNames.dropdown_root,\n ),\n dropdown: cn('absolute inset-0 opacity-0', defaultClassNames.dropdown),\n caption_label: cn(\n 'font-bold select-none',\n captionLayout === 'label'\n ? 'text-base'\n : '[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-base [&>svg]:size-3.5',\n defaultClassNames.caption_label,\n ),\n table: 'w-full border-collapse',\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn(\n 'text-muted-foreground flex-1 rounded-md text-[0.8rem] font-normal select-none',\n defaultClassNames.weekday,\n ),\n week: cn('mt-2 flex w-full', defaultClassNames.week),\n week_number_header: cn('w-(--cell-size) select-none', defaultClassNames.week_number_header),\n week_number: cn(\n 'text-muted-foreground text-[0.8rem] select-none',\n defaultClassNames.week_number,\n ),\n day: cn(\n 'group/day relative aspect-square h-full w-full p-0 text-center select-none [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md',\n defaultClassNames.day,\n ),\n range_start: cn('bg-accent rounded-l-md', defaultClassNames.range_start),\n range_middle: cn('rounded-none', defaultClassNames.range_middle),\n range_end: cn('bg-accent rounded-r-md', defaultClassNames.range_end),\n today: cn(defaultClassNames.today),\n outside: cn(\n 'text-muted-foreground aria-selected:text-muted-foreground',\n defaultClassNames.outside,\n ),\n disabled: cn('text-muted-foreground opacity-50', defaultClassNames.disabled),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: CalendarRoot,\n Chevron: CalendarChevron,\n DayButton: CalendarDayButton,\n WeekNumber: CalendarWeekNumber,\n ...components,\n }}\n defaultMonth={props.mode === 'single' ? props.selected : undefined}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/v2/calendar/calendar.tsx"],"names":["CalendarRoot","className","rootRef","props","jsx","cn","CalendarChevron","orientation","LuChevronLeft","LuChevronRight","LuChevronDown","CalendarWeekNumber","children","CalendarDayButton","day","modifiers","defaultClassNames","getDefaultClassNames","ref","useRef","useEffect","Button","Calendar","classNames","showOutsideDays","captionLayout","buttonVariant","formatters","components","DayPicker","date","buttonVariants"],"mappings":"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","file":"chunk-DJ5RP6A2.cjs","sourcesContent":["import { ComponentProps, HTMLAttributes, Ref, useEffect, useRef } from 'react';\nimport { LuChevronDown, LuChevronLeft, LuChevronRight } from 'react-icons/lu';\nimport { DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker';\n\nimport { cn } from '@/lib/utils';\nimport { Button, buttonVariants } from '../button/button';\n\nfunction CalendarRoot({\n className,\n rootRef,\n ...props\n}: {\n className?: string;\n rootRef?: Ref<HTMLDivElement>;\n} & HTMLAttributes<HTMLDivElement>) {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />;\n}\n\nfunction CalendarChevron({\n className,\n orientation,\n ...props\n}: {\n className?: string | undefined;\n size?: number | undefined;\n disabled?: boolean | undefined;\n orientation?: 'left' | 'right' | 'down' | 'up' | undefined;\n}) {\n if (orientation === 'left') {\n return <LuChevronLeft className={cn('size-4', className)} {...props} />;\n }\n\n if (orientation === 'right') {\n return <LuChevronRight className={cn('size-4', className)} {...props} />;\n }\n\n return <LuChevronDown className={cn('size-4', className)} {...props} />;\n}\n\nfunction CalendarWeekNumber({ children, ...props }: React.HTMLAttributes<HTMLTableCellElement>) {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n );\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = useRef<HTMLButtonElement>(null);\n useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n data-day={day.date.toLocaleDateString()}\n data-today={modifiers.today && !modifiers.selected}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'text-primary',\n\n // State-based styling for selected and ranged dates\n 'data-[today=true]:bg-accent',\n 'data-[today=true]:text-accent-foreground',\n 'data-[today=true]:rounded-md',\n 'data-[selected-single=true]:bg-green-800',\n 'data-[selected-single=true]:text-primary-foreground',\n 'data-[range-start=true]:bg-green-800',\n 'data-[range-start=true]:text-primary-foreground',\n 'data-[range-end=true]:bg-green-800',\n 'data-[range-end=true]:text-primary-foreground',\n 'data-[range-middle=true]:bg-green-300',\n 'data-[range-middle=true]:text-black',\n\n // Rounded corners for range positioning\n 'data-[range-start=true]:rounded-md',\n 'data-[range-start=true]:rounded-l-md',\n 'data-[range-end=true]:rounded-md',\n 'data-[range-end=true]:rounded-r-md',\n 'data-[range-middle=true]:rounded-none',\n\n // Focus/Interaction states\n 'group-data-[focused=true]/day:relative',\n 'group-data-[focused=true]/day:z-10',\n 'group-data-[focused=true]/day:border-ring',\n 'group-data-[focused=true]/day:ring-[3px]',\n 'group-data-[focused=true]/day:ring-ring/50',\n\n // Hover\n 'hover:bg-green-100',\n 'dark:hover:text-accent-foreground',\n\n // Layout and spacing\n 'flex',\n 'aspect-square',\n 'size-auto',\n 'w-full',\n 'min-w-(--cell-size)',\n 'flex-col',\n 'gap-1',\n 'leading-none',\n 'font-normal',\n 'h-9',\n '[&>span]:text-xs',\n '[&>span]:opacity-70',\n defaultClassNames.day,\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'dropdown',\n buttonVariant = 'ghost',\n formatters,\n components,\n ...props\n}: ComponentProps<typeof DayPicker> & {\n buttonVariant?: ComponentProps<typeof Button>['variant'];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n 'bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className,\n )}\n captionLayout={captionLayout}\n endMonth={new Date(new Date().getFullYear() + 10, 11)} // Ensure that user can navigate past current year (just kick it out 10 years)\n formatters={{\n formatMonthDropdown: (date) => date.toLocaleString('default', { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn('w-fit', defaultClassNames.root),\n months: cn('relative flex flex-col gap-4 md:flex-row', defaultClassNames.months),\n month: cn('flex w-full flex-col gap-4', defaultClassNames.month),\n nav: cn(\n 'absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1',\n defaultClassNames.nav,\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n 'size-(--cell-size) p-0 select-none aria-disabled:opacity-50',\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n 'size-(--cell-size) p-0 select-none aria-disabled:opacity-50',\n defaultClassNames.button_next,\n ),\n month_caption: cn(\n 'flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)',\n defaultClassNames.month_caption,\n ),\n dropdowns: cn(\n 'flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium',\n defaultClassNames.dropdowns,\n ),\n dropdown_root: cn(\n 'has-focus:border-ring border-input has-focus:ring-ring/50 relative rounded-md border shadow-xs has-focus:ring-[3px]',\n defaultClassNames.dropdown_root,\n ),\n dropdown: cn('absolute inset-0 opacity-0', defaultClassNames.dropdown),\n caption_label: cn(\n 'font-bold select-none',\n captionLayout === 'label'\n ? 'text-base'\n : '[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-base [&>svg]:size-3.5',\n defaultClassNames.caption_label,\n ),\n table: 'w-full border-collapse',\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn(\n 'text-muted-foreground flex-1 rounded-md text-[0.8rem] font-normal select-none',\n defaultClassNames.weekday,\n ),\n week: cn('mt-2 flex w-full', defaultClassNames.week),\n week_number_header: cn('w-(--cell-size) select-none', defaultClassNames.week_number_header),\n week_number: cn(\n 'text-muted-foreground text-[0.8rem] select-none',\n defaultClassNames.week_number,\n ),\n day: cn(\n 'group/day relative aspect-square h-full w-full p-0 text-center select-none [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md',\n defaultClassNames.day,\n ),\n range_start: cn('bg-accent rounded-l-md', defaultClassNames.range_start),\n range_middle: cn('rounded-none', defaultClassNames.range_middle),\n range_end: cn('bg-accent rounded-r-md', defaultClassNames.range_end),\n today: cn(defaultClassNames.today),\n outside: cn(\n 'text-muted-foreground aria-selected:text-muted-foreground',\n defaultClassNames.outside,\n ),\n disabled: cn('text-muted-foreground opacity-50', defaultClassNames.disabled),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: CalendarRoot,\n Chevron: CalendarChevron,\n DayButton: CalendarDayButton,\n WeekNumber: CalendarWeekNumber,\n ...components,\n }}\n defaultMonth={props.mode === 'single' ? props.selected : undefined}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a as a$3}from'./chunk-4GCD4SP5.js';import {a as a$4}from'./chunk-274XPO4S.js';import {a as a$5}from'./chunk-XJ7ZDJZG.js';import {a as a$8}from'./chunk-ZF7TZTE3.js';import {a as a$7}from'./chunk-44OJTSLO.js';import {a as a$2}from'./chunk-HDSZKGQO.js';import {a as a$1}from'./chunk-Q27GDY4Y.js';import {a}from'./chunk-7GJG2HUA.js';import {a as a$9}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {a as a$3}from'./chunk-4GCD4SP5.js';import {a as a$4}from'./chunk-274XPO4S.js';import {a as a$5}from'./chunk-XJ7ZDJZG.js';import {a as a$8}from'./chunk-ZF7TZTE3.js';import {a as a$7}from'./chunk-44OJTSLO.js';import {a as a$2}from'./chunk-HDSZKGQO.js';import {a as a$1}from'./chunk-Q27GDY4Y.js';import {a}from'./chunk-7GJG2HUA.js';import {a as a$9}from'./chunk-OYN4D5J3.js';import {a as a$6}from'./chunk-STIYYCSL.js';import {a as a$a}from'./chunk-YTIIAU4W.js';import {forwardRef,useImperativeHandle,useCallback}from'react';import {jsxs,jsx}from'react/jsx-runtime';var ae=forwardRef((C,P)=>{let{id:x,value:s,onChange:D,placeholder:F,defaultOptions:T=[],options:K=[],delay:V,onSearch:n,triggerSearchOnOpen:W,loading:B=false,loadingIndicator:E,emptyIndicator:H,maxSelected:k=0,onMaxSelected:q,hidePlaceholderWhenSelected:L=true,disabled:a$b,className:Y,classNames:z,badgeWrapperClassName:A,badgeClassName:G,getBadgeClassName:J=()=>"",selectFirstItem:Q=true,commandProps:e,inputProps:U,persistInputOnSelect:X=false,persistInputOnBlur:Z=false}=C,{inputRef:t,commandRef:c,onSearchRef:_,scrollbarRef:u,prevExternalOptionsRef:$}=a({onSearch:n}),{uniqueId:p,open:o,setOpen:m,selected:r,setSelected:l,options:j,setOptions:ee,inputSearchValue:te,setInputSearchValue:d,debouncedSearchTerm:re}=a$1({id:x,value:s,defaultOptions:T,delay:V}),{toggleOption:f,handleKeyDown:oe}=a$2({open:o,selected:r,maxSelected:k,onChange:D,onMaxSelected:q,setInputSearchValue:d,commandRef:c,inputRef:t,setSelected:l,setOpen:m,persistInputOnSelect:X});a$3({debouncedSearchTerm:re,open:o,onSearchRef:_,triggerSearchOnOpen:W}),a$4({externalOptions:K,setOptions:ee,prevExternalOptionsRef:$}),a$5({value:s,setSelected:l}),useImperativeHandle(P,()=>({selectedValue:[...r],input:t.current,focus:()=>t?.current?.focus(),reset:()=>l([])}),[r,t,l]);let le=useCallback(()=>{if(e?.filter)return e.filter},[e?.filter]);return jsxs(a$6,{ref:c,...e,onKeyDown:S=>{oe(S),e?.onKeyDown?.(S);},className:a$a("h-auto overflow-visible bg-transparent",e?.className),shouldFilter:e?.shouldFilter!==void 0?e.shouldFilter:!n,filter:le(),children:[jsx(a$7,{open:o,disabled:a$b,inputRef:t,selected:r,uniqueId:p,className:Y,children:jsx(a$8,{selected:r,scrollbarRef:u,toggleOption:f,inputProps:U,inputRef:t,open:o,setOpen:m,placeholder:F,hidePlaceholderWhenSelected:L,disabled:a$b,classNames:z,badgeWrapperClassName:A,badgeClassName:G,getBadgeClassName:J,inputSearchValue:te,setInputSearchValue:d,persistInputOnBlur:Z})}),jsx(a$9,{uniqueId:p,scrollbarRef:u,open:o,loading:B,options:j,selected:r,toggleOption:f,onSearch:n,inputRef:t,emptyIndicator:H,loadingIndicator:E,selectFirstItem:Q})]})});ae.displayName="MultiSelect";export{ae as a};//# sourceMappingURL=chunk-EJBXIBM4.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-EJBXIBM4.js.map
|