@mdigital_ui/ui 0.3.3 → 0.3.5
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/checkbox/index.js +1 -1
- package/dist/{chunk-VKLDLJXG.js → chunk-F3OLZMGO.js} +12 -8
- package/dist/chunk-F3OLZMGO.js.map +1 -0
- package/dist/{chunk-GIWG6BCT.js → chunk-KYDQJSSW.js} +2 -3
- package/dist/chunk-KYDQJSSW.js.map +1 -0
- package/dist/{chunk-OSHJYIHC.js → chunk-NQACKYGF.js} +4 -4
- package/dist/{chunk-OSHJYIHC.js.map → chunk-NQACKYGF.js.map} +1 -1
- package/dist/{chunk-2REG4OUB.js → chunk-QNPE63O6.js} +92 -75
- package/dist/chunk-QNPE63O6.js.map +1 -0
- package/dist/{chunk-I7MESP7F.js → chunk-SB3JGUGE.js} +6 -6
- package/dist/chunk-SB3JGUGE.js.map +1 -0
- package/dist/{chunk-RLYGJN56.js → chunk-U5GAFTEM.js} +9 -4
- package/dist/chunk-U5GAFTEM.js.map +1 -0
- package/dist/{chunk-DHXVNO75.js → chunk-XR4UHTK3.js} +3 -3
- package/dist/{chunk-DHXVNO75.js.map → chunk-XR4UHTK3.js.map} +1 -1
- package/dist/{chunk-623OVNLC.js → chunk-XVRNFPBI.js} +3 -3
- package/dist/{chunk-623OVNLC.js.map → chunk-XVRNFPBI.js.map} +1 -1
- package/dist/{chunk-QC7XNMM7.js → chunk-ZESEEYEJ.js} +81 -39
- package/dist/chunk-ZESEEYEJ.js.map +1 -0
- package/dist/float-input/index.js +1 -1
- package/dist/index.js +12 -12
- package/dist/input/index.js +1 -1
- package/dist/input-password/index.js +2 -2
- package/dist/radio/index.js +1 -1
- package/dist/select/index.js +1 -1
- package/dist/switch/index.js +1 -1
- package/dist/table/index.js +3 -3
- package/dist/transfer/index.js +2 -2
- package/package.json +1 -1
- package/dist/accordion/index.d.ts +0 -6
- package/dist/accordion/index.d.ts.map +0 -1
- package/dist/accordion/types.d.ts +0 -125
- package/dist/accordion/types.d.ts.map +0 -1
- package/dist/avatar/index.d.ts +0 -14
- package/dist/avatar/index.d.ts.map +0 -1
- package/dist/avatar/types.d.ts +0 -147
- package/dist/avatar/types.d.ts.map +0 -1
- package/dist/badge/index.d.ts +0 -28
- package/dist/badge/index.d.ts.map +0 -1
- package/dist/badge/types.d.ts +0 -97
- package/dist/badge/types.d.ts.map +0 -1
- package/dist/breadcrumbs/index.d.ts +0 -13
- package/dist/breadcrumbs/index.d.ts.map +0 -1
- package/dist/breadcrumbs/types.d.ts +0 -118
- package/dist/breadcrumbs/types.d.ts.map +0 -1
- package/dist/button/index.d.ts +0 -6
- package/dist/button/index.d.ts.map +0 -1
- package/dist/button/types.d.ts +0 -86
- package/dist/button/types.d.ts.map +0 -1
- package/dist/button-group/index.d.ts +0 -34
- package/dist/button-group/index.d.ts.map +0 -1
- package/dist/button-group/types.d.ts +0 -75
- package/dist/button-group/types.d.ts.map +0 -1
- package/dist/card/index.d.ts +0 -71
- package/dist/card/index.d.ts.map +0 -1
- package/dist/card/types.d.ts +0 -136
- package/dist/card/types.d.ts.map +0 -1
- package/dist/carousel/carousel-navigation.d.ts +0 -9
- package/dist/carousel/carousel-navigation.d.ts.map +0 -1
- package/dist/carousel/index.d.ts +0 -50
- package/dist/carousel/index.d.ts.map +0 -1
- package/dist/cascader/index.d.ts +0 -27
- package/dist/cascader/index.d.ts.map +0 -1
- package/dist/cascader/types.d.ts +0 -220
- package/dist/cascader/types.d.ts.map +0 -1
- package/dist/checkbox/index.d.ts +0 -6
- package/dist/checkbox/index.d.ts.map +0 -1
- package/dist/checkbox/types.d.ts +0 -21
- package/dist/checkbox/types.d.ts.map +0 -1
- package/dist/checkbox-group/index.d.ts +0 -6
- package/dist/checkbox-group/index.d.ts.map +0 -1
- package/dist/checkbox-group/types.d.ts +0 -43
- package/dist/checkbox-group/types.d.ts.map +0 -1
- package/dist/chunk-2REG4OUB.js.map +0 -1
- package/dist/chunk-GIWG6BCT.js.map +0 -1
- package/dist/chunk-I7MESP7F.js.map +0 -1
- package/dist/chunk-QC7XNMM7.js.map +0 -1
- package/dist/chunk-RLYGJN56.js.map +0 -1
- package/dist/chunk-VKLDLJXG.js.map +0 -1
- package/dist/clipboard/index.d.ts +0 -6
- package/dist/clipboard/index.d.ts.map +0 -1
- package/dist/clipboard/types.d.ts +0 -65
- package/dist/clipboard/types.d.ts.map +0 -1
- package/dist/collapse/index.d.ts +0 -6
- package/dist/collapse/index.d.ts.map +0 -1
- package/dist/collapse/types.d.ts +0 -60
- package/dist/collapse/types.d.ts.map +0 -1
- package/dist/command/index.d.ts +0 -74
- package/dist/command/index.d.ts.map +0 -1
- package/dist/command/types.d.ts +0 -24
- package/dist/command/types.d.ts.map +0 -1
- package/dist/context-menu/index.d.ts +0 -63
- package/dist/context-menu/index.d.ts.map +0 -1
- package/dist/context-menu/types.d.ts +0 -109
- package/dist/context-menu/types.d.ts.map +0 -1
- package/dist/date-picker/index.d.ts +0 -12
- package/dist/date-picker/index.d.ts.map +0 -1
- package/dist/date-picker/types.d.ts +0 -66
- package/dist/date-picker/types.d.ts.map +0 -1
- package/dist/date-picker/utils.d.ts +0 -10
- package/dist/date-picker/utils.d.ts.map +0 -1
- package/dist/descriptions/index.d.ts +0 -6
- package/dist/descriptions/index.d.ts.map +0 -1
- package/dist/descriptions/types.d.ts +0 -34
- package/dist/descriptions/types.d.ts.map +0 -1
- package/dist/divider/index.d.ts +0 -39
- package/dist/divider/index.d.ts.map +0 -1
- package/dist/divider/types.d.ts +0 -63
- package/dist/divider/types.d.ts.map +0 -1
- package/dist/drawer/index.d.ts +0 -23
- package/dist/drawer/index.d.ts.map +0 -1
- package/dist/drawer/types.d.ts +0 -309
- package/dist/drawer/types.d.ts.map +0 -1
- package/dist/dropdown/index.d.ts +0 -6
- package/dist/dropdown/index.d.ts.map +0 -1
- package/dist/dropdown/types.d.ts +0 -116
- package/dist/dropdown/types.d.ts.map +0 -1
- package/dist/empty/index.d.ts +0 -6
- package/dist/empty/index.d.ts.map +0 -1
- package/dist/empty/types.d.ts +0 -62
- package/dist/empty/types.d.ts.map +0 -1
- package/dist/fetching-overlay/index.d.ts +0 -10
- package/dist/fetching-overlay/index.d.ts.map +0 -1
- package/dist/float-input/index.d.ts +0 -6
- package/dist/float-input/index.d.ts.map +0 -1
- package/dist/float-input/types.d.ts +0 -23
- package/dist/float-input/types.d.ts.map +0 -1
- package/dist/form/index.d.ts +0 -31
- package/dist/form/index.d.ts.map +0 -1
- package/dist/form/types.d.ts +0 -45
- package/dist/form/types.d.ts.map +0 -1
- package/dist/grid/index.d.ts +0 -6
- package/dist/grid/index.d.ts.map +0 -1
- package/dist/grid/types.d.ts +0 -21
- package/dist/grid/types.d.ts.map +0 -1
- package/dist/image/index.d.ts +0 -6
- package/dist/image/index.d.ts.map +0 -1
- package/dist/image/types.d.ts +0 -53
- package/dist/image/types.d.ts.map +0 -1
- package/dist/index.d.ts +0 -139
- package/dist/index.d.ts.map +0 -1
- package/dist/input/index.d.ts +0 -6
- package/dist/input/index.d.ts.map +0 -1
- package/dist/input/types.d.ts +0 -28
- package/dist/input/types.d.ts.map +0 -1
- package/dist/input-group/index.d.ts +0 -9
- package/dist/input-group/index.d.ts.map +0 -1
- package/dist/input-group/types.d.ts +0 -68
- package/dist/input-group/types.d.ts.map +0 -1
- package/dist/input-otp/index.d.ts +0 -7
- package/dist/input-otp/index.d.ts.map +0 -1
- package/dist/input-otp/types.d.ts +0 -111
- package/dist/input-otp/types.d.ts.map +0 -1
- package/dist/input-password/index.d.ts +0 -7
- package/dist/input-password/index.d.ts.map +0 -1
- package/dist/input-password/types.d.ts +0 -34
- package/dist/input-password/types.d.ts.map +0 -1
- package/dist/kbd/index.d.ts +0 -6
- package/dist/kbd/index.d.ts.map +0 -1
- package/dist/kbd/types.d.ts +0 -26
- package/dist/kbd/types.d.ts.map +0 -1
- package/dist/link/index.d.ts +0 -9
- package/dist/link/index.d.ts.map +0 -1
- package/dist/link/types.d.ts +0 -30
- package/dist/link/types.d.ts.map +0 -1
- package/dist/menubar/index.d.ts +0 -6
- package/dist/menubar/index.d.ts.map +0 -1
- package/dist/menubar/types.d.ts +0 -40
- package/dist/menubar/types.d.ts.map +0 -1
- package/dist/modal/index.d.ts +0 -39
- package/dist/modal/index.d.ts.map +0 -1
- package/dist/modal/types.d.ts +0 -77
- package/dist/modal/types.d.ts.map +0 -1
- package/dist/multi-select/index.d.ts +0 -6
- package/dist/multi-select/index.d.ts.map +0 -1
- package/dist/multi-select/types.d.ts +0 -81
- package/dist/multi-select/types.d.ts.map +0 -1
- package/dist/multi-select/utils.d.ts +0 -12
- package/dist/multi-select/utils.d.ts.map +0 -1
- package/dist/navigation-menu/index.d.ts +0 -5
- package/dist/navigation-menu/index.d.ts.map +0 -1
- package/dist/navigation-menu/types.d.ts +0 -37
- package/dist/navigation-menu/types.d.ts.map +0 -1
- package/dist/notification/index.d.ts +0 -6
- package/dist/notification/index.d.ts.map +0 -1
- package/dist/notification/types.d.ts +0 -90
- package/dist/notification/types.d.ts.map +0 -1
- package/dist/number-input/index.d.ts +0 -6
- package/dist/number-input/index.d.ts.map +0 -1
- package/dist/number-input/types.d.ts +0 -28
- package/dist/number-input/types.d.ts.map +0 -1
- package/dist/pagination/index.d.ts +0 -6
- package/dist/pagination/index.d.ts.map +0 -1
- package/dist/pagination/types.d.ts +0 -87
- package/dist/pagination/types.d.ts.map +0 -1
- package/dist/popover/index.d.ts +0 -19
- package/dist/popover/index.d.ts.map +0 -1
- package/dist/popover/types.d.ts +0 -31
- package/dist/popover/types.d.ts.map +0 -1
- package/dist/progress/index.d.ts +0 -6
- package/dist/progress/index.d.ts.map +0 -1
- package/dist/progress/types.d.ts +0 -100
- package/dist/progress/types.d.ts.map +0 -1
- package/dist/radio/index.d.ts +0 -6
- package/dist/radio/index.d.ts.map +0 -1
- package/dist/radio/types.d.ts +0 -20
- package/dist/radio/types.d.ts.map +0 -1
- package/dist/radio-group/index.d.ts +0 -6
- package/dist/radio-group/index.d.ts.map +0 -1
- package/dist/radio-group/types.d.ts +0 -43
- package/dist/radio-group/types.d.ts.map +0 -1
- package/dist/rating/index.d.ts +0 -6
- package/dist/rating/index.d.ts.map +0 -1
- package/dist/rating/types.d.ts +0 -64
- package/dist/rating/types.d.ts.map +0 -1
- package/dist/ribbon/index.d.ts +0 -6
- package/dist/ribbon/index.d.ts.map +0 -1
- package/dist/ribbon/types.d.ts +0 -26
- package/dist/ribbon/types.d.ts.map +0 -1
- package/dist/scroll-area/index.d.ts +0 -10
- package/dist/scroll-area/index.d.ts.map +0 -1
- package/dist/scroll-area/types.d.ts +0 -24
- package/dist/scroll-area/types.d.ts.map +0 -1
- package/dist/select/index.d.ts +0 -6
- package/dist/select/index.d.ts.map +0 -1
- package/dist/select/types.d.ts +0 -34
- package/dist/select/types.d.ts.map +0 -1
- package/dist/skeleton/index.d.ts +0 -6
- package/dist/skeleton/index.d.ts.map +0 -1
- package/dist/skeleton/types.d.ts +0 -10
- package/dist/skeleton/types.d.ts.map +0 -1
- package/dist/slider/index.d.ts +0 -6
- package/dist/slider/index.d.ts.map +0 -1
- package/dist/slider/types.d.ts +0 -70
- package/dist/slider/types.d.ts.map +0 -1
- package/dist/spinner/index.d.ts +0 -6
- package/dist/spinner/index.d.ts.map +0 -1
- package/dist/spinner/types.d.ts +0 -10
- package/dist/spinner/types.d.ts.map +0 -1
- package/dist/stepper/index.d.ts +0 -6
- package/dist/stepper/index.d.ts.map +0 -1
- package/dist/stepper/types.d.ts +0 -86
- package/dist/stepper/types.d.ts.map +0 -1
- package/dist/styles/global.css +0 -7651
- package/dist/styles/themes/dark.css +0 -93
- package/dist/styles/themes/index.d.ts +0 -9
- package/dist/styles/themes/index.d.ts.map +0 -1
- package/dist/styles/themes/light.css +0 -89
- package/dist/styles/themes/presets/corporate.css +0 -126
- package/dist/styles/themes/presets/index.d.ts +0 -21
- package/dist/styles/themes/presets/index.d.ts.map +0 -1
- package/dist/styles/themes/presets/minimal.css +0 -126
- package/dist/styles/themes/presets/vibrant.css +0 -126
- package/dist/styles/tokens.d.ts +0 -428
- package/dist/styles/tokens.d.ts.map +0 -1
- package/dist/switch/index.d.ts +0 -6
- package/dist/switch/index.d.ts.map +0 -1
- package/dist/switch/types.d.ts +0 -80
- package/dist/switch/types.d.ts.map +0 -1
- package/dist/table/EditableCell.d.ts +0 -13
- package/dist/table/EditableCell.d.ts.map +0 -1
- package/dist/table/TableActions.d.ts +0 -21
- package/dist/table/TableActions.d.ts.map +0 -1
- package/dist/table/TableCell.d.ts +0 -12
- package/dist/table/TableCell.d.ts.map +0 -1
- package/dist/table/TableHeaderCell.d.ts +0 -16
- package/dist/table/TableHeaderCell.d.ts.map +0 -1
- package/dist/table/TableRow.d.ts +0 -16
- package/dist/table/TableRow.d.ts.map +0 -1
- package/dist/table/TableSkeleton.d.ts +0 -13
- package/dist/table/TableSkeleton.d.ts.map +0 -1
- package/dist/table/index.d.ts +0 -15
- package/dist/table/index.d.ts.map +0 -1
- package/dist/table/types.d.ts +0 -110
- package/dist/table/types.d.ts.map +0 -1
- package/dist/table/variants.d.ts +0 -8
- package/dist/table/variants.d.ts.map +0 -1
- package/dist/tabs/index.d.ts +0 -7
- package/dist/tabs/index.d.ts.map +0 -1
- package/dist/tabs/types.d.ts +0 -86
- package/dist/tabs/types.d.ts.map +0 -1
- package/dist/tag/index.d.ts +0 -49
- package/dist/tag/index.d.ts.map +0 -1
- package/dist/tag/types.d.ts +0 -23
- package/dist/tag/types.d.ts.map +0 -1
- package/dist/textarea/index.d.ts +0 -6
- package/dist/textarea/index.d.ts.map +0 -1
- package/dist/textarea/types.d.ts +0 -84
- package/dist/textarea/types.d.ts.map +0 -1
- package/dist/theme/ThemeProvider.d.ts +0 -44
- package/dist/theme/ThemeProvider.d.ts.map +0 -1
- package/dist/theme/index.d.ts +0 -7
- package/dist/theme/index.d.ts.map +0 -1
- package/dist/theme/types.d.ts +0 -47
- package/dist/theme/types.d.ts.map +0 -1
- package/dist/timeline/index.d.ts +0 -13
- package/dist/timeline/index.d.ts.map +0 -1
- package/dist/timeline/types.d.ts +0 -25
- package/dist/timeline/types.d.ts.map +0 -1
- package/dist/toast/index.d.ts +0 -12
- package/dist/toast/index.d.ts.map +0 -1
- package/dist/toast/types.d.ts +0 -49
- package/dist/toast/types.d.ts.map +0 -1
- package/dist/toggle/index.d.ts +0 -6
- package/dist/toggle/index.d.ts.map +0 -1
- package/dist/toggle/types.d.ts +0 -57
- package/dist/toggle/types.d.ts.map +0 -1
- package/dist/toggle-group/index.d.ts +0 -6
- package/dist/toggle-group/index.d.ts.map +0 -1
- package/dist/toggle-group/types.d.ts +0 -80
- package/dist/toggle-group/types.d.ts.map +0 -1
- package/dist/tooltip/index.d.ts +0 -9
- package/dist/tooltip/index.d.ts.map +0 -1
- package/dist/tooltip/types.d.ts +0 -72
- package/dist/tooltip/types.d.ts.map +0 -1
- package/dist/transfer/index.d.ts +0 -6
- package/dist/transfer/index.d.ts.map +0 -1
- package/dist/transfer/types.d.ts +0 -83
- package/dist/transfer/types.d.ts.map +0 -1
- package/dist/transfer/utils.d.ts +0 -13
- package/dist/transfer/utils.d.ts.map +0 -1
- package/dist/tree/index.d.ts +0 -6
- package/dist/tree/index.d.ts.map +0 -1
- package/dist/tree/types.d.ts +0 -143
- package/dist/tree/types.d.ts.map +0 -1
- package/dist/tree-select/index.d.ts +0 -6
- package/dist/tree-select/index.d.ts.map +0 -1
- package/dist/tree-select/types.d.ts +0 -147
- package/dist/tree-select/types.d.ts.map +0 -1
- package/dist/types.d.ts +0 -53
- package/dist/types.d.ts.map +0 -1
- package/dist/upload/index.d.ts +0 -7
- package/dist/upload/index.d.ts.map +0 -1
- package/dist/upload/types.d.ts +0 -94
- package/dist/upload/types.d.ts.map +0 -1
- package/dist/upload/utils.d.ts +0 -26
- package/dist/upload/utils.d.ts.map +0 -1
- package/dist/utils.d.ts +0 -63
- package/dist/utils.d.ts.map +0 -1
- package/dist/variants.d.ts +0 -434
- package/dist/variants.d.ts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/switch/index.tsx"],"names":[],"mappings":"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","file":"chunk-2REG4OUB.js","sourcesContent":["'use client'\n\nimport { cva } from \"class-variance-authority\";\nimport { Loader2 } from \"lucide-react\";\nimport React, { useState, useId } from \"react\";\n\nimport { cn } from \"../utils\";\nimport { switchTrackColorClasses } from \"../variants\";\nimport type { SwitchProps, SwitchSize } from \"./types\";\n\nconst switchTrackVariants = cva(\n [\n \"relative rounded-full cursor-pointer transition-colors\",\n \"peer-disabled:opacity-50 peer-disabled:cursor-not-allowed\",\n \"peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-background\",\n ],\n {\n variants: {\n color: switchTrackColorClasses,\n size: {\n xs: \"w-(--switch-width-xs) h-(--switch-height-xs)\",\n sm: \"w-(--switch-width-sm) h-(--switch-height-sm)\",\n md: \"w-(--switch-width-md) h-(--switch-height-md)\",\n lg: \"w-(--switch-width-lg) h-(--switch-height-lg)\",\n },\n hasError: {\n true: \"bg-error/30 peer-checked:bg-error peer-focus-visible:ring-error\",\n false: \"\",\n },\n },\n defaultVariants: {\n color: \"primary\",\n size: \"md\",\n hasError: false,\n },\n },\n);\n\nconst switchThumbVariants = cva(\n \"absolute top-0.5 left-0.5 bg-background rounded-full shadow-sm transition-transform duration-200 ease-in-out flex items-center justify-center\",\n {\n variants: {\n size: {\n xs: \"w-(--switch-thumb-xs) h-(--switch-thumb-xs) peer-checked:translate-x-(--switch-translate-xs)\",\n sm: \"w-(--switch-thumb-sm) h-(--switch-thumb-sm) peer-checked:translate-x-(--switch-translate-sm)\",\n md: \"w-(--switch-thumb-md) h-(--switch-thumb-md) peer-checked:translate-x-(--switch-translate-md)\",\n lg: \"w-(--switch-thumb-lg) h-(--switch-thumb-lg) peer-checked:translate-x-(--switch-translate-lg)\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n\n/**\n * Loader size classes based on switch size\n */\nconst loaderSizeClasses: Record<SwitchSize, string> = {\n xs: \"size-2\",\n sm: \"size-2.5\",\n md: \"size-3\",\n lg: \"size-3.5\",\n};\n\n/**\n * Thumb icon size classes based on switch size\n */\nconst thumbIconSizeClasses: Record<SwitchSize, string> = {\n xs: \"size-2\",\n sm: \"size-2.5\",\n md: \"size-3\",\n lg: \"size-3.5\",\n};\n\n/**\n * Track content size classes\n */\nconst trackContentSizeClasses: Record<SwitchSize, string> = {\n xs: \"text-[6px] px-0.5\",\n sm: \"text-[7px] px-0.5\",\n md: \"text-[8px] px-1\",\n lg: \"text-[9px] px-1.5\",\n};\n\nconst Switch = React.memo<SwitchProps>(\n ({\n color = \"primary\",\n size = \"md\",\n label,\n labelPosition = \"right\",\n helperText,\n error,\n loading = false,\n thumbIcon,\n startContent,\n endContent,\n required,\n labelClassName,\n className,\n classNames,\n disabled,\n checked,\n defaultChecked,\n ref,\n ...props\n }) => {\n const id = useId();\n const inputId = props.id || id;\n const helperId = `switch-helper-${id}`;\n const hasHelperText = !!(helperText || error);\n\n // Handle uncontrolled mode\n const [internalChecked, setInternalChecked] = useState(\n defaultChecked ?? false,\n );\n const isControlled = checked !== undefined;\n const currentChecked = isControlled ? checked : internalChecked;\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setInternalChecked(e.target.checked);\n }\n props.onChange?.(e);\n };\n\n const isDisabled = disabled || loading;\n\n const switchElement = (\n <span className={cn(\"relative inline-flex items-center\", \"switch_root\", classNames?.root)}>\n <input\n ref={ref}\n id={inputId}\n type=\"checkbox\"\n className=\"peer sr-only\"\n disabled={isDisabled}\n role=\"switch\"\n aria-checked={currentChecked}\n aria-invalid={!!error || undefined}\n aria-describedby={hasHelperText ? helperId : undefined}\n checked={currentChecked}\n onChange={handleChange}\n required={required}\n {...props}\n />\n <span\n className={cn(\n switchTrackVariants({ color, size, hasError: !!error }),\n \"switch_track\",\n classNames?.track,\n className,\n )}\n >\n {/* Track content - start (visible when unchecked) */}\n {startContent && (\n <span\n className={cn(\n \"absolute right-0.5 top-1/2 -translate-y-1/2 text-white font-medium transition-opacity\",\n trackContentSizeClasses[size],\n currentChecked ? \"opacity-0\" : \"opacity-100\",\n )}\n >\n {startContent}\n </span>\n )}\n {/* Track content - end (visible when checked) */}\n {endContent && (\n <span\n className={cn(\n \"absolute left-0.5 top-1/2 -translate-y-1/2 text-white font-medium transition-opacity\",\n trackContentSizeClasses[size],\n currentChecked ? \"opacity-100\" : \"opacity-0\",\n )}\n >\n {endContent}\n </span>\n )}\n </span>\n\n {/* Thumb */}\n <span className={cn(switchThumbVariants({ size }), \"switch_thumb\", classNames?.thumb)}>\n {loading ? (\n <Loader2\n className={cn(\n \"animate-spin text-text-secondary\",\n loaderSizeClasses[size],\n )}\n />\n ) : thumbIcon ? (\n <span\n className={cn(\n \"flex items-center justify-center text-text-secondary\",\n thumbIconSizeClasses[size],\n )}\n >\n {thumbIcon}\n </span>\n ) : null}\n </span>\n </span>\n );\n\n // Simple switch without label/helper/error\n if (!label && !helperText && !error) {\n return switchElement;\n }\n\n // Switch with label and/or helper/error text\n return (\n <div className=\"w-full\">\n <label\n htmlFor={inputId}\n className={cn(\n \"inline-flex items-center gap-2\",\n !isDisabled && \"cursor-pointer\",\n labelPosition === \"left\" && \"flex-row-reverse\",\n )}\n >\n {switchElement}\n {label && (\n <span\n className={cn(\n \"text-sm text-text-primary select-none\",\n error && \"text-error\",\n isDisabled && \"opacity-50\",\n \"switch_label\",\n classNames?.label,\n labelClassName,\n )}\n >\n {label}\n {required && (\n <span className=\"text-error ml-0.5\" aria-hidden=\"true\">\n *\n </span>\n )}\n </span>\n )}\n </label>\n {(helperText || error) && (\n <p\n id={helperId}\n className={cn(\n \"mt-1 text-xs\",\n labelPosition === \"left\" ? \"text-right\" : \"text-left\",\n error ? \"text-error\" : \"text-text-secondary\",\n \"switch_description\",\n classNames?.description,\n )}\n >\n {error || helperText}\n </p>\n )}\n </div>\n );\n },\n);\n\nSwitch.displayName = \"Switch\";\n\nexport type * from \"./types\";\nexport default Switch;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/input/index.tsx"],"names":[],"mappings":"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","file":"chunk-GIWG6BCT.js","sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport { X } from \"lucide-react\";\nimport React, { useId, useMemo } from \"react\";\n\nimport Spinner from \"../spinner\";\n\nimport {\n cn,\n getValidationStatus,\n iconSizes,\n statusMessageVariants,\n} from \"../utils\";\nimport type { InputProps } from \"./types\";\n\nconst inputVariants = cva(\n \"w-full placeholder:text-text-secondary/50 rounded-md disabled:opacity-50 disabled:cursor-not-allowed read-only:bg-surface read-only:cursor-default outline-none text-text-primary transition-colors\",\n {\n variants: {\n variant: {\n outline: \"bg-background border border-border focus:border-primary\",\n filled: \"bg-surface border border-transparent focus:border-primary\",\n },\n status: {\n default: \"\",\n error: \"border-error focus:border-error\",\n warning: \"border-warning focus:border-warning\",\n info: \"border-info focus:border-info\",\n success: \"border-success focus:border-success\",\n },\n size: {\n xs: \"h-(--input-height-xs) px-(--input-padding-x-xs) text-xs\",\n sm: \"h-(--input-height-sm) px-(--input-padding-x-sm) text-sm\",\n md: \"h-(--input-height-md) px-(--input-padding-x-md) text-base\",\n lg: \"h-(--input-height-lg) px-(--input-padding-x-lg) text-lg\",\n },\n fullWidth: {\n true: \"w-full\",\n false: \"max-w-full\",\n },\n },\n defaultVariants: {\n variant: \"outline\",\n status: \"default\",\n size: \"md\",\n fullWidth: true,\n },\n },\n);\n\nconst Input = React.memo<InputProps>(\n ({\n variant = \"outline\",\n size = \"md\",\n label,\n error,\n warning,\n info,\n success,\n helperText,\n messagePosition = \"bottom\",\n leftIcon,\n rightIcon,\n clearable = false,\n onClear,\n loading = false,\n maxLength,\n showCount = false,\n fullWidth = true,\n className,\n wrapperClassName,\n classNames,\n value,\n onChange,\n ref,\n ...props\n }) => {\n const [internalValue, setInternalValue] = React.useState(\"\");\n const currentValue = value !== undefined ? value : internalValue;\n\n // Generate unique IDs for accessibility\n const uniqueId = useId();\n const inputId = props.id || `input-${uniqueId}`;\n const helperId = `input-helper-${uniqueId}`;\n const loadingId = `input-loading-${uniqueId}`;\n\n // Use shared validation status utility - memoized\n const { status, message: helperMessage } = useMemo(\n () => getValidationStatus({ error, warning, info, success, helperText }),\n [error, warning, info, success, helperText],\n );\n\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (value === undefined) setInternalValue(e.target.value);\n onChange?.(e);\n },\n [value, onChange],\n );\n\n const handleClear = React.useCallback(() => {\n if (value === undefined) setInternalValue(\"\");\n onClear?.();\n }, [value, onClear]);\n\n const showClear =\n clearable && currentValue && !props.disabled && !props.readOnly;\n const hasRightIcon = rightIcon || showClear || loading;\n\n // Memoize aria-describedby to avoid array recreation on every render\n const ariaDescribedBy = useMemo(() => {\n const parts: string[] = [];\n if (helperMessage) parts.push(helperId);\n if (loading) parts.push(loadingId);\n return parts.length > 0 ? parts.join(\" \") : undefined;\n }, [helperMessage, helperId, loading, loadingId]);\n\n // Memoize expensive className computations - these don't change on every keystroke\n const wrapperClass = useMemo(\n () =>\n cn(\n \"input_wrapper\",\n \"relative w-full\",\n wrapperClassName,\n loading && \"opacity-50 cursor-not-allowed\",\n classNames?.wrapper,\n ),\n [wrapperClassName, loading, classNames?.wrapper],\n );\n\n const leftIconClass = useMemo(\n () =>\n cn(\n \"input_leftIcon\",\n \"absolute left-3 flex items-center h-full top-0 text-text-secondary\",\n classNames?.leftIcon,\n ),\n [classNames?.leftIcon],\n );\n\n const inputClass = useMemo(\n () =>\n cn(\n \"input_input\",\n inputVariants({ variant, status, size, fullWidth }),\n !!leftIcon && \"pl-10\",\n !!hasRightIcon && \"pr-8\",\n className,\n classNames?.input,\n ),\n [\n variant,\n status,\n size,\n fullWidth,\n leftIcon,\n hasRightIcon,\n className,\n classNames?.input,\n ],\n );\n\n const rightIconClass = useMemo(\n () =>\n cn(\n \"input_rightIcon\",\n \"absolute right-3 flex gap-2 items-center h-full top-0 text-text-secondary\",\n classNames?.rightIcon,\n ),\n [classNames?.rightIcon],\n );\n\n const clearButtonClass = useMemo(\n () =>\n cn(\n \"input_clearButton\",\n \"flex items-center h-full top-0 text-text-secondary hover:text-text-primary\",\n classNames?.clearButton,\n ),\n [classNames?.clearButton],\n );\n\n const rootClass = useMemo(\n () =>\n cn(\n \"input_root\",\n \"w-full flex flex-col relative\",\n !fullWidth && \"inline-block\",\n classNames?.root,\n ),\n [fullWidth, classNames?.root],\n );\n\n const labelClass = useMemo(\n () =>\n cn(\n \"input_label\",\n \"text-sm font-medium text-text-secondary\",\n classNames?.label,\n ),\n [classNames?.label],\n );\n\n const helperClass = useMemo(\n () =>\n cn(\n \"input_helper\",\n statusMessageVariants({ status }),\n status === \"error\" ? classNames?.error : classNames?.helper,\n ),\n [status, classNames?.error, classNames?.helper],\n );\n\n const helperBottomClass = useMemo(\n () =>\n cn(\n \"input_helper\",\n statusMessageVariants({ status }),\n \"mt-0.5\",\n status === \"error\" ? classNames?.error : classNames?.helper,\n ),\n [status, classNames?.error, classNames?.helper],\n );\n\n const iconSize = iconSizes[size];\n\n const inputElement = (\n <div data-slot=\"wrapper\" className={wrapperClass}>\n {leftIcon && (\n <div\n data-slot=\"leftIcon\"\n className={leftIconClass}\n aria-hidden=\"true\"\n >\n {leftIcon}\n </div>\n )}\n <input\n ref={ref}\n id={inputId}\n data-slot=\"input\"\n className={inputClass}\n value={currentValue}\n onChange={handleChange}\n maxLength={maxLength}\n aria-invalid={status === \"error\"}\n aria-busy={loading}\n aria-describedby={ariaDescribedBy}\n {...props}\n />\n <div data-slot=\"rightIcon\" className={rightIconClass}>\n {showClear && !loading && (\n <button\n type=\"button\"\n onClick={handleClear}\n data-slot=\"clearButton\"\n className={clearButtonClass}\n aria-label=\"Clear input\"\n >\n <X className={iconSize} aria-hidden=\"true\" />\n </button>\n )}\n {loading ? (\n <>\n <Spinner aria-hidden=\"true\" />\n <span id={loadingId} className=\"sr-only\">\n Loading\n </span>\n </>\n ) : (\n rightIcon && <span aria-hidden=\"true\">{rightIcon}</span>\n )}\n </div>\n </div>\n );\n\n if (!label && !helperMessage && !showCount) return inputElement;\n\n return (\n <div data-slot=\"root\" className={rootClass}>\n <div className=\"flex gap-2 items-center relative mb-0.5\">\n {label && (\n <label htmlFor={inputId} data-slot=\"label\" className={labelClass}>\n {label}\n {props.required && <span className=\"text-error ml-1\">*</span>}\n </label>\n )}\n {helperMessage && messagePosition === \"top\" && (\n <p id={helperId} data-slot=\"helper\" className={helperClass}>\n {helperMessage}\n </p>\n )}\n {showCount && maxLength && (\n <span className=\"text-xs text-text-secondary absolute right-0\">\n {String(currentValue).length}/{maxLength}\n </span>\n )}\n </div>\n {inputElement}\n {helperMessage && messagePosition === \"bottom\" && (\n <p id={helperId} data-slot=\"helper\" className={helperBottomClass}>\n {helperMessage}\n </p>\n )}\n </div>\n );\n },\n);\n\nInput.displayName = \"Input\";\n\nexport type * from \"./types\";\nexport default Input;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/float-input/index.tsx"],"names":[],"mappings":"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","file":"chunk-I7MESP7F.js","sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport { X } from \"lucide-react\";\nimport React, { useId, useMemo } from \"react\";\n\nimport Spinner from \"../spinner\";\n\nimport {\n cn,\n getValidationStatus,\n iconSizes,\n statusMessageVariants,\n} from \"../utils\";\nimport type { FloatInputProps } from \"./types\";\n\nconst floatInputVariants = cva(\n \"peer w-full placeholder:text-transparent rounded-md disabled:opacity-50 disabled:cursor-not-allowed read-only:bg-surface read-only:cursor-default outline-none text-text-primary transition-[border-color] duration-200 border border-border focus:border-primary focus:ring-1 focus:ring-primary/20 bg-background\",\n {\n variants: {\n status: {\n default: \"\",\n error: \"border-error focus:border-error focus:ring-error/20\",\n warning: \"border-warning focus:border-warning focus:ring-warning/20\",\n info: \"border-info focus:border-info focus:ring-info/20\",\n success: \"border-success focus:border-success focus:ring-success/20\",\n },\n size: {\n xs: \"h-9 pt-3.5 px-2 text-xs\",\n sm: \"h-10 pt-4 px-3 text-sm\",\n md: \"h-12 pt-5 px-3 text-base\",\n lg: \"h-14 pt-5 px-4 text-lg\",\n },\n fullWidth: {\n true: \"w-full\",\n false: \"max-w-full\",\n },\n },\n defaultVariants: {\n status: \"default\",\n size: \"md\",\n fullWidth: true,\n },\n },\n);\n\nconst floatLabelVariants = cva(\n \"absolute pointer-events-none transition-[top,font-size,color] duration-200 text-text-secondary origin-left\",\n {\n variants: {\n size: {\n xs: \"left-2 text-xs top-1/2 -translate-y-1/2 peer-focus:top-1 peer-focus:translate-y-0 peer-focus:text-[10px] peer-[:not(:placeholder-shown)]:top-1 peer-[:not(:placeholder-shown)]:translate-y-0 peer-[:not(:placeholder-shown)]:text-[10px]\",\n sm: \"left-3 text-sm top-1/2 -translate-y-1/2 peer-focus:top-1.5 peer-focus:translate-y-0 peer-focus:text-[10px] peer-[:not(:placeholder-shown)]:top-1.5 peer-[:not(:placeholder-shown)]:translate-y-0 peer-[:not(:placeholder-shown)]:text-[10px]\",\n md: \"left-3 text-base top-1/2 -translate-y-1/2 peer-focus:top-2 peer-focus:translate-y-0 peer-focus:text-xs peer-[:not(:placeholder-shown)]:top-2 peer-[:not(:placeholder-shown)]:translate-y-0 peer-[:not(:placeholder-shown)]:text-xs\",\n lg: \"left-4 text-lg top-1/2 -translate-y-1/2 peer-focus:top-2.5 peer-focus:translate-y-0 peer-focus:text-xs peer-[:not(:placeholder-shown)]:top-2.5 peer-[:not(:placeholder-shown)]:translate-y-0 peer-[:not(:placeholder-shown)]:text-xs\",\n },\n status: {\n default: \"\",\n error: \"peer-focus:text-error\",\n warning: \"peer-focus:text-warning\",\n info: \"peer-focus:text-info\",\n success: \"peer-focus:text-success\",\n },\n hasLeftIcon: {\n true: \"\",\n false: \"\",\n },\n },\n compoundVariants: [\n {\n size: \"xs\",\n hasLeftIcon: true,\n className: \"left-8\",\n },\n {\n size: \"sm\",\n hasLeftIcon: true,\n className: \"left-10\",\n },\n {\n size: \"md\",\n hasLeftIcon: true,\n className: \"left-10\",\n },\n {\n size: \"lg\",\n hasLeftIcon: true,\n className: \"left-10\",\n },\n ],\n defaultVariants: {\n size: \"md\",\n status: \"default\",\n hasLeftIcon: false,\n },\n },\n);\n\nconst FloatInput = React.memo<FloatInputProps>(\n ({\n size = \"md\",\n label,\n error,\n warning,\n info,\n success,\n helperText,\n leftIcon,\n rightIcon,\n clearable = false,\n onClear,\n loading = false,\n fullWidth = true,\n className,\n classNames,\n value,\n onChange,\n ref,\n ...props\n }) => {\n const [internalValue, setInternalValue] = React.useState(\"\");\n const currentValue = value !== undefined ? value : internalValue;\n\n // Generate unique IDs for accessibility\n const uniqueId = useId();\n const inputId = props.id || `float-input-${uniqueId}`;\n const helperId = `float-input-helper-${uniqueId}`;\n const loadingId = `float-input-loading-${uniqueId}`;\n const labelId = `float-input-label-${uniqueId}`;\n\n // Use shared validation status utility - memoized\n const { status, message: helperMessage } = useMemo(\n () => getValidationStatus({ error, warning, info, success, helperText }),\n [error, warning, info, success, helperText],\n );\n\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (value === undefined) setInternalValue(e.target.value);\n onChange?.(e);\n },\n [value, onChange],\n );\n\n const handleClear = React.useCallback(() => {\n if (value === undefined) setInternalValue(\"\");\n onClear?.();\n }, [value, onClear]);\n\n const showClear =\n clearable && currentValue && !props.disabled && !props.readOnly;\n const hasRightIcon = rightIcon || showClear || loading;\n\n // Memoize aria-describedby to avoid array recreation on every render\n const ariaDescribedBy = useMemo(() => {\n const parts: string[] = [];\n if (helperMessage) parts.push(helperId);\n if (loading) parts.push(loadingId);\n return parts.length > 0 ? parts.join(\" \") : undefined;\n }, [helperMessage, helperId, loading, loadingId]);\n\n // Memoize expensive className computations\n const rootClass = useMemo(\n () =>\n cn(\n \"float-input_root\",\n \"w-full flex flex-col relative\",\n !fullWidth && \"inline-block\",\n classNames?.root,\n ),\n [fullWidth, classNames?.root],\n );\n\n const wrapperClass = useMemo(\n () =>\n cn(\n \"float-input_wrapper\",\n \"relative w-full\",\n loading && \"opacity-50 cursor-not-allowed\",\n classNames?.wrapper,\n ),\n [loading, classNames?.wrapper],\n );\n\n const leftIconClass = useMemo(() => {\n const sizeClasses = {\n xs: \"left-2\",\n sm: \"left-3\",\n md: \"left-3\",\n lg: \"left-4\",\n };\n return cn(\n \"float-input_leftIcon\",\n \"absolute flex items-center h-full top-0 text-text-secondary\",\n sizeClasses[size],\n classNames?.leftIcon,\n );\n }, [size, classNames?.leftIcon]);\n\n const inputClass = useMemo(() => {\n const leftPadding = leftIcon\n ? {\n xs: \"pl-8\",\n sm: \"pl-10\",\n md: \"pl-10\",\n lg: \"pl-11\",\n }[size]\n : \"\";\n\n const rightPadding = hasRightIcon\n ? {\n xs: \"pr-8\",\n sm: \"pr-8\",\n md: \"pr-8\",\n lg: \"pr-10\",\n }[size]\n : \"\";\n\n return cn(\n \"float-input_input\",\n floatInputVariants({ status, size, fullWidth }),\n leftPadding,\n rightPadding,\n className,\n classNames?.input,\n );\n }, [\n status,\n size,\n fullWidth,\n leftIcon,\n hasRightIcon,\n className,\n classNames?.input,\n ]);\n\n const labelClass = useMemo(\n () =>\n cn(\n \"float-input_label\",\n floatLabelVariants({ size, status, hasLeftIcon: !!leftIcon }),\n classNames?.label,\n ),\n [size, status, leftIcon, classNames?.label],\n );\n\n const rightIconClass = useMemo(() => {\n const sizeClasses = {\n xs: \"right-2\",\n sm: \"right-3\",\n md: \"right-3\",\n lg: \"right-4\",\n };\n return cn(\n \"float-input_rightIcon\",\n \"absolute flex gap-2 items-center h-full top-0 text-text-secondary\",\n sizeClasses[size],\n classNames?.rightIcon,\n );\n }, [size, classNames?.rightIcon]);\n\n const clearButtonClass = useMemo(\n () =>\n cn(\n \"float-input_clearButton\",\n \"flex items-center h-full top-0 text-text-secondary hover:text-text-primary transition-colors\",\n classNames?.clearButton,\n ),\n [classNames?.clearButton],\n );\n\n const helperClass = useMemo(\n () =>\n cn(\n \"float-input_helper\",\n statusMessageVariants({ status }),\n \"mt-0.5\",\n status === \"error\" ? classNames?.error : classNames?.helper,\n ),\n [status, classNames?.error, classNames?.helper],\n );\n\n const iconSize = iconSizes[size];\n\n return (\n <div data-slot=\"root\" className={rootClass}>\n <div data-slot=\"wrapper\" className={wrapperClass}>\n {leftIcon && (\n <div\n data-slot=\"leftIcon\"\n className={leftIconClass}\n aria-hidden=\"true\"\n >\n {leftIcon}\n </div>\n )}\n <input\n ref={ref}\n id={inputId}\n data-slot=\"input\"\n className={inputClass}\n value={currentValue}\n onChange={handleChange}\n placeholder=\" \"\n aria-invalid={status === \"error\"}\n aria-busy={loading}\n aria-describedby={ariaDescribedBy}\n aria-labelledby={labelId}\n {...props}\n />\n <label\n id={labelId}\n htmlFor={inputId}\n data-slot=\"label\"\n className={labelClass}\n >\n {label}\n {props.required && <span className=\"text-error ml-0.5\">*</span>}\n </label>\n {(hasRightIcon || rightIcon) && (\n <div data-slot=\"rightIcon\" className={rightIconClass}>\n {showClear && !loading && (\n <button\n type=\"button\"\n onClick={handleClear}\n data-slot=\"clearButton\"\n className={clearButtonClass}\n aria-label=\"Clear input\"\n >\n <X className={iconSize} aria-hidden=\"true\" />\n </button>\n )}\n {loading ? (\n <>\n <Spinner aria-hidden=\"true\" size={size} />\n <span id={loadingId} className=\"sr-only\">\n Loading\n </span>\n </>\n ) : (\n rightIcon && <span aria-hidden=\"true\">{rightIcon}</span>\n )}\n </div>\n )}\n </div>\n {helperMessage && (\n <p id={helperId} data-slot=\"helper\" className={helperClass}>\n {helperMessage}\n </p>\n )}\n </div>\n );\n },\n);\n\nFloatInput.displayName = \"FloatInput\";\n\nexport type * from \"./types\";\nexport default FloatInput;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/select/index.tsx"],"names":[],"mappings":"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","file":"chunk-QC7XNMM7.js","sourcesContent":["'use client'\n\nimport { useVirtualizer } from '@tanstack/react-virtual'\nimport { cva } from 'class-variance-authority'\nimport { Check, ChevronDown, ChevronUp, Search, X } from 'lucide-react'\nimport React, { useCallback, useId } from 'react'\n\nimport Spinner from '../spinner'\n\nimport { Popover, PopoverContent, PopoverTrigger } from '../popover'\nimport {\n cn,\n getValidationStatus,\n iconSizes,\n statusMessageVariants,\n} from '../utils'\nimport type { SelectOption, SelectProps } from './types'\n\nconst selectTriggerVariants = cva(\n 'w-full flex items-center justify-between rounded-md bg-background text-text-primary border focus:border-primary outline-none disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer transition-colors',\n {\n variants: {\n status: {\n default: 'border-border hover:border-primary/50',\n error: 'border-error',\n warning: 'border-warning',\n info: 'border-info',\n success: 'border-success',\n },\n size: {\n xs: 'h-(--select-height-xs) px-(--select-padding-x-xs) text-xs gap-1.5',\n sm: 'h-(--select-height-sm) px-(--select-padding-x-sm) text-sm gap-2',\n md: 'h-(--select-height-md) px-(--select-padding-x-md) text-base gap-2',\n lg: 'h-(--select-height-lg) px-(--select-padding-x-lg) text-lg gap-3',\n },\n fullWidth: {\n true: 'w-full',\n false: 'max-w-full',\n },\n },\n defaultVariants: {\n status: 'default',\n size: 'md',\n fullWidth: true,\n },\n },\n)\n\nconst selectOptionVariants = cva(\n 'relative cursor-pointer select-none px-3 py-2 text-text-primary rounded-sm transition-colors',\n {\n variants: {\n selected: {\n true: 'bg-primary/10 text-primary font-medium',\n false: 'hover:bg-surface',\n },\n disabled: {\n true: 'opacity-50 cursor-not-allowed',\n false: '',\n },\n },\n defaultVariants: {\n selected: false,\n disabled: false,\n },\n },\n)\n\nconst selectGroupVariants = cva(\n 'px-3 py-2 text-xs font-semibold text-text-secondary uppercase tracking-wider bg-surface/50',\n)\n\nconst Select = React.memo<SelectProps>(\n ({\n size = 'md',\n label,\n helperText,\n error,\n warning,\n info,\n success,\n options = [],\n placeholder = 'Select an option',\n loading = false,\n fullWidth = true,\n value,\n defaultValue,\n onChange,\n clearable = false,\n disabled,\n required,\n virtualizeThreshold = 50,\n maxDropdownHeight = 300,\n className,\n classNames,\n ref,\n ...props\n }) => {\n const [isOpen, setIsOpen] = React.useState(false)\n const [parentNode, setParentNode] = React.useState<HTMLDivElement | null>(\n null,\n )\n const [internalValue, setInternalValue] = React.useState<string | number>(defaultValue || '')\n const [searchQuery, setSearchQuery] = React.useState('')\n const [highlightedIndex, setHighlightedIndex] = React.useState(-1)\n const [showTopArrow, setShowTopArrow] = React.useState(false)\n const [showBottomArrow, setShowBottomArrow] = React.useState(false)\n\n const triggerRef = React.useRef<HTMLButtonElement>(null)\n const inputRef = React.useRef<HTMLInputElement>(null)\n const scrollContainerRef = React.useRef<HTMLDivElement>(null)\n const currentValue = value !== undefined ? value : internalValue\n\n // Generate unique IDs for accessibility\n const uniqueId = useId()\n const labelId = `select-label-${uniqueId}`\n const listboxId = `select-listbox-${uniqueId}`\n const helperId = `select-helper-${uniqueId}`\n\n // Use shared validation status utility\n const { status, message: helperMessage } = getValidationStatus({\n error,\n warning,\n info,\n success,\n helperText,\n })\n\n const groupedOptions = React.useMemo(() => {\n const groups: Record<string, SelectOption[]> = {}\n const ungrouped: SelectOption[] = []\n\n options.forEach((option) => {\n if (option.group) {\n if (!groups[option.group]) {\n groups[option.group] = []\n }\n groups[option.group]!.push(option)\n } else {\n ungrouped.push(option)\n }\n })\n\n return { groups, ungrouped }\n }, [options])\n\n const flattenedOptions = React.useMemo(() => {\n const items: Array<{\n type: 'option' | 'group'\n data: SelectOption | string\n }> = []\n\n groupedOptions.ungrouped.forEach((option) => {\n items.push({ type: 'option', data: option })\n })\n\n Object.entries(groupedOptions.groups).forEach(\n ([groupName, groupOptions]) => {\n items.push({ type: 'group', data: groupName })\n groupOptions.forEach((option) => {\n items.push({ type: 'option', data: option })\n })\n },\n )\n\n return items\n }, [groupedOptions])\n\n const filteredOptions = React.useMemo(() => {\n if (!searchQuery) return flattenedOptions\n\n return flattenedOptions.filter((item) => {\n if (item.type === 'group') return true\n const option = item.data as SelectOption\n return option.label.toLowerCase().includes(searchQuery.toLowerCase())\n })\n }, [flattenedOptions, searchQuery])\n\n const shouldVirtualize = filteredOptions.length > virtualizeThreshold\n\n const virtualizer = useVirtualizer({\n count: filteredOptions.length,\n getScrollElement: () => parentNode,\n estimateSize: () => 40,\n enabled: shouldVirtualize,\n overscan: 10,\n })\n\n // Store virtualizer in ref to avoid recreating handleKeyDown on every render\n const virtualizerRef = React.useRef(virtualizer)\n React.useEffect(() => {\n virtualizerRef.current = virtualizer\n }, [virtualizer])\n\n const refCallback = useCallback((node: HTMLDivElement) => {\n if (node) {\n setParentNode(node)\n // Also set as scroll container for virtualized lists\n scrollContainerRef.current = node\n }\n }, [])\n\n const selectedOption = options.find((opt) => opt.value === currentValue)\n const displayValue = isOpen ? searchQuery : selectedOption?.label || ''\n\n const handleSelect = React.useCallback(\n (optionValue: string | number) => {\n if (value === undefined) {\n setInternalValue(optionValue)\n }\n onChange?.(optionValue)\n setIsOpen(false)\n setSearchQuery('')\n setHighlightedIndex(-1)\n },\n [value, onChange],\n )\n\n const handleClear = React.useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation()\n if (value === undefined) {\n setInternalValue('')\n }\n onChange?.('')\n setSearchQuery('')\n setHighlightedIndex(-1)\n },\n [value, onChange],\n )\n\n const handleInputChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchQuery(e.target.value)\n if (!isOpen) setIsOpen(true)\n },\n [isOpen],\n )\n\n const handleInputFocus = React.useCallback(() => {\n setIsOpen(true)\n }, [])\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (!isOpen && e.key !== 'Tab') {\n if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {\n e.preventDefault()\n setIsOpen(true)\n }\n return\n }\n\n const selectableOptions = filteredOptions.filter(\n (item) =>\n item.type === 'option' && !(item.data as SelectOption).disabled,\n )\n\n switch (e.key) {\n case 'Escape':\n e.preventDefault()\n setIsOpen(false)\n setSearchQuery('')\n setHighlightedIndex(-1)\n inputRef.current?.blur()\n break\n\n case 'ArrowDown':\n e.preventDefault()\n setHighlightedIndex((prev) => {\n const nextIndex = Math.min(prev + 1, selectableOptions.length - 1)\n const option = selectableOptions[nextIndex]\n if (option) {\n const optionIndex = filteredOptions.indexOf(option)\n if (shouldVirtualize && virtualizerRef.current) {\n virtualizerRef.current.scrollToIndex(optionIndex, {\n align: 'auto',\n })\n }\n }\n return nextIndex\n })\n break\n\n case 'ArrowUp':\n e.preventDefault()\n setHighlightedIndex((prev) => {\n const nextIndex = Math.max(prev - 1, 0)\n const option = selectableOptions[nextIndex]\n if (option) {\n const optionIndex = filteredOptions.indexOf(option)\n if (shouldVirtualize && virtualizerRef.current) {\n virtualizerRef.current.scrollToIndex(optionIndex, {\n align: 'auto',\n })\n }\n }\n return nextIndex\n })\n break\n\n case 'Enter':\n e.preventDefault()\n if (\n highlightedIndex >= 0 &&\n highlightedIndex < selectableOptions.length\n ) {\n const item = selectableOptions[highlightedIndex]\n if (item) {\n const option = item.data as SelectOption\n handleSelect(option.value)\n }\n }\n break\n\n case 'Home':\n e.preventDefault()\n setHighlightedIndex(0)\n if (shouldVirtualize && virtualizerRef.current) {\n virtualizerRef.current.scrollToIndex(0)\n }\n break\n\n case 'End':\n e.preventDefault()\n setHighlightedIndex(selectableOptions.length - 1)\n if (shouldVirtualize && virtualizerRef.current) {\n virtualizerRef.current.scrollToIndex(filteredOptions.length - 1)\n }\n break\n\n default:\n break\n }\n },\n [\n isOpen,\n filteredOptions,\n highlightedIndex,\n handleSelect,\n shouldVirtualize,\n ],\n )\n\n // Handle scroll to update arrow visibility\n const handleScroll = React.useCallback(\n (e: React.UIEvent<HTMLDivElement>) => {\n const element = e.currentTarget\n const { scrollTop, scrollHeight, clientHeight } = element\n\n setShowTopArrow(scrollTop > 0)\n setShowBottomArrow(scrollTop + clientHeight < scrollHeight - 1)\n },\n [],\n )\n\n // Check initial scroll state when dropdown opens\n React.useEffect(() => {\n if (isOpen) {\n // Use a small delay to ensure the DOM is fully rendered\n const timeoutId = setTimeout(() => {\n const element = scrollContainerRef.current\n if (element) {\n const { scrollTop, scrollHeight, clientHeight } = element\n setShowTopArrow(scrollTop > 0)\n setShowBottomArrow(scrollTop + clientHeight < scrollHeight - 1)\n }\n }, 50)\n\n return () => clearTimeout(timeoutId)\n } else {\n setShowTopArrow(false)\n setShowBottomArrow(false)\n return undefined\n }\n }, [isOpen, filteredOptions, shouldVirtualize])\n\n const renderOptionsList = () => (\n <div className=\"relative\">\n {/* Top scroll indicator */}\n <div className=\"flex items-center justify-center h-4\">\n {showTopArrow && <ChevronUp className=\"size-4 text-text-primary animate-in fade-in duration-150\" />}\n </div>\n\n <div\n ref={scrollContainerRef}\n className=\"overflow-auto relative\"\n style={{ maxHeight: maxDropdownHeight }}\n role=\"listbox\"\n id={listboxId}\n aria-labelledby={label ? labelId : undefined}\n onScroll={handleScroll}\n >\n {!filteredOptions.length ? (\n <div\n data-slot=\"empty\"\n className={cn('select_empty', 'px-3 py-4 text-center text-sm text-text-secondary', classNames?.empty)}\n >\n No options found\n </div>\n ) : shouldVirtualize ? (\n <div\n ref={refCallback}\n style={{\n height: `${Math.min(virtualizer.getTotalSize(), maxDropdownHeight)}px`,\n overflow: 'auto',\n }}\n onScroll={handleScroll}\n >\n <div\n style={{\n height: `${virtualizer.getTotalSize()}px`,\n width: '100%',\n position: 'relative',\n }}\n >\n {virtualizer.getVirtualItems().map((virtualItem) => {\n const item = filteredOptions[virtualItem.index]\n\n if (!item) return null\n\n if (item.type === 'group') {\n return (\n <div\n key={`group-${virtualItem.index}`}\n data-slot=\"group\"\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: `${virtualItem.size}px`,\n transform: `translateY(${virtualItem.start}px)`,\n }}\n className={cn('select_group', selectGroupVariants(), classNames?.group)}\n >\n <span\n data-slot=\"groupLabel\"\n className={cn('select_groupLabel', classNames?.groupLabel)}\n >\n {item.data as string}\n </span>\n </div>\n )\n }\n\n const option = item.data as SelectOption\n const isSelected = option.value === currentValue\n const selectableOptions = filteredOptions.filter(\n (i) =>\n i.type === 'option' && !(i.data as SelectOption).disabled,\n )\n const selectableIndex = selectableOptions.findIndex(\n (i) => i === item,\n )\n const isHighlighted = selectableIndex === highlightedIndex\n\n return (\n <div\n key={option.value}\n data-slot=\"option\"\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: `${virtualItem.size}px`,\n transform: `translateY(${virtualItem.start}px)`,\n }}\n className={cn(\n 'select_option',\n selectOptionVariants({\n selected: isSelected,\n disabled: !!option.disabled,\n }),\n isHighlighted && 'bg-surface',\n classNames?.option,\n isSelected && classNames?.optionSelected,\n )}\n onClick={() =>\n !option.disabled && handleSelect(option.value)\n }\n role=\"option\"\n aria-selected={isSelected}\n aria-disabled={option.disabled}\n >\n {option.label}\n {isSelected && (\n <span className=\"absolute right-3 top-1/2 -translate-y-1/2\">\n <Check\n className={cn('text-primary animate-in zoom-in-75 duration-150', iconSizes[size])}\n />\n </span>\n )}\n </div>\n )\n })}\n </div>\n </div>\n ) : (\n <div className=\"py-1\">\n {filteredOptions.map((item, index) => {\n if (item.type === 'group') {\n return (\n <div\n key={`group-${index}`}\n data-slot=\"group\"\n className={cn('select_group', selectGroupVariants(), classNames?.group)}\n >\n <span\n data-slot=\"groupLabel\"\n className={cn('select_groupLabel', classNames?.groupLabel)}\n >\n {item.data as string}\n </span>\n </div>\n )\n }\n\n const option = item.data as SelectOption\n const isSelected = option.value === currentValue\n const selectableOptions = filteredOptions.filter(\n (i) =>\n i.type === 'option' && !(i.data as SelectOption).disabled,\n )\n const selectableIndex = selectableOptions.findIndex(\n (i) => i === item,\n )\n const isHighlighted = selectableIndex === highlightedIndex\n\n return (\n <div\n key={option.value}\n data-slot=\"option\"\n className={cn(\n 'select_option',\n selectOptionVariants({\n selected: isSelected,\n disabled: !!option.disabled,\n }),\n isHighlighted && 'bg-surface',\n classNames?.option,\n isSelected && classNames?.optionSelected,\n )}\n onClick={() =>\n !option.disabled && handleSelect(option.value)\n }\n role=\"option\"\n aria-selected={isSelected}\n aria-disabled={option.disabled}\n >\n {option.label}\n {isSelected && (\n <span className=\"absolute right-3 top-1/2 -translate-y-1/2\">\n <Check\n className={cn('text-primary animate-in zoom-in-75 duration-150', iconSizes[size])}\n />\n </span>\n )}\n </div>\n )\n })}\n </div>\n )}\n </div>\n\n {/* Bottom scroll indicator */}\n <div className=\"flex items-center justify-center h-4\">\n {showBottomArrow && (\n <ChevronDown className=\"size-4 text-text-primary animate-in fade-in duration-150\" />\n )}\n </div>\n </div>\n )\n\n // Trigger button (used in both desktop and mobile)\n const triggerButton = (\n <button\n ref={triggerRef}\n type=\"button\"\n data-slot=\"trigger\"\n className={cn(\n 'select_trigger',\n selectTriggerVariants({ status, size, fullWidth }),\n loading && 'opacity-50',\n className,\n classNames?.trigger,\n )}\n disabled={disabled || loading}\n aria-haspopup=\"listbox\"\n aria-expanded={isOpen}\n aria-controls={listboxId}\n aria-labelledby={label ? labelId : undefined}\n aria-describedby={helperMessage ? helperId : undefined}\n onClick={() => setIsOpen(!isOpen)}\n >\n <input\n ref={inputRef}\n type=\"text\"\n data-slot=\"search\"\n className={cn('select_search', 'w-full text-ellipsis flex-1 bg-transparent outline-none cursor-pointer placeholder:text-text-secondary/50', classNames?.search)}\n placeholder={placeholder}\n value={displayValue}\n onChange={handleInputChange}\n onFocus={handleInputFocus}\n onKeyDown={handleKeyDown}\n disabled={disabled || loading}\n readOnly={!isOpen}\n tabIndex={isOpen ? 0 : -1}\n aria-autocomplete=\"list\"\n aria-controls={isOpen ? listboxId : undefined}\n />\n <div\n data-slot=\"triggerIcon\"\n className={cn('select_triggerIcon', 'flex items-center gap-1 text-text-secondary', classNames?.triggerIcon)}\n >\n {clearable && currentValue && !disabled && !loading && (\n <button\n type=\"button\"\n onClick={handleClear}\n className=\"hover:text-text-primary transition-colors\"\n aria-label=\"Clear selection\"\n >\n <X className={iconSizes[size]} />\n </button>\n )}\n {loading ? (\n <Spinner />\n ) : (\n <>\n {isOpen ? (\n <Search className={iconSizes[size]} />\n ) : (\n <ChevronDown className={iconSizes[size]} />\n )}\n </>\n )}\n </div>\n </button>\n )\n\n const selectElement = (\n <div\n data-slot=\"root\"\n className={cn('select_root', 'relative group', fullWidth ? 'w-full' : 'inline-block', classNames?.root)}\n ref={ref}\n {...props}\n >\n <Popover\n open={isOpen}\n onOpenChange={setIsOpen}\n >\n <PopoverTrigger asChild>{triggerButton}</PopoverTrigger>\n\n <PopoverContent\n data-slot=\"dropdown\"\n className={cn('select_dropdown', 'p-0 w-[var(--radix-popover-trigger-width)]', classNames?.dropdown)}\n align=\"start\"\n onOpenAutoFocus={(e: Event) => {\n e.preventDefault()\n inputRef.current?.focus()\n }}\n >\n {renderOptionsList()}\n </PopoverContent>\n </Popover>\n </div>\n )\n\n if (!label && !helperText && !error) return selectElement\n\n return (\n <div className={cn('w-full flex flex-col', !fullWidth && 'inline-block')}>\n <div className=\"flex gap-2 items-center\">\n {label && (\n <label\n id={labelId}\n data-slot=\"label\"\n className={cn('select_label', 'block mb-0.5', classNames?.label)}\n >\n <span className=\"text-sm font-medium text-text-secondary\">\n {label}\n {required && <span className=\"text-error ml-1\">*</span>}\n </span>\n </label>\n )}\n {helperMessage && (\n <p\n id={helperId}\n data-slot=\"helper\"\n className={cn('select_helper', statusMessageVariants({ status }), classNames?.helper)}\n >\n {helperMessage}\n </p>\n )}\n </div>\n {selectElement}\n </div>\n )\n },\n)\n\nSelect.displayName = 'Select'\n\nexport type * from './types'\nexport default Select\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/checkbox/index.tsx"],"names":[],"mappings":";;;;;;;AAkBA,SAAS,gBACJ,IAAA,EACmB;AAEtB,EAAA,MAAM,OAAA,GAAU,KAAA,CAAM,MAAA,CAAO,IAAI,CAAA;AACjC,EAAA,OAAA,CAAQ,OAAA,GAAU,IAAA;AAElB,EAAA,OAAO,WAAA,CAAY,CAAC,QAAA,KAAuB;AACzC,IAAA,OAAA,CAAQ,OAAA,CAAQ,OAAA,CAAQ,CAAC,GAAA,KAAQ;AAC/B,MAAA,IAAI,OAAO,QAAQ,UAAA,EAAY;AAC7B,QAAA,GAAA,CAAI,QAAQ,CAAA;AAAA,MACd,CAAA,MAAA,IAAW,GAAA,IAAO,OAAO,GAAA,KAAQ,QAAA,EAAU;AACzC,QAAC,IAAyC,OAAA,GAAU,QAAA;AAAA,MACtD;AAAA,IACF,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,EAAE,CAAA;AACP;AAEA,IAAM,gBAAA,GAAmB,GAAA;AAAA,EACvB,gNAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,KAAA,EAAO,0BAAA;AAAA,MACP,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,+CAAA;AAAA,QACJ,EAAA,EAAI,+CAAA;AAAA,QACJ,EAAA,EAAI,+CAAA;AAAA,QACJ,EAAA,EAAI;AAAA,OACN;AAAA,MACA,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,mCAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,KAAA,EAAO,SAAA;AAAA,MACP,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,WAAW,KAAA,CAAM,IAAA;AAAA,EACrB,CAAC;AAAA,IACC,KAAA,GAAQ,SAAA;AAAA,IACR,IAAA,GAAO,IAAA;AAAA,IACP,KAAA;AAAA,IACA,UAAA;AAAA,IACA,KAAA;AAAA,IACA,aAAA,GAAgB,KAAA;AAAA,IAChB,SAAA;AAAA,IACA,OAAA;AAAA,IACA,cAAA;AAAA,IACA,GAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAM;AACJ,IAAA,MAAM,CAAC,eAAA,EAAiB,kBAAkB,CAAA,GAAI,QAAA;AAAA,MAC5C,cAAA,IAAkB;AAAA,KACpB;AACA,IAAA,MAAM,WAAA,GAAc,KAAA,CAAM,MAAA,CAAyB,IAAI,CAAA;AAGvD,IAAA,MAAM,WAAW,KAAA,EAAM;AACvB,IAAA,MAAM,QAAA,GAAW,mBAAmB,QAAQ,CAAA,CAAA;AAC5C,IAAA,MAAM,aAAA,GAAgB,CAAC,EAAE,UAAA,IAAc,KAAA,CAAA;AAGvC,IAAA,MAAM,SAAA,GAAY,YAAA,CAAa,GAAA,EAAK,WAAW,CAAA;AAG/C,IAAA,MAAM,eAAe,OAAA,KAAY,MAAA;AACjC,IAAA,MAAM,cAAA,GAAiB,eAAe,OAAA,GAAU,eAAA;AAEhD,IAAA,MAAM,WAAA,GAAc,KAAA,CAAM,MAAA,CAAO,KAAA,CAAM,QAAQ,CAAA;AAC/C,IAAA,WAAA,CAAY,UAAU,KAAA,CAAM,QAAA;AAE5B,IAAA,MAAM,QAAA,GAAW,WAAA;AAAA,MACf,CAAC,KAAA,KAA+C;AAC9C,QAAA,IAAI,CAAC,YAAA,EAAc;AACjB,UAAA,kBAAA,CAAmB,KAAA,CAAM,OAAO,OAAO,CAAA;AAAA,QACzC;AACA,QAAA,WAAA,CAAY,UAAU,KAAK,CAAA;AAAA,MAC7B,CAAA;AAAA,MACA,CAAC,YAAY;AAAA,KACf;AAEA,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,IAAI,YAAY,OAAA,EAAS;AACvB,QAAA,WAAA,CAAY,QAAQ,aAAA,GAAgB,aAAA;AAAA,MACtC;AAAA,IACF,CAAA,EAAG,CAAC,aAAa,CAAC,CAAA;AAElB,IAAA,MAAM,kCACJ,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,sBAAA,EAAuB,aAAU,SAAA,EAC9C,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,OAAA;AAAA,QAAA;AAAA,UACC,GAAA,EAAK,SAAA;AAAA,UACL,IAAA,EAAK,UAAA;AAAA,UACL,SAAA,EAAW,EAAA;AAAA,YACT,mBAAA;AAAA,YACA,gBAAA,CAAiB,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,CAAC,CAAC,OAAO,CAAA;AAAA,YAChD,sBAAsB,KAAK,CAAA;AAAA,YAC3B,SAAA;AAAA,YACA,UAAA,EAAY;AAAA,WACd;AAAA,UACA,cAAA,EAAc,gBAAgB,OAAA,GAAU,cAAA;AAAA,UACxC,cAAA,EAAc,CAAC,CAAC,KAAA,IAAS,MAAA;AAAA,UACzB,kBAAA,EAAkB,gBAAgB,QAAA,GAAW,MAAA;AAAA,UAC5C,GAAG,KAAA;AAAA,UACJ,QAAA;AAAA,UACA,OAAA,EAAS,cAAA;AAAA,UACT,WAAA,EAAU;AAAA;AAAA,OACZ;AAAA,MAAA,CACE,kBAAkB,aAAA,qBAClB,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAW,EAAA;AAAA,YACT,oBAAA;AAAA,YACA,uEAAA;AAAA,YACA,UAAA,EAAY;AAAA,WACd;AAAA,UACA,WAAA,EAAU,WAAA;AAAA,UAET,QAAA,EAAA,aAAA,mBACC,GAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAW,EAAA,CAAG,UAAU,IAAI,CAAA,EAAG,gBAAA,CAAiB,KAAK,CAAC,CAAA,EAAG,aAAa,CAAA,EAAG,CAAA,mBAEhF,GAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAW,EAAA,CAAG,SAAA,CAAU,IAAI,CAAA,EAAG,gBAAA,CAAiB,KAAK,CAAC,CAAA,EAAG;AAAA;AAAA;AAEpE,KAAA,EAEJ,CAAA;AAGF,IAAA,IAAI,CAAC,KAAA,IAAS,CAAC,UAAA,IAAc,CAAC,OAAO,OAAO,eAAA;AAE5C,IAAA,uBACE,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,EAAA,CAAG,eAAA,EAAiB,QAAA,EAAU,YAAY,IAAI,CAAA;AAAA,QACzD,WAAA,EAAU,MAAA;AAAA,QAEV,QAAA,EAAA;AAAA,0BAAA,IAAA;AAAA,YAAC,OAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,EAAA;AAAA,gBACT,yBAAA;AAAA,gBACA,CAAC,MAAM,QAAA,IAAY;AAAA,eACrB;AAAA,cAEC,QAAA,EAAA;AAAA,gBAAA,eAAA;AAAA,gBACA,KAAA,oBACC,GAAA;AAAA,kBAAC,MAAA;AAAA,kBAAA;AAAA,oBACC,SAAA,EAAW,EAAA;AAAA,sBACT,gBAAA;AAAA,sBACA,uCAAA;AAAA,sBACA,KAAA,IAAS,YAAA;AAAA,sBACT,MAAM,QAAA,IAAY,YAAA;AAAA,sBAClB,UAAA,EAAY;AAAA,qBACd;AAAA,oBACA,WAAA,EAAU,OAAA;AAAA,oBAET,QAAA,EAAA;AAAA;AAAA;AACH;AAAA;AAAA,WAEJ;AAAA,UAAA,CACE,cAAc,KAAA,qBACd,GAAA;AAAA,YAAC,GAAA;AAAA,YAAA;AAAA,cACC,EAAA,EAAI,QAAA;AAAA,cACJ,SAAA,EAAW,EAAA;AAAA,gBACT,sBAAA;AAAA,gBACA,mBAAA;AAAA,gBACA,QAAQ,YAAA,GAAe,qBAAA;AAAA,gBACvB,UAAA,EAAY;AAAA,eACd;AAAA,cACA,WAAA,EAAU,aAAA;AAAA,cAET,QAAA,EAAA,OAAO,KAAA,KAAU,QAAA,GAAW,KAAA,GAAQ;AAAA;AAAA;AACvC;AAAA;AAAA,KAEJ;AAAA,EAEJ;AACF,CAAA;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA;AAGvB,IAAO,gBAAA,GAAQ","file":"chunk-RLYGJN56.js","sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport { Check, Minus } from \"lucide-react\";\nimport React, { useState, useCallback, useEffect, useId } from \"react\";\n\nimport { cn, iconSizes } from \"../utils\";\nimport {\n checkboxBorderColorClasses,\n focusRingColorClasses,\n textColorClasses,\n} from \"../variants\";\nimport type { CheckboxProps } from \"./types\";\n\n/**\n * Merges multiple refs into a single callback ref.\n * Handles both callback refs and RefObject refs safely.\n */\nfunction useMergeRefs<T>(\n ...refs: (React.Ref<T> | undefined)[]\n): React.RefCallback<T> {\n // Store refs in a ref to avoid dependency array issues\n const refsRef = React.useRef(refs);\n refsRef.current = refs;\n\n return useCallback((instance: T | null) => {\n refsRef.current.forEach((ref) => {\n if (typeof ref === \"function\") {\n ref(instance);\n } else if (ref && typeof ref === \"object\") {\n (ref as React.MutableRefObject<T | null>).current = instance;\n }\n });\n }, []);\n}\n\nconst checkboxVariants = cva(\n \"appearance-none rounded border bg-background cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background\",\n {\n variants: {\n color: checkboxBorderColorClasses,\n size: {\n xs: \"w-(--checkbox-size-xs) h-(--checkbox-size-xs)\",\n sm: \"w-(--checkbox-size-sm) h-(--checkbox-size-sm)\",\n md: \"w-(--checkbox-size-md) h-(--checkbox-size-md)\",\n lg: \"w-(--checkbox-size-lg) h-(--checkbox-size-lg)\",\n },\n error: {\n true: \"border-error checked:border-error\",\n false: \"\",\n },\n },\n defaultVariants: {\n color: \"primary\",\n size: \"md\",\n },\n },\n);\n\nconst Checkbox = React.memo<CheckboxProps>(\n ({\n color = \"primary\",\n size = \"md\",\n label,\n helperText,\n error,\n indeterminate = false,\n className,\n checked,\n defaultChecked,\n ref,\n classNames,\n ...props\n }) => {\n const [internalChecked, setInternalChecked] = useState(\n defaultChecked ?? false,\n );\n const internalRef = React.useRef<HTMLInputElement>(null);\n\n // Generate unique ID for accessibility\n const uniqueId = useId();\n const helperId = `checkbox-helper-${uniqueId}`;\n const hasHelperText = !!(helperText || error);\n\n // Safely merge refs - handles both callback refs and RefObject refs\n const mergedRef = useMergeRefs(ref, internalRef);\n\n // Determine if controlled\n const isControlled = checked !== undefined;\n const currentChecked = isControlled ? checked : internalChecked;\n\n const onChangeRef = React.useRef(props.onChange);\n onChangeRef.current = props.onChange;\n\n const onChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setInternalChecked(event.target.checked);\n }\n onChangeRef.current?.(event);\n },\n [isControlled],\n );\n\n useEffect(() => {\n if (internalRef.current) {\n internalRef.current.indeterminate = indeterminate;\n }\n }, [indeterminate]);\n\n const checkboxElement = (\n <div className=\"relative inline-flex\" data-slot=\"wrapper\">\n <input\n ref={mergedRef}\n type=\"checkbox\"\n className={cn(\n \"checkbox_checkbox\",\n checkboxVariants({ color, size, error: !!error }),\n focusRingColorClasses[color],\n className,\n classNames?.checkbox,\n )}\n aria-checked={indeterminate ? \"mixed\" : currentChecked}\n aria-invalid={!!error || undefined}\n aria-describedby={hasHelperText ? helperId : undefined}\n {...props}\n onChange={onChange}\n checked={currentChecked}\n data-slot=\"checkbox\"\n />\n {(currentChecked || indeterminate) && (\n <div\n className={cn(\n \"checkbox_indicator\",\n \"absolute inset-0 flex items-center justify-center pointer-events-none\",\n classNames?.indicator,\n )}\n data-slot=\"indicator\"\n >\n {indeterminate ? (\n <Minus className={cn(iconSizes[size], textColorClasses[color])} strokeWidth={3} />\n ) : (\n <Check className={cn(iconSizes[size], textColorClasses[color])} />\n )}\n </div>\n )}\n </div>\n );\n\n if (!label && !helperText && !error) return checkboxElement;\n\n return (\n <div\n className={cn(\"checkbox_root\", \"w-full\", classNames?.root)}\n data-slot=\"root\"\n >\n <label\n className={cn(\n \"flex items-center gap-2\",\n !props.disabled && \"cursor-pointer\",\n )}\n >\n {checkboxElement}\n {label && (\n <span\n className={cn(\n \"checkbox_label\",\n \"text-sm text-text-primary select-none\",\n error && \"text-error\",\n props.disabled && \"opacity-50\",\n classNames?.label,\n )}\n data-slot=\"label\"\n >\n {label}\n </span>\n )}\n </label>\n {(helperText || error) && (\n <p\n id={helperId}\n className={cn(\n \"checkbox_description\",\n \"mt-1 ml-0 text-xs\",\n error ? \"text-error\" : \"text-text-secondary\",\n classNames?.description,\n )}\n data-slot=\"description\"\n >\n {typeof error === \"string\" ? error : helperText}\n </p>\n )}\n </div>\n );\n },\n);\n\nCheckbox.displayName = \"Checkbox\";\n\nexport type * from \"./types\";\nexport default Checkbox;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/radio/index.tsx"],"names":[],"mappings":"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","file":"chunk-VKLDLJXG.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport React, { useId } from 'react'\n\nimport { cn } from '../utils'\nimport { radioCheckedColorClasses } from '../variants'\nimport type { RadioProps } from './types'\n\nconst radioVariants = cva(\n 'appearance-none rounded-full border-border border bg-background cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed outline-none transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary',\n {\n variants: {\n color: radioCheckedColorClasses,\n size: {\n xs: 'w-(--checkbox-size-xs) h-(--checkbox-size-xs)',\n sm: 'w-(--checkbox-size-sm) h-(--checkbox-size-sm)',\n md: 'w-(--checkbox-size-md) h-(--checkbox-size-md)',\n lg: 'w-(--checkbox-size-lg) h-(--checkbox-size-lg)',\n },\n error: {\n true: 'border-error checked:border-error',\n false: '',\n },\n },\n defaultVariants: {\n color: 'primary',\n size: 'md',\n },\n },\n)\n\nconst Radio = React.memo<RadioProps>(\n ({\n color = 'primary',\n size = 'md',\n label,\n helperText,\n error,\n className,\n ref,\n classNames,\n ...props\n }) => {\n // Generate unique ID for accessibility\n const uniqueId = useId()\n const helperId = `radio-helper-${uniqueId}`\n const hasHelperText = !!(helperText || error)\n\n const radioElement = (\n <div className=\"relative inline-flex\">\n <input\n ref={ref}\n type=\"radio\"\n className={cn(\n 'radio_radio',\n radioVariants({ color, size, error: !!error }),\n className,\n classNames?.radio,\n )}\n aria-invalid={!!error || undefined}\n aria-describedby={hasHelperText ? helperId : undefined}\n {...props}\n />\n <div className={cn(\n 'radio_indicator',\n 'absolute inset-0 pointer-events-none',\n classNames?.indicator,\n )} />\n </div>\n )\n\n if (!label && !helperText && !error) return radioElement\n\n return (\n <div className={cn('radio_root', 'w-full', classNames?.root)}>\n <label\n className={cn(\n 'flex items-center gap-2',\n !props.disabled && 'cursor-pointer',\n )}\n >\n {radioElement}\n {label && (\n <span\n className={cn(\n 'radio_label',\n 'text-sm text-text-secondary select-none',\n error && 'text-error',\n props.disabled && 'opacity-50',\n classNames?.label,\n )}\n >\n {label}\n </span>\n )}\n </label>\n {(helperText || error) && (\n <p\n id={helperId}\n className={cn(\n 'radio_description',\n 'mt-1 ml-0 text-xs',\n error ? 'text-error' : 'text-text-secondary',\n classNames?.description,\n )}\n >\n {typeof error === 'string' ? error : helperText}\n </p>\n )}\n </div>\n )\n },\n)\n\nRadio.displayName = 'Radio'\n\nexport type * from './types'\nexport default Radio\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clipboard/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAI3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAgE9C,QAAA,MAAM,SAAS,4CAiHd,CAAC;AAIF,mBAAmB,SAAS,CAAC;AAC7B,eAAe,SAAS,CAAC"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import type { ComponentColor } from '../types';
|
|
2
|
-
export type ClipboardVariant = 'default' | 'solid' | 'soft';
|
|
3
|
-
export type ClipboardSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
4
|
-
export interface ClipboardClassNames {
|
|
5
|
-
/**
|
|
6
|
-
* Class for root container
|
|
7
|
-
*/
|
|
8
|
-
root?: string;
|
|
9
|
-
/**
|
|
10
|
-
* Class for input display element
|
|
11
|
-
*/
|
|
12
|
-
input?: string;
|
|
13
|
-
/**
|
|
14
|
-
* Class for copy button/icon
|
|
15
|
-
*/
|
|
16
|
-
button?: string;
|
|
17
|
-
}
|
|
18
|
-
export interface ClipboardProps {
|
|
19
|
-
/**
|
|
20
|
-
* Text value to copy to clipboard
|
|
21
|
-
*/
|
|
22
|
-
value: string;
|
|
23
|
-
/**
|
|
24
|
-
* Theme color
|
|
25
|
-
*/
|
|
26
|
-
color?: ComponentColor;
|
|
27
|
-
/**
|
|
28
|
-
* Size variant (clipboard only supports xs, sm, md, lg)
|
|
29
|
-
*/
|
|
30
|
-
size?: ClipboardSize;
|
|
31
|
-
/**
|
|
32
|
-
* Visual style variant
|
|
33
|
-
*/
|
|
34
|
-
variant?: ClipboardVariant;
|
|
35
|
-
/**
|
|
36
|
-
* Whether to show the value text
|
|
37
|
-
*/
|
|
38
|
-
showValue?: boolean;
|
|
39
|
-
/**
|
|
40
|
-
* Duration to show success icon (in milliseconds)
|
|
41
|
-
*/
|
|
42
|
-
successDuration?: number;
|
|
43
|
-
/**
|
|
44
|
-
* Whether the clipboard is disabled
|
|
45
|
-
* @default false
|
|
46
|
-
*/
|
|
47
|
-
disabled?: boolean;
|
|
48
|
-
/**
|
|
49
|
-
* Callback when text is copied
|
|
50
|
-
*/
|
|
51
|
-
onCopy?: () => void;
|
|
52
|
-
/**
|
|
53
|
-
* Additional CSS class
|
|
54
|
-
*/
|
|
55
|
-
className?: string;
|
|
56
|
-
/**
|
|
57
|
-
* Custom classes for different parts of the clipboard
|
|
58
|
-
*/
|
|
59
|
-
classNames?: ClipboardClassNames;
|
|
60
|
-
/**
|
|
61
|
-
* Reference to the element
|
|
62
|
-
*/
|
|
63
|
-
ref?: React.Ref<HTMLDivElement>;
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/clipboard/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;AAC3D,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAErD,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,cAAc,CAAA;IAEtB;;OAEG;IACH,IAAI,CAAC,EAAE,aAAa,CAAA;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,mBAAmB,CAAA;IAEhC;;OAEG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;CAChC"}
|
package/dist/collapse/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/collapse/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AA6I5C,QAAA,MAAM,QAAQ,2CAiGb,CAAA;AAID,mBAAmB,SAAS,CAAA;AAC5B,eAAe,QAAQ,CAAA"}
|
package/dist/collapse/types.d.ts
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import type { ComponentColor } from '../types';
|
|
2
|
-
export type CollapseVariant = 'default' | 'solid' | 'soft';
|
|
3
|
-
export type CollapseSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
4
|
-
export interface CollapseClassNames {
|
|
5
|
-
root?: string;
|
|
6
|
-
header?: string;
|
|
7
|
-
content?: string;
|
|
8
|
-
icon?: string;
|
|
9
|
-
}
|
|
10
|
-
export interface CollapseProps {
|
|
11
|
-
/**
|
|
12
|
-
* Title displayed in the header
|
|
13
|
-
*/
|
|
14
|
-
title: React.ReactNode;
|
|
15
|
-
/**
|
|
16
|
-
* Content to display when expanded
|
|
17
|
-
*/
|
|
18
|
-
children: React.ReactNode;
|
|
19
|
-
/**
|
|
20
|
-
* Theme color
|
|
21
|
-
*/
|
|
22
|
-
color?: ComponentColor;
|
|
23
|
-
/**
|
|
24
|
-
* Size variant (collapse only supports xs, sm, md, lg)
|
|
25
|
-
*/
|
|
26
|
-
size?: CollapseSize;
|
|
27
|
-
/**
|
|
28
|
-
* Visual style variant
|
|
29
|
-
*/
|
|
30
|
-
variant?: CollapseVariant;
|
|
31
|
-
/**
|
|
32
|
-
* Default open state (uncontrolled)
|
|
33
|
-
*/
|
|
34
|
-
defaultOpen?: boolean;
|
|
35
|
-
/**
|
|
36
|
-
* Controlled open state
|
|
37
|
-
*/
|
|
38
|
-
open?: boolean;
|
|
39
|
-
/**
|
|
40
|
-
* Callback when open state changes
|
|
41
|
-
*/
|
|
42
|
-
onChange?: (open: boolean) => void;
|
|
43
|
-
/**
|
|
44
|
-
* Whether collapse is disabled
|
|
45
|
-
*/
|
|
46
|
-
disabled?: boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Additional CSS class
|
|
49
|
-
*/
|
|
50
|
-
className?: string;
|
|
51
|
-
/**
|
|
52
|
-
* Custom class names for different parts of the collapse
|
|
53
|
-
*/
|
|
54
|
-
classNames?: CollapseClassNames;
|
|
55
|
-
/**
|
|
56
|
-
* Reference to the element
|
|
57
|
-
*/
|
|
58
|
-
ref?: React.Ref<HTMLDivElement>;
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/collapse/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;AAC1D,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAEpD,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IAEtB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAEzB;;OAEG;IACH,KAAK,CAAC,EAAE,cAAc,CAAA;IAEtB;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAA;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,eAAe,CAAA;IAEzB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAElC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAA;IAE/B;;OAEG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;CAChC"}
|
package/dist/command/index.d.ts
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { Command as CommandPrimitive } from 'cmdk';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { CommandSize, CommandClassNames } from './types';
|
|
4
|
-
import { Modal } from '../modal';
|
|
5
|
-
import { ComponentColor } from '../types';
|
|
6
|
-
declare const Command: {
|
|
7
|
-
({ className, size, classNames, ...props }: React.ComponentProps<typeof CommandPrimitive> & {
|
|
8
|
-
size?: CommandSize;
|
|
9
|
-
classNames?: CommandClassNames;
|
|
10
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
displayName: string;
|
|
12
|
-
};
|
|
13
|
-
declare const CommandModal: {
|
|
14
|
-
({ title, description, children, className, showCloseButton, size, ...props }: React.ComponentProps<typeof Modal> & {
|
|
15
|
-
title?: string;
|
|
16
|
-
description?: string;
|
|
17
|
-
className?: string;
|
|
18
|
-
showCloseButton?: boolean;
|
|
19
|
-
size?: CommandSize;
|
|
20
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
21
|
-
displayName: string;
|
|
22
|
-
};
|
|
23
|
-
declare const CommandInput: {
|
|
24
|
-
({ className, size, classNames, ...props }: Omit<React.ComponentProps<typeof CommandPrimitive.Input>, "size"> & {
|
|
25
|
-
size?: CommandSize;
|
|
26
|
-
classNames?: CommandClassNames;
|
|
27
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
28
|
-
displayName: string;
|
|
29
|
-
};
|
|
30
|
-
declare const CommandList: {
|
|
31
|
-
({ className, size, classNames, ...props }: React.ComponentProps<typeof CommandPrimitive.List> & {
|
|
32
|
-
size?: CommandSize;
|
|
33
|
-
classNames?: CommandClassNames;
|
|
34
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
35
|
-
displayName: string;
|
|
36
|
-
};
|
|
37
|
-
declare const CommandEmpty: {
|
|
38
|
-
({ size, classNames, ...props }: React.ComponentProps<typeof CommandPrimitive.Empty> & {
|
|
39
|
-
size?: CommandSize;
|
|
40
|
-
classNames?: CommandClassNames;
|
|
41
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
42
|
-
displayName: string;
|
|
43
|
-
};
|
|
44
|
-
declare const CommandGroup: {
|
|
45
|
-
({ className, size, classNames, ...props }: React.ComponentProps<typeof CommandPrimitive.Group> & {
|
|
46
|
-
size?: CommandSize;
|
|
47
|
-
classNames?: CommandClassNames;
|
|
48
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
49
|
-
displayName: string;
|
|
50
|
-
};
|
|
51
|
-
declare const CommandSeparator: {
|
|
52
|
-
({ className, size, ...props }: React.ComponentProps<typeof CommandPrimitive.Separator> & {
|
|
53
|
-
size?: CommandSize;
|
|
54
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
55
|
-
displayName: string;
|
|
56
|
-
};
|
|
57
|
-
declare const CommandItem: {
|
|
58
|
-
({ className, size, color, classNames, ...props }: React.ComponentProps<typeof CommandPrimitive.Item> & {
|
|
59
|
-
size?: CommandSize;
|
|
60
|
-
color?: ComponentColor;
|
|
61
|
-
classNames?: CommandClassNames;
|
|
62
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
63
|
-
displayName: string;
|
|
64
|
-
};
|
|
65
|
-
declare const CommandShortcut: {
|
|
66
|
-
({ className, size, classNames, ...props }: React.ComponentProps<"span"> & {
|
|
67
|
-
size?: CommandSize;
|
|
68
|
-
classNames?: CommandClassNames;
|
|
69
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
70
|
-
displayName: string;
|
|
71
|
-
};
|
|
72
|
-
export type * from './types';
|
|
73
|
-
export { Command, CommandModal, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator, };
|
|
74
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/command/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,MAAM,CAAA;AAElD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAExD,OAAO,EACL,KAAK,EAKN,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAoBzC,QAAA,MAAM,OAAO;gDAKV,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,GAAG;QACjD,IAAI,CAAC,EAAE,WAAW,CAAA;QAClB,UAAU,CAAC,EAAE,iBAAiB,CAAA;KAC/B;;CAQA,CAAA;AAID,QAAA,MAAM,YAAY;mFAQf,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,GAAG;QACtC,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,eAAe,CAAC,EAAE,OAAO,CAAA;QACzB,IAAI,CAAC,EAAE,WAAW,CAAA;KACnB;;CAoBA,CAAA;AAsCD,QAAA,MAAM,YAAY;gDAKf,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG;QACrE,IAAI,CAAC,EAAE,WAAW,CAAA;QAClB,UAAU,CAAC,EAAE,iBAAiB,CAAA;KAC/B;;CAiBA,CAAA;AAqBD,QAAA,MAAM,WAAW;gDAKd,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG;QACtD,IAAI,CAAC,EAAE,WAAW,CAAA;QAClB,UAAU,CAAC,EAAE,iBAAiB,CAAA;KAC/B;;CAQA,CAAA;AAkBD,QAAA,MAAM,YAAY;qCAIf,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,GAAG;QACvD,IAAI,CAAC,EAAE,WAAW,CAAA;QAClB,UAAU,CAAC,EAAE,iBAAiB,CAAA;KAC/B;;CAQA,CAAA;AAqBD,QAAA,MAAM,YAAY;gDAKf,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,GAAG;QACvD,IAAI,CAAC,EAAE,WAAW,CAAA;QAClB,UAAU,CAAC,EAAE,iBAAiB,CAAA;KAC/B;;CAQA,CAAA;AAkBD,QAAA,MAAM,gBAAgB;oCAInB,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,SAAS,CAAC,GAAG;QAC3D,IAAI,CAAC,EAAE,WAAW,CAAA;KACnB;;CAQA,CAAA;AAgCD,QAAA,MAAM,WAAW;uDAMd,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG;QACtD,IAAI,CAAC,EAAE,WAAW,CAAA;QAClB,KAAK,CAAC,EAAE,cAAc,CAAA;QACtB,UAAU,CAAC,EAAE,iBAAiB,CAAA;KAC/B;;CAQA,CAAA;AAqBD,QAAA,MAAM,eAAe;gDAKlB,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG;QAChC,IAAI,CAAC,EAAE,WAAW,CAAA;QAClB,UAAU,CAAC,EAAE,iBAAiB,CAAA;KAC/B;;CAQA,CAAA;AAID,mBAAmB,SAAS,CAAA;AAC5B,OAAO,EACL,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,CAAA"}
|
package/dist/command/types.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Command component types
|
|
3
|
-
* Note: Most command components use React.ComponentProps with the underlying
|
|
4
|
-
* cmdk primitives and add a size prop
|
|
5
|
-
*/
|
|
6
|
-
import { ComponentColor } from '../types';
|
|
7
|
-
export type CommandSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
8
|
-
export type { CommandSize as CommandInputSize };
|
|
9
|
-
export interface CommandClassNames {
|
|
10
|
-
root?: string;
|
|
11
|
-
input?: string;
|
|
12
|
-
inputIcon?: string;
|
|
13
|
-
list?: string;
|
|
14
|
-
empty?: string;
|
|
15
|
-
group?: string;
|
|
16
|
-
groupLabel?: string;
|
|
17
|
-
item?: string;
|
|
18
|
-
itemIcon?: string;
|
|
19
|
-
shortcut?: string;
|
|
20
|
-
}
|
|
21
|
-
export interface CommandItemProps {
|
|
22
|
-
color?: ComponentColor;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/command/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEzC,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAGnD,YAAY,EAAE,WAAW,IAAI,gBAAgB,EAAE,CAAA;AAE/C,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,cAAc,CAAA;CACvB"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import type { ContextMenuContentProps, ContextMenuProps } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* Context menu content component
|
|
4
|
-
*/
|
|
5
|
-
declare const ContextMenuContent: {
|
|
6
|
-
({ items, onClose, level, className, classNames, style, setKeyUpHandlers, color, ...props }: ContextMenuContentProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
displayName: string;
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* ContextMenu component based on Popover
|
|
11
|
-
*
|
|
12
|
-
* A context menu that opens on right-click.
|
|
13
|
-
* Uses @radix-ui/react-popover for positioning and state management.
|
|
14
|
-
* Supports nested submenus, separators, disabled items, and keyboard navigation.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```tsx
|
|
18
|
-
* import ContextMenu from '@mdigital_ui/ui/context-menu'
|
|
19
|
-
* import { Copy, Paste, Trash } from 'lucide-react'
|
|
20
|
-
*
|
|
21
|
-
* function MyComponent() {
|
|
22
|
-
* return (
|
|
23
|
-
* <ContextMenu
|
|
24
|
-
* items={[
|
|
25
|
-
* {
|
|
26
|
-
* key: 'copy',
|
|
27
|
-
* label: 'Copy',
|
|
28
|
-
* icon: <Copy />,
|
|
29
|
-
* shortcut: 'Ctrl+C',
|
|
30
|
-
* onClick: () => console.log('Copy'),
|
|
31
|
-
* },
|
|
32
|
-
* {
|
|
33
|
-
* key: 'paste',
|
|
34
|
-
* label: 'Paste',
|
|
35
|
-
* icon: <Paste />,
|
|
36
|
-
* shortcut: 'Ctrl+V',
|
|
37
|
-
* onClick: () => console.log('Paste'),
|
|
38
|
-
* },
|
|
39
|
-
* { key: 'sep1', separator: true },
|
|
40
|
-
* {
|
|
41
|
-
* key: 'delete',
|
|
42
|
-
* label: 'Delete',
|
|
43
|
-
* icon: <Trash />,
|
|
44
|
-
* onClick: () => console.log('Delete'),
|
|
45
|
-
* },
|
|
46
|
-
* ]}
|
|
47
|
-
* >
|
|
48
|
-
* <div className="p-4 border">
|
|
49
|
-
* Right click me!
|
|
50
|
-
* </div>
|
|
51
|
-
* </ContextMenu>
|
|
52
|
-
* )
|
|
53
|
-
* }
|
|
54
|
-
* ```
|
|
55
|
-
*/
|
|
56
|
-
declare const ContextMenu: {
|
|
57
|
-
({ children, items, className, classNames, disabled, onOpenChange, open: controlledOpen, color, }: ContextMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
58
|
-
displayName: string;
|
|
59
|
-
};
|
|
60
|
-
export type * from './types';
|
|
61
|
-
export { ContextMenu, ContextMenuContent };
|
|
62
|
-
export default ContextMenu;
|
|
63
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context-menu/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAA2B,MAAM,SAAS,CAAC;AA2JlG;;GAEG;AACH,QAAA,MAAM,kBAAkB;iGAUrB,uBAAuB;;CAyJzB,CAAC;AAIF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,QAAA,MAAM,WAAW;uGASd,gBAAgB;;CAmGlB,CAAC;AAIF,mBAAmB,SAAS,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;AAC3C,eAAe,WAAW,CAAC"}
|