ml-uikit 1.1.7 → 1.1.8
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/dist/components/ui/password-input.d.ts +9 -0
- package/dist/components/ui/password-input.d.ts.map +1 -0
- package/dist/components/ui/searchable-dropdown.d.ts +22 -0
- package/dist/components/ui/searchable-dropdown.d.ts.map +1 -0
- package/dist/components/ui/table.d.ts +5 -1
- package/dist/components/ui/table.d.ts.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs10.js +1 -1
- package/dist/index.cjs10.js.map +1 -1
- package/dist/index.cjs11.js +1 -1
- package/dist/index.cjs11.js.map +1 -1
- package/dist/index.cjs12.js +1 -1
- package/dist/index.cjs12.js.map +1 -1
- package/dist/index.cjs13.js +1 -1
- package/dist/index.cjs13.js.map +1 -1
- package/dist/index.cjs14.js +1 -1
- package/dist/index.cjs14.js.map +1 -1
- package/dist/index.cjs15.js +1 -1
- package/dist/index.cjs15.js.map +1 -1
- package/dist/index.cjs16.js +4 -4
- package/dist/index.cjs16.js.map +1 -1
- package/dist/index.cjs17.js +1 -1
- package/dist/index.cjs17.js.map +1 -1
- package/dist/index.cjs19.js +1 -1
- package/dist/index.cjs19.js.map +1 -1
- package/dist/index.cjs2.js +1 -1
- package/dist/index.cjs2.js.map +1 -1
- package/dist/index.cjs20.js +1 -1
- package/dist/index.cjs20.js.map +1 -1
- package/dist/index.cjs21.js +1 -1
- package/dist/index.cjs21.js.map +1 -1
- package/dist/index.cjs22.js +1 -1
- package/dist/index.cjs22.js.map +1 -1
- package/dist/index.cjs23.js +1 -1
- package/dist/index.cjs23.js.map +1 -1
- package/dist/index.cjs24.js +1 -1
- package/dist/index.cjs24.js.map +1 -1
- package/dist/index.cjs25.js +1 -1
- package/dist/index.cjs25.js.map +1 -1
- package/dist/index.cjs26.js +1 -1
- package/dist/index.cjs26.js.map +1 -1
- package/dist/index.cjs27.js +1 -1
- package/dist/index.cjs27.js.map +1 -1
- package/dist/index.cjs28.js +1 -1
- package/dist/index.cjs28.js.map +1 -1
- package/dist/index.cjs29.js +1 -1
- package/dist/index.cjs29.js.map +1 -1
- package/dist/index.cjs3.js +1 -1
- package/dist/index.cjs3.js.map +1 -1
- package/dist/index.cjs30.js +1 -1
- package/dist/index.cjs30.js.map +1 -1
- package/dist/index.cjs31.js +1 -1
- package/dist/index.cjs31.js.map +1 -1
- package/dist/index.cjs32.js +1 -1
- package/dist/index.cjs32.js.map +1 -1
- package/dist/index.cjs33.js +1 -1
- package/dist/index.cjs33.js.map +1 -1
- package/dist/index.cjs34.js +1 -1
- package/dist/index.cjs34.js.map +1 -1
- package/dist/index.cjs35.js +1 -1
- package/dist/index.cjs35.js.map +1 -1
- package/dist/index.cjs36.js +1 -1
- package/dist/index.cjs36.js.map +1 -1
- package/dist/index.cjs37.js +1 -1
- package/dist/index.cjs37.js.map +1 -1
- package/dist/index.cjs38.js +1 -1
- package/dist/index.cjs38.js.map +1 -1
- package/dist/index.cjs39.js +1 -1
- package/dist/index.cjs39.js.map +1 -1
- package/dist/index.cjs4.js +1 -1
- package/dist/index.cjs4.js.map +1 -1
- package/dist/index.cjs40.js +1 -1
- package/dist/index.cjs40.js.map +1 -1
- package/dist/index.cjs41.js +1 -1
- package/dist/index.cjs41.js.map +1 -1
- package/dist/index.cjs42.js +1 -1
- package/dist/index.cjs42.js.map +1 -1
- package/dist/index.cjs43.js +1 -1
- package/dist/index.cjs43.js.map +1 -1
- package/dist/index.cjs44.js +1 -1
- package/dist/index.cjs44.js.map +1 -1
- package/dist/index.cjs45.js +1 -1
- package/dist/index.cjs45.js.map +1 -1
- package/dist/index.cjs46.js +1 -1
- package/dist/index.cjs46.js.map +1 -1
- package/dist/index.cjs47.js +1 -1
- package/dist/index.cjs47.js.map +1 -1
- package/dist/index.cjs48.js +1 -1
- package/dist/index.cjs48.js.map +1 -1
- package/dist/index.cjs49.js +1 -1
- package/dist/index.cjs49.js.map +1 -1
- package/dist/index.cjs5.js +1 -1
- package/dist/index.cjs5.js.map +1 -1
- package/dist/index.cjs50.js +1 -1
- package/dist/index.cjs50.js.map +1 -1
- package/dist/index.cjs51.js +1 -1
- package/dist/index.cjs51.js.map +1 -1
- package/dist/index.cjs52.js +1 -1
- package/dist/index.cjs52.js.map +1 -1
- package/dist/index.cjs53.js +1 -1
- package/dist/index.cjs53.js.map +1 -1
- package/dist/index.cjs54.js +1 -1
- package/dist/index.cjs54.js.map +1 -1
- package/dist/index.cjs55.js +1 -1
- package/dist/index.cjs55.js.map +1 -1
- package/dist/index.cjs56.js +1 -1
- package/dist/index.cjs56.js.map +1 -1
- package/dist/index.cjs57.js +1 -1
- package/dist/index.cjs57.js.map +1 -1
- package/dist/index.cjs58.js +1 -1
- package/dist/index.cjs58.js.map +1 -1
- package/dist/index.cjs59.js +1 -1
- package/dist/index.cjs59.js.map +1 -1
- package/dist/index.cjs60.js +1 -1
- package/dist/index.cjs60.js.map +1 -1
- package/dist/index.cjs61.js +1 -1
- package/dist/index.cjs61.js.map +1 -1
- package/dist/index.cjs62.js +1 -1
- package/dist/index.cjs62.js.map +1 -1
- package/dist/index.cjs63.js +2 -0
- package/dist/index.cjs63.js.map +1 -0
- package/dist/index.cjs64.js +2 -0
- package/dist/index.cjs64.js.map +1 -0
- package/dist/index.cjs65.js +2 -0
- package/dist/index.cjs65.js.map +1 -0
- package/dist/index.cjs66.js +2 -0
- package/dist/index.cjs66.js.map +1 -0
- package/dist/index.cjs67.js +2 -0
- package/dist/index.cjs67.js.map +1 -0
- package/dist/index.cjs68.js +7 -0
- package/dist/index.cjs68.js.map +1 -0
- package/dist/index.cjs69.js +2 -0
- package/dist/index.cjs69.js.map +1 -0
- package/dist/index.cjs7.js +1 -1
- package/dist/index.cjs7.js.map +1 -1
- package/dist/index.cjs70.js +2 -0
- package/dist/index.cjs70.js.map +1 -0
- package/dist/index.cjs71.js +2 -0
- package/dist/index.cjs71.js.map +1 -0
- package/dist/index.cjs8.js +1 -1
- package/dist/index.cjs8.js.map +1 -1
- package/dist/index.cjs9.js +1 -1
- package/dist/index.cjs9.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +271 -258
- package/dist/index.es.js.map +1 -1
- package/dist/index.es10.js +22 -21
- package/dist/index.es10.js.map +1 -1
- package/dist/index.es11.js +14 -13
- package/dist/index.es11.js.map +1 -1
- package/dist/index.es12.js +31 -31
- package/dist/index.es12.js.map +1 -1
- package/dist/index.es13.js +39 -38
- package/dist/index.es13.js.map +1 -1
- package/dist/index.es14.js +34 -33
- package/dist/index.es14.js.map +1 -1
- package/dist/index.es15.js +107 -102
- package/dist/index.es15.js.map +1 -1
- package/dist/index.es16.js +155 -140
- package/dist/index.es16.js.map +1 -1
- package/dist/index.es17.js +21 -18
- package/dist/index.es17.js.map +1 -1
- package/dist/index.es19.js +63 -59
- package/dist/index.es19.js.map +1 -1
- package/dist/index.es2.js +10 -6
- package/dist/index.es2.js.map +1 -1
- package/dist/index.es20.js +85 -78
- package/dist/index.es20.js.map +1 -1
- package/dist/index.es21.js +68 -59
- package/dist/index.es21.js.map +1 -1
- package/dist/index.es22.js +68 -62
- package/dist/index.es22.js.map +1 -1
- package/dist/index.es23.js +83 -76
- package/dist/index.es23.js.map +1 -1
- package/dist/index.es24.js +178 -94
- package/dist/index.es24.js.map +1 -1
- package/dist/index.es25.js +57 -164
- package/dist/index.es25.js.map +1 -1
- package/dist/index.es26.js +198 -77
- package/dist/index.es26.js.map +1 -1
- package/dist/index.es27.js +90 -20
- package/dist/index.es27.js.map +1 -1
- package/dist/index.es28.js +21 -22
- package/dist/index.es28.js.map +1 -1
- package/dist/index.es29.js +19 -343
- package/dist/index.es29.js.map +1 -1
- package/dist/index.es3.js +35 -32
- package/dist/index.es3.js.map +1 -1
- package/dist/index.es30.js +38 -148
- package/dist/index.es30.js.map +1 -1
- package/dist/index.es31.js +377 -42
- package/dist/index.es31.js.map +1 -1
- package/dist/index.es32.js +146 -172
- package/dist/index.es32.js.map +1 -1
- package/dist/index.es33.js +46 -253
- package/dist/index.es33.js.map +1 -1
- package/dist/index.es34.js +195 -180
- package/dist/index.es34.js.map +1 -1
- package/dist/index.es35.js +253 -29
- package/dist/index.es35.js.map +1 -1
- package/dist/index.es36.js +183 -14
- package/dist/index.es36.js.map +1 -1
- package/dist/index.es37.js +29 -93
- package/dist/index.es37.js.map +1 -1
- package/dist/index.es38.js +13 -187
- package/dist/index.es38.js.map +1 -1
- package/dist/index.es39.js +93 -96
- package/dist/index.es39.js.map +1 -1
- package/dist/index.es4.js +38 -32
- package/dist/index.es4.js.map +1 -1
- package/dist/index.es40.js +182 -80
- package/dist/index.es40.js.map +1 -1
- package/dist/index.es41.js +98 -17
- package/dist/index.es41.js.map +1 -1
- package/dist/index.es42.js +101 -21
- package/dist/index.es42.js.map +1 -1
- package/dist/index.es43.js +20 -28
- package/dist/index.es43.js.map +1 -1
- package/dist/index.es44.js +19 -28
- package/dist/index.es44.js.map +1 -1
- package/dist/index.es45.js +25 -176
- package/dist/index.es45.js.map +1 -1
- package/dist/index.es46.js +36 -21
- package/dist/index.es46.js.map +1 -1
- package/dist/index.es47.js +171 -78
- package/dist/index.es47.js.map +1 -1
- package/dist/index.es48.js +17 -551
- package/dist/index.es48.js.map +1 -1
- package/dist/index.es49.js +106 -13
- package/dist/index.es49.js.map +1 -1
- package/dist/index.es5.js +71 -67
- package/dist/index.es5.js.map +1 -1
- package/dist/index.es50.js +559 -35
- package/dist/index.es50.js.map +1 -1
- package/dist/index.es51.js +12 -19
- package/dist/index.es51.js.map +1 -1
- package/dist/index.es52.js +47 -12
- package/dist/index.es52.js.map +1 -1
- package/dist/index.es53.js +21 -25
- package/dist/index.es53.js.map +1 -1
- package/dist/index.es54.js +14 -217
- package/dist/index.es54.js.map +1 -1
- package/dist/index.es55.js +23 -44
- package/dist/index.es55.js.map +1 -1
- package/dist/index.es56.js +237 -13
- package/dist/index.es56.js.map +1 -1
- package/dist/index.es57.js +44 -28
- package/dist/index.es57.js.map +1 -1
- package/dist/index.es58.js +17 -36
- package/dist/index.es58.js.map +1 -1
- package/dist/index.es59.js +33 -18
- package/dist/index.es59.js.map +1 -1
- package/dist/index.es60.js +39 -6
- package/dist/index.es60.js.map +1 -1
- package/dist/index.es61.js +21 -267
- package/dist/index.es61.js.map +1 -1
- package/dist/index.es62.js +3 -6268
- package/dist/index.es62.js.map +1 -1
- package/dist/index.es63.js +9 -0
- package/dist/index.es63.js.map +1 -0
- package/dist/index.es64.js +270 -0
- package/dist/index.es64.js.map +1 -0
- package/dist/index.es65.js +11 -0
- package/dist/index.es65.js.map +1 -0
- package/dist/index.es66.js +5 -0
- package/dist/index.es66.js.map +1 -0
- package/dist/index.es67.js +27 -0
- package/dist/index.es67.js.map +1 -0
- package/dist/index.es68.js +237 -0
- package/dist/index.es68.js.map +1 -0
- package/dist/index.es69.js +5 -0
- package/dist/index.es69.js.map +1 -0
- package/dist/index.es7.js +25 -24
- package/dist/index.es7.js.map +1 -1
- package/dist/index.es70.js +5 -0
- package/dist/index.es70.js.map +1 -0
- package/dist/index.es71.js +6271 -0
- package/dist/index.es71.js.map +1 -0
- package/dist/index.es8.js +43 -41
- package/dist/index.es8.js.map +1 -1
- package/dist/index.es9.js +51 -48
- package/dist/index.es9.js.map +1 -1
- package/dist/style.css +59 -0
- package/package.json +1 -1
package/dist/index.cjs24.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs24.js","sources":["../src/components/ui/empty.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Empty({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty\"\n className={cn(\n \"flex min-w-0 flex-1 flex-col items-center justify-center gap-6 text-balance rounded-lg border-dashed p-6 text-center md:p-12\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction EmptyHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-header\"\n className={cn(\n \"flex max-w-sm flex-col items-center gap-2 text-center\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst emptyMediaVariants = cva(\n \"mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction EmptyMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof emptyMediaVariants>) {\n return (\n <div\n data-slot=\"empty-icon\"\n data-variant={variant}\n className={cn(emptyMediaVariants({ variant, className }))}\n {...props}\n />\n )\n}\n\nfunction EmptyTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-title\"\n className={cn(\"text-lg font-medium tracking-tight\", className)}\n {...props}\n />\n )\n}\n\nfunction EmptyDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <div\n data-slot=\"empty-description\"\n className={cn(\n \"text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction EmptyContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-content\"\n className={cn(\n \"flex w-full min-w-0 max-w-sm flex-col items-center gap-4 text-balance text-sm\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Empty,\n EmptyHeader,\n EmptyTitle,\n EmptyDescription,\n EmptyContent,\n EmptyMedia,\n}\n"],"names":["Empty","className","props","React","cn","EmptyHeader","emptyMediaVariants","cva","EmptyMedia","variant","EmptyTitle","EmptyDescription","EmptyContent"],"mappings":"ucAKA,SAASA,EAAM,CAAE,UAAAC,EAAW,GAAGC,GAAsC,CACnE,OACEC,EAAA,cAAC,MAAA,CACC,YAAU,QACV,UAAWC,EAAAA,GACT,+HACAH,CAAA,EAED,GAAGC,CAAA,CAAA,CAGV,CAEA,SAASG,EAAY,CAAE,UAAAJ,EAAW,GAAGC,GAAsC,CACzE,OACEC,EAAA,cAAC,MAAA,CACC,YAAU,eACV,UAAWC,EAAAA,GACT,wDACAH,CAAA,EAED,GAAGC,CAAA,CAAA,CAGV,CAEA,MAAMI,EAAqBC,EAAAA,IACzB,8FACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,iBACT,KAAM,4HAAA,CACR,EAEF,gBAAiB,CACf,QAAS,SAAA,CACX,CAEJ,EAEA,SAASC,EAAW,CAClB,UAAAP,EACA,QAAAQ,EAAU,UACV,GAAGP,CACL,EAA0E,CACxE,OACEC,EAAA,cAAC,MAAA,CACC,YAAU,aACV,eAAcM,EACd,UAAWL,EAAAA,GAAGE,EAAmB,CAAE,QAAAG,EAAS,UAAAR,CAAA,CAAW,CAAC,EACvD,GAAGC,CAAA,CAAA,CAGV,CAEA,SAASQ,EAAW,CAAE,UAAAT,EAAW,GAAGC,GAAsC,CACxE,OACEC,EAAA,cAAC,MAAA,CACC,YAAU,cACV,UAAWC,EAAAA,GAAG,qCAAsCH,CAAS,EAC5D,GAAGC,CAAA,CAAA,CAGV,CAEA,SAASS,EAAiB,CAAE,UAAAV,EAAW,GAAGC,GAAoC,CAC5E,OACEC,EAAA,cAAC,MAAA,CACC,YAAU,oBACV,UAAWC,EAAAA,GACT,0GACAH,CAAA,EAED,GAAGC,CAAA,CAAA,CAGV,CAEA,SAASU,EAAa,CAAE,UAAAX,EAAW,GAAGC,GAAsC,CAC1E,OACEC,EAAA,cAAC,MAAA,CACC,YAAU,gBACV,UAAWC,EAAAA,GACT,gFACAH,CAAA,EAED,GAAGC,CAAA,CAAA,CAGV"}
|
|
1
|
+
{"version":3,"file":"index.cjs24.js","sources":["../src/components/ui/searchable-dropdown.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { Check, Search, X } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst DEFAULT_CONTENT_WIDTH = 280;\nconst SEARCHABLE_DROPDOWN_ITEM_NAME = \"SearchableDropdownItem\";\nconst SEARCHABLE_DROPDOWN_GROUP_NAME = \"SearchableDropdownGroup\";\n\ntype SearchableDropdownContextValue = {\n searchValue: string;\n hasResults: boolean;\n};\n\nconst SearchableDropdownContext =\n React.createContext<SearchableDropdownContextValue | null>(null);\n\nconst SearchableDropdown = DropdownMenuPrimitive.Root;\n\nconst SearchableDropdownTrigger = DropdownMenuPrimitive.Trigger;\n\nconst SearchableDropdownPortal = DropdownMenuPrimitive.Portal;\n\nfunction extractTextContent(node: React.ReactNode): string {\n if (typeof node === \"string\" || typeof node === \"number\") {\n return String(node);\n }\n\n if (Array.isArray(node)) {\n return node.map((child) => extractTextContent(child)).join(\" \");\n }\n\n if (React.isValidElement(node)) {\n return extractTextContent(\n (node.props as { children?: React.ReactNode }).children,\n );\n }\n\n return \"\";\n}\n\nfunction getComponentDisplayName(type: React.ElementType): string | undefined {\n if (typeof type === \"string\") {\n return type;\n }\n\n return (\n (type as { displayName?: string }).displayName ||\n (type as { name?: string }).name\n );\n}\n\nfunction matchesSearch(searchableText: string, searchValue: string): boolean {\n if (!searchValue.trim()) {\n return true;\n }\n\n return searchableText.toLowerCase().includes(searchValue.trim().toLowerCase());\n}\n\nfunction hasMatchingItems(\n children: React.ReactNode,\n searchValue: string,\n): boolean {\n let hasMatch = false;\n\n React.Children.forEach(children, (child) => {\n if (hasMatch || !React.isValidElement(child)) {\n return;\n }\n\n const displayName = getComponentDisplayName(child.type as React.ElementType);\n const childProps = child.props as {\n children?: React.ReactNode;\n searchableText?: string;\n };\n\n if (displayName === SEARCHABLE_DROPDOWN_ITEM_NAME) {\n const searchableText =\n childProps.searchableText ?? extractTextContent(childProps.children);\n\n if (matchesSearch(searchableText, searchValue)) {\n hasMatch = true;\n }\n\n return;\n }\n\n if (displayName === SEARCHABLE_DROPDOWN_GROUP_NAME) {\n if (hasMatchingItems(childProps.children, searchValue)) {\n hasMatch = true;\n }\n\n return;\n }\n\n if (hasMatchingItems(childProps.children, searchValue)) {\n hasMatch = true;\n }\n });\n\n return hasMatch;\n}\n\nconst SearchableDropdownContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content> & {\n searchPlaceholder?: string;\n searchValue?: string;\n onSearchChange?: (value: string) => void;\n contentWidth?: React.CSSProperties[\"width\"];\n }\n>(\n (\n {\n className,\n sideOffset = 8,\n searchPlaceholder = \"Search...\",\n searchValue,\n onSearchChange,\n contentWidth = DEFAULT_CONTENT_WIDTH,\n children,\n style,\n ...props\n },\n ref,\n ) => {\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const [internalSearchValue, setInternalSearchValue] = React.useState(\"\");\n\n const currentSearchValue = searchValue ?? internalSearchValue;\n const setSearch = onSearchChange ?? setInternalSearchValue;\n const hasResults = hasMatchingItems(children, currentSearchValue);\n\n React.useEffect(() => {\n const frame = window.requestAnimationFrame(() => {\n inputRef.current?.focus();\n });\n\n return () => {\n window.cancelAnimationFrame(frame);\n };\n }, []);\n\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 overflow-hidden rounded-lg border border-[#e5e5e5] bg-white shadow-lg\",\n \"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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]\",\n className,\n )}\n style={{ width: contentWidth, ...style }}\n {...props}\n >\n <div className=\"border-b border-[#e5e5e5] px-4 py-3\">\n <div className=\"flex items-center gap-3 rounded-lg border border-[#e6e6e6] bg-white px-3 py-2.5 transition-colors focus-within:border-[#1D1C20]\">\n <Search className=\"size-5 flex-shrink-0 text-[#999999]\" />\n <input\n ref={inputRef}\n type=\"text\"\n placeholder={searchPlaceholder}\n value={currentSearchValue}\n onChange={(event) => setSearch(event.target.value)}\n onKeyDown={(event) => {\n if (event.key !== \"Escape\" && event.key !== \"Tab\") {\n event.stopPropagation();\n }\n }}\n className=\"flex-1 bg-transparent text-[14px] text-[#111111] outline-none placeholder:text-[#999999]\"\n autoComplete=\"off\"\n aria-label={searchPlaceholder}\n />\n {currentSearchValue ? (\n <button\n type=\"button\"\n onClick={() => {\n setSearch(\"\");\n inputRef.current?.focus();\n }}\n className=\"flex-shrink-0 text-[#999999] transition-colors hover:text-[#111111]\"\n aria-label=\"Clear search\"\n >\n <X className=\"size-4\" />\n </button>\n ) : null}\n </div>\n </div>\n\n <SearchableDropdownContext.Provider\n value={{\n searchValue: currentSearchValue,\n hasResults,\n }}\n >\n <div className=\"max-h-[400px] overflow-y-auto\">{children}</div>\n </SearchableDropdownContext.Provider>\n </DropdownMenuPrimitive.Content>\n </DropdownMenuPrimitive.Portal>\n );\n },\n);\nSearchableDropdownContent.displayName = \"SearchableDropdownContent\";\n\nconst SearchableDropdownGroup = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Group>\n>(({ children, ...props }, ref) => {\n const context = React.useContext(SearchableDropdownContext);\n\n if (context && !hasMatchingItems(children, context.searchValue)) {\n return null;\n }\n\n return (\n <DropdownMenuPrimitive.Group ref={ref} {...props}>\n {children}\n </DropdownMenuPrimitive.Group>\n );\n});\nSearchableDropdownGroup.displayName = SEARCHABLE_DROPDOWN_GROUP_NAME;\n\nconst SearchableDropdownItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n searchValue?: string;\n searchableText?: string;\n isSelected?: boolean;\n }\n>(\n (\n {\n className,\n searchValue,\n searchableText,\n isSelected = false,\n children,\n ...props\n },\n ref,\n ) => {\n const context = React.useContext(SearchableDropdownContext);\n\n const text = searchableText ?? extractTextContent(children);\n const currentSearchValue = searchValue ?? context?.searchValue ?? \"\";\n const isVisible = matchesSearch(text, currentSearchValue);\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-pointer select-none items-center justify-between px-4 py-3 text-[15px] text-[#111111] outline-none transition-colors hover:bg-[#f5f5f5] focus:bg-[#f5f5f5] data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n >\n <span>{children}</span>\n {isSelected ? <Check className=\"size-5 text-[#26453f]\" /> : null}\n </DropdownMenuPrimitive.Item>\n );\n },\n);\nSearchableDropdownItem.displayName = SEARCHABLE_DROPDOWN_ITEM_NAME;\n\nconst SearchableDropdownEmpty = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const context = React.useContext(SearchableDropdownContext);\n\n if (context?.hasResults) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n className={cn(\"px-4 py-6 text-center text-sm text-[#666666]\", className)}\n {...props}\n />\n );\n});\nSearchableDropdownEmpty.displayName = \"SearchableDropdownEmpty\";\n\nconst SearchableDropdownLabel = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"px-4 py-2 text-sm font-semibold text-[#666666]\", className)}\n {...props}\n />\n));\nSearchableDropdownLabel.displayName = \"SearchableDropdownLabel\";\n\nconst SearchableDropdownSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"mx-0 my-0 h-px bg-[#e5e5e5]\", className)}\n {...props}\n />\n));\nSearchableDropdownSeparator.displayName = \"SearchableDropdownSeparator\";\n\nexport {\n SearchableDropdown,\n SearchableDropdownTrigger,\n SearchableDropdownContent,\n SearchableDropdownItem,\n SearchableDropdownEmpty,\n SearchableDropdownLabel,\n SearchableDropdownSeparator,\n SearchableDropdownGroup,\n SearchableDropdownPortal,\n};\n"],"names":["DEFAULT_CONTENT_WIDTH","SEARCHABLE_DROPDOWN_ITEM_NAME","SEARCHABLE_DROPDOWN_GROUP_NAME","SearchableDropdownContext","React","SearchableDropdown","DropdownMenuPrimitive","SearchableDropdownTrigger","SearchableDropdownPortal","extractTextContent","node","child","getComponentDisplayName","type","matchesSearch","searchableText","searchValue","hasMatchingItems","children","hasMatch","displayName","childProps","SearchableDropdownContent","className","sideOffset","searchPlaceholder","onSearchChange","contentWidth","style","props","ref","inputRef","internalSearchValue","setInternalSearchValue","currentSearchValue","setSearch","hasResults","frame","jsx","jsxs","cn","Search","event","X","SearchableDropdownGroup","context","SearchableDropdownItem","isSelected","text","Check","SearchableDropdownEmpty","SearchableDropdownLabel","SearchableDropdownSeparator"],"mappings":"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"}
|
package/dist/index.cjs25.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index.cjs62.js"),a=require("class-variance-authority"),s=require("./index.cjs63.js");function i({className:e,...t}){return n.jsxRuntimeExports.jsx("div",{"data-slot":"empty",className:s.cn("flex min-w-0 flex-1 flex-col items-center justify-center gap-6 text-balance rounded-lg border-dashed p-6 text-center md:p-12",e),...t})}function m({className:e,...t}){return n.jsxRuntimeExports.jsx("div",{"data-slot":"empty-header",className:s.cn("flex max-w-sm flex-col items-center gap-2 text-center",e),...t})}const o=a.cva("mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{default:"bg-transparent",icon:"bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6"}},defaultVariants:{variant:"default"}});function c({className:e,variant:t="default",...r}){return n.jsxRuntimeExports.jsx("div",{"data-slot":"empty-icon","data-variant":t,className:s.cn(o({variant:t,className:e})),...r})}function l({className:e,...t}){return n.jsxRuntimeExports.jsx("div",{"data-slot":"empty-title",className:s.cn("text-lg font-medium tracking-tight",e),...t})}function u({className:e,...t}){return n.jsxRuntimeExports.jsx("div",{"data-slot":"empty-description",className:s.cn("text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4",e),...t})}function d({className:e,...t}){return n.jsxRuntimeExports.jsx("div",{"data-slot":"empty-content",className:s.cn("flex w-full min-w-0 max-w-sm flex-col items-center gap-4 text-balance text-sm",e),...t})}exports.Empty=i;exports.EmptyContent=d;exports.EmptyDescription=u;exports.EmptyHeader=m;exports.EmptyMedia=c;exports.EmptyTitle=l;
|
|
2
2
|
//# sourceMappingURL=index.cjs25.js.map
|
package/dist/index.cjs25.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs25.js","sources":["../src/components/ui/
|
|
1
|
+
{"version":3,"file":"index.cjs25.js","sources":["../src/components/ui/empty.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Empty({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty\"\n className={cn(\n \"flex min-w-0 flex-1 flex-col items-center justify-center gap-6 text-balance rounded-lg border-dashed p-6 text-center md:p-12\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction EmptyHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-header\"\n className={cn(\n \"flex max-w-sm flex-col items-center gap-2 text-center\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst emptyMediaVariants = cva(\n \"mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction EmptyMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof emptyMediaVariants>) {\n return (\n <div\n data-slot=\"empty-icon\"\n data-variant={variant}\n className={cn(emptyMediaVariants({ variant, className }))}\n {...props}\n />\n )\n}\n\nfunction EmptyTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-title\"\n className={cn(\"text-lg font-medium tracking-tight\", className)}\n {...props}\n />\n )\n}\n\nfunction EmptyDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <div\n data-slot=\"empty-description\"\n className={cn(\n \"text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction EmptyContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-content\"\n className={cn(\n \"flex w-full min-w-0 max-w-sm flex-col items-center gap-4 text-balance text-sm\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Empty,\n EmptyHeader,\n EmptyTitle,\n EmptyDescription,\n EmptyContent,\n EmptyMedia,\n}\n"],"names":["Empty","className","props","jsx","cn","EmptyHeader","emptyMediaVariants","cva","EmptyMedia","variant","EmptyTitle","EmptyDescription","EmptyContent"],"mappings":"wLAKA,SAASA,EAAM,CAAE,UAAAC,EAAW,GAAGC,GAAsC,CACnE,OACEC,EAAAA,kBAAAA,IAAC,MAAA,CACC,YAAU,QACV,UAAWC,EAAAA,GACT,+HACAH,CAAA,EAED,GAAGC,CAAA,CAAA,CAGV,CAEA,SAASG,EAAY,CAAE,UAAAJ,EAAW,GAAGC,GAAsC,CACzE,OACEC,EAAAA,kBAAAA,IAAC,MAAA,CACC,YAAU,eACV,UAAWC,EAAAA,GACT,wDACAH,CAAA,EAED,GAAGC,CAAA,CAAA,CAGV,CAEA,MAAMI,EAAqBC,EAAAA,IACzB,8FACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,iBACT,KAAM,4HAAA,CACR,EAEF,gBAAiB,CACf,QAAS,SAAA,CACX,CAEJ,EAEA,SAASC,EAAW,CAClB,UAAAP,EACA,QAAAQ,EAAU,UACV,GAAGP,CACL,EAA0E,CACxE,OACEC,EAAAA,kBAAAA,IAAC,MAAA,CACC,YAAU,aACV,eAAcM,EACd,UAAWL,EAAAA,GAAGE,EAAmB,CAAE,QAAAG,EAAS,UAAAR,CAAA,CAAW,CAAC,EACvD,GAAGC,CAAA,CAAA,CAGV,CAEA,SAASQ,EAAW,CAAE,UAAAT,EAAW,GAAGC,GAAsC,CACxE,OACEC,EAAAA,kBAAAA,IAAC,MAAA,CACC,YAAU,cACV,UAAWC,EAAAA,GAAG,qCAAsCH,CAAS,EAC5D,GAAGC,CAAA,CAAA,CAGV,CAEA,SAASS,EAAiB,CAAE,UAAAV,EAAW,GAAGC,GAAoC,CAC5E,OACEC,EAAAA,kBAAAA,IAAC,MAAA,CACC,YAAU,oBACV,UAAWC,EAAAA,GACT,0GACAH,CAAA,EAED,GAAGC,CAAA,CAAA,CAGV,CAEA,SAASU,EAAa,CAAE,UAAAX,EAAW,GAAGC,GAAsC,CAC1E,OACEC,EAAAA,kBAAAA,IAAC,MAAA,CACC,YAAU,gBACV,UAAWC,EAAAA,GACT,gFACAH,CAAA,EAED,GAAGC,CAAA,CAAA,CAGV"}
|
package/dist/index.cjs26.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index.cjs62.js"),d=require("react"),u=require("class-variance-authority"),i=require("./index.cjs63.js"),c=require("./index.cjs38.js"),f=require("./index.cjs48.js");function x({className:t,...e}){return a.jsxRuntimeExports.jsx("fieldset",{"data-slot":"field-set",className:i.cn("flex flex-col gap-6","has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3",t),...e})}function p({className:t,variant:e="legend",...l}){return a.jsxRuntimeExports.jsx("legend",{"data-slot":"field-legend","data-variant":e,className:i.cn("mb-3 font-medium","data-[variant=legend]:text-base","data-[variant=label]:text-sm",t),...l})}function m({className:t,...e}){return a.jsxRuntimeExports.jsx("div",{"data-slot":"field-group",className:i.cn("group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4",t),...e})}const g=u.cva("group/field data-[invalid=true]:text-destructive flex w-full gap-3",{variants:{orientation:{vertical:["flex-col [&>*]:w-full [&>.sr-only]:w-auto"],horizontal:["flex-row items-center","[&>[data-slot=field-label]]:flex-auto","has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px has-[>[data-slot=field-content]]:items-start"],responsive:["@md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto flex-col [&>*]:w-full [&>.sr-only]:w-auto","@md/field-group:[&>[data-slot=field-label]]:flex-auto","@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"]}},defaultVariants:{orientation:"vertical"}});function b({className:t,orientation:e="vertical",...l}){return a.jsxRuntimeExports.jsx("div",{role:"group","data-slot":"field","data-orientation":e,className:i.cn(g({orientation:e}),t),...l})}function j({className:t,...e}){return a.jsxRuntimeExports.jsx("div",{"data-slot":"field-content",className:i.cn("group/field-content flex flex-1 flex-col gap-1.5 leading-snug",t),...e})}function h({className:t,...e}){return a.jsxRuntimeExports.jsx(c.Label,{"data-slot":"field-label",className:i.cn("group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50","has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>[data-slot=field]]:p-4","has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10",t),...e})}function v({className:t,...e}){return a.jsxRuntimeExports.jsx("div",{"data-slot":"field-label",className:i.cn("flex w-fit items-center gap-2 text-sm font-medium leading-snug group-data-[disabled=true]/field:opacity-50",t),...e})}function F({className:t,...e}){return a.jsxRuntimeExports.jsx("p",{"data-slot":"field-description",className:i.cn("text-muted-foreground text-sm font-normal leading-normal group-has-[[data-orientation=horizontal]]/field:text-balance","nth-last-2:-mt-1 last:mt-0 [[data-variant=legend]+&]:-mt-1.5","[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",t),...e})}function E({children:t,className:e,...l}){return a.jsxRuntimeExports.jsxs("div",{"data-slot":"field-separator","data-content":!!t,className:i.cn("relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2",e),...l,children:[a.jsxRuntimeExports.jsx(f.Separator,{className:"absolute inset-0 top-1/2"}),t&&a.jsxRuntimeExports.jsx("span",{className:"bg-background text-muted-foreground relative mx-auto block w-fit px-2","data-slot":"field-separator-content",children:t})]})}function R({className:t,children:e,errors:l,...r}){const s=d.useMemo(()=>e||(l?l?.length===1&&l[0]?.message?l[0].message:a.jsxRuntimeExports.jsx("ul",{className:"ml-4 flex list-disc flex-col gap-1",children:l.map((o,n)=>o?.message&&a.jsxRuntimeExports.jsx("li",{children:o.message},n))}):null),[e,l]);return s?a.jsxRuntimeExports.jsx("div",{role:"alert","data-slot":"field-error",className:i.cn("text-destructive text-sm font-normal",t),...r,children:s}):null}exports.Field=b;exports.FieldContent=j;exports.FieldDescription=F;exports.FieldError=R;exports.FieldGroup=m;exports.FieldLabel=h;exports.FieldLegend=p;exports.FieldSeparator=E;exports.FieldSet=x;exports.FieldTitle=v;
|
|
2
2
|
//# sourceMappingURL=index.cjs26.js.map
|
package/dist/index.cjs26.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs26.js","sources":["../src/components/ui/
|
|
1
|
+
{"version":3,"file":"index.cjs26.js","sources":["../src/components/ui/field.tsx"],"sourcesContent":["\"use client\"\n\nimport { useMemo } from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Label } from \"@/components/ui/label\"\nimport { Separator } from \"@/components/ui/separator\"\n\nfunction FieldSet({ className, ...props }: React.ComponentProps<\"fieldset\">) {\n return (\n <fieldset\n data-slot=\"field-set\"\n className={cn(\n \"flex flex-col gap-6\",\n \"has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldLegend({\n className,\n variant = \"legend\",\n ...props\n}: React.ComponentProps<\"legend\"> & { variant?: \"legend\" | \"label\" }) {\n return (\n <legend\n data-slot=\"field-legend\"\n data-variant={variant}\n className={cn(\n \"mb-3 font-medium\",\n \"data-[variant=legend]:text-base\",\n \"data-[variant=label]:text-sm\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\n \"group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst fieldVariants = cva(\n \"group/field data-[invalid=true]:text-destructive flex w-full gap-3\",\n {\n variants: {\n orientation: {\n vertical: [\"flex-col [&>*]:w-full [&>.sr-only]:w-auto\"],\n horizontal: [\n \"flex-row items-center\",\n \"[&>[data-slot=field-label]]:flex-auto\",\n \"has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px has-[>[data-slot=field-content]]:items-start\",\n ],\n responsive: [\n \"@md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto flex-col [&>*]:w-full [&>.sr-only]:w-auto\",\n \"@md/field-group:[&>[data-slot=field-label]]:flex-auto\",\n \"@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n ],\n },\n },\n defaultVariants: {\n orientation: \"vertical\",\n },\n }\n)\n\nfunction Field({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof fieldVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn(fieldVariants({ orientation }), className)}\n {...props}\n />\n )\n}\n\nfunction FieldContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-content\"\n className={cn(\n \"group/field-content flex flex-1 flex-col gap-1.5 leading-snug\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldLabel({\n className,\n ...props\n}: React.ComponentProps<typeof Label>) {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n \"group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50\",\n \"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>[data-slot=field]]:p-4\",\n \"has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-label\"\n className={cn(\n \"flex w-fit items-center gap-2 text-sm font-medium leading-snug group-data-[disabled=true]/field:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\n \"text-muted-foreground text-sm font-normal leading-normal group-has-[[data-orientation=horizontal]]/field:text-balance\",\n \"nth-last-2:-mt-1 last:mt-0 [[data-variant=legend]+&]:-mt-1.5\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & {\n children?: React.ReactNode\n}) {\n return (\n <div\n data-slot=\"field-separator\"\n data-content={!!children}\n className={cn(\n \"relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2\",\n className\n )}\n {...props}\n >\n <Separator className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span\n className=\"bg-background text-muted-foreground relative mx-auto block w-fit px-2\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n )\n}\n\nfunction FieldError({\n className,\n children,\n errors,\n ...props\n}: React.ComponentProps<\"div\"> & {\n errors?: Array<{ message?: string } | undefined>\n}) {\n const content = useMemo(() => {\n if (children) {\n return children\n }\n\n if (!errors) {\n return null\n }\n\n if (errors?.length === 1 && errors[0]?.message) {\n return errors[0].message\n }\n\n return (\n <ul className=\"ml-4 flex list-disc flex-col gap-1\">\n {errors.map(\n (error, index) =>\n error?.message && <li key={index}>{error.message}</li>\n )}\n </ul>\n )\n }, [children, errors])\n\n if (!content) {\n return null\n }\n\n return (\n <div\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(\"text-destructive text-sm font-normal\", className)}\n {...props}\n >\n {content}\n </div>\n )\n}\n\nexport {\n Field,\n FieldLabel,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldContent,\n FieldTitle,\n}\n"],"names":["FieldSet","className","props","jsx","cn","FieldLegend","variant","FieldGroup","fieldVariants","cva","Field","orientation","FieldContent","FieldLabel","Label","FieldTitle","FieldDescription","FieldSeparator","children","jsxs","Separator","FieldError","errors","content","useMemo","error","index"],"mappings":"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"}
|
package/dist/index.cjs27.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index.cjs62.js"),g=require("react"),I=require("@radix-ui/react-slot"),d=require("react-hook-form"),c=require("./index.cjs63.js"),R=require("./index.cjs38.js");function y(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const s=y(g),C=d.FormProvider,u=s.createContext(null),w=({...e})=>i.jsxRuntimeExports.jsx(u.Provider,{value:{name:e.name},children:i.jsxRuntimeExports.jsx(d.Controller,{...e})}),a=()=>{const e=s.useContext(u),r=s.useContext(f),{getFieldState:t,formState:o}=d.useFormContext();if(!e)throw new Error("useFormField should be used within <FormField>");if(!r)throw new Error("useFormField should be used within <FormItem>");const n=t(e.name,o),{id:m}=r;return{id:m,name:e.name,formItemId:`${m}-form-item`,formDescriptionId:`${m}-form-item-description`,formMessageId:`${m}-form-item-message`,...n}},f=s.createContext(null),F=s.forwardRef(({className:e,...r},t)=>{const o=s.useId();return i.jsxRuntimeExports.jsx(f.Provider,{value:{id:o},children:i.jsxRuntimeExports.jsx("div",{ref:t,className:c.cn("space-y-2",e),...r})})});F.displayName="FormItem";const x=s.forwardRef(({className:e,...r},t)=>{const{error:o,formItemId:n}=a();return i.jsxRuntimeExports.jsx(R.Label,{ref:t,className:c.cn(o&&"text-destructive",e),htmlFor:n,...r})});x.displayName="FormLabel";const p=s.forwardRef(({...e},r)=>{const{error:t,formItemId:o,formDescriptionId:n,formMessageId:m}=a();return i.jsxRuntimeExports.jsx(I.Slot,{ref:r,id:o,"aria-describedby":t?`${n} ${m}`:`${n}`,"aria-invalid":!!t,...e})});p.displayName="FormControl";const j=s.forwardRef(({className:e,...r},t)=>{const{formDescriptionId:o}=a();return i.jsxRuntimeExports.jsx("p",{ref:t,id:o,className:c.cn("text-[0.8rem] text-muted-foreground",e),...r})});j.displayName="FormDescription";const b=s.forwardRef(({className:e,children:r,...t},o)=>{const{error:n,formMessageId:m}=a(),l=n?String(n?.message??""):r;return l?i.jsxRuntimeExports.jsx("p",{ref:o,id:m,className:c.cn("text-[0.8rem] font-medium text-destructive",e),...t,children:l}):null});b.displayName="FormMessage";exports.Form=C;exports.FormControl=p;exports.FormDescription=j;exports.FormField=w;exports.FormItem=F;exports.FormLabel=x;exports.FormMessage=b;exports.useFormField=a;
|
|
2
2
|
//# sourceMappingURL=index.cjs27.js.map
|
package/dist/index.cjs27.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs27.js","sources":["../src/components/ui/
|
|
1
|
+
{"version":3,"file":"index.cjs27.js","sources":["../src/components/ui/form.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport {\n Controller,\n FormProvider,\n useFormContext,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n} from \"react-hook-form\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Label } from \"@/components/ui/label\"\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue | null>(null)\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState, formState } = useFormContext()\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\")\n }\n\n if (!itemContext) {\n throw new Error(\"useFormField should be used within <FormItem>\")\n }\n\n const fieldState = getFieldState(fieldContext.name, formState)\n\n const { id } = itemContext\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue | null>(null)\n\nconst FormItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn(\"space-y-2\", className)} {...props} />\n </FormItemContext.Provider>\n )\n})\nFormItem.displayName = \"FormItem\"\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField()\n\n return (\n <Label\n ref={ref}\n className={cn(error && \"text-destructive\", className)}\n htmlFor={formItemId}\n {...props}\n />\n )\n})\nFormLabel.displayName = \"FormLabel\"\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n )\n})\nFormControl.displayName = \"FormControl\"\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField()\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn(\"text-[0.8rem] text-muted-foreground\", className)}\n {...props}\n />\n )\n})\nFormDescription.displayName = \"FormDescription\"\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField()\n const body = error ? String(error?.message ?? \"\") : children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn(\"text-[0.8rem] font-medium text-destructive\", className)}\n {...props}\n >\n {body}\n </p>\n )\n})\nFormMessage.displayName = \"FormMessage\"\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n}\n"],"names":["Form","FormProvider","FormFieldContext","React","FormField","props","jsx","Controller","useFormField","fieldContext","itemContext","FormItemContext","getFieldState","formState","useFormContext","fieldState","id","FormItem","className","ref","cn","FormLabel","error","formItemId","Label","FormControl","formDescriptionId","formMessageId","Slot","FormDescription","FormMessage","children","body"],"mappings":"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"}
|
package/dist/index.cjs28.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index.cjs62.js"),c=require("react"),l=require("@radix-ui/react-hover-card"),m=require("./index.cjs63.js");function n(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const u=n(c),a=n(l),f=a.Root,p=a.Trigger,i=u.forwardRef(({className:e,align:o="center",sideOffset:t=4,...r},d)=>s.jsxRuntimeExports.jsx(a.Content,{ref:d,align:o,sideOffset:t,className:m.cn("z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-hover-card-content-transform-origin]",e),...r}));i.displayName=a.Content.displayName;exports.HoverCard=f;exports.HoverCardContent=i;exports.HoverCardTrigger=p;
|
|
2
2
|
//# sourceMappingURL=index.cjs28.js.map
|
package/dist/index.cjs28.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs28.js","sources":["../src/components/ui/
|
|
1
|
+
{"version":3,"file":"index.cjs28.js","sources":["../src/components/ui/hover-card.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst HoverCard = HoverCardPrimitive.Root\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-hover-card-content-transform-origin]\",\n className\n )}\n {...props}\n />\n))\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent }\n"],"names":["HoverCard","HoverCardPrimitive","HoverCardTrigger","HoverCardContent","React","className","align","sideOffset","props","ref","jsx","cn"],"mappings":"8eAKMA,EAAYC,EAAmB,KAE/BC,EAAmBD,EAAmB,QAEtCE,EAAmBC,EAAM,WAG7B,CAAC,CAAE,UAAAC,EAAW,MAAAC,EAAQ,SAAU,WAAAC,EAAa,EAAG,GAAGC,CAAA,EAASC,IAC5DC,EAAAA,kBAAAA,IAACT,EAAmB,QAAnB,CACC,IAAAQ,EACA,MAAAH,EACA,WAAAC,EACA,UAAWI,EAAAA,GACT,keACAN,CAAA,EAED,GAAGG,CAAA,CACN,CACD,EACDL,EAAiB,YAAcF,EAAmB,QAAQ"}
|
package/dist/index.cjs29.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index.cjs62.js"),l=require("react"),a=require("./index.cjs63.js");function s(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,i.get?i:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const d=s(l),o=d.forwardRef(({className:e,type:r,...t},i)=>n.jsxRuntimeExports.jsx("input",{type:r,className:a.cn("flex h-10 w-full rounded-[8px] border border-[#e6e6e6] bg-white px-3 py-2 text-[14px] leading-[20px] text-[#111111] transition-colors","file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground","placeholder:text-[#b3b3b3] focus-visible:outline-none focus-visible:border-[#1D1C20] focus-visible:ring-0","disabled:cursor-not-allowed disabled:bg-[#f2f2f2] disabled:text-[#9ca3af] disabled:placeholder:text-[#b3b3b3] disabled:opacity-100","aria-invalid:border-[#ff3b30] aria-invalid:focus-visible:border-[#ff3b30]",e),ref:i,...t}));o.displayName="Input";exports.Input=o;
|
|
2
2
|
//# sourceMappingURL=index.cjs29.js.map
|
package/dist/index.cjs29.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs29.js","sources":["../src/components/ui/date-range-picker.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport {\n addMonths,\n format,\n isAfter,\n isBefore,\n setMonth,\n setYear,\n startOfMonth,\n} from \"date-fns\"\nimport { CalendarDays, ChevronDown, ChevronLeft, ChevronRight } from \"lucide-react\"\nimport { DayPicker, type Matcher } from \"react-day-picker\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/components/ui/popover\"\n\nexport type DateRangePickerValue = {\n from?: Date\n to?: Date\n}\n\nexport interface DateRangePickerProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"value\" | \"defaultValue\" | \"onChange\"> {\n value?: DateRangePickerValue\n defaultValue?: DateRangePickerValue\n onValueChange?: (value: DateRangePickerValue | undefined) => void\n wrapperClassName?: string\n popoverClassName?: string\n popoverSide?: React.ComponentPropsWithoutRef<typeof PopoverContent>[\"side\"]\n popoverAvoidCollisions?: boolean\n placeholder?: string\n dateFormat?: string\n minYear?: number\n maxYear?: number\n}\n\nconst DEFAULT_FORMAT = \"dd/MM/yyyy\"\nconst DEFAULT_PLACEHOLDER = \"DD/MM/YYYY - DD/MM/YYYY\"\nconst MONTH_LABELS = Array.from({ length: 12 }, (_, monthIndex) =>\n new Date(2020, monthIndex, 1).toLocaleString(\"default\", { month: \"long\" })\n)\n\nconst clampMonth = (month: Date, minMonth: Date, maxMonth: Date) => {\n if (isBefore(month, minMonth)) {\n return minMonth\n }\n\n if (isAfter(month, maxMonth)) {\n return maxMonth\n }\n\n return month\n}\n\nconst normalizeRange = (\n value?: DateRangePickerValue\n): DateRangePickerValue | undefined => {\n if (!value?.from && !value?.to) {\n return undefined\n }\n\n if (value.from && value.to && isAfter(value.from, value.to)) {\n return {\n from: value.to,\n to: value.from,\n }\n }\n\n return {\n from: value.from,\n to: value.to,\n }\n}\n\nconst formatDate = (date: Date | undefined, dateFormat: string) => {\n if (!date) {\n return undefined\n }\n\n return format(date, dateFormat)\n}\n\nconst formatCommittedValue = (\n value: DateRangePickerValue | undefined,\n dateFormat: string\n) => {\n const fromText = formatDate(value?.from, dateFormat)\n const toText = formatDate(value?.to, dateFormat)\n\n if (!fromText || !toText) {\n return \"\"\n }\n\n return `${fromText} - ${toText}`\n}\n\nconst formatDraftValue = (\n value: DateRangePickerValue | undefined,\n dateFormat: string\n) => {\n const fromText = formatDate(value?.from, dateFormat) ?? \"DD/MM/YYYY\"\n const toText = formatDate(value?.to, dateFormat) ?? \"DD/MM/YYYY\"\n\n return `${fromText} - ${toText}`\n}\n\ntype CalendarPanelProps = {\n label: string\n month: Date\n minMonth: Date\n maxMonth: Date\n minDate: Date\n maxDate: Date\n selectedDate?: Date\n disabledMatcher?: Matcher\n disabled?: boolean\n years: number[]\n onMonthChange: (month: Date) => void\n onSelectDate: (date: Date | undefined) => void\n}\n\nfunction CalendarPanel({\n label,\n month,\n minMonth,\n maxMonth,\n minDate,\n maxDate,\n selectedDate,\n disabledMatcher,\n disabled,\n years,\n onMonthChange,\n onSelectDate,\n}: CalendarPanelProps) {\n const handlePrevMonth = () => {\n onMonthChange(addMonths(month, -1))\n }\n\n const handleNextMonth = () => {\n onMonthChange(addMonths(month, 1))\n }\n\n const isPrevDisabled = disabled || !isAfter(month, minMonth)\n const isNextDisabled = disabled || !isBefore(month, maxMonth)\n\n return (\n <div className=\"w-full min-w-0\">\n <div className=\"flex flex-wrap items-center gap-2 sm:flex-nowrap\">\n <button\n type=\"button\"\n onClick={handlePrevMonth}\n disabled={isPrevDisabled}\n className={cn(\n \"inline-flex h-8 w-8 items-center justify-center rounded-md text-[#6e6d71] transition-colors lg:h-9 lg:w-9\",\n \"hover:bg-[#f5f5f5] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#1d1c20]/20\",\n \"disabled:cursor-not-allowed disabled:opacity-40\"\n )}\n aria-label={`Previous month for ${label.toLowerCase()}`}\n >\n <ChevronLeft className=\"h-4 w-4 lg:h-5 lg:w-5\" />\n </button>\n\n <div className=\"relative min-w-0 flex-1\">\n <select\n value={month.getMonth()}\n onChange={(event) => {\n const monthValue = Number(event.target.value)\n onMonthChange(setMonth(month, monthValue))\n }}\n disabled={disabled}\n className={cn(\n \"h-9 w-full appearance-none rounded-md border border-[#b7b7b9] bg-white px-3 pr-8 text-left text-sm font-medium leading-5 text-[#111111] lg:h-10 lg:px-4 lg:pr-10\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#1d1c20]/20\",\n \"disabled:cursor-not-allowed disabled:bg-[#f2f2f2] disabled:text-[#b3b3b3]\"\n )}\n aria-label={`Month for ${label.toLowerCase()}`}\n >\n {MONTH_LABELS.map((monthLabel, monthIndex) => (\n <option key={monthLabel} value={monthIndex}>\n {monthLabel}\n </option>\n ))}\n </select>\n <ChevronDown className=\"pointer-events-none absolute right-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-[#7f7d83] lg:right-3\" />\n </div>\n\n <div className=\"relative w-[104px] shrink-0 sm:w-[120px]\">\n <select\n value={month.getFullYear()}\n onChange={(event) => {\n const yearValue = Number(event.target.value)\n onMonthChange(setYear(month, yearValue))\n }}\n disabled={disabled}\n className={cn(\n \"h-9 w-full appearance-none rounded-md border border-[#b7b7b9] bg-white px-3 pr-8 text-left text-sm font-medium leading-5 text-[#111111] lg:h-10 lg:px-4 lg:pr-9\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#1d1c20]/20\",\n \"disabled:cursor-not-allowed disabled:bg-[#f2f2f2] disabled:text-[#b3b3b3]\"\n )}\n aria-label={`Year for ${label.toLowerCase()}`}\n >\n {years.map((year) => (\n <option key={year} value={year}>\n {year}\n </option>\n ))}\n </select>\n <ChevronDown className=\"pointer-events-none absolute right-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-[#7f7d83] lg:right-3\" />\n </div>\n\n <button\n type=\"button\"\n onClick={handleNextMonth}\n disabled={isNextDisabled}\n className={cn(\n \"inline-flex h-8 w-8 items-center justify-center rounded-md text-[#6e6d71] transition-colors lg:h-9 lg:w-9\",\n \"hover:bg-[#f5f5f5] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#1d1c20]/20\",\n \"disabled:cursor-not-allowed disabled:opacity-40\"\n )}\n aria-label={`Next month for ${label.toLowerCase()}`}\n >\n <ChevronRight className=\"h-4 w-4 lg:h-5 lg:w-5\" />\n </button>\n </div>\n\n <p className=\"mt-1.5 text-center text-sm font-medium leading-5 text-[#666666] lg:mt-2\">\n {label}\n </p>\n\n <DayPicker\n mode=\"single\"\n month={month}\n onMonthChange={onMonthChange}\n selected={selectedDate}\n onSelect={onSelectDate}\n showOutsideDays\n fixedWeeks\n hideNavigation\n disabled={[\n { before: minDate },\n { after: maxDate },\n ...(disabledMatcher ? [disabledMatcher] : []),\n ]}\n className=\"mt-1 p-0 [--drp-cell-size:1.625rem] md:[--drp-cell-size:1.875rem] xl:[--drp-cell-size:2.125rem]\"\n classNames={{\n root: \"w-full\",\n months: \"w-full\",\n month: \"w-full\",\n month_caption: \"hidden\",\n month_grid: \"w-full border-collapse\",\n weekdays: \"grid grid-cols-7\",\n weekday:\n \"h-[calc(var(--drp-cell-size)-0.25rem)] text-center text-[11px] font-medium leading-4 text-[#666666] lg:text-xs\",\n weeks: \"grid gap-0\",\n week: \"grid grid-cols-7\",\n day: \"flex h-[var(--drp-cell-size)] w-full items-center justify-center p-0\",\n day_button:\n \"h-[--drp-cell-size] w-[--drp-cell-size] rounded-md border border-transparent bg-transparent p-0 text-[13px] font-normal leading-none text-[#444444] transition-colors hover:border-[#cccccc] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#2bbd8f]/25 lg:text-sm\",\n selected:\n \"[&>button]:border-[#2bbd8f] [&>button]:bg-[#2bbd8f] [&>button]:text-[#111111]\",\n today: \"font-medium\",\n outside: \"text-[#a4a4a8]\",\n disabled: \"pointer-events-none text-[#d3d3d6]\",\n hidden: \"invisible\",\n }}\n />\n </div>\n )\n}\n\nconst DateRangePicker = React.forwardRef<HTMLButtonElement, DateRangePickerProps>(\n (\n {\n value,\n defaultValue,\n onValueChange,\n wrapperClassName,\n popoverClassName,\n popoverSide = \"bottom\",\n popoverAvoidCollisions = true,\n className,\n placeholder = DEFAULT_PLACEHOLDER,\n dateFormat = DEFAULT_FORMAT,\n minYear = 2000,\n maxYear = 2100,\n disabled,\n ...triggerProps\n },\n ref\n ) => {\n const safeMinYear = Math.min(minYear, maxYear)\n const safeMaxYear = Math.max(minYear, maxYear)\n\n const minMonth = React.useMemo(\n () => startOfMonth(new Date(safeMinYear, 0, 1)),\n [safeMinYear]\n )\n const maxMonth = React.useMemo(\n () => startOfMonth(new Date(safeMaxYear, 11, 1)),\n [safeMaxYear]\n )\n const minDate = React.useMemo(() => new Date(safeMinYear, 0, 1), [safeMinYear])\n const maxDate = React.useMemo(\n () => new Date(safeMaxYear, 11, 31),\n [safeMaxYear]\n )\n\n const years = React.useMemo(\n () =>\n Array.from(\n { length: safeMaxYear - safeMinYear + 1 },\n (_, yearIndex) => safeMinYear + yearIndex\n ),\n [safeMinYear, safeMaxYear]\n )\n\n const isControlled = value !== undefined\n const [internalValue, setInternalValue] = React.useState<DateRangePickerValue | undefined>(\n normalizeRange(defaultValue)\n )\n\n const committedValue = normalizeRange(isControlled ? value : internalValue)\n\n const buildPanelMonths = React.useCallback(\n (range: DateRangePickerValue | undefined) => {\n const now = startOfMonth(new Date())\n const initialStart = clampMonth(\n startOfMonth(range?.from ?? now),\n minMonth,\n maxMonth\n )\n\n const initialEndRaw = range?.to\n ? startOfMonth(range.to)\n : addMonths(initialStart, 1)\n const initialEnd = clampMonth(initialEndRaw, minMonth, maxMonth)\n\n return {\n start: initialStart,\n end: initialEnd,\n }\n },\n [minMonth, maxMonth]\n )\n\n const [open, setOpen] = React.useState(false)\n const [draftValue, setDraftValue] = React.useState<DateRangePickerValue | undefined>(\n committedValue\n )\n const initialMonths = buildPanelMonths(committedValue)\n const [startMonth, setStartMonth] = React.useState<Date>(initialMonths.start)\n const [endMonth, setEndMonth] = React.useState<Date>(initialMonths.end)\n\n const syncDraftState = React.useCallback(\n (nextValue: DateRangePickerValue | undefined) => {\n const normalized = normalizeRange(nextValue)\n setDraftValue(normalized)\n const nextMonths = buildPanelMonths(normalized)\n setStartMonth(nextMonths.start)\n setEndMonth(nextMonths.end)\n },\n [buildPanelMonths]\n )\n\n React.useEffect(() => {\n if (!open) {\n syncDraftState(committedValue)\n }\n }, [committedValue, open, syncDraftState])\n\n const handleStartMonthChange = (nextMonth: Date) => {\n setStartMonth(clampMonth(startOfMonth(nextMonth), minMonth, maxMonth))\n }\n\n const handleEndMonthChange = (nextMonth: Date) => {\n setEndMonth(clampMonth(startOfMonth(nextMonth), minMonth, maxMonth))\n }\n\n const handleStartDateSelect = (date: Date | undefined) => {\n if (!date) {\n return\n }\n\n setDraftValue((previousValue) => {\n const nextValue: DateRangePickerValue = {\n from: date,\n to: previousValue?.to,\n }\n\n if (nextValue.to && isAfter(date, nextValue.to)) {\n nextValue.to = date\n }\n\n return nextValue\n })\n }\n\n const handleEndDateSelect = (date: Date | undefined) => {\n if (!date) {\n return\n }\n\n setDraftValue((previousValue) => {\n const nextValue: DateRangePickerValue = {\n from: previousValue?.from,\n to: date,\n }\n\n if (nextValue.from && isAfter(nextValue.from, date)) {\n nextValue.from = date\n }\n\n return nextValue\n })\n }\n\n const handleCancel = () => {\n syncDraftState(committedValue)\n setOpen(false)\n }\n\n const handleApply = () => {\n const normalized = normalizeRange(draftValue)\n\n if (!isControlled) {\n setInternalValue(normalized)\n }\n\n onValueChange?.(normalized)\n setOpen(false)\n }\n\n const canApply = Boolean(draftValue?.from && draftValue?.to)\n const committedText = formatCommittedValue(committedValue, dateFormat)\n const draftText = formatDraftValue(draftValue, dateFormat)\n\n return (\n <div className={cn(\"w-full\", wrapperClassName)}>\n <Popover\n open={open}\n onOpenChange={(nextOpen) => {\n if (disabled) {\n return\n }\n\n if (nextOpen) {\n syncDraftState(committedValue)\n }\n\n setOpen(nextOpen)\n }}\n >\n <PopoverTrigger asChild>\n <button\n ref={ref}\n type=\"button\"\n disabled={disabled}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-[8px] border border-[#e6e6e6] bg-white px-3 py-2 text-left text-[14px] leading-[20px] transition-colors\",\n \"focus-visible:outline-none focus-visible:border-[#1D1C20] focus-visible:ring-0\",\n \"disabled:cursor-not-allowed disabled:bg-[#f2f2f2] disabled:text-[#9ca3af] disabled:opacity-100\",\n className\n )}\n {...triggerProps}\n >\n <span\n className={cn(\n \"truncate text-[14px] font-normal leading-[20px]\",\n committedText ? \"text-[#111111]\" : \"text-[#b3b3b3]\"\n )}\n >\n {committedText || placeholder}\n </span>\n <CalendarDays className=\"ml-3 h-4 w-4 shrink-0 text-[#111111]\" />\n </button>\n </PopoverTrigger>\n\n <PopoverContent\n side={popoverSide}\n avoidCollisions={popoverAvoidCollisions}\n align=\"start\"\n sideOffset={10}\n className={cn(\n \"w-[min(95vw,760px)] max-h-[var(--radix-popover-content-available-height)] overflow-y-auto overscroll-contain rounded-xl border border-[#d8d8da] bg-[#f7f7f8] p-3 shadow-[0px_12px_24px_rgba(0,0,0,0.08)] sm:p-4\",\n popoverClassName\n )}\n >\n <div className=\"grid gap-3 md:grid-cols-2 md:gap-4\">\n <CalendarPanel\n label=\"Start date\"\n month={startMonth}\n minMonth={minMonth}\n maxMonth={maxMonth}\n minDate={minDate}\n maxDate={maxDate}\n selectedDate={draftValue?.from}\n disabledMatcher={draftValue?.to ? { after: draftValue.to } : undefined}\n disabled={disabled}\n years={years}\n onMonthChange={handleStartMonthChange}\n onSelectDate={handleStartDateSelect}\n />\n\n <CalendarPanel\n label=\"End date\"\n month={endMonth}\n minMonth={minMonth}\n maxMonth={maxMonth}\n minDate={minDate}\n maxDate={maxDate}\n selectedDate={draftValue?.to}\n disabledMatcher={draftValue?.from ? { before: draftValue.from } : undefined}\n disabled={disabled}\n years={years}\n onMonthChange={handleEndMonthChange}\n onSelectDate={handleEndDateSelect}\n />\n </div>\n\n <div className=\"mt-2.5 border-t border-[#d8d8da] pt-2.5\">\n <input\n readOnly\n value={draftText}\n className=\"h-9 w-full rounded-md border border-[#e6e6e6] bg-white px-3 py-2 text-sm leading-5 text-[#111111] outline-none transition-colors placeholder:text-[#b3b3b3] focus-visible:border-[#1D1C20]\"\n aria-label=\"Selected date range\"\n />\n\n <div className=\"mt-2.5 flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\">\n <Button\n type=\"button\"\n variant=\"outline\"\n className=\"h-9 rounded-md px-4 text-sm\"\n onClick={handleCancel}\n >\n Cancel\n </Button>\n <Button\n type=\"button\"\n className=\"h-9 rounded-md px-4 text-sm\"\n disabled={!canApply}\n onClick={handleApply}\n >\n Apply\n </Button>\n </div>\n </div>\n </PopoverContent>\n </Popover>\n </div>\n )\n }\n)\n\nDateRangePicker.displayName = \"DateRangePicker\"\n\nexport { DateRangePicker }\n"],"names":["DEFAULT_FORMAT","DEFAULT_PLACEHOLDER","MONTH_LABELS","_","monthIndex","clampMonth","month","minMonth","maxMonth","isBefore","isAfter","normalizeRange","value","formatDate","date","dateFormat","format","formatCommittedValue","fromText","toText","formatDraftValue","CalendarPanel","label","minDate","maxDate","selectedDate","disabledMatcher","disabled","years","onMonthChange","onSelectDate","handlePrevMonth","addMonths","handleNextMonth","isPrevDisabled","isNextDisabled","React","cn","ChevronLeft","event","monthValue","setMonth","monthLabel","ChevronDown","yearValue","setYear","year","ChevronRight","DayPicker","DateRangePicker","defaultValue","onValueChange","wrapperClassName","popoverClassName","popoverSide","popoverAvoidCollisions","className","placeholder","minYear","maxYear","triggerProps","ref","safeMinYear","safeMaxYear","startOfMonth","yearIndex","isControlled","internalValue","setInternalValue","committedValue","buildPanelMonths","range","now","initialStart","initialEndRaw","initialEnd","open","setOpen","draftValue","setDraftValue","initialMonths","startMonth","setStartMonth","endMonth","setEndMonth","syncDraftState","nextValue","normalized","nextMonths","handleStartMonthChange","nextMonth","handleEndMonthChange","handleStartDateSelect","previousValue","handleEndDateSelect","handleCancel","handleApply","canApply","committedText","draftText","Popover","nextOpen","PopoverTrigger","CalendarDays","PopoverContent","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs29.js","sources":["../src/components/ui/input.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<\"input\">>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-10 w-full rounded-[8px] border border-[#e6e6e6] bg-white px-3 py-2 text-[14px] leading-[20px] text-[#111111] transition-colors\",\n \"file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground\",\n \"placeholder:text-[#b3b3b3] focus-visible:outline-none focus-visible:border-[#1D1C20] focus-visible:ring-0\",\n \"disabled:cursor-not-allowed disabled:bg-[#f2f2f2] disabled:text-[#9ca3af] disabled:placeholder:text-[#b3b3b3] disabled:opacity-100\",\n \"aria-invalid:border-[#ff3b30] aria-invalid:focus-visible:border-[#ff3b30]\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n"],"names":["Input","React","className","type","props","ref","jsx","cn"],"mappings":"+bAIMA,EAAQC,EAAM,WAClB,CAAC,CAAE,UAAAC,EAAW,KAAAC,EAAM,GAAGC,CAAA,EAASC,IAE5BC,EAAAA,kBAAAA,IAAC,QAAA,CACC,KAAAH,EACA,UAAWI,EAAAA,GACT,wIACA,uFACA,4GACA,qIACA,4EACAL,CAAA,EAEF,IAAAG,EACC,GAAGD,CAAA,CAAA,CAIZ,EACAJ,EAAM,YAAc"}
|
package/dist/index.cjs3.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index.cjs62.js"),u=require("react"),x=require("@radix-ui/react-accordion"),f=require("lucide-react"),c=require("./index.cjs63.js");function a(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const i=a(u),n=a(x),p=n.Root,d=i.forwardRef(({className:e,...o},t)=>s.jsxRuntimeExports.jsx(n.Item,{ref:t,className:c.cn("border-b",e),...o}));d.displayName="AccordionItem";const m=i.forwardRef(({className:e,children:o,...t},r)=>s.jsxRuntimeExports.jsx(n.Header,{className:"flex",children:s.jsxRuntimeExports.jsxs(n.Trigger,{ref:r,className:c.cn("flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180",e),...t,children:[o,s.jsxRuntimeExports.jsx(f.ChevronDown,{className:"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200"})]})}));m.displayName=n.Trigger.displayName;const l=i.forwardRef(({className:e,children:o,...t},r)=>s.jsxRuntimeExports.jsx(n.Content,{ref:r,className:"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...t,children:s.jsxRuntimeExports.jsx("div",{className:c.cn("pb-4 pt-0",e),children:o})}));l.displayName=n.Content.displayName;exports.Accordion=p;exports.AccordionContent=l;exports.AccordionItem=d;exports.AccordionTrigger=m;
|
|
2
2
|
//# sourceMappingURL=index.cjs3.js.map
|
package/dist/index.cjs3.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs3.js","sources":["../src/components/ui/accordion.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\"\nimport { ChevronDown } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Accordion = AccordionPrimitive.Root\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item\n ref={ref}\n className={cn(\"border-b\", className)}\n {...props}\n />\n))\nAccordionItem.displayName = \"AccordionItem\"\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronDown className=\"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n))\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className=\"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n {...props}\n >\n <div className={cn(\"pb-4 pt-0\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n))\nAccordionContent.displayName = AccordionPrimitive.Content.displayName\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n"],"names":["Accordion","AccordionPrimitive","AccordionItem","React","className","props","ref","cn","AccordionTrigger","children","ChevronDown","AccordionContent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs3.js","sources":["../src/components/ui/accordion.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\"\nimport { ChevronDown } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Accordion = AccordionPrimitive.Root\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item\n ref={ref}\n className={cn(\"border-b\", className)}\n {...props}\n />\n))\nAccordionItem.displayName = \"AccordionItem\"\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronDown className=\"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n))\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className=\"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n {...props}\n >\n <div className={cn(\"pb-4 pt-0\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n))\nAccordionContent.displayName = AccordionPrimitive.Content.displayName\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n"],"names":["Accordion","AccordionPrimitive","AccordionItem","React","className","props","ref","jsx","cn","AccordionTrigger","children","jsxs","ChevronDown","AccordionContent"],"mappings":"ugBAMMA,EAAYC,EAAmB,KAE/BC,EAAgBC,EAAM,WAG1B,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASC,IAC1BC,EAAAA,kBAAAA,IAACN,EAAmB,KAAnB,CACC,IAAAK,EACA,UAAWE,EAAAA,GAAG,WAAYJ,CAAS,EAClC,GAAGC,CAAA,CACN,CACD,EACDH,EAAc,YAAc,gBAE5B,MAAMO,EAAmBN,EAAM,WAG7B,CAAC,CAAE,UAAAC,EAAW,SAAAM,EAAU,GAAGL,CAAA,EAASC,IACpCC,EAAAA,kBAAAA,IAACN,EAAmB,OAAnB,CAA0B,UAAU,OACnC,SAAAU,EAAAA,kBAAAA,KAACV,EAAmB,QAAnB,CACC,IAAAK,EACA,UAAWE,EAAAA,GACT,iJACAJ,CAAA,EAED,GAAGC,EAEH,SAAA,CAAAK,EACDH,EAAAA,kBAAAA,IAACK,EAAAA,YAAA,CAAY,UAAU,0EAAA,CAA2E,CAAA,CAAA,CACpG,EACF,CACD,EACDH,EAAiB,YAAcR,EAAmB,QAAQ,YAE1D,MAAMY,EAAmBV,EAAM,WAG7B,CAAC,CAAE,UAAAC,EAAW,SAAAM,EAAU,GAAGL,GAASC,IACpCC,EAAAA,kBAAAA,IAACN,EAAmB,QAAnB,CACC,IAAAK,EACA,UAAU,4GACT,GAAGD,EAEJ,iCAAC,MAAA,CAAI,UAAWG,EAAAA,GAAG,YAAaJ,CAAS,EAAI,SAAAM,CAAA,CAAS,CAAA,CACxD,CACD,EACDG,EAAiB,YAAcZ,EAAmB,QAAQ"}
|
package/dist/index.cjs30.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index.cjs62.js"),x=require("react"),a=require("lucide-react"),b=require("./index.cjs63.js"),f=require("./index.cjs29.js");function m(e){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(s,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return s.default=e,Object.freeze(s)}const i=m(x),u=i.forwardRef(({className:e,showLabel:s="Show password",hideLabel:t="Hide password",disabled:r,...l},c)=>{const[n,p]=i.useState(!1);return o.jsxRuntimeExports.jsxs("div",{className:"relative w-full",children:[o.jsxRuntimeExports.jsx(f.Input,{ref:c,type:n?"text":"password",disabled:r,className:b.cn("pr-10",e),...l}),o.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>p(d=>!d),disabled:r,"aria-label":n?t:s,className:"absolute right-3 top-1/2 -translate-y-1/2 text-[#7f7d83] transition-colors hover:text-[#111111] focus-visible:outline-none disabled:cursor-not-allowed disabled:text-[#b3b3b3]",children:n?o.jsxRuntimeExports.jsx(a.EyeOff,{className:"h-4 w-4"}):o.jsxRuntimeExports.jsx(a.Eye,{className:"h-4 w-4"})})]})});u.displayName="PasswordInput";exports.PasswordInput=u;
|
|
2
2
|
//# sourceMappingURL=index.cjs30.js.map
|
package/dist/index.cjs30.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs30.js","sources":["../src/components/ui/input
|
|
1
|
+
{"version":3,"file":"index.cjs30.js","sources":["../src/components/ui/password-input.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Eye, EyeOff } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nimport { Input } from \"./input\";\n\ntype PasswordInputProps = Omit<React.ComponentProps<\"input\">, \"type\"> & {\n showLabel?: string;\n hideLabel?: string;\n};\n\nconst PasswordInput = React.forwardRef<HTMLInputElement, PasswordInputProps>(\n (\n {\n className,\n showLabel = \"Show password\",\n hideLabel = \"Hide password\",\n disabled,\n ...props\n },\n ref,\n ) => {\n const [isVisible, setIsVisible] = React.useState(false);\n\n return (\n <div className=\"relative w-full\">\n <Input\n ref={ref}\n type={isVisible ? \"text\" : \"password\"}\n disabled={disabled}\n className={cn(\"pr-10\", className)}\n {...props}\n />\n <button\n type=\"button\"\n onClick={() => setIsVisible((value) => !value)}\n disabled={disabled}\n aria-label={isVisible ? hideLabel : showLabel}\n className=\"absolute right-3 top-1/2 -translate-y-1/2 text-[#7f7d83] transition-colors hover:text-[#111111] focus-visible:outline-none disabled:cursor-not-allowed disabled:text-[#b3b3b3]\"\n >\n {isVisible ? (\n <EyeOff className=\"h-4 w-4\" />\n ) : (\n <Eye className=\"h-4 w-4\" />\n )}\n </button>\n </div>\n );\n },\n);\nPasswordInput.displayName = \"PasswordInput\";\n\nexport { PasswordInput };\nexport type { PasswordInputProps };\n"],"names":["PasswordInput","React","className","showLabel","hideLabel","disabled","props","ref","isVisible","setIsVisible","jsxs","jsx","Input","cn","value","EyeOff","Eye"],"mappings":"ufAYMA,EAAgBC,EAAM,WAC1B,CACE,CACE,UAAAC,EACA,UAAAC,EAAY,gBACZ,UAAAC,EAAY,gBACZ,SAAAC,EACA,GAAGC,CAAA,EAELC,IACG,CACH,KAAM,CAACC,EAAWC,CAAY,EAAIR,EAAM,SAAS,EAAK,EAEtD,OACES,EAAAA,kBAAAA,KAAC,MAAA,CAAI,UAAU,kBACb,SAAA,CAAAC,EAAAA,kBAAAA,IAACC,EAAAA,MAAA,CACC,IAAAL,EACA,KAAMC,EAAY,OAAS,WAC3B,SAAAH,EACA,UAAWQ,EAAAA,GAAG,QAASX,CAAS,EAC/B,GAAGI,CAAA,CAAA,EAENK,EAAAA,kBAAAA,IAAC,SAAA,CACC,KAAK,SACL,QAAS,IAAMF,EAAcK,GAAU,CAACA,CAAK,EAC7C,SAAAT,EACA,aAAYG,EAAYJ,EAAYD,EACpC,UAAU,iLAET,SAAAK,0BACEO,EAAAA,OAAA,CAAO,UAAU,UAAU,EAE5BJ,EAAAA,kBAAAA,IAACK,EAAAA,IAAA,CAAI,UAAU,SAAA,CAAU,CAAA,CAAA,CAE7B,EACF,CAEJ,CACF,EACAhB,EAAc,YAAc"}
|