@kuzenbo/core 0.0.3 → 0.0.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/avatar-CXhwmJgG.js +65 -0
- package/dist/avatar-CXhwmJgG.js.map +1 -0
- package/dist/{avatar-image-Ce26D2fb.d.ts → avatar-DpiupAAM.d.ts} +35 -2
- package/dist/avatar-DpiupAAM.d.ts.map +1 -0
- package/dist/badge-BKRm6jL7.js +58 -0
- package/dist/badge-BKRm6jL7.js.map +1 -0
- package/dist/button-nAbTNrxA.d.ts +78 -0
- package/dist/button-nAbTNrxA.d.ts.map +1 -0
- package/dist/{dialog-trigger-BUF3elAP.js → dialog-CD5lfQA9.js} +33 -10
- package/dist/dialog-CD5lfQA9.js.map +1 -0
- package/dist/{dialog-viewport-Ce1huyAI.d.ts → dialog-DEkdr-9K.d.ts} +64 -2
- package/dist/dialog-DEkdr-9K.d.ts.map +1 -0
- package/dist/{dropdown-menu-trigger-COnFGfDa.js → dropdown-menu-BJi-V71O.js} +137 -101
- package/dist/dropdown-menu-BJi-V71O.js.map +1 -0
- package/dist/{dropdown-menu-trigger-BpgtLUvf.d.ts → dropdown-menu-Bpj576m0.d.ts} +259 -123
- package/dist/dropdown-menu-Bpj576m0.d.ts.map +1 -0
- package/dist/input-Ex9ZRqbo.js +38 -0
- package/dist/input-Ex9ZRqbo.js.map +1 -0
- package/dist/input-WWoBCgxe.d.ts +46 -0
- package/dist/input-WWoBCgxe.d.ts.map +1 -0
- package/dist/{input-group-textarea-B-rP98r5.js → input-group-CjcHP0L4.js} +50 -31
- package/dist/input-group-CjcHP0L4.js.map +1 -0
- package/dist/provider.js +4 -2
- package/dist/scroll-bar-C4qEUKlT.js.map +1 -1
- package/dist/separator-C8Qw2ADs.d.ts +13 -0
- package/dist/separator-C8Qw2ADs.d.ts.map +1 -0
- package/dist/{sheet-trigger-D7neoTF5.js → sheet-imSHXfFH.js} +29 -10
- package/dist/sheet-imSHXfFH.js.map +1 -0
- package/dist/{size-context-BjRwqlSg.js → size-context-CvLl3pMC.js} +3 -3
- package/dist/size-context-CvLl3pMC.js.map +1 -0
- package/dist/size-context-DXfCAlWF.d.ts.map +1 -1
- package/dist/size-provider-18EvJgDT.js.map +1 -1
- package/dist/size-provider-Bd2C6gKd.d.ts.map +1 -1
- package/dist/size-system-BTsMqZRQ.js +99 -0
- package/dist/size-system-BTsMqZRQ.js.map +1 -0
- package/dist/size-system-wzOLSuax.d.ts.map +1 -1
- package/dist/size.js +4 -2
- package/dist/{slider-root-presentation-ChJHPMIV.js → slider-root-presentation-B6OO_iCT.js} +19 -19
- package/dist/slider-root-presentation-B6OO_iCT.js.map +1 -0
- package/dist/{slider-value-Db8SCu0c.d.ts → slider-style-tokens-CZezJilZ.d.ts} +55 -55
- package/dist/slider-style-tokens-CZezJilZ.d.ts.map +1 -0
- package/dist/textarea-C8dsnn8D.d.ts +37 -0
- package/dist/textarea-C8dsnn8D.d.ts.map +1 -0
- package/dist/textarea-CkiM1N_I.js +39 -0
- package/dist/textarea-CkiM1N_I.js.map +1 -0
- package/dist/toggle-CxkIncmZ.d.ts +53 -0
- package/dist/toggle-CxkIncmZ.d.ts.map +1 -0
- package/dist/{tooltip-trigger-qXw-_nbh.js → tooltip-D0BEpCQx.js} +38 -13
- package/dist/tooltip-D0BEpCQx.js.map +1 -0
- package/dist/{tooltip-viewport-csA6luqI.d.ts → tooltip-DbJxt69l.d.ts} +61 -13
- package/dist/tooltip-DbJxt69l.d.ts.map +1 -0
- package/dist/ui/accordion.d.ts +4 -4
- package/dist/ui/accordion.d.ts.map +1 -1
- package/dist/ui/accordion.js +53 -52
- package/dist/ui/accordion.js.map +1 -1
- package/dist/ui/affix.d.ts +3 -2
- package/dist/ui/affix.d.ts.map +1 -1
- package/dist/ui/affix.js +8 -7
- package/dist/ui/affix.js.map +1 -1
- package/dist/ui/alert-dialog.d.ts +3 -1
- package/dist/ui/alert-dialog.d.ts.map +1 -1
- package/dist/ui/alert-dialog.js +12 -9
- package/dist/ui/alert-dialog.js.map +1 -1
- package/dist/ui/alert.d.ts +32 -32
- package/dist/ui/alert.d.ts.map +1 -1
- package/dist/ui/alert.js +88 -86
- package/dist/ui/alert.js.map +1 -1
- package/dist/ui/announcement.d.ts.map +1 -1
- package/dist/ui/announcement.js +5 -3
- package/dist/ui/announcement.js.map +1 -1
- package/dist/ui/aspect-ratio.d.ts.map +1 -1
- package/dist/ui/aspect-ratio.js.map +1 -1
- package/dist/ui/autocomplete.d.ts +74 -74
- package/dist/ui/autocomplete.d.ts.map +1 -1
- package/dist/ui/autocomplete.js +57 -53
- package/dist/ui/autocomplete.js.map +1 -1
- package/dist/ui/avatar.d.ts +2 -39
- package/dist/ui/avatar.js +2 -24
- package/dist/ui/badge.d.ts +28 -28
- package/dist/ui/badge.d.ts.map +1 -1
- package/dist/ui/badge.js +3 -53
- package/dist/ui/breadcrumb.d.ts +64 -64
- package/dist/ui/breadcrumb.d.ts.map +1 -1
- package/dist/ui/breadcrumb.js +49 -45
- package/dist/ui/breadcrumb.js.map +1 -1
- package/dist/ui/button-group.d.ts +34 -34
- package/dist/ui/button-group.d.ts.map +1 -1
- package/dist/ui/button-group.js +31 -28
- package/dist/ui/button-group.js.map +1 -1
- package/dist/ui/button.d.ts +2 -78
- package/dist/ui/button.js +42 -42
- package/dist/ui/button.js.map +1 -1
- package/dist/ui/card.d.ts.map +1 -1
- package/dist/ui/card.js +8 -6
- package/dist/ui/card.js.map +1 -1
- package/dist/ui/carousel.d.ts +1 -1
- package/dist/ui/carousel.d.ts.map +1 -1
- package/dist/ui/carousel.js +36 -17
- package/dist/ui/carousel.js.map +1 -1
- package/dist/ui/checkbox-group.d.ts.map +1 -1
- package/dist/ui/checkbox-group.js +2 -0
- package/dist/ui/checkbox-group.js.map +1 -1
- package/dist/ui/checkbox.d.ts +20 -20
- package/dist/ui/checkbox.d.ts.map +1 -1
- package/dist/ui/checkbox.js +15 -13
- package/dist/ui/checkbox.js.map +1 -1
- package/dist/ui/code.d.ts.map +1 -1
- package/dist/ui/code.js +5 -5
- package/dist/ui/code.js.map +1 -1
- package/dist/ui/collapsible.js +1 -1
- package/dist/ui/collapsible.js.map +1 -1
- package/dist/ui/combobox.d.ts +107 -107
- package/dist/ui/combobox.d.ts.map +1 -1
- package/dist/ui/combobox.js +88 -87
- package/dist/ui/combobox.js.map +1 -1
- package/dist/ui/command.d.ts +57 -58
- package/dist/ui/command.d.ts.map +1 -1
- package/dist/ui/command.js +54 -64
- package/dist/ui/command.js.map +1 -1
- package/dist/ui/container.d.ts.map +1 -1
- package/dist/ui/container.js.map +1 -1
- package/dist/ui/context-menu.d.ts +132 -132
- package/dist/ui/context-menu.d.ts.map +1 -1
- package/dist/ui/context-menu.js +102 -98
- package/dist/ui/context-menu.js.map +1 -1
- package/dist/ui/copy-button.d.ts +1 -3
- package/dist/ui/copy-button.d.ts.map +1 -1
- package/dist/ui/copy-button.js +12 -13
- package/dist/ui/copy-button.js.map +1 -1
- package/dist/ui/dialog.d.ts +2 -66
- package/dist/ui/dialog.js +2 -24
- package/dist/ui/drawer.d.ts +91 -91
- package/dist/ui/drawer.d.ts.map +1 -1
- package/dist/ui/drawer.js +68 -66
- package/dist/ui/drawer.js.map +1 -1
- package/dist/ui/dropdown-menu.d.ts +3 -144
- package/dist/ui/dropdown-menu.js +3 -38
- package/dist/ui/dropzone.d.ts +55 -55
- package/dist/ui/dropzone.d.ts.map +1 -1
- package/dist/ui/dropzone.js +77 -72
- package/dist/ui/dropzone.js.map +1 -1
- package/dist/ui/emoji-picker.d.ts +79 -79
- package/dist/ui/emoji-picker.d.ts.map +1 -1
- package/dist/ui/emoji-picker.js +92 -87
- package/dist/ui/emoji-picker.js.map +1 -1
- package/dist/ui/empty.d.ts +61 -59
- package/dist/ui/empty.d.ts.map +1 -1
- package/dist/ui/empty.js +49 -44
- package/dist/ui/empty.js.map +1 -1
- package/dist/ui/field.d.ts +11 -11
- package/dist/ui/field.d.ts.map +1 -1
- package/dist/ui/field.js +9 -7
- package/dist/ui/field.js.map +1 -1
- package/dist/ui/fieldset.d.ts.map +1 -1
- package/dist/ui/fieldset.js.map +1 -1
- package/dist/ui/form.d.ts +8 -8
- package/dist/ui/form.d.ts.map +1 -1
- package/dist/ui/form.js +2 -0
- package/dist/ui/form.js.map +1 -1
- package/dist/ui/input-group.d.ts +35 -35
- package/dist/ui/input-group.d.ts.map +1 -1
- package/dist/ui/input-group.js +2 -28
- package/dist/ui/input-otp.d.ts +36 -36
- package/dist/ui/input-otp.d.ts.map +1 -1
- package/dist/ui/input-otp.js +29 -28
- package/dist/ui/input-otp.js.map +1 -1
- package/dist/ui/input.d.ts +2 -46
- package/dist/ui/input.js +2 -34
- package/dist/ui/item.d.ts +20 -20
- package/dist/ui/item.d.ts.map +1 -1
- package/dist/ui/item.js +24 -22
- package/dist/ui/item.js.map +1 -1
- package/dist/ui/kbd.d.ts.map +1 -1
- package/dist/ui/kbd.js +10 -8
- package/dist/ui/kbd.js.map +1 -1
- package/dist/ui/label.d.ts.map +1 -1
- package/dist/ui/label.js.map +1 -1
- package/dist/ui/marquee.d.ts.map +1 -1
- package/dist/ui/marquee.js +1 -1
- package/dist/ui/marquee.js.map +1 -1
- package/dist/ui/menubar.d.ts +133 -134
- package/dist/ui/menubar.d.ts.map +1 -1
- package/dist/ui/menubar.js +84 -81
- package/dist/ui/menubar.js.map +1 -1
- package/dist/ui/meter.d.ts.map +1 -1
- package/dist/ui/meter.js +2 -0
- package/dist/ui/meter.js.map +1 -1
- package/dist/ui/navigation-list.d.ts +226 -226
- package/dist/ui/navigation-list.d.ts.map +1 -1
- package/dist/ui/navigation-list.js +242 -235
- package/dist/ui/navigation-list.js.map +1 -1
- package/dist/ui/navigation-menu.d.ts +82 -82
- package/dist/ui/navigation-menu.d.ts.map +1 -1
- package/dist/ui/navigation-menu.js +72 -67
- package/dist/ui/navigation-menu.js.map +1 -1
- package/dist/ui/number-field.d.ts +34 -34
- package/dist/ui/number-field.d.ts.map +1 -1
- package/dist/ui/number-field.js +26 -23
- package/dist/ui/number-field.js.map +1 -1
- package/dist/ui/pagination.d.ts +42 -42
- package/dist/ui/pagination.d.ts.map +1 -1
- package/dist/ui/pagination.js +45 -41
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/pill.d.ts +2 -3
- package/dist/ui/pill.d.ts.map +1 -1
- package/dist/ui/pill.js +34 -23
- package/dist/ui/pill.js.map +1 -1
- package/dist/ui/popover.d.ts +13 -11
- package/dist/ui/popover.d.ts.map +1 -1
- package/dist/ui/popover.js +17 -14
- package/dist/ui/popover.js.map +1 -1
- package/dist/ui/portal.d.ts.map +1 -1
- package/dist/ui/portal.js +52 -11
- package/dist/ui/portal.js.map +1 -1
- package/dist/ui/preview-card.js +5 -5
- package/dist/ui/preview-card.js.map +1 -1
- package/dist/ui/progress.js.map +1 -1
- package/dist/ui/qr-code.d.ts.map +1 -1
- package/dist/ui/qr-code.js +7 -7
- package/dist/ui/qr-code.js.map +1 -1
- package/dist/ui/radio-group.d.ts +22 -22
- package/dist/ui/radio-group.d.ts.map +1 -1
- package/dist/ui/radio-group.js +17 -15
- package/dist/ui/radio-group.js.map +1 -1
- package/dist/ui/range-slider.d.ts +1 -1
- package/dist/ui/range-slider.d.ts.map +1 -1
- package/dist/ui/range-slider.js +4 -7
- package/dist/ui/range-slider.js.map +1 -1
- package/dist/ui/rating.d.ts +35 -35
- package/dist/ui/rating.d.ts.map +1 -1
- package/dist/ui/rating.js +55 -46
- package/dist/ui/rating.js.map +1 -1
- package/dist/ui/resizable.d.ts.map +1 -1
- package/dist/ui/resizable.js +2 -2
- package/dist/ui/resizable.js.map +1 -1
- package/dist/ui/scroll-area.d.ts.map +1 -1
- package/dist/ui/scroll-area.js +2 -0
- package/dist/ui/scroll-area.js.map +1 -1
- package/dist/ui/select.d.ts +87 -87
- package/dist/ui/select.d.ts.map +1 -1
- package/dist/ui/select.js +85 -84
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/separator.d.ts +2 -13
- package/dist/ui/separator.js +2 -0
- package/dist/ui/separator.js.map +1 -1
- package/dist/ui/sheet.d.ts.map +1 -1
- package/dist/ui/sheet.js +2 -24
- package/dist/ui/sidebar.d.ts +73 -74
- package/dist/ui/sidebar.d.ts.map +1 -1
- package/dist/ui/sidebar.js +87 -84
- package/dist/ui/sidebar.js.map +1 -1
- package/dist/ui/skeleton.d.ts.map +1 -1
- package/dist/ui/skeleton.js +1 -1
- package/dist/ui/skeleton.js.map +1 -1
- package/dist/ui/slider.d.ts +1 -1
- package/dist/ui/slider.d.ts.map +1 -1
- package/dist/ui/slider.js +3 -1
- package/dist/ui/slider.js.map +1 -1
- package/dist/ui/spacer.d.ts.map +1 -1
- package/dist/ui/spacer.js +2 -2
- package/dist/ui/spacer.js.map +1 -1
- package/dist/ui/spinner.js +4 -2
- package/dist/ui/spinner.js.map +1 -1
- package/dist/ui/switch.d.ts +11 -11
- package/dist/ui/switch.js +7 -7
- package/dist/ui/switch.js.map +1 -1
- package/dist/ui/table.d.ts +60 -60
- package/dist/ui/table.d.ts.map +1 -1
- package/dist/ui/table.js +54 -46
- package/dist/ui/table.js.map +1 -1
- package/dist/ui/tabs.d.ts +25 -25
- package/dist/ui/tabs.d.ts.map +1 -1
- package/dist/ui/tabs.js +75 -68
- package/dist/ui/tabs.js.map +1 -1
- package/dist/ui/textarea.d.ts +2 -37
- package/dist/ui/textarea.js +3 -34
- package/dist/ui/theme-icon.d.ts +30 -30
- package/dist/ui/theme-icon.d.ts.map +1 -1
- package/dist/ui/theme-icon.js +22 -22
- package/dist/ui/theme-icon.js.map +1 -1
- package/dist/ui/timeline.d.ts +6 -6
- package/dist/ui/timeline.d.ts.map +1 -1
- package/dist/ui/timeline.js +165 -163
- package/dist/ui/timeline.js.map +1 -1
- package/dist/ui/toggle-group.d.ts +32 -32
- package/dist/ui/toggle-group.d.ts.map +1 -1
- package/dist/ui/toggle-group.js +22 -16
- package/dist/ui/toggle-group.js.map +1 -1
- package/dist/ui/toggle.d.ts +2 -53
- package/dist/ui/toggle.js +17 -15
- package/dist/ui/toggle.js.map +1 -1
- package/dist/ui/toolbar.d.ts +54 -54
- package/dist/ui/toolbar.d.ts.map +1 -1
- package/dist/ui/toolbar.js +45 -40
- package/dist/ui/toolbar.js.map +1 -1
- package/dist/ui/tooltip.d.ts +2 -54
- package/dist/ui/tooltip.js +2 -28
- package/dist/ui/typography.d.ts +50 -36
- package/dist/ui/typography.d.ts.map +1 -1
- package/dist/ui/typography.js +28 -17
- package/dist/ui/typography.js.map +1 -1
- package/package.json +15 -15
- package/dist/avatar-image-BQ_NEKH4.js +0 -47
- package/dist/avatar-image-BQ_NEKH4.js.map +0 -1
- package/dist/avatar-image-Ce26D2fb.d.ts.map +0 -1
- package/dist/dialog-trigger-BUF3elAP.js.map +0 -1
- package/dist/dialog-viewport-Ce1huyAI.d.ts.map +0 -1
- package/dist/dropdown-menu-trigger-BpgtLUvf.d.ts.map +0 -1
- package/dist/dropdown-menu-trigger-COnFGfDa.js.map +0 -1
- package/dist/input-group-textarea-B-rP98r5.js.map +0 -1
- package/dist/sheet-trigger-D7neoTF5.js.map +0 -1
- package/dist/size-context-BjRwqlSg.js.map +0 -1
- package/dist/size-system-DTXmtQXw.js +0 -47
- package/dist/size-system-DTXmtQXw.js.map +0 -1
- package/dist/slider-root-presentation-ChJHPMIV.js.map +0 -1
- package/dist/slider-value-Db8SCu0c.d.ts.map +0 -1
- package/dist/tooltip-trigger-qXw-_nbh.js.map +0 -1
- package/dist/tooltip-viewport-csA6luqI.d.ts.map +0 -1
- package/dist/ui/avatar.d.ts.map +0 -1
- package/dist/ui/avatar.js.map +0 -1
- package/dist/ui/badge.js.map +0 -1
- package/dist/ui/button.d.ts.map +0 -1
- package/dist/ui/dialog.d.ts.map +0 -1
- package/dist/ui/dialog.js.map +0 -1
- package/dist/ui/dropdown-menu.d.ts.map +0 -1
- package/dist/ui/dropdown-menu.js.map +0 -1
- package/dist/ui/input-group.js.map +0 -1
- package/dist/ui/input.d.ts.map +0 -1
- package/dist/ui/input.js.map +0 -1
- package/dist/ui/separator.d.ts.map +0 -1
- package/dist/ui/sheet.js.map +0 -1
- package/dist/ui/textarea.d.ts.map +0 -1
- package/dist/ui/textarea.js.map +0 -1
- package/dist/ui/toggle.d.ts.map +0 -1
- package/dist/ui/tooltip.d.ts.map +0 -1
- package/dist/ui/tooltip.js.map +0 -1
- package/dist/use-badge-default-props-8d9wPL0k.js +0 -8
- package/dist/use-badge-default-props-8d9wPL0k.js.map +0 -1
- package/dist/use-input-default-props-B6VgKXGM.js +0 -8
- package/dist/use-input-default-props-B6VgKXGM.js.map +0 -1
- package/dist/use-textarea-default-props-7MlOxkDO.js +0 -8
- package/dist/use-textarea-default-props-7MlOxkDO.js.map +0 -1
package/dist/ui/qr-code.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qr-code.js","names":[],"sources":["../../src/ui/qr-code/qr-code.tsx"],"sourcesContent":["\"use client\";\n\nimport
|
|
1
|
+
{"version":3,"file":"qr-code.js","names":[],"sources":["../../src/ui/qr-code/qr-code.tsx"],"sourcesContent":["\"use client\";\n\nimport { formatHex, oklch } from \"culori\";\nimport QR from \"qrcode\";\nimport type { ComponentProps } from \"react\";\nimport { useEffect, useState } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nexport type QRCodeProps = ComponentProps<\"div\"> & {\n data: string;\n foreground?: string;\n background?: string;\n robustness?: \"L\" | \"M\" | \"Q\" | \"H\";\n};\n\nconst oklchRegex = /oklch\\(([0-9.]+)\\s+([0-9.]+)\\s+([0-9.]+)\\)/;\n\nconst getOklch = (color: string, fallback: [number, number, number]) => {\n const oklchMatch = color.match(oklchRegex);\n\n if (!oklchMatch) {\n return { c: fallback[1], h: fallback[2], l: fallback[0] };\n }\n\n return {\n c: Number.parseFloat(oklchMatch[2] ?? \"0\"),\n h: Number.parseFloat(oklchMatch[3] ?? \"0\"),\n l: Number.parseFloat(oklchMatch[1] ?? \"0\"),\n };\n};\n\nexport const QRCode = ({\n data,\n foreground,\n background,\n robustness = \"M\",\n className,\n ...props\n}: QRCodeProps) => {\n const [svg, setSVG] = useState<string | null>(null);\n\n useEffect(() => {\n const generateQR = async () => {\n try {\n const styles = getComputedStyle(document.documentElement);\n const foregroundColor =\n foreground ?? (styles.getPropertyValue(\"--kb-foreground\") || \"\");\n const backgroundColor =\n background ?? (styles.getPropertyValue(\"--kb-background\") || \"\");\n\n const foregroundOklch = getOklch(\n foregroundColor,\n [0.21, 0.006, 285.885]\n );\n const backgroundOklch = getOklch(backgroundColor, [0.985, 0, 0]);\n\n const newSvg = await QR.toString(data, {\n color: {\n dark: formatHex(oklch({ mode: \"oklch\", ...foregroundOklch })),\n light: formatHex(oklch({ mode: \"oklch\", ...backgroundOklch })),\n },\n errorCorrectionLevel: robustness,\n margin: 0,\n type: \"svg\",\n width: 200,\n });\n\n setSVG(newSvg);\n } catch (error) {\n console.error(error);\n }\n };\n\n generateQR();\n }, [data, foreground, background, robustness]);\n\n if (!svg) {\n return null;\n }\n\n return (\n <div\n className={cn(\"size-full\", \"[&_svg]:size-full\", className)}\n // oxlint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{ __html: svg }}\n {...props}\n />\n );\n};\n"],"mappings":";;;;;;;;;AAeA,MAAM,aAAa;AAEnB,MAAM,YAAY,OAAe,aAAuC;CACtE,MAAM,aAAa,MAAM,MAAM,WAAW;AAE1C,KAAI,CAAC,WACH,QAAO;EAAE,GAAG,SAAS;EAAI,GAAG,SAAS;EAAI,GAAG,SAAS;EAAI;AAG3D,QAAO;EACL,GAAG,OAAO,WAAW,WAAW,MAAM,IAAI;EAC1C,GAAG,OAAO,WAAW,WAAW,MAAM,IAAI;EAC1C,GAAG,OAAO,WAAW,WAAW,MAAM,IAAI;EAC3C;;AAGH,MAAa,UAAU,EACrB,MACA,YACA,YACA,aAAa,KACb,WACA,GAAG,YACc;CACjB,MAAM,CAAC,KAAK,UAAU,SAAwB,KAAK;AAEnD,iBAAgB;EACd,MAAM,aAAa,YAAY;AAC7B,OAAI;IACF,MAAM,SAAS,iBAAiB,SAAS,gBAAgB;IACzD,MAAM,kBACJ,eAAe,OAAO,iBAAiB,kBAAkB,IAAI;IAC/D,MAAM,kBACJ,eAAe,OAAO,iBAAiB,kBAAkB,IAAI;IAE/D,MAAM,kBAAkB,SACtB,iBACA;KAAC;KAAM;KAAO;KAAQ,CACvB;IACD,MAAM,kBAAkB,SAAS,iBAAiB;KAAC;KAAO;KAAG;KAAE,CAAC;AAahE,WAXe,MAAM,GAAG,SAAS,MAAM;KACrC,OAAO;MACL,MAAM,UAAU,MAAM;OAAE,MAAM;OAAS,GAAG;OAAiB,CAAC,CAAC;MAC7D,OAAO,UAAU,MAAM;OAAE,MAAM;OAAS,GAAG;OAAiB,CAAC,CAAC;MAC/D;KACD,sBAAsB;KACtB,QAAQ;KACR,MAAM;KACN,OAAO;KACR,CAAC,CAEY;YACP,OAAO;AACd,YAAQ,MAAM,MAAM;;;AAIxB,cAAY;IACX;EAAC;EAAM;EAAY;EAAY;EAAW,CAAC;AAE9C,KAAI,CAAC,IACH,QAAO;AAGT,QACE,oBAAC,OAAD;EACE,WAAW,GAAG,aAAa,qBAAqB,UAAU;EAE1D,yBAAyB,EAAE,QAAQ,KAAK;EACxC,GAAI;EACJ"}
|
package/dist/ui/radio-group.d.ts
CHANGED
|
@@ -8,29 +8,29 @@ import { Radio } from "@base-ui/react/radio";
|
|
|
8
8
|
//#region src/ui/radio-group/radio-group-indicator.d.ts
|
|
9
9
|
declare const radioGroupIndicatorVariants: tailwind_variants0.TVReturnType<{
|
|
10
10
|
size: {
|
|
11
|
-
xs: string;
|
|
12
|
-
sm: string;
|
|
13
|
-
md: string;
|
|
14
11
|
lg: string;
|
|
12
|
+
md: string;
|
|
13
|
+
sm: string;
|
|
15
14
|
xl: string;
|
|
15
|
+
xs: string;
|
|
16
16
|
};
|
|
17
|
-
}, undefined, "
|
|
17
|
+
}, undefined, "text-primary group-aria-invalid/radio-group-item:text-danger flex items-center justify-center", {
|
|
18
18
|
size: {
|
|
19
|
-
xs: string;
|
|
20
|
-
sm: string;
|
|
21
|
-
md: string;
|
|
22
19
|
lg: string;
|
|
20
|
+
md: string;
|
|
21
|
+
sm: string;
|
|
23
22
|
xl: string;
|
|
23
|
+
xs: string;
|
|
24
24
|
};
|
|
25
25
|
}, undefined, tailwind_variants0.TVReturnType<{
|
|
26
26
|
size: {
|
|
27
|
-
xs: string;
|
|
28
|
-
sm: string;
|
|
29
|
-
md: string;
|
|
30
27
|
lg: string;
|
|
28
|
+
md: string;
|
|
29
|
+
sm: string;
|
|
31
30
|
xl: string;
|
|
31
|
+
xs: string;
|
|
32
32
|
};
|
|
33
|
-
}, undefined, "
|
|
33
|
+
}, undefined, "text-primary group-aria-invalid/radio-group-item:text-danger flex items-center justify-center", unknown, unknown, undefined>>;
|
|
34
34
|
type RadioGroupIndicatorVariantProps = Omit<VariantProps<typeof radioGroupIndicatorVariants>, "size"> & {
|
|
35
35
|
size?: UISize;
|
|
36
36
|
};
|
|
@@ -44,29 +44,29 @@ declare const RadioGroupIndicator: ({
|
|
|
44
44
|
//#region src/ui/radio-group/radio-group-item.d.ts
|
|
45
45
|
declare const radioGroupItemVariants: tailwind_variants0.TVReturnType<{
|
|
46
46
|
size: {
|
|
47
|
-
xs: string;
|
|
48
|
-
sm: string;
|
|
49
|
-
md: string;
|
|
50
47
|
lg: string;
|
|
48
|
+
md: string;
|
|
49
|
+
sm: string;
|
|
51
50
|
xl: string;
|
|
51
|
+
xs: string;
|
|
52
52
|
};
|
|
53
|
-
}, undefined, "group/radio-group-item peer
|
|
53
|
+
}, undefined, "group/radio-group-item peer cursor-clickable border-input text-primary-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-danger-foreground aria-invalid:ring-danger-foreground/20 dark:bg-input/30 dark:aria-invalid:border-danger-foreground/50 dark:aria-invalid:ring-danger-foreground/40 relative flex shrink-0 rounded-full border shadow-xs outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-[3px]", {
|
|
54
54
|
size: {
|
|
55
|
-
xs: string;
|
|
56
|
-
sm: string;
|
|
57
|
-
md: string;
|
|
58
55
|
lg: string;
|
|
56
|
+
md: string;
|
|
57
|
+
sm: string;
|
|
59
58
|
xl: string;
|
|
59
|
+
xs: string;
|
|
60
60
|
};
|
|
61
61
|
}, undefined, tailwind_variants0.TVReturnType<{
|
|
62
62
|
size: {
|
|
63
|
-
xs: string;
|
|
64
|
-
sm: string;
|
|
65
|
-
md: string;
|
|
66
63
|
lg: string;
|
|
64
|
+
md: string;
|
|
65
|
+
sm: string;
|
|
67
66
|
xl: string;
|
|
67
|
+
xs: string;
|
|
68
68
|
};
|
|
69
|
-
}, undefined, "group/radio-group-item peer
|
|
69
|
+
}, undefined, "group/radio-group-item peer cursor-clickable border-input text-primary-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-danger-foreground aria-invalid:ring-danger-foreground/20 dark:bg-input/30 dark:aria-invalid:border-danger-foreground/50 dark:aria-invalid:ring-danger-foreground/40 relative flex shrink-0 rounded-full border shadow-xs outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-[3px]", unknown, unknown, undefined>>;
|
|
70
70
|
type RadioGroupItemVariantProps = Omit<VariantProps<typeof radioGroupItemVariants>, "size"> & {
|
|
71
71
|
size?: UISize;
|
|
72
72
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.d.ts","names":[],"sources":["../../src/ui/radio-group/radio-group-indicator.tsx","../../src/ui/radio-group/radio-group-item.tsx","../../src/ui/radio-group/radio-group.tsx"],"mappings":";;;;;;;;cAQM,2BAAA,EAcJ,kBAAA,CAd+B,YAAA;;;;;;;;;;;;;;;;cAc/B,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,+BAAA,GAAkC,IAAA,CACrC,YAAA,QAAoB,2BAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,wBAAA,GAA2B,KAAA,CAAe,SAAA,CAAU,KAAA,GAC9D,+BAAA;AAAA,cAEI,mBAAA;EAAuB,SAAA;EAAA,IAAA,EAAA,YAAA;EAAA,GAAA;AAAA,GAI1B,wBAAA,KAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cC3BrB,sBAAA,EAcJ,kBAAA,CAd0B,YAAA;;;;;;;;;;;;;;;;cAc1B,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,0BAAA,GAA6B,IAAA,CAChC,YAAA,QAAoB,sBAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,mBAAA,GAAsB,KAAA,CAAe,IAAA,CAAK,KAAA,GACpD,0BAAA;AAAA,cAEI,cAAA;EAAkB,SAAA;EAAA,QAAA;EAAA,IAAA,EAAA,YAAA;EAAA,GAAA;AAAA,GAKrB,mBAAA,KAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;
|
|
1
|
+
{"version":3,"file":"radio-group.d.ts","names":[],"sources":["../../src/ui/radio-group/radio-group-indicator.tsx","../../src/ui/radio-group/radio-group-item.tsx","../../src/ui/radio-group/radio-group.tsx"],"mappings":";;;;;;;;cAQM,2BAAA,EAcJ,kBAAA,CAd+B,YAAA;;;;;;;;;;;;;;;;cAc/B,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,+BAAA,GAAkC,IAAA,CACrC,YAAA,QAAoB,2BAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,wBAAA,GAA2B,KAAA,CAAe,SAAA,CAAU,KAAA,GAC9D,+BAAA;AAAA,cAEI,mBAAA;EAAuB,SAAA;EAAA,IAAA,EAAA,YAAA;EAAA,GAAA;AAAA,GAI1B,wBAAA,KAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cC3BrB,sBAAA,EAcJ,kBAAA,CAd0B,YAAA;;;;;;;;;;;;;;;;cAc1B,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,0BAAA,GAA6B,IAAA,CAChC,YAAA,QAAoB,sBAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,mBAAA,GAAsB,KAAA,CAAe,IAAA,CAAK,KAAA,GACpD,0BAAA;AAAA,cAEI,cAAA;EAAkB,SAAA;EAAA,QAAA;EAAA,IAAA,EAAA,YAAA;EAAA,GAAA;AAAA,GAKrB,mBAAA,KAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KClCV,eAAA,oBAAmC,YAAA,CAAoB,KAAA,CAAM,KAAA;AAAA,cAEnE,UAAA;EAAA;;;KAAuC,eAAA,GAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
package/dist/ui/radio-group.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
1
3
|
import { a as useComponentSize } from "../size-provider-18EvJgDT.js";
|
|
2
4
|
import { t as mergeBaseUIClassName } from "../merge-base-ui-class-name-HKsgjcXj.js";
|
|
3
5
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -9,15 +11,15 @@ import { Radio } from "@base-ui/react/radio";
|
|
|
9
11
|
|
|
10
12
|
//#region src/ui/radio-group/radio-group-indicator.tsx
|
|
11
13
|
const radioGroupIndicatorVariants = tv({
|
|
12
|
-
base: "
|
|
14
|
+
base: "text-primary group-aria-invalid/radio-group-item:text-danger flex items-center justify-center",
|
|
15
|
+
defaultVariants: { size: "md" },
|
|
13
16
|
variants: { size: {
|
|
14
|
-
xs: "size-3",
|
|
15
|
-
sm: "size-3.5",
|
|
16
|
-
md: "size-4",
|
|
17
17
|
lg: "size-[18px]",
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
md: "size-4",
|
|
19
|
+
sm: "size-3.5",
|
|
20
|
+
xl: "size-5",
|
|
21
|
+
xs: "size-3"
|
|
22
|
+
} }
|
|
21
23
|
});
|
|
22
24
|
const RadioGroupIndicator = ({ className, size: providedSize, ...props }) => {
|
|
23
25
|
const size = useComponentSize(providedSize);
|
|
@@ -32,15 +34,15 @@ const RadioGroupIndicator = ({ className, size: providedSize, ...props }) => {
|
|
|
32
34
|
//#endregion
|
|
33
35
|
//#region src/ui/radio-group/radio-group-item.tsx
|
|
34
36
|
const radioGroupItemVariants = tv({
|
|
35
|
-
base: "group/radio-group-item peer
|
|
37
|
+
base: "group/radio-group-item peer cursor-clickable border-input text-primary-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-danger-foreground aria-invalid:ring-danger-foreground/20 dark:bg-input/30 dark:aria-invalid:border-danger-foreground/50 dark:aria-invalid:ring-danger-foreground/40 relative flex shrink-0 rounded-full border shadow-xs outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-[3px]",
|
|
38
|
+
defaultVariants: { size: "md" },
|
|
36
39
|
variants: { size: {
|
|
37
|
-
xs: "aspect-square size-3 after:absolute after:-inset-1.5",
|
|
38
|
-
sm: "aspect-square size-3.5 after:absolute after:-inset-2",
|
|
39
|
-
md: "aspect-square size-4 after:absolute after:-inset-2.5",
|
|
40
40
|
lg: "aspect-square size-[18px] after:absolute after:-inset-3",
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
md: "aspect-square size-4 after:absolute after:-inset-2.5",
|
|
42
|
+
sm: "aspect-square size-3.5 after:absolute after:-inset-2",
|
|
43
|
+
xl: "aspect-square size-5 after:absolute after:-inset-3.5",
|
|
44
|
+
xs: "aspect-square size-3 after:absolute after:-inset-1.5"
|
|
45
|
+
} }
|
|
44
46
|
});
|
|
45
47
|
const RadioGroupItem = ({ className, children, size: providedSize, ...props }) => {
|
|
46
48
|
const size = useComponentSize(providedSize);
|
|
@@ -52,7 +54,7 @@ const RadioGroupItem = ({ className, children, size: providedSize, ...props }) =
|
|
|
52
54
|
children: children ?? /* @__PURE__ */ jsx(RadioGroupIndicator, {
|
|
53
55
|
size,
|
|
54
56
|
children: /* @__PURE__ */ jsx(HugeiconsIcon, {
|
|
55
|
-
className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 fill-current data-[size=
|
|
57
|
+
className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 fill-current data-[size=lg]:size-2 data-[size=md]:size-2 data-[size=sm]:size-1.5 data-[size=xl]:size-2.5 data-[size=xs]:size-1.5",
|
|
56
58
|
"data-size": size,
|
|
57
59
|
icon: CircleIcon,
|
|
58
60
|
strokeWidth: 2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.js","names":["RadioPrimitive","RadioPrimitive","RadioGroupPrimitive"],"sources":["../../src/ui/radio-group/radio-group-indicator.tsx","../../src/ui/radio-group/radio-group-item.tsx","../../src/ui/radio-group/radio-group.tsx"],"sourcesContent":["import { Radio as RadioPrimitive } from \"@base-ui/react/radio\";\nimport { tv
|
|
1
|
+
{"version":3,"file":"radio-group.js","names":["RadioPrimitive","RadioPrimitive","RadioGroupPrimitive"],"sources":["../../src/ui/radio-group/radio-group-indicator.tsx","../../src/ui/radio-group/radio-group-item.tsx","../../src/ui/radio-group/radio-group.tsx"],"sourcesContent":["import { Radio as RadioPrimitive } from \"@base-ui/react/radio\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport type { UISize } from \"../shared/size/size-system\";\n\nconst radioGroupIndicatorVariants = tv({\n base: \"text-primary group-aria-invalid/radio-group-item:text-danger flex items-center justify-center\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"size-[18px]\",\n md: \"size-4\",\n sm: \"size-3.5\",\n xl: \"size-5\",\n xs: \"size-3\",\n },\n },\n});\n\ntype RadioGroupIndicatorVariantProps = Omit<\n VariantProps<typeof radioGroupIndicatorVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type RadioGroupIndicatorProps = RadioPrimitive.Indicator.Props &\n RadioGroupIndicatorVariantProps;\n\nconst RadioGroupIndicator = ({\n className,\n size: providedSize,\n ...props\n}: RadioGroupIndicatorProps) => {\n const size = useComponentSize(providedSize);\n\n return (\n <RadioPrimitive.Indicator\n className={mergeBaseUIClassName<RadioPrimitive.Indicator.State>(\n radioGroupIndicatorVariants({ size }),\n className\n )}\n data-size={size}\n data-slot=\"radio-group-indicator\"\n {...props}\n />\n );\n};\n\nexport { RadioGroupIndicator };\n","import { Radio as RadioPrimitive } from \"@base-ui/react/radio\";\nimport { CircleIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport type { UISize } from \"../shared/size/size-system\";\nimport { RadioGroupIndicator } from \"./radio-group-indicator\";\n\nconst radioGroupItemVariants = tv({\n base: \"group/radio-group-item peer cursor-clickable border-input text-primary-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-danger-foreground aria-invalid:ring-danger-foreground/20 dark:bg-input/30 dark:aria-invalid:border-danger-foreground/50 dark:aria-invalid:ring-danger-foreground/40 relative flex shrink-0 rounded-full border shadow-xs outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-[3px]\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"aspect-square size-[18px] after:absolute after:-inset-3\",\n md: \"aspect-square size-4 after:absolute after:-inset-2.5\",\n sm: \"aspect-square size-3.5 after:absolute after:-inset-2\",\n xl: \"aspect-square size-5 after:absolute after:-inset-3.5\",\n xs: \"aspect-square size-3 after:absolute after:-inset-1.5\",\n },\n },\n});\n\ntype RadioGroupItemVariantProps = Omit<\n VariantProps<typeof radioGroupItemVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type RadioGroupItemProps = RadioPrimitive.Root.Props &\n RadioGroupItemVariantProps;\n\nconst RadioGroupItem = ({\n className,\n children,\n size: providedSize,\n ...props\n}: RadioGroupItemProps) => {\n const size = useComponentSize(providedSize);\n\n return (\n <RadioPrimitive.Root\n className={mergeBaseUIClassName<RadioPrimitive.Root.State>(\n radioGroupItemVariants({ size }),\n className\n )}\n data-size={size}\n data-slot=\"radio-group-item\"\n {...props}\n >\n {children ?? (\n <RadioGroupIndicator size={size}>\n <HugeiconsIcon\n className=\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 fill-current data-[size=lg]:size-2 data-[size=md]:size-2 data-[size=sm]:size-1.5 data-[size=xl]:size-2.5 data-[size=xs]:size-1.5\"\n data-size={size}\n icon={CircleIcon}\n strokeWidth={2}\n />\n </RadioGroupIndicator>\n )}\n </RadioPrimitive.Root>\n );\n};\n\nexport { RadioGroupItem };\n","\"use client\";\n\nimport { RadioGroup as RadioGroupPrimitive } from \"@base-ui/react/radio-group\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { RadioGroupIndicator } from \"./radio-group-indicator\";\nimport { RadioGroupItem } from \"./radio-group-item\";\n\nexport type RadioGroupProps<Value = unknown> = RadioGroupPrimitive.Props<Value>;\n\nconst RadioGroup = ({ className, ...props }: RadioGroupProps) => (\n <RadioGroupPrimitive\n className={mergeBaseUIClassName<RadioGroupPrimitive.State>(\n \"grid w-full gap-2\",\n className\n )}\n data-slot=\"radio-group\"\n {...props}\n />\n);\n\nRadioGroup.Indicator = RadioGroupIndicator;\nRadioGroup.Item = RadioGroupItem;\n\nexport type { RadioGroupIndicatorProps } from \"./radio-group-indicator\";\nexport type { RadioGroupItemProps } from \"./radio-group-item\";\n\nexport { RadioGroup, RadioGroupIndicator, RadioGroupItem };\n"],"mappings":";;;;;;;;;;;;AAQA,MAAM,8BAA8B,GAAG;CACrC,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAYF,MAAM,uBAAuB,EAC3B,WACA,MAAM,cACN,GAAG,YAC2B;CAC9B,MAAM,OAAO,iBAAiB,aAAa;AAE3C,QACE,oBAACA,MAAe,WAAhB;EACE,WAAW,qBACT,4BAA4B,EAAE,MAAM,CAAC,EACrC,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;EACJ;;;;;ACvCN,MAAM,yBAAyB,GAAG;CAChC,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAYF,MAAM,kBAAkB,EACtB,WACA,UACA,MAAM,cACN,GAAG,YACsB;CACzB,MAAM,OAAO,iBAAiB,aAAa;AAE3C,QACE,oBAACC,MAAe,MAAhB;EACE,WAAW,qBACT,uBAAuB,EAAE,MAAM,CAAC,EAChC,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;YAEH,YACC,oBAAC,qBAAD;GAA2B;aACzB,oBAAC,eAAD;IACE,WAAU;IACV,aAAW;IACX,MAAM;IACN,aAAa;IACb;GACkB;EAEJ;;;;;ACvD1B,MAAM,cAAc,EAAE,WAAW,GAAG,YAClC,oBAACC,cAAD;CACE,WAAW,qBACT,qBACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;AAGJ,WAAW,YAAY;AACvB,WAAW,OAAO"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RangeSliderValue } from "./range-slider/range-slider-types.js";
|
|
2
|
-
import { _ as
|
|
2
|
+
import { C as SliderControl, _ as SliderMark, a as SliderValue, d as SliderLabelTransitionProps, f as SliderThumb, g as SliderLabel, i as SliderSize, l as SliderThumbLabel, m as SliderMarks, p as SliderThumbProps, s as SliderTrack, t as SliderRadius, x as SliderIndicator, y as SliderMark$1 } from "../slider-style-tokens-CZezJilZ.js";
|
|
3
3
|
import { ComponentPropsWithoutRef, ReactNode } from "react";
|
|
4
4
|
import { Slider } from "@base-ui/react/slider";
|
|
5
5
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"range-slider.d.ts","names":[],"sources":["../../src/ui/range-slider/range-slider.tsx"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"range-slider.d.ts","names":[],"sources":["../../src/ui/range-slider/range-slider.tsx"],"mappings":";;;;;;KAqCK,oBAAA,GAAuB,IAAA,CAC1B,MAAA,CAAgB,IAAA,CAAK,KAAA;AAAA,UAcN,gBAAA,SAAyB,oBAAA;EACxC,KAAA;EACA,YAAA,GAAe,gBAAA;EACf,MAAA;EACA,gBAAA,GAAmB,IAAA,CACjB,wBAAA;EAGF,QAAA;EACA,KAAA,GAAQ,WAAA;EACR,aAAA;EACA,oBAAA,GAAuB,0BAAA;EACvB,KAAA,YAAiB,UAAA;EACjB,GAAA;EACA,QAAA;EACA,GAAA;EACA,QAAA;EACA,IAAA;EACA,QAAA,KAAa,KAAA,EAAO,gBAAA;EACpB,WAAA,KAAgB,KAAA,EAAO,gBAAA;EACvB,SAAA;EACA,aAAA;EACA,MAAA,GAAS,YAAA;EACT,eAAA;EACA,KAAA,KAAU,KAAA;EACV,IAAA,GAAO,UAAA;EACP,gBAAA;EACA,IAAA;EACA,aAAA,GAAgB,SAAA,IAAa,SAAA,EAAW,SAAA;EACxC,cAAA;EACA,gBAAA;EACA,wBAAA;EACA,UAAA,KAEM,KAAA,YACG,IAAA,CAAK,gBAAA;EAEd,SAAA;EACA,YAAA;EACA,SAAA;EACA,QAAA;EACA,KAAA,GAAQ,gBAAA;AAAA;AAAA,KAGL,oBAAA,KAAyB,KAAA,EAAO,gBAAA,KAAqB,SAAA;EACxD,OAAA,SAAgB,aAAA;EAChB,SAAA,SAAkB,eAAA;EAClB,IAAA,SAAa,YAAA;EACb,KAAA,SAAc,WAAA;EACd,KAAA,SAAc,WAAA;EACd,UAAA,SAAmB,gBAAA;EACnB,KAAA,SAAc,WAAA;EACd,KAAA,SAAc,WAAA;AAAA;AAAA,cAGV,WAAA,EAgLA,oBAAA"}
|
package/dist/ui/range-slider.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { _ as getNextMarkValue, a as SliderValue, b as isKeyboardLikeReason, c as SliderThumb, d as SliderIndicator, f as SliderControl, g as getNearestMarkValue, h as getLastMarkValue, i as resolveSliderBounds, l as SliderMarks, m as getFirstMarkValue, n as resolveSliderRootClassName, o as SliderTrack, p as clampNumber, r as resolveSliderLabel, s as SliderThumbLabel, t as mergeSliderRootStyle, u as SliderMark, v as getPreviousMarkValue, x as toFloatingValue, y as getSortedSelectableMarks } from "../slider-root-presentation-
|
|
3
|
+
import { _ as getNextMarkValue, a as SliderValue, b as isKeyboardLikeReason, c as SliderThumb, d as SliderIndicator, f as SliderControl, g as getNearestMarkValue, h as getLastMarkValue, i as resolveSliderBounds, l as SliderMarks, m as getFirstMarkValue, n as resolveSliderRootClassName, o as SliderTrack, p as clampNumber, r as resolveSliderLabel, s as SliderThumbLabel, t as mergeSliderRootStyle, u as SliderMark, v as getPreviousMarkValue, x as toFloatingValue, y as getSortedSelectableMarks } from "../slider-root-presentation-B6OO_iCT.js";
|
|
4
4
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
5
5
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import { Slider } from "@base-ui/react/slider";
|
|
@@ -54,8 +54,7 @@ const normalizeRangeSliderValue = ({ activeThumbIndex, current, domainMax, domai
|
|
|
54
54
|
else clone[index] = getNearestMarkValue(rawAtIndex, selectableMarks);
|
|
55
55
|
if (clone[index] === lastMarkValue && clone[otherIndex] === lastMarkValue) clone[index] = currentAtIndex;
|
|
56
56
|
else if (clone[index] === firstMarkValue && clone[otherIndex] === firstMarkValue) clone[index] = currentAtIndex;
|
|
57
|
-
else if (clone[index] === clone[otherIndex])
|
|
58
|
-
else clone[otherIndex] = getNextMarkValue(clone[index], selectableMarks);
|
|
57
|
+
else if (clone[index] === clone[otherIndex]) clone[otherIndex] = currentAtIndex > clone[otherIndex] ? getPreviousMarkValue(clone[index], selectableMarks) : getNextMarkValue(clone[index], selectableMarks);
|
|
59
58
|
}
|
|
60
59
|
} else {
|
|
61
60
|
const safeMinRange = Number.isFinite(minRange) ? Math.max(minRange, 0) : 0;
|
|
@@ -64,8 +63,7 @@ const normalizeRangeSliderValue = ({ activeThumbIndex, current, domainMax, domai
|
|
|
64
63
|
const [clamped] = clone;
|
|
65
64
|
if (clamped > clone[1] - (safeMinRange - 1e-9)) if (pushOnOverlap) clone[1] = Math.min(clamped + safeMinRange, max);
|
|
66
65
|
else clone[0] = currentFrom;
|
|
67
|
-
if (clamped > clone[1] - (safeMinRange - 1e-9))
|
|
68
|
-
else clone[0] = currentFrom;
|
|
66
|
+
if (clamped > clone[1] - (safeMinRange - 1e-9)) clone[0] = pushOnOverlap ? clone[1] - safeMinRange : currentFrom;
|
|
69
67
|
if (clone[1] - clamped > safeMaxRange) if (pushOnOverlap) clone[1] = clamped + safeMaxRange;
|
|
70
68
|
else clone[0] = currentFrom;
|
|
71
69
|
}
|
|
@@ -73,8 +71,7 @@ const normalizeRangeSliderValue = ({ activeThumbIndex, current, domainMax, domai
|
|
|
73
71
|
const [, clamped] = clone;
|
|
74
72
|
if (clamped < clone[0] + safeMinRange) if (pushOnOverlap) clone[0] = Math.max(clamped - safeMinRange, min);
|
|
75
73
|
else clone[1] = currentTo;
|
|
76
|
-
if (clamped < clone[0] + safeMinRange)
|
|
77
|
-
else clone[1] = currentTo;
|
|
74
|
+
if (clamped < clone[0] + safeMinRange) clone[1] = pushOnOverlap ? clone[0] + safeMinRange : currentTo;
|
|
78
75
|
if (clamped - clone[0] > safeMaxRange) if (pushOnOverlap) clone[0] = clamped - safeMaxRange;
|
|
79
76
|
else clone[1] = currentTo;
|
|
80
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"range-slider.js","names":["SliderPrimitive","SliderValuePrimitive"],"sources":["../../src/ui/range-slider/range-slider-helpers.ts","../../src/ui/range-slider/math/normalize-range-slider-value.ts","../../src/ui/range-slider/use-range-slider-state.ts","../../src/ui/range-slider/range-slider.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\n\nconst MIN_STEP_TOLERANCE_MULTIPLIER = 10;\n\nexport const getMinStepsBetweenValues = ({\n minRange,\n restrictToMarks,\n step,\n}: {\n minRange: number;\n restrictToMarks: boolean;\n step: number;\n}) => {\n if (restrictToMarks || step <= 0 || !Number.isFinite(minRange)) {\n return;\n }\n\n const steps = minRange / step;\n if (!Number.isFinite(steps) || steps < 0) {\n return;\n }\n\n const roundedSteps = Math.round(steps);\n return Math.abs(steps - roundedSteps) <\n Number.EPSILON * MIN_STEP_TOLERANCE_MULTIPLIER\n ? roundedSteps\n : undefined;\n};\n\nexport const getThumbChildrenByIndex = (\n thumbChildren: ReactNode | [ReactNode, ReactNode] | undefined,\n index: 0 | 1\n) => {\n if (!Array.isArray(thumbChildren)) {\n return thumbChildren;\n }\n\n return thumbChildren[index];\n};\n","import type { SliderMark } from \"../../slider/shared/slider-types\";\n\nimport {\n clampNumber,\n getFirstMarkValue,\n getLastMarkValue,\n getNearestMarkValue,\n getNextMarkValue,\n getPreviousMarkValue,\n getSortedSelectableMarks,\n isKeyboardLikeReason,\n toFloatingValue,\n} from \"../../slider/math/slider-math-utils\";\n\ninterface NormalizeRangeSliderValueOptions {\n activeThumbIndex?: number;\n current: readonly number[];\n domainMax: number;\n domainMin: number;\n marks?: readonly SliderMark[];\n max: number;\n maxRange: number;\n min: number;\n minRange: number;\n precision: number;\n pushOnOverlap: boolean;\n raw: readonly number[];\n reason?: string;\n restrictToMarks?: boolean;\n}\n\nconst getResolvedActiveThumbIndex = (\n current: readonly number[],\n raw: readonly number[],\n activeThumbIndex?: number\n) => {\n if (activeThumbIndex === 0 || activeThumbIndex === 1) {\n return activeThumbIndex;\n }\n\n const currentFrom = current[0] ?? 0;\n const currentTo = current[1] ?? 0;\n const rawFrom = raw[0] ?? currentFrom;\n const rawTo = raw[1] ?? currentTo;\n\n return Math.abs(rawFrom - currentFrom) >= Math.abs(rawTo - currentTo) ? 0 : 1;\n};\n\nexport const normalizeRangeSliderValue = ({\n activeThumbIndex,\n current,\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n raw,\n reason,\n restrictToMarks,\n}: NormalizeRangeSliderValueOptions): [number, number] => {\n const currentFrom = clampNumber(current[0] ?? min, min, max);\n const currentTo = clampNumber(current[1] ?? max, min, max);\n const currentValues: [number, number] = [currentFrom, currentTo];\n\n const clampedRawFrom = clampNumber(\n raw[0] ?? currentFrom,\n domainMin,\n domainMax\n );\n const clampedRawTo = clampNumber(raw[1] ?? currentTo, domainMin, domainMax);\n\n const resolvedActiveIndex = getResolvedActiveThumbIndex(\n [currentFrom, currentTo],\n [clampedRawFrom, clampedRawTo],\n activeThumbIndex\n );\n\n const clone: [number, number] = [\n clampNumber(clampedRawFrom, min, max),\n clampNumber(clampedRawTo, min, max),\n ];\n\n if (restrictToMarks) {\n const selectableMarks = getSortedSelectableMarks(marks, min, max);\n if (selectableMarks.length) {\n const firstMarkValue = getFirstMarkValue(selectableMarks, min);\n const lastMarkValue = getLastMarkValue(selectableMarks, max);\n const index = resolvedActiveIndex;\n const otherIndex = index === 0 ? 1 : 0;\n const currentAtIndex = currentValues[index];\n const rawAtIndex = index === 0 ? clampedRawFrom : clampedRawTo;\n\n if (isKeyboardLikeReason(reason)) {\n if (rawAtIndex <= min) {\n clone[index] = firstMarkValue;\n } else if (rawAtIndex >= max) {\n clone[index] = lastMarkValue;\n } else if (rawAtIndex > currentAtIndex) {\n clone[index] = getNextMarkValue(currentAtIndex, selectableMarks);\n } else if (rawAtIndex < currentAtIndex) {\n clone[index] = getPreviousMarkValue(currentAtIndex, selectableMarks);\n } else {\n clone[index] = getNearestMarkValue(rawAtIndex, selectableMarks);\n }\n } else {\n clone[index] = getNearestMarkValue(rawAtIndex, selectableMarks);\n }\n\n if (\n clone[index] === lastMarkValue &&\n clone[otherIndex] === lastMarkValue\n ) {\n clone[index] = currentAtIndex;\n } else if (\n clone[index] === firstMarkValue &&\n clone[otherIndex] === firstMarkValue\n ) {\n clone[index] = currentAtIndex;\n } else if (clone[index] === clone[otherIndex]) {\n if (currentAtIndex > clone[otherIndex]) {\n clone[otherIndex] = getPreviousMarkValue(\n clone[index],\n selectableMarks\n );\n } else {\n clone[otherIndex] = getNextMarkValue(clone[index], selectableMarks);\n }\n }\n }\n } else {\n const safeMinRange = Number.isFinite(minRange) ? Math.max(minRange, 0) : 0;\n const safeMaxRange = Number.isFinite(maxRange)\n ? Math.max(maxRange, safeMinRange)\n : Number.POSITIVE_INFINITY;\n\n if (resolvedActiveIndex === 0) {\n const [clamped] = clone;\n\n if (clamped > clone[1] - (safeMinRange - 1e-9)) {\n if (pushOnOverlap) {\n clone[1] = Math.min(clamped + safeMinRange, max);\n } else {\n clone[0] = currentFrom;\n }\n }\n\n if (clamped > clone[1] - (safeMinRange - 1e-9)) {\n if (pushOnOverlap) {\n clone[0] = clone[1] - safeMinRange;\n } else {\n clone[0] = currentFrom;\n }\n }\n\n if (clone[1] - clamped > safeMaxRange) {\n if (pushOnOverlap) {\n clone[1] = clamped + safeMaxRange;\n } else {\n clone[0] = currentFrom;\n }\n }\n }\n\n if (resolvedActiveIndex === 1) {\n const [, clamped] = clone;\n\n if (clamped < clone[0] + safeMinRange) {\n if (pushOnOverlap) {\n clone[0] = Math.max(clamped - safeMinRange, min);\n } else {\n clone[1] = currentTo;\n }\n }\n\n if (clamped < clone[0] + safeMinRange) {\n if (pushOnOverlap) {\n clone[1] = clone[0] + safeMinRange;\n } else {\n clone[1] = currentTo;\n }\n }\n\n if (clamped - clone[0] > safeMaxRange) {\n if (pushOnOverlap) {\n clone[0] = clamped - safeMaxRange;\n } else {\n clone[1] = currentTo;\n }\n }\n }\n }\n\n const rounded: [number, number] = [\n toFloatingValue(clampNumber(clone[0], min, max), precision),\n toFloatingValue(clampNumber(clone[1], min, max), precision),\n ];\n\n if (rounded[0] > rounded[1]) {\n return [rounded[1], rounded[0]];\n }\n\n return rounded;\n};\n","\"use client\";\n\nimport type { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport type { SliderMark } from \"../slider/shared/slider-types\";\nimport type { RangeSliderValue } from \"./range-slider-types\";\n\nimport { normalizeRangeSliderValue } from \"./math/normalize-range-slider-value\";\n\ninterface UseRangeSliderStateOptions {\n defaultValue?: RangeSliderValue;\n domainMax: number;\n domainMin: number;\n marks?: readonly SliderMark[];\n max: number;\n maxRange: number;\n min: number;\n minRange: number;\n onChange?: ((value: RangeSliderValue) => void) | undefined;\n onChangeEnd?: ((value: RangeSliderValue) => void) | undefined;\n precision: number;\n pushOnOverlap: boolean;\n restrictToMarks: boolean;\n value?: RangeSliderValue;\n}\n\nexport const useRangeSliderState = ({\n defaultValue,\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n onChange,\n onChangeEnd,\n precision,\n pushOnOverlap,\n restrictToMarks,\n value,\n}: UseRangeSliderStateOptions) => {\n const initialValue = useMemo(\n () =>\n normalizeRangeSliderValue({\n current: [min, max],\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n raw: defaultValue ?? [min, max],\n restrictToMarks,\n }),\n [\n defaultValue,\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n restrictToMarks,\n ]\n );\n\n const [uncontrolledValue, setUncontrolledValue] =\n useState<RangeSliderValue>(initialValue);\n\n const controlledValue = useMemo(() => {\n if (value === undefined) {\n return;\n }\n\n return normalizeRangeSliderValue({\n current: uncontrolledValue,\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n raw: value,\n restrictToMarks,\n });\n }, [\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n restrictToMarks,\n uncontrolledValue,\n value,\n ]);\n\n const rangeValue = controlledValue ?? uncontrolledValue;\n const valueRef = useRef<RangeSliderValue>(rangeValue);\n\n useEffect(() => {\n valueRef.current = rangeValue;\n }, [rangeValue]);\n\n useEffect(() => {\n if (value !== undefined) {\n return;\n }\n\n setUncontrolledValue((previous) =>\n normalizeRangeSliderValue({\n current: previous,\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n raw: previous,\n restrictToMarks,\n })\n );\n }, [\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n restrictToMarks,\n value,\n ]);\n\n const handleValueChange = useCallback(\n (\n nextValue: number | number[],\n eventDetails: SliderPrimitive.Root.ChangeEventDetails\n ) => {\n const rawValues = Array.isArray(nextValue)\n ? [\n nextValue[0] ?? valueRef.current[0],\n nextValue[1] ?? valueRef.current[1],\n ]\n : [nextValue, valueRef.current[1]];\n\n const normalizedValue = normalizeRangeSliderValue({\n activeThumbIndex: eventDetails.activeThumbIndex,\n current: valueRef.current,\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n raw: rawValues,\n reason: eventDetails.reason,\n restrictToMarks,\n });\n\n valueRef.current = normalizedValue;\n\n if (value === undefined) {\n setUncontrolledValue(normalizedValue);\n }\n\n onChange?.(normalizedValue);\n },\n [\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n onChange,\n precision,\n pushOnOverlap,\n restrictToMarks,\n value,\n ]\n );\n\n const handleValueCommitted = useCallback(() => {\n onChangeEnd?.(valueRef.current);\n }, [onChangeEnd]);\n\n return {\n handleValueChange,\n handleValueCommitted,\n rangeValue,\n };\n};\n","\"use client\";\n\nimport type { ComponentPropsWithoutRef, ReactNode } from \"react\";\n\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport type {\n SliderRadius,\n SliderSize,\n} from \"../slider/shared/slider-style-tokens\";\nimport type { SliderLabelTransitionProps } from \"../slider/shared/slider-transition\";\nimport type {\n SliderLabel,\n SliderMark as SliderMarkType,\n} from \"../slider/shared/slider-types\";\nimport type { RangeSliderValue } from \"./range-slider-types\";\n\nimport { toFloatingValue } from \"../slider/math/slider-math-utils\";\nimport { SliderControl } from \"../slider/primitives/slider-control\";\nimport { SliderIndicator } from \"../slider/primitives/slider-indicator\";\nimport { SliderMark } from \"../slider/primitives/slider-mark\";\nimport { SliderMarks } from \"../slider/primitives/slider-marks\";\nimport {\n SliderThumb,\n type SliderThumbProps,\n} from \"../slider/primitives/slider-thumb\";\nimport { SliderThumbLabel } from \"../slider/primitives/slider-thumb-label\";\nimport { SliderTrack } from \"../slider/primitives/slider-track\";\nimport { SliderValue as SliderValuePrimitive } from \"../slider/primitives/slider-value\";\nimport { resolveSliderBounds } from \"../slider/shared/slider-bounds\";\nimport { resolveSliderLabel } from \"../slider/shared/slider-label\";\nimport {\n mergeSliderRootStyle,\n resolveSliderRootClassName,\n} from \"../slider/shared/slider-root-presentation\";\nimport {\n getMinStepsBetweenValues,\n getThumbChildrenByIndex,\n} from \"./range-slider-helpers\";\nimport { useRangeSliderState } from \"./use-range-slider-state\";\n\ntype RangeSliderRootProps = Omit<\n SliderPrimitive.Root.Props<number[]>,\n | \"defaultValue\"\n | \"max\"\n | \"min\"\n | \"minStepsBetweenValues\"\n | \"name\"\n | \"onChange\"\n | \"onValueChange\"\n | \"onValueCommitted\"\n | \"thumbAlignment\"\n | \"thumbCollisionBehavior\"\n | \"value\"\n>;\n\nexport interface RangeSliderProps extends RangeSliderRootProps {\n color?: string;\n defaultValue?: RangeSliderValue;\n domain?: [number, number];\n hiddenInputProps?: Omit<\n ComponentPropsWithoutRef<\"input\">,\n \"name\" | \"type\" | \"value\"\n >;\n inverted?: boolean;\n label?: SliderLabel;\n labelAlwaysOn?: boolean;\n labelTransitionProps?: SliderLabelTransitionProps;\n marks?: readonly SliderMarkType[];\n max?: number;\n maxRange?: number;\n min?: number;\n minRange?: number;\n name?: string;\n onChange?: ((value: RangeSliderValue) => void) | undefined;\n onChangeEnd?: ((value: RangeSliderValue) => void) | undefined;\n precision?: number;\n pushOnOverlap?: boolean;\n radius?: SliderRadius;\n restrictToMarks?: boolean;\n scale?: ((value: number) => number) | undefined;\n size?: SliderSize;\n showLabelOnHover?: boolean;\n step?: number;\n thumbChildren?: ReactNode | [ReactNode, ReactNode];\n thumbFromLabel?: string;\n thumbLabelOffset?: number | string;\n thumbLabelOffsetVertical?: number | string;\n thumbProps?:\n | ((\n index: 0 | 1\n ) => Omit<SliderThumbProps, \"aria-label\" | \"children\" | \"index\">)\n | undefined;\n thumbSize?: number | string;\n thumbToLabel?: string;\n trackSize?: number | string;\n markSize?: number | string;\n value?: RangeSliderValue;\n}\n\ntype RangeSliderComponent = ((props: RangeSliderProps) => ReactNode) & {\n Control: typeof SliderControl;\n Indicator: typeof SliderIndicator;\n Mark: typeof SliderMark;\n Marks: typeof SliderMarks;\n Thumb: typeof SliderThumb;\n ThumbLabel: typeof SliderThumbLabel;\n Track: typeof SliderTrack;\n Value: typeof SliderValuePrimitive;\n};\n\nconst RangeSlider = (({\n className,\n children,\n color,\n defaultValue,\n domain,\n hiddenInputProps,\n inverted = false,\n label = (value) => value,\n labelAlwaysOn = false,\n labelTransitionProps,\n marks,\n max = 100,\n maxRange = Number.POSITIVE_INFINITY,\n min = 0,\n minRange = 10,\n name,\n onChange,\n onChangeEnd,\n precision: precisionProp,\n pushOnOverlap = true,\n radius,\n restrictToMarks = false,\n scale = (value) => value,\n size,\n showLabelOnHover = true,\n step = 1,\n style,\n thumbChildren,\n thumbFromLabel,\n thumbLabelOffset,\n thumbLabelOffsetVertical,\n thumbProps,\n thumbSize,\n thumbToLabel,\n trackSize,\n markSize,\n value,\n ...props\n}: RangeSliderProps) => {\n const resolvedBounds = resolveSliderBounds({\n domain,\n max,\n min,\n precision: precisionProp,\n step,\n });\n\n const {\n domainMax,\n domainMin,\n max: normalizedMax,\n min: normalizedMin,\n precision,\n } = resolvedBounds;\n\n const { handleValueChange, handleValueCommitted, rangeValue } =\n useRangeSliderState({\n defaultValue,\n domainMax,\n domainMin,\n marks,\n max: normalizedMax,\n maxRange,\n min: normalizedMin,\n minRange,\n onChange,\n onChangeEnd,\n precision,\n pushOnOverlap,\n restrictToMarks,\n value,\n });\n\n const firstThumbProps = thumbProps?.(0) ?? {};\n const secondThumbProps = thumbProps?.(1) ?? {};\n\n const minStepsBetweenValues = getMinStepsBetweenValues({\n minRange,\n restrictToMarks,\n step,\n });\n\n const displayedFromValue = toFloatingValue(scale(rangeValue[0]), precision);\n const displayedToValue = toFloatingValue(scale(rangeValue[1]), precision);\n\n return (\n <SliderPrimitive.Root\n {...props}\n className={resolveSliderRootClassName(className, inverted)}\n data-slot=\"slider\"\n max={domainMax}\n min={domainMin}\n minStepsBetweenValues={minStepsBetweenValues}\n onValueChange={handleValueChange}\n onValueCommitted={handleValueCommitted}\n step={step}\n style={mergeSliderRootStyle(\n {\n color,\n markSize,\n radius,\n size,\n thumbLabelOffset,\n thumbLabelOffsetVertical,\n thumbSize,\n trackSize,\n },\n style\n )}\n thumbAlignment=\"center\"\n thumbCollisionBehavior={pushOnOverlap ? \"push\" : \"none\"}\n value={rangeValue}\n >\n {children ?? (\n <SliderControl>\n <SliderTrack>\n <SliderIndicator />\n <SliderMarks\n disabled={props.disabled}\n inverted={inverted}\n marks={marks}\n max={domainMax}\n min={domainMin}\n orientation={props.orientation}\n values={rangeValue}\n />\n </SliderTrack>\n <SliderThumb\n {...firstThumbProps}\n aria-label={thumbFromLabel}\n index={0}\n >\n {getThumbChildrenByIndex(thumbChildren, 0)}\n <SliderThumbLabel\n label={resolveSliderLabel(label, displayedFromValue)}\n labelAlwaysOn={labelAlwaysOn}\n orientation={props.orientation}\n showLabelOnHover={showLabelOnHover}\n transitionProps={labelTransitionProps}\n />\n </SliderThumb>\n <SliderThumb\n {...secondThumbProps}\n aria-label={thumbToLabel}\n index={1}\n >\n {getThumbChildrenByIndex(thumbChildren, 1)}\n <SliderThumbLabel\n label={resolveSliderLabel(label, displayedToValue)}\n labelAlwaysOn={labelAlwaysOn}\n orientation={props.orientation}\n showLabelOnHover={showLabelOnHover}\n transitionProps={labelTransitionProps}\n />\n </SliderThumb>\n </SliderControl>\n )}\n {name ? (\n <>\n <input\n {...hiddenInputProps}\n name={`${name}_from`}\n type=\"hidden\"\n value={String(displayedFromValue)}\n />\n <input\n {...hiddenInputProps}\n name={`${name}_to`}\n type=\"hidden\"\n value={String(displayedToValue)}\n />\n </>\n ) : null}\n </SliderPrimitive.Root>\n );\n}) as RangeSliderComponent;\n\nRangeSlider.Control = SliderControl;\nRangeSlider.Indicator = SliderIndicator;\nRangeSlider.Mark = SliderMark;\nRangeSlider.Marks = SliderMarks;\nRangeSlider.Thumb = SliderThumb;\nRangeSlider.ThumbLabel = SliderThumbLabel;\nRangeSlider.Track = SliderTrack;\nRangeSlider.Value = SliderValuePrimitive;\n\nexport { RangeSlider };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"range-slider.js","names":["SliderPrimitive","SliderValuePrimitive"],"sources":["../../src/ui/range-slider/range-slider-helpers.ts","../../src/ui/range-slider/math/normalize-range-slider-value.ts","../../src/ui/range-slider/use-range-slider-state.ts","../../src/ui/range-slider/range-slider.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\n\nconst MIN_STEP_TOLERANCE_MULTIPLIER = 10;\n\nexport const getMinStepsBetweenValues = ({\n minRange,\n restrictToMarks,\n step,\n}: {\n minRange: number;\n restrictToMarks: boolean;\n step: number;\n}) => {\n if (restrictToMarks || step <= 0 || !Number.isFinite(minRange)) {\n return;\n }\n\n const steps = minRange / step;\n if (!Number.isFinite(steps) || steps < 0) {\n return;\n }\n\n const roundedSteps = Math.round(steps);\n return Math.abs(steps - roundedSteps) <\n Number.EPSILON * MIN_STEP_TOLERANCE_MULTIPLIER\n ? roundedSteps\n : undefined;\n};\n\nexport const getThumbChildrenByIndex = (\n thumbChildren: ReactNode | [ReactNode, ReactNode] | undefined,\n index: 0 | 1\n) => {\n if (!Array.isArray(thumbChildren)) {\n return thumbChildren;\n }\n\n return thumbChildren[index];\n};\n","import {\n clampNumber,\n getFirstMarkValue,\n getLastMarkValue,\n getNearestMarkValue,\n getNextMarkValue,\n getPreviousMarkValue,\n getSortedSelectableMarks,\n isKeyboardLikeReason,\n toFloatingValue,\n} from \"../../slider/math/slider-math-utils\";\nimport type { SliderMark } from \"../../slider/shared/slider-types\";\n\ninterface NormalizeRangeSliderValueOptions {\n activeThumbIndex?: number;\n current: readonly number[];\n domainMax: number;\n domainMin: number;\n marks?: readonly SliderMark[];\n max: number;\n maxRange: number;\n min: number;\n minRange: number;\n precision: number;\n pushOnOverlap: boolean;\n raw: readonly number[];\n reason?: string;\n restrictToMarks?: boolean;\n}\n\nconst getResolvedActiveThumbIndex = (\n current: readonly number[],\n raw: readonly number[],\n activeThumbIndex?: number\n) => {\n if (activeThumbIndex === 0 || activeThumbIndex === 1) {\n return activeThumbIndex;\n }\n\n const currentFrom = current[0] ?? 0;\n const currentTo = current[1] ?? 0;\n const rawFrom = raw[0] ?? currentFrom;\n const rawTo = raw[1] ?? currentTo;\n\n return Math.abs(rawFrom - currentFrom) >= Math.abs(rawTo - currentTo) ? 0 : 1;\n};\n\nexport const normalizeRangeSliderValue = ({\n activeThumbIndex,\n current,\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n raw,\n reason,\n restrictToMarks,\n}: NormalizeRangeSliderValueOptions): [number, number] => {\n const currentFrom = clampNumber(current[0] ?? min, min, max);\n const currentTo = clampNumber(current[1] ?? max, min, max);\n const currentValues: [number, number] = [currentFrom, currentTo];\n\n const clampedRawFrom = clampNumber(\n raw[0] ?? currentFrom,\n domainMin,\n domainMax\n );\n const clampedRawTo = clampNumber(raw[1] ?? currentTo, domainMin, domainMax);\n\n const resolvedActiveIndex = getResolvedActiveThumbIndex(\n [currentFrom, currentTo],\n [clampedRawFrom, clampedRawTo],\n activeThumbIndex\n );\n\n const clone: [number, number] = [\n clampNumber(clampedRawFrom, min, max),\n clampNumber(clampedRawTo, min, max),\n ];\n\n if (restrictToMarks) {\n const selectableMarks = getSortedSelectableMarks(marks, min, max);\n if (selectableMarks.length) {\n const firstMarkValue = getFirstMarkValue(selectableMarks, min);\n const lastMarkValue = getLastMarkValue(selectableMarks, max);\n const index = resolvedActiveIndex;\n const otherIndex = index === 0 ? 1 : 0;\n const currentAtIndex = currentValues[index];\n const rawAtIndex = index === 0 ? clampedRawFrom : clampedRawTo;\n\n if (isKeyboardLikeReason(reason)) {\n if (rawAtIndex <= min) {\n clone[index] = firstMarkValue;\n } else if (rawAtIndex >= max) {\n clone[index] = lastMarkValue;\n } else if (rawAtIndex > currentAtIndex) {\n clone[index] = getNextMarkValue(currentAtIndex, selectableMarks);\n } else if (rawAtIndex < currentAtIndex) {\n clone[index] = getPreviousMarkValue(currentAtIndex, selectableMarks);\n } else {\n clone[index] = getNearestMarkValue(rawAtIndex, selectableMarks);\n }\n } else {\n clone[index] = getNearestMarkValue(rawAtIndex, selectableMarks);\n }\n\n if (\n clone[index] === lastMarkValue &&\n clone[otherIndex] === lastMarkValue\n ) {\n clone[index] = currentAtIndex;\n } else if (\n clone[index] === firstMarkValue &&\n clone[otherIndex] === firstMarkValue\n ) {\n clone[index] = currentAtIndex;\n } else if (clone[index] === clone[otherIndex]) {\n clone[otherIndex] =\n currentAtIndex > clone[otherIndex]\n ? getPreviousMarkValue(clone[index], selectableMarks)\n : getNextMarkValue(clone[index], selectableMarks);\n }\n }\n } else {\n const safeMinRange = Number.isFinite(minRange) ? Math.max(minRange, 0) : 0;\n const safeMaxRange = Number.isFinite(maxRange)\n ? Math.max(maxRange, safeMinRange)\n : Number.POSITIVE_INFINITY;\n\n if (resolvedActiveIndex === 0) {\n const [clamped] = clone;\n\n if (clamped > clone[1] - (safeMinRange - 1e-9)) {\n if (pushOnOverlap) {\n clone[1] = Math.min(clamped + safeMinRange, max);\n } else {\n clone[0] = currentFrom;\n }\n }\n\n if (clamped > clone[1] - (safeMinRange - 1e-9)) {\n clone[0] = pushOnOverlap ? clone[1] - safeMinRange : currentFrom;\n }\n\n if (clone[1] - clamped > safeMaxRange) {\n if (pushOnOverlap) {\n clone[1] = clamped + safeMaxRange;\n } else {\n clone[0] = currentFrom;\n }\n }\n }\n\n if (resolvedActiveIndex === 1) {\n const [, clamped] = clone;\n\n if (clamped < clone[0] + safeMinRange) {\n if (pushOnOverlap) {\n clone[0] = Math.max(clamped - safeMinRange, min);\n } else {\n clone[1] = currentTo;\n }\n }\n\n if (clamped < clone[0] + safeMinRange) {\n clone[1] = pushOnOverlap ? clone[0] + safeMinRange : currentTo;\n }\n\n if (clamped - clone[0] > safeMaxRange) {\n if (pushOnOverlap) {\n clone[0] = clamped - safeMaxRange;\n } else {\n clone[1] = currentTo;\n }\n }\n }\n }\n\n const rounded: [number, number] = [\n toFloatingValue(clampNumber(clone[0], min, max), precision),\n toFloatingValue(clampNumber(clone[1], min, max), precision),\n ];\n\n if (rounded[0] > rounded[1]) {\n return [rounded[1], rounded[0]];\n }\n\n return rounded;\n};\n","\"use client\";\n\nimport type { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport type { SliderMark } from \"../slider/shared/slider-types\";\nimport { normalizeRangeSliderValue } from \"./math/normalize-range-slider-value\";\nimport type { RangeSliderValue } from \"./range-slider-types\";\n\ninterface UseRangeSliderStateOptions {\n defaultValue?: RangeSliderValue;\n domainMax: number;\n domainMin: number;\n marks?: readonly SliderMark[];\n max: number;\n maxRange: number;\n min: number;\n minRange: number;\n onChange?: ((value: RangeSliderValue) => void) | undefined;\n onChangeEnd?: ((value: RangeSliderValue) => void) | undefined;\n precision: number;\n pushOnOverlap: boolean;\n restrictToMarks: boolean;\n value?: RangeSliderValue;\n}\n\nexport const useRangeSliderState = ({\n defaultValue,\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n onChange,\n onChangeEnd,\n precision,\n pushOnOverlap,\n restrictToMarks,\n value,\n}: UseRangeSliderStateOptions) => {\n const initialValue = useMemo(\n () =>\n normalizeRangeSliderValue({\n current: [min, max],\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n raw: defaultValue ?? [min, max],\n restrictToMarks,\n }),\n [\n defaultValue,\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n restrictToMarks,\n ]\n );\n\n const [uncontrolledValue, setUncontrolledValue] =\n useState<RangeSliderValue>(initialValue);\n\n const controlledValue = useMemo(() => {\n if (value === undefined) {\n return;\n }\n\n return normalizeRangeSliderValue({\n current: uncontrolledValue,\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n raw: value,\n restrictToMarks,\n });\n }, [\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n restrictToMarks,\n uncontrolledValue,\n value,\n ]);\n\n const rangeValue = controlledValue ?? uncontrolledValue;\n const valueRef = useRef<RangeSliderValue>(rangeValue);\n\n useEffect(() => {\n valueRef.current = rangeValue;\n }, [rangeValue]);\n\n useEffect(() => {\n if (value !== undefined) {\n return;\n }\n\n setUncontrolledValue((previous) =>\n normalizeRangeSliderValue({\n current: previous,\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n raw: previous,\n restrictToMarks,\n })\n );\n }, [\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n restrictToMarks,\n value,\n ]);\n\n const handleValueChange = useCallback(\n (\n nextValue: number | number[],\n eventDetails: SliderPrimitive.Root.ChangeEventDetails\n ) => {\n const rawValues = Array.isArray(nextValue)\n ? [\n nextValue[0] ?? valueRef.current[0],\n nextValue[1] ?? valueRef.current[1],\n ]\n : [nextValue, valueRef.current[1]];\n\n const normalizedValue = normalizeRangeSliderValue({\n activeThumbIndex: eventDetails.activeThumbIndex,\n current: valueRef.current,\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n raw: rawValues,\n reason: eventDetails.reason,\n restrictToMarks,\n });\n\n valueRef.current = normalizedValue;\n\n if (value === undefined) {\n setUncontrolledValue(normalizedValue);\n }\n\n onChange?.(normalizedValue);\n },\n [\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n onChange,\n precision,\n pushOnOverlap,\n restrictToMarks,\n value,\n ]\n );\n\n const handleValueCommitted = useCallback(() => {\n onChangeEnd?.(valueRef.current);\n }, [onChangeEnd]);\n\n return {\n handleValueChange,\n handleValueCommitted,\n rangeValue,\n };\n};\n","\"use client\";\n\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\nimport type { ComponentPropsWithoutRef, ReactNode } from \"react\";\n\nimport { toFloatingValue } from \"../slider/math/slider-math-utils\";\nimport { SliderControl } from \"../slider/primitives/slider-control\";\nimport { SliderIndicator } from \"../slider/primitives/slider-indicator\";\nimport { SliderMark } from \"../slider/primitives/slider-mark\";\nimport { SliderMarks } from \"../slider/primitives/slider-marks\";\nimport { SliderThumb } from \"../slider/primitives/slider-thumb\";\nimport type { SliderThumbProps } from \"../slider/primitives/slider-thumb\";\nimport { SliderThumbLabel } from \"../slider/primitives/slider-thumb-label\";\nimport { SliderTrack } from \"../slider/primitives/slider-track\";\nimport { SliderValue as SliderValuePrimitive } from \"../slider/primitives/slider-value\";\nimport { resolveSliderBounds } from \"../slider/shared/slider-bounds\";\nimport { resolveSliderLabel } from \"../slider/shared/slider-label\";\nimport {\n mergeSliderRootStyle,\n resolveSliderRootClassName,\n} from \"../slider/shared/slider-root-presentation\";\nimport type {\n SliderRadius,\n SliderSize,\n} from \"../slider/shared/slider-style-tokens\";\nimport type { SliderLabelTransitionProps } from \"../slider/shared/slider-transition\";\nimport type {\n SliderLabel,\n SliderMark as SliderMarkType,\n} from \"../slider/shared/slider-types\";\nimport {\n getMinStepsBetweenValues,\n getThumbChildrenByIndex,\n} from \"./range-slider-helpers\";\nimport type { RangeSliderValue } from \"./range-slider-types\";\nimport { useRangeSliderState } from \"./use-range-slider-state\";\n\ntype RangeSliderRootProps = Omit<\n SliderPrimitive.Root.Props<number[]>,\n | \"defaultValue\"\n | \"max\"\n | \"min\"\n | \"minStepsBetweenValues\"\n | \"name\"\n | \"onChange\"\n | \"onValueChange\"\n | \"onValueCommitted\"\n | \"thumbAlignment\"\n | \"thumbCollisionBehavior\"\n | \"value\"\n>;\n\nexport interface RangeSliderProps extends RangeSliderRootProps {\n color?: string;\n defaultValue?: RangeSliderValue;\n domain?: [number, number];\n hiddenInputProps?: Omit<\n ComponentPropsWithoutRef<\"input\">,\n \"name\" | \"type\" | \"value\"\n >;\n inverted?: boolean;\n label?: SliderLabel;\n labelAlwaysOn?: boolean;\n labelTransitionProps?: SliderLabelTransitionProps;\n marks?: readonly SliderMarkType[];\n max?: number;\n maxRange?: number;\n min?: number;\n minRange?: number;\n name?: string;\n onChange?: ((value: RangeSliderValue) => void) | undefined;\n onChangeEnd?: ((value: RangeSliderValue) => void) | undefined;\n precision?: number;\n pushOnOverlap?: boolean;\n radius?: SliderRadius;\n restrictToMarks?: boolean;\n scale?: ((value: number) => number) | undefined;\n size?: SliderSize;\n showLabelOnHover?: boolean;\n step?: number;\n thumbChildren?: ReactNode | [ReactNode, ReactNode];\n thumbFromLabel?: string;\n thumbLabelOffset?: number | string;\n thumbLabelOffsetVertical?: number | string;\n thumbProps?:\n | ((\n index: 0 | 1\n ) => Omit<SliderThumbProps, \"aria-label\" | \"children\" | \"index\">)\n | undefined;\n thumbSize?: number | string;\n thumbToLabel?: string;\n trackSize?: number | string;\n markSize?: number | string;\n value?: RangeSliderValue;\n}\n\ntype RangeSliderComponent = ((props: RangeSliderProps) => ReactNode) & {\n Control: typeof SliderControl;\n Indicator: typeof SliderIndicator;\n Mark: typeof SliderMark;\n Marks: typeof SliderMarks;\n Thumb: typeof SliderThumb;\n ThumbLabel: typeof SliderThumbLabel;\n Track: typeof SliderTrack;\n Value: typeof SliderValuePrimitive;\n};\n\nconst RangeSlider = (({\n className,\n children,\n color,\n defaultValue,\n domain,\n hiddenInputProps,\n inverted = false,\n label = (value) => value,\n labelAlwaysOn = false,\n labelTransitionProps,\n marks,\n max = 100,\n maxRange = Number.POSITIVE_INFINITY,\n min = 0,\n minRange = 10,\n name,\n onChange,\n onChangeEnd,\n precision: precisionProp,\n pushOnOverlap = true,\n radius,\n restrictToMarks = false,\n scale = (value) => value,\n size,\n showLabelOnHover = true,\n step = 1,\n style,\n thumbChildren,\n thumbFromLabel,\n thumbLabelOffset,\n thumbLabelOffsetVertical,\n thumbProps,\n thumbSize,\n thumbToLabel,\n trackSize,\n markSize,\n value,\n ...props\n}: RangeSliderProps) => {\n const resolvedBounds = resolveSliderBounds({\n domain,\n max,\n min,\n precision: precisionProp,\n step,\n });\n\n const {\n domainMax,\n domainMin,\n max: normalizedMax,\n min: normalizedMin,\n precision,\n } = resolvedBounds;\n\n const { handleValueChange, handleValueCommitted, rangeValue } =\n useRangeSliderState({\n defaultValue,\n domainMax,\n domainMin,\n marks,\n max: normalizedMax,\n maxRange,\n min: normalizedMin,\n minRange,\n onChange,\n onChangeEnd,\n precision,\n pushOnOverlap,\n restrictToMarks,\n value,\n });\n\n const firstThumbProps = thumbProps?.(0) ?? {};\n const secondThumbProps = thumbProps?.(1) ?? {};\n\n const minStepsBetweenValues = getMinStepsBetweenValues({\n minRange,\n restrictToMarks,\n step,\n });\n\n const displayedFromValue = toFloatingValue(scale(rangeValue[0]), precision);\n const displayedToValue = toFloatingValue(scale(rangeValue[1]), precision);\n\n return (\n <SliderPrimitive.Root\n {...props}\n className={resolveSliderRootClassName(className, inverted)}\n data-slot=\"slider\"\n max={domainMax}\n min={domainMin}\n minStepsBetweenValues={minStepsBetweenValues}\n onValueChange={handleValueChange}\n onValueCommitted={handleValueCommitted}\n step={step}\n style={mergeSliderRootStyle(\n {\n color,\n markSize,\n radius,\n size,\n thumbLabelOffset,\n thumbLabelOffsetVertical,\n thumbSize,\n trackSize,\n },\n style\n )}\n thumbAlignment=\"center\"\n thumbCollisionBehavior={pushOnOverlap ? \"push\" : \"none\"}\n value={rangeValue}\n >\n {children ?? (\n <SliderControl>\n <SliderTrack>\n <SliderIndicator />\n <SliderMarks\n disabled={props.disabled}\n inverted={inverted}\n marks={marks}\n max={domainMax}\n min={domainMin}\n orientation={props.orientation}\n values={rangeValue}\n />\n </SliderTrack>\n <SliderThumb\n {...firstThumbProps}\n aria-label={thumbFromLabel}\n index={0}\n >\n {getThumbChildrenByIndex(thumbChildren, 0)}\n <SliderThumbLabel\n label={resolveSliderLabel(label, displayedFromValue)}\n labelAlwaysOn={labelAlwaysOn}\n orientation={props.orientation}\n showLabelOnHover={showLabelOnHover}\n transitionProps={labelTransitionProps}\n />\n </SliderThumb>\n <SliderThumb\n {...secondThumbProps}\n aria-label={thumbToLabel}\n index={1}\n >\n {getThumbChildrenByIndex(thumbChildren, 1)}\n <SliderThumbLabel\n label={resolveSliderLabel(label, displayedToValue)}\n labelAlwaysOn={labelAlwaysOn}\n orientation={props.orientation}\n showLabelOnHover={showLabelOnHover}\n transitionProps={labelTransitionProps}\n />\n </SliderThumb>\n </SliderControl>\n )}\n {name ? (\n <>\n <input\n {...hiddenInputProps}\n name={`${name}_from`}\n type=\"hidden\"\n value={String(displayedFromValue)}\n />\n <input\n {...hiddenInputProps}\n name={`${name}_to`}\n type=\"hidden\"\n value={String(displayedToValue)}\n />\n </>\n ) : null}\n </SliderPrimitive.Root>\n );\n}) as RangeSliderComponent;\n\nRangeSlider.Control = SliderControl;\nRangeSlider.Indicator = SliderIndicator;\nRangeSlider.Mark = SliderMark;\nRangeSlider.Marks = SliderMarks;\nRangeSlider.Thumb = SliderThumb;\nRangeSlider.ThumbLabel = SliderThumbLabel;\nRangeSlider.Track = SliderTrack;\nRangeSlider.Value = SliderValuePrimitive;\n\nexport { RangeSlider };\n"],"mappings":"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"}
|
package/dist/ui/rating.d.ts
CHANGED
|
@@ -5,40 +5,40 @@ import { VariantProps } from "tailwind-variants";
|
|
|
5
5
|
|
|
6
6
|
//#region src/ui/rating/rating-star.d.ts
|
|
7
7
|
declare const ratingStarVariants: tailwind_variants0.TVReturnType<{
|
|
8
|
+
editable: {
|
|
9
|
+
false: string[];
|
|
10
|
+
true: string[];
|
|
11
|
+
};
|
|
8
12
|
size: {
|
|
9
|
-
xs: string[];
|
|
10
|
-
sm: string[];
|
|
11
|
-
md: string[];
|
|
12
13
|
lg: string[];
|
|
14
|
+
md: string[];
|
|
15
|
+
sm: string[];
|
|
13
16
|
xl: string[];
|
|
17
|
+
xs: string[];
|
|
14
18
|
};
|
|
19
|
+
}, undefined, string[], {
|
|
15
20
|
editable: {
|
|
16
|
-
true: string[];
|
|
17
21
|
false: string[];
|
|
22
|
+
true: string[];
|
|
18
23
|
};
|
|
19
|
-
}, undefined, string[], {
|
|
20
24
|
size: {
|
|
21
|
-
xs: string[];
|
|
22
|
-
sm: string[];
|
|
23
|
-
md: string[];
|
|
24
25
|
lg: string[];
|
|
26
|
+
md: string[];
|
|
27
|
+
sm: string[];
|
|
25
28
|
xl: string[];
|
|
29
|
+
xs: string[];
|
|
26
30
|
};
|
|
31
|
+
}, undefined, tailwind_variants0.TVReturnType<{
|
|
27
32
|
editable: {
|
|
28
|
-
true: string[];
|
|
29
33
|
false: string[];
|
|
34
|
+
true: string[];
|
|
30
35
|
};
|
|
31
|
-
}, undefined, tailwind_variants0.TVReturnType<{
|
|
32
36
|
size: {
|
|
33
|
-
xs: string[];
|
|
34
|
-
sm: string[];
|
|
35
|
-
md: string[];
|
|
36
37
|
lg: string[];
|
|
38
|
+
md: string[];
|
|
39
|
+
sm: string[];
|
|
37
40
|
xl: string[];
|
|
38
|
-
|
|
39
|
-
editable: {
|
|
40
|
-
true: string[];
|
|
41
|
-
false: string[];
|
|
41
|
+
xs: string[];
|
|
42
42
|
};
|
|
43
43
|
}, undefined, string[], unknown, unknown, undefined>>;
|
|
44
44
|
type RatingStarVariants = VariantProps<typeof ratingStarVariants>;
|
|
@@ -63,52 +63,52 @@ declare const RatingStar: ({
|
|
|
63
63
|
//#region src/ui/rating/rating.d.ts
|
|
64
64
|
declare const ratingVariants: tailwind_variants0.TVReturnType<{
|
|
65
65
|
size: {
|
|
66
|
-
xs: string[];
|
|
67
|
-
sm: string[];
|
|
68
|
-
md: string[];
|
|
69
66
|
lg: string[];
|
|
67
|
+
md: string[];
|
|
68
|
+
sm: string[];
|
|
70
69
|
xl: string[];
|
|
70
|
+
xs: string[];
|
|
71
71
|
};
|
|
72
72
|
}, undefined, string[], {
|
|
73
73
|
size: {
|
|
74
|
-
xs: string[];
|
|
75
|
-
sm: string[];
|
|
76
|
-
md: string[];
|
|
77
74
|
lg: string[];
|
|
75
|
+
md: string[];
|
|
76
|
+
sm: string[];
|
|
78
77
|
xl: string[];
|
|
78
|
+
xs: string[];
|
|
79
79
|
};
|
|
80
80
|
}, undefined, tailwind_variants0.TVReturnType<{
|
|
81
81
|
size: {
|
|
82
|
-
xs: string[];
|
|
83
|
-
sm: string[];
|
|
84
|
-
md: string[];
|
|
85
82
|
lg: string[];
|
|
83
|
+
md: string[];
|
|
84
|
+
sm: string[];
|
|
86
85
|
xl: string[];
|
|
86
|
+
xs: string[];
|
|
87
87
|
};
|
|
88
88
|
}, undefined, string[], unknown, unknown, undefined>>;
|
|
89
89
|
declare const ratingValueVariants: tailwind_variants0.TVReturnType<{
|
|
90
90
|
size: {
|
|
91
|
-
xs: string[];
|
|
92
|
-
sm: string[];
|
|
93
|
-
md: string[];
|
|
94
91
|
lg: string[];
|
|
92
|
+
md: string[];
|
|
93
|
+
sm: string[];
|
|
95
94
|
xl: string[];
|
|
95
|
+
xs: string[];
|
|
96
96
|
};
|
|
97
97
|
}, undefined, string[], {
|
|
98
98
|
size: {
|
|
99
|
-
xs: string[];
|
|
100
|
-
sm: string[];
|
|
101
|
-
md: string[];
|
|
102
99
|
lg: string[];
|
|
100
|
+
md: string[];
|
|
101
|
+
sm: string[];
|
|
103
102
|
xl: string[];
|
|
103
|
+
xs: string[];
|
|
104
104
|
};
|
|
105
105
|
}, undefined, tailwind_variants0.TVReturnType<{
|
|
106
106
|
size: {
|
|
107
|
-
xs: string[];
|
|
108
|
-
sm: string[];
|
|
109
|
-
md: string[];
|
|
110
107
|
lg: string[];
|
|
108
|
+
md: string[];
|
|
109
|
+
sm: string[];
|
|
111
110
|
xl: string[];
|
|
111
|
+
xs: string[];
|
|
112
112
|
};
|
|
113
113
|
}, undefined, string[], unknown, unknown, undefined>>;
|
|
114
114
|
type RatingVariants = VariantProps<typeof ratingVariants>;
|
package/dist/ui/rating.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rating.d.ts","names":[],"sources":["../../src/ui/rating/rating-star.tsx","../../src/ui/rating/rating.tsx"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"rating.d.ts","names":[],"sources":["../../src/ui/rating/rating-star.tsx","../../src/ui/rating/rating.tsx"],"mappings":";;;;;;cAUa,kBAAA,EA+CX,kBAAA,CA/C6B,YAAA;;;;;;;;;;;;;;;;;;;;;;;;cA+C7B,kBAAA,CAAA,YAAA;;;;;;;;;;;;;KA0EG,kBAAA,GAAqB,YAAA,QAAoB,kBAAA;AAAA,KAElC,eAAA,GAAkB,kBAAA,GAC5B,cAAA;EACE,MAAA;EACA,UAAA;EACA,MAAA;EACA,aAAA;AAAA;AAAA,cAGS,UAAA;EAAc,SAAA;EAAA,IAAA;EAAA,MAAA;EAAA,UAAA;EAAA,MAAA;EAAA,QAAA;EAAA,aAAA;EAAA,OAAA;EAAA,GAAA;AAAA,GAUxB,eAAA,KAAe,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cC1IL,cAAA,EAgCX,kBAAA,CAhCyB,YAAA;;;;;;;;;;;;;;;;cAgCzB,kBAAA,CAAA,YAAA;;;;;;;;;cAEW,mBAAA,EAgCX,kBAAA,CAhC8B,YAAA;;;;;;;;;;;;;;;;cAgC9B,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,cAAA,GAAiB,YAAA,QAAoB,cAAA;AAAA,KAE9B,WAAA,GAAc,cAAA,GACxB,IAAA,CAAK,cAAA;EACH,MAAA;EACA,SAAA;EACA,SAAA;EACA,QAAA;EACA,cAAA,IAAkB,MAAA;EAClB,aAAA;AAAA;AAAA,cAGE,MAAA;EAAA;;;;;;;;;;KAUH,WAAA,GAAW,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|