@locus-ui/components 0.0.15 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/accordion/accordion-context.d.mts +15 -0
- package/dist/components/accordion/accordion-context.d.ts +15 -0
- package/dist/components/accordion/accordion-context.js +52 -0
- package/dist/components/accordion/accordion-context.js.map +1 -0
- package/dist/components/accordion/accordion-context.mjs +17 -0
- package/dist/components/accordion/accordion-context.mjs.map +1 -0
- package/dist/components/accordion/accordion.d.mts +22 -0
- package/dist/components/accordion/accordion.d.ts +22 -0
- package/dist/components/accordion/accordion.js +38 -0
- package/dist/components/accordion/accordion.js.map +1 -0
- package/dist/components/accordion/accordion.mjs +14 -0
- package/dist/components/accordion/accordion.mjs.map +1 -0
- package/dist/components/accordion/accordion.props.d.mts +40 -0
- package/dist/components/accordion/accordion.props.d.ts +40 -0
- package/dist/components/accordion/accordion.props.js +65 -0
- package/dist/components/accordion/accordion.props.js.map +1 -0
- package/dist/components/accordion/accordion.props.mjs +40 -0
- package/dist/components/accordion/accordion.props.mjs.map +1 -0
- package/dist/components/accordion/content/accordion-content.d.mts +14 -0
- package/dist/components/accordion/content/accordion-content.d.ts +14 -0
- package/dist/components/accordion/content/accordion-content.js +61 -0
- package/dist/components/accordion/content/accordion-content.js.map +1 -0
- package/dist/components/accordion/content/accordion-content.mjs +29 -0
- package/dist/components/accordion/content/accordion-content.mjs.map +1 -0
- package/dist/components/accordion/content/accordion-content.props.d.mts +6 -0
- package/dist/components/accordion/content/accordion-content.props.d.ts +6 -0
- package/dist/components/accordion/content/accordion-content.props.js +31 -0
- package/dist/components/accordion/content/accordion-content.props.js.map +1 -0
- package/dist/components/accordion/content/accordion-content.props.mjs +7 -0
- package/dist/components/accordion/content/accordion-content.props.mjs.map +1 -0
- package/dist/components/accordion/header/accordion-header.d.mts +14 -0
- package/dist/components/accordion/header/accordion-header.d.ts +14 -0
- package/dist/components/accordion/header/accordion-header.js +86 -0
- package/dist/components/accordion/header/accordion-header.js.map +1 -0
- package/dist/components/accordion/header/accordion-header.mjs +54 -0
- package/dist/components/accordion/header/accordion-header.mjs.map +1 -0
- package/dist/components/accordion/header/accordion-header.props.d.mts +11 -0
- package/dist/components/accordion/header/accordion-header.props.d.ts +11 -0
- package/dist/components/accordion/header/accordion-header.props.js +34 -0
- package/dist/components/accordion/header/accordion-header.props.js.map +1 -0
- package/dist/components/accordion/header/accordion-header.props.mjs +10 -0
- package/dist/components/accordion/header/accordion-header.props.mjs.map +1 -0
- package/dist/components/accordion/index.d.mts +14 -0
- package/dist/components/accordion/index.d.ts +14 -0
- package/dist/components/accordion/index.js +29 -0
- package/dist/components/accordion/index.js.map +1 -0
- package/dist/components/accordion/index.mjs +5 -0
- package/dist/components/accordion/index.mjs.map +1 -0
- package/dist/components/accordion/item/accordion-item.d.mts +15 -0
- package/dist/components/accordion/item/accordion-item.d.ts +15 -0
- package/dist/components/accordion/item/accordion-item.js +97 -0
- package/dist/components/accordion/item/accordion-item.js.map +1 -0
- package/dist/components/accordion/item/accordion-item.mjs +68 -0
- package/dist/components/accordion/item/accordion-item.mjs.map +1 -0
- package/dist/components/accordion/item/accordion-item.props.d.mts +19 -0
- package/dist/components/accordion/item/accordion-item.props.d.ts +19 -0
- package/dist/components/accordion/item/accordion-item.props.js +42 -0
- package/dist/components/accordion/item/accordion-item.props.js.map +1 -0
- package/dist/components/accordion/item/accordion-item.props.mjs +18 -0
- package/dist/components/accordion/item/accordion-item.props.mjs.map +1 -0
- package/dist/components/accordion/root/accordion-root.d.mts +17 -0
- package/dist/components/accordion/root/accordion-root.d.ts +17 -0
- package/dist/components/accordion/root/accordion-root.js +102 -0
- package/dist/components/accordion/root/accordion-root.js.map +1 -0
- package/dist/components/accordion/root/accordion-root.mjs +72 -0
- package/dist/components/accordion/root/accordion-root.mjs.map +1 -0
- package/dist/components/accordion/root/accordion-root.props.d.mts +30 -0
- package/dist/components/accordion/root/accordion-root.props.d.ts +30 -0
- package/dist/components/accordion/root/accordion-root.props.js +59 -0
- package/dist/components/accordion/root/accordion-root.props.js.map +1 -0
- package/dist/components/accordion/root/accordion-root.props.mjs +34 -0
- package/dist/components/accordion/root/accordion-root.props.mjs.map +1 -0
- package/dist/components/badge/badge.d.mts +15 -0
- package/dist/components/badge/badge.d.ts +15 -0
- package/dist/components/badge/badge.js +64 -0
- package/dist/components/badge/badge.js.map +1 -0
- package/dist/components/badge/badge.mjs +35 -0
- package/dist/components/badge/badge.mjs.map +1 -0
- package/dist/components/badge/badge.props.d.mts +16 -0
- package/dist/components/badge/badge.props.d.ts +16 -0
- package/dist/components/badge/badge.props.js +41 -0
- package/dist/components/badge/badge.props.js.map +1 -0
- package/dist/components/badge/badge.props.mjs +16 -0
- package/dist/components/badge/badge.props.mjs.map +1 -0
- package/dist/components/badge/index.d.mts +9 -0
- package/dist/components/badge/index.d.ts +9 -0
- package/dist/components/badge/index.js +29 -0
- package/dist/components/badge/index.js.map +1 -0
- package/dist/components/badge/index.mjs +5 -0
- package/dist/components/badge/index.mjs.map +1 -0
- package/dist/components/box/box.d.mts +16 -0
- package/dist/components/box/box.d.ts +16 -0
- package/dist/components/box/box.js +66 -0
- package/dist/components/box/box.js.map +1 -0
- package/dist/components/box/box.mjs +38 -0
- package/dist/components/box/box.mjs.map +1 -0
- package/dist/components/box/box.props.d.mts +6 -0
- package/dist/components/box/box.props.d.ts +6 -0
- package/dist/components/box/box.props.js +43 -0
- package/dist/components/box/box.props.js.map +1 -0
- package/dist/components/box/box.props.mjs +19 -0
- package/dist/components/box/box.props.mjs.map +1 -0
- package/dist/components/box/index.d.mts +8 -0
- package/dist/components/box/index.d.ts +8 -0
- package/dist/components/box/index.js +29 -0
- package/dist/components/box/index.js.map +1 -0
- package/dist/components/box/index.mjs +5 -0
- package/dist/components/box/index.mjs.map +1 -0
- package/dist/components/button/button.d.mts +16 -0
- package/dist/components/button/button.d.ts +16 -0
- package/dist/components/button/button.js +85 -0
- package/dist/components/button/button.js.map +1 -0
- package/dist/components/button/button.mjs +57 -0
- package/dist/components/button/button.mjs.map +1 -0
- package/dist/components/button/button.props.d.mts +40 -0
- package/dist/components/button/button.props.d.ts +40 -0
- package/dist/components/button/button.props.js +65 -0
- package/dist/components/button/button.props.js.map +1 -0
- package/dist/components/button/button.props.mjs +40 -0
- package/dist/components/button/button.props.mjs.map +1 -0
- package/dist/components/button/index.d.mts +10 -0
- package/dist/components/button/index.d.ts +10 -0
- package/dist/components/button/index.js +29 -0
- package/dist/components/button/index.js.map +1 -0
- package/dist/components/button/index.mjs +5 -0
- package/dist/components/button/index.mjs.map +1 -0
- package/dist/components/checkbox/checkbox-context.d.mts +26 -0
- package/dist/components/checkbox/checkbox-context.d.ts +26 -0
- package/dist/components/checkbox/checkbox-context.js +52 -0
- package/dist/components/checkbox/checkbox-context.js.map +1 -0
- package/dist/components/checkbox/checkbox-context.mjs +17 -0
- package/dist/components/checkbox/checkbox-context.mjs.map +1 -0
- package/dist/components/checkbox/checkbox.d.mts +24 -0
- package/dist/components/checkbox/checkbox.d.ts +24 -0
- package/dist/components/checkbox/checkbox.js +36 -0
- package/dist/components/checkbox/checkbox.js.map +1 -0
- package/dist/components/checkbox/checkbox.mjs +12 -0
- package/dist/components/checkbox/checkbox.mjs.map +1 -0
- package/dist/components/checkbox/index.d.mts +15 -0
- package/dist/components/checkbox/index.d.ts +15 -0
- package/dist/components/checkbox/index.js +29 -0
- package/dist/components/checkbox/index.js.map +1 -0
- package/dist/components/checkbox/index.mjs +5 -0
- package/dist/components/checkbox/index.mjs.map +1 -0
- package/dist/components/checkbox/indicator/checkbox-indicator.d.mts +15 -0
- package/dist/components/checkbox/indicator/checkbox-indicator.d.ts +15 -0
- package/dist/components/checkbox/indicator/checkbox-indicator.js +114 -0
- package/dist/components/checkbox/indicator/checkbox-indicator.js.map +1 -0
- package/dist/components/checkbox/indicator/checkbox-indicator.mjs +82 -0
- package/dist/components/checkbox/indicator/checkbox-indicator.mjs.map +1 -0
- package/dist/components/checkbox/indicator/checkbox-indicator.props.d.mts +15 -0
- package/dist/components/checkbox/indicator/checkbox-indicator.props.d.ts +15 -0
- package/dist/components/checkbox/indicator/checkbox-indicator.props.js +39 -0
- package/dist/components/checkbox/indicator/checkbox-indicator.props.js.map +1 -0
- package/dist/components/checkbox/indicator/checkbox-indicator.props.mjs +15 -0
- package/dist/components/checkbox/indicator/checkbox-indicator.props.mjs.map +1 -0
- package/dist/components/checkbox/label/checkbox-label.d.mts +15 -0
- package/dist/components/checkbox/label/checkbox-label.d.ts +15 -0
- package/dist/components/checkbox/label/checkbox-label.js +69 -0
- package/dist/components/checkbox/label/checkbox-label.js.map +1 -0
- package/dist/components/checkbox/label/checkbox-label.mjs +37 -0
- package/dist/components/checkbox/label/checkbox-label.mjs.map +1 -0
- package/dist/components/checkbox/label/checkbox-label.props.d.mts +20 -0
- package/dist/components/checkbox/label/checkbox-label.props.d.ts +20 -0
- package/dist/components/checkbox/label/checkbox-label.props.js +44 -0
- package/dist/components/checkbox/label/checkbox-label.props.js.map +1 -0
- package/dist/components/checkbox/label/checkbox-label.props.mjs +19 -0
- package/dist/components/checkbox/label/checkbox-label.props.mjs.map +1 -0
- package/dist/components/checkbox/root/checkbox-root.d.mts +23 -0
- package/dist/components/checkbox/root/checkbox-root.d.ts +23 -0
- package/dist/components/checkbox/root/checkbox-root.js +160 -0
- package/dist/components/checkbox/root/checkbox-root.js.map +1 -0
- package/dist/components/checkbox/root/checkbox-root.mjs +142 -0
- package/dist/components/checkbox/root/checkbox-root.mjs.map +1 -0
- package/dist/components/checkbox/root/checkbox-root.props.d.mts +92 -0
- package/dist/components/checkbox/root/checkbox-root.props.d.ts +92 -0
- package/dist/components/checkbox/root/checkbox-root.props.js +119 -0
- package/dist/components/checkbox/root/checkbox-root.props.js.map +1 -0
- package/dist/components/checkbox/root/checkbox-root.props.mjs +94 -0
- package/dist/components/checkbox/root/checkbox-root.props.mjs.map +1 -0
- package/dist/components/container/container.d.mts +11 -0
- package/dist/components/container/container.d.ts +11 -0
- package/dist/components/container/container.js +55 -0
- package/dist/components/container/container.js.map +1 -0
- package/dist/components/container/container.mjs +21 -0
- package/dist/components/container/container.mjs.map +1 -0
- package/dist/components/container/container.props.d.mts +10 -0
- package/dist/components/container/container.props.d.ts +10 -0
- package/dist/components/container/container.props.js +32 -0
- package/dist/components/container/container.props.js.map +1 -0
- package/dist/components/container/container.props.mjs +8 -0
- package/dist/components/container/container.props.mjs.map +1 -0
- package/dist/components/container/index.d.mts +5 -0
- package/dist/components/container/index.d.ts +5 -0
- package/dist/components/container/index.js +29 -0
- package/dist/components/container/index.js.map +1 -0
- package/dist/components/container/index.mjs +5 -0
- package/dist/components/container/index.mjs.map +1 -0
- package/dist/components/flex/flex.d.mts +45 -0
- package/dist/components/flex/flex.d.ts +45 -0
- package/dist/components/flex/flex.js +55 -0
- package/dist/components/flex/flex.js.map +1 -0
- package/dist/components/flex/flex.mjs +25 -0
- package/dist/components/flex/flex.mjs.map +1 -0
- package/dist/components/flex/flex.props.d.mts +52 -0
- package/dist/components/flex/flex.props.d.ts +52 -0
- package/dist/components/flex/flex.props.js +98 -0
- package/dist/components/flex/flex.props.js.map +1 -0
- package/dist/components/flex/flex.props.mjs +74 -0
- package/dist/components/flex/flex.props.mjs.map +1 -0
- package/dist/components/flex/index.d.mts +6 -0
- package/dist/components/flex/index.d.ts +6 -0
- package/dist/components/flex/index.js +29 -0
- package/dist/components/flex/index.js.map +1 -0
- package/dist/components/flex/index.mjs +5 -0
- package/dist/components/flex/index.mjs.map +1 -0
- package/dist/components/index.d.mts +81 -0
- package/dist/components/index.d.ts +81 -0
- package/dist/components/index.js +75 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/index.mjs +35 -0
- package/dist/components/index.mjs.map +1 -0
- package/dist/components/panel/index.d.mts +10 -0
- package/dist/components/panel/index.d.ts +10 -0
- package/dist/components/panel/index.js +29 -0
- package/dist/components/panel/index.js.map +1 -0
- package/dist/components/panel/index.mjs +5 -0
- package/dist/components/panel/index.mjs.map +1 -0
- package/dist/components/panel/panel.d.mts +29 -0
- package/dist/components/panel/panel.d.ts +29 -0
- package/dist/components/panel/panel.js +67 -0
- package/dist/components/panel/panel.js.map +1 -0
- package/dist/components/panel/panel.mjs +40 -0
- package/dist/components/panel/panel.mjs.map +1 -0
- package/dist/components/panel/panel.props.d.mts +27 -0
- package/dist/components/panel/panel.props.d.ts +27 -0
- package/dist/components/panel/panel.props.js +52 -0
- package/dist/components/panel/panel.props.js.map +1 -0
- package/dist/components/panel/panel.props.mjs +27 -0
- package/dist/components/panel/panel.props.mjs.map +1 -0
- package/dist/components/portal/backdrop/portal-backdrop.d.mts +10 -0
- package/dist/components/portal/backdrop/portal-backdrop.d.ts +10 -0
- package/dist/components/portal/backdrop/portal-backdrop.js +71 -0
- package/dist/components/portal/backdrop/portal-backdrop.js.map +1 -0
- package/dist/components/portal/backdrop/portal-backdrop.mjs +39 -0
- package/dist/components/portal/backdrop/portal-backdrop.mjs.map +1 -0
- package/dist/components/portal/backdrop/portal-backdrop.props.d.mts +62 -0
- package/dist/components/portal/backdrop/portal-backdrop.props.d.ts +62 -0
- package/dist/components/portal/backdrop/portal-backdrop.props.js +65 -0
- package/dist/components/portal/backdrop/portal-backdrop.props.js.map +1 -0
- package/dist/components/portal/backdrop/portal-backdrop.props.mjs +41 -0
- package/dist/components/portal/backdrop/portal-backdrop.props.mjs.map +1 -0
- package/dist/components/portal/content/portal-content.d.mts +12 -0
- package/dist/components/portal/content/portal-content.d.ts +12 -0
- package/dist/components/portal/content/portal-content.js +163 -0
- package/dist/components/portal/content/portal-content.js.map +1 -0
- package/dist/components/portal/content/portal-content.mjs +133 -0
- package/dist/components/portal/content/portal-content.mjs.map +1 -0
- package/dist/components/portal/content/portal-content.props.d.mts +45 -0
- package/dist/components/portal/content/portal-content.props.d.ts +45 -0
- package/dist/components/portal/content/portal-content.props.js +80 -0
- package/dist/components/portal/content/portal-content.props.js.map +1 -0
- package/dist/components/portal/content/portal-content.props.mjs +56 -0
- package/dist/components/portal/content/portal-content.props.mjs.map +1 -0
- package/dist/components/portal/index.d.mts +14 -0
- package/dist/components/portal/index.d.ts +14 -0
- package/dist/components/portal/index.js +47 -0
- package/dist/components/portal/index.js.map +1 -0
- package/dist/components/portal/index.mjs +25 -0
- package/dist/components/portal/index.mjs.map +1 -0
- package/dist/components/portal/portal-context.d.mts +16 -0
- package/dist/components/portal/portal-context.d.ts +16 -0
- package/dist/components/portal/portal-context.js +52 -0
- package/dist/components/portal/portal-context.js.map +1 -0
- package/dist/components/portal/portal-context.mjs +17 -0
- package/dist/components/portal/portal-context.mjs.map +1 -0
- package/dist/components/portal/portal.d.mts +24 -0
- package/dist/components/portal/portal.d.ts +24 -0
- package/dist/components/portal/portal.js +42 -0
- package/dist/components/portal/portal.js.map +1 -0
- package/dist/components/portal/portal.mjs +18 -0
- package/dist/components/portal/portal.mjs.map +1 -0
- package/dist/components/portal/root/portal-root.d.mts +18 -0
- package/dist/components/portal/root/portal-root.d.ts +18 -0
- package/dist/components/portal/root/portal-root.js +74 -0
- package/dist/components/portal/root/portal-root.js.map +1 -0
- package/dist/components/portal/root/portal-root.mjs +56 -0
- package/dist/components/portal/root/portal-root.mjs.map +1 -0
- package/dist/components/portal/root/portal-root.props.d.mts +23 -0
- package/dist/components/portal/root/portal-root.props.d.ts +23 -0
- package/dist/components/portal/root/portal-root.props.js +48 -0
- package/dist/components/portal/root/portal-root.props.js.map +1 -0
- package/dist/components/portal/root/portal-root.props.mjs +24 -0
- package/dist/components/portal/root/portal-root.props.mjs.map +1 -0
- package/dist/components/portal/trigger/portal-trigger.d.mts +9 -0
- package/dist/components/portal/trigger/portal-trigger.d.ts +9 -0
- package/dist/components/portal/trigger/portal-trigger.js +89 -0
- package/dist/components/portal/trigger/portal-trigger.js.map +1 -0
- package/dist/components/portal/trigger/portal-trigger.mjs +55 -0
- package/dist/components/portal/trigger/portal-trigger.mjs.map +1 -0
- package/dist/components/portal/utils/use-anchor-position.d.mts +31 -0
- package/dist/components/portal/utils/use-anchor-position.d.ts +31 -0
- package/dist/components/portal/utils/use-anchor-position.js +137 -0
- package/dist/components/portal/utils/use-anchor-position.js.map +1 -0
- package/dist/components/portal/utils/use-anchor-position.mjs +103 -0
- package/dist/components/portal/utils/use-anchor-position.mjs.map +1 -0
- package/dist/components/progress-bar/fill/progress-bar-fill.d.mts +17 -0
- package/dist/components/progress-bar/fill/progress-bar-fill.d.ts +17 -0
- package/dist/components/progress-bar/fill/progress-bar-fill.js +61 -0
- package/dist/components/progress-bar/fill/progress-bar-fill.js.map +1 -0
- package/dist/components/progress-bar/fill/progress-bar-fill.mjs +29 -0
- package/dist/components/progress-bar/fill/progress-bar-fill.mjs.map +1 -0
- package/dist/components/progress-bar/fill/progress-bar-fill.props.d.mts +14 -0
- package/dist/components/progress-bar/fill/progress-bar-fill.props.d.ts +14 -0
- package/dist/components/progress-bar/fill/progress-bar-fill.props.js +37 -0
- package/dist/components/progress-bar/fill/progress-bar-fill.props.js.map +1 -0
- package/dist/components/progress-bar/fill/progress-bar-fill.props.mjs +13 -0
- package/dist/components/progress-bar/fill/progress-bar-fill.props.mjs.map +1 -0
- package/dist/components/progress-bar/index.d.mts +12 -0
- package/dist/components/progress-bar/index.d.ts +12 -0
- package/dist/components/progress-bar/index.js +29 -0
- package/dist/components/progress-bar/index.js.map +1 -0
- package/dist/components/progress-bar/index.mjs +5 -0
- package/dist/components/progress-bar/index.mjs.map +1 -0
- package/dist/components/progress-bar/progress-bar-context.d.mts +11 -0
- package/dist/components/progress-bar/progress-bar-context.d.ts +11 -0
- package/dist/components/progress-bar/progress-bar-context.js +52 -0
- package/dist/components/progress-bar/progress-bar-context.js.map +1 -0
- package/dist/components/progress-bar/progress-bar-context.mjs +17 -0
- package/dist/components/progress-bar/progress-bar-context.mjs.map +1 -0
- package/dist/components/progress-bar/progress-bar.d.mts +27 -0
- package/dist/components/progress-bar/progress-bar.d.ts +27 -0
- package/dist/components/progress-bar/progress-bar.js +40 -0
- package/dist/components/progress-bar/progress-bar.js.map +1 -0
- package/dist/components/progress-bar/progress-bar.mjs +16 -0
- package/dist/components/progress-bar/progress-bar.mjs.map +1 -0
- package/dist/components/progress-bar/root/progress-bar-root.d.mts +17 -0
- package/dist/components/progress-bar/root/progress-bar-root.d.ts +17 -0
- package/dist/components/progress-bar/root/progress-bar-root.js +93 -0
- package/dist/components/progress-bar/root/progress-bar-root.js.map +1 -0
- package/dist/components/progress-bar/root/progress-bar-root.mjs +69 -0
- package/dist/components/progress-bar/root/progress-bar-root.mjs.map +1 -0
- package/dist/components/progress-bar/root/progress-bar-root.props.d.mts +23 -0
- package/dist/components/progress-bar/root/progress-bar-root.props.d.ts +23 -0
- package/dist/components/progress-bar/root/progress-bar-root.props.js +48 -0
- package/dist/components/progress-bar/root/progress-bar-root.props.js.map +1 -0
- package/dist/components/progress-bar/root/progress-bar-root.props.mjs +23 -0
- package/dist/components/progress-bar/root/progress-bar-root.props.mjs.map +1 -0
- package/dist/components/select/content/select-content.d.mts +16 -0
- package/dist/components/select/content/select-content.d.ts +16 -0
- package/dist/components/select/content/select-content.js +163 -0
- package/dist/components/select/content/select-content.js.map +1 -0
- package/dist/components/select/content/select-content.mjs +129 -0
- package/dist/components/select/content/select-content.mjs.map +1 -0
- package/dist/components/select/content/select-content.props.d.mts +28 -0
- package/dist/components/select/content/select-content.props.d.ts +28 -0
- package/dist/components/select/content/select-content.props.js +54 -0
- package/dist/components/select/content/select-content.props.js.map +1 -0
- package/dist/components/select/content/select-content.props.mjs +30 -0
- package/dist/components/select/content/select-content.props.mjs.map +1 -0
- package/dist/components/select/group/select-group.d.mts +10 -0
- package/dist/components/select/group/select-group.d.ts +10 -0
- package/dist/components/select/group/select-group.js +67 -0
- package/dist/components/select/group/select-group.js.map +1 -0
- package/dist/components/select/group/select-group.mjs +35 -0
- package/dist/components/select/group/select-group.mjs.map +1 -0
- package/dist/components/select/group/select-group.props.d.mts +10 -0
- package/dist/components/select/group/select-group.props.d.ts +10 -0
- package/dist/components/select/group/select-group.props.js +33 -0
- package/dist/components/select/group/select-group.props.js.map +1 -0
- package/dist/components/select/group/select-group.props.mjs +9 -0
- package/dist/components/select/group/select-group.props.mjs.map +1 -0
- package/dist/components/select/index.d.mts +22 -0
- package/dist/components/select/index.d.ts +22 -0
- package/dist/components/select/index.js +29 -0
- package/dist/components/select/index.js.map +1 -0
- package/dist/components/select/index.mjs +5 -0
- package/dist/components/select/index.mjs.map +1 -0
- package/dist/components/select/item/select-item-indicator.d.mts +5 -0
- package/dist/components/select/item/select-item-indicator.d.ts +5 -0
- package/dist/components/select/item/select-item-indicator.js +50 -0
- package/dist/components/select/item/select-item-indicator.js.map +1 -0
- package/dist/components/select/item/select-item-indicator.mjs +26 -0
- package/dist/components/select/item/select-item-indicator.mjs.map +1 -0
- package/dist/components/select/item/select-item.d.mts +14 -0
- package/dist/components/select/item/select-item.d.ts +14 -0
- package/dist/components/select/item/select-item.js +120 -0
- package/dist/components/select/item/select-item.js.map +1 -0
- package/dist/components/select/item/select-item.mjs +88 -0
- package/dist/components/select/item/select-item.mjs.map +1 -0
- package/dist/components/select/item/select-item.props.d.mts +14 -0
- package/dist/components/select/item/select-item.props.d.ts +14 -0
- package/dist/components/select/item/select-item.props.js +37 -0
- package/dist/components/select/item/select-item.props.js.map +1 -0
- package/dist/components/select/item/select-item.props.mjs +13 -0
- package/dist/components/select/item/select-item.props.mjs.map +1 -0
- package/dist/components/select/label/select-label.d.mts +15 -0
- package/dist/components/select/label/select-label.d.ts +15 -0
- package/dist/components/select/label/select-label.js +69 -0
- package/dist/components/select/label/select-label.js.map +1 -0
- package/dist/components/select/label/select-label.mjs +37 -0
- package/dist/components/select/label/select-label.mjs.map +1 -0
- package/dist/components/select/label/select-label.props.d.mts +15 -0
- package/dist/components/select/label/select-label.props.d.ts +15 -0
- package/dist/components/select/label/select-label.props.js +39 -0
- package/dist/components/select/label/select-label.props.js.map +1 -0
- package/dist/components/select/label/select-label.props.mjs +14 -0
- package/dist/components/select/label/select-label.props.mjs.map +1 -0
- package/dist/components/select/root/select-root.d.mts +21 -0
- package/dist/components/select/root/select-root.d.ts +21 -0
- package/dist/components/select/root/select-root.js +195 -0
- package/dist/components/select/root/select-root.js.map +1 -0
- package/dist/components/select/root/select-root.mjs +175 -0
- package/dist/components/select/root/select-root.mjs.map +1 -0
- package/dist/components/select/root/select-root.props.d.mts +33 -0
- package/dist/components/select/root/select-root.props.d.ts +33 -0
- package/dist/components/select/root/select-root.props.js +57 -0
- package/dist/components/select/root/select-root.props.js.map +1 -0
- package/dist/components/select/root/select-root.props.mjs +33 -0
- package/dist/components/select/root/select-root.props.mjs.map +1 -0
- package/dist/components/select/select-context.d.mts +33 -0
- package/dist/components/select/select-context.d.ts +33 -0
- package/dist/components/select/select-context.js +52 -0
- package/dist/components/select/select-context.js.map +1 -0
- package/dist/components/select/select-context.mjs +17 -0
- package/dist/components/select/select-context.mjs.map +1 -0
- package/dist/components/select/select.d.mts +43 -0
- package/dist/components/select/select.d.ts +43 -0
- package/dist/components/select/select.js +46 -0
- package/dist/components/select/select.js.map +1 -0
- package/dist/components/select/select.mjs +22 -0
- package/dist/components/select/select.mjs.map +1 -0
- package/dist/components/select/separator/select-separator.d.mts +7 -0
- package/dist/components/select/separator/select-separator.d.ts +7 -0
- package/dist/components/select/separator/select-separator.js +55 -0
- package/dist/components/select/separator/select-separator.js.map +1 -0
- package/dist/components/select/separator/select-separator.mjs +21 -0
- package/dist/components/select/separator/select-separator.mjs.map +1 -0
- package/dist/components/select/trigger/select-trigger-icon.d.mts +5 -0
- package/dist/components/select/trigger/select-trigger-icon.d.ts +5 -0
- package/dist/components/select/trigger/select-trigger-icon.js +64 -0
- package/dist/components/select/trigger/select-trigger-icon.js.map +1 -0
- package/dist/components/select/trigger/select-trigger-icon.mjs +30 -0
- package/dist/components/select/trigger/select-trigger-icon.mjs.map +1 -0
- package/dist/components/select/trigger/select-trigger.d.mts +18 -0
- package/dist/components/select/trigger/select-trigger.d.ts +18 -0
- package/dist/components/select/trigger/select-trigger.js +119 -0
- package/dist/components/select/trigger/select-trigger.js.map +1 -0
- package/dist/components/select/trigger/select-trigger.mjs +87 -0
- package/dist/components/select/trigger/select-trigger.mjs.map +1 -0
- package/dist/components/select/trigger/select-trigger.props.d.mts +7 -0
- package/dist/components/select/trigger/select-trigger.props.d.ts +7 -0
- package/dist/components/select/trigger/select-trigger.props.js +29 -0
- package/dist/components/select/trigger/select-trigger.props.js.map +1 -0
- package/dist/components/select/trigger/select-trigger.props.mjs +5 -0
- package/dist/components/select/trigger/select-trigger.props.mjs.map +1 -0
- package/dist/components/select/utils/user-composed-refs.d.mts +5 -0
- package/dist/components/select/utils/user-composed-refs.d.ts +5 -0
- package/dist/components/select/utils/user-composed-refs.js +53 -0
- package/dist/components/select/utils/user-composed-refs.js.map +1 -0
- package/dist/components/select/utils/user-composed-refs.mjs +19 -0
- package/dist/components/select/utils/user-composed-refs.mjs.map +1 -0
- package/dist/components/select/value/select-value.d.mts +8 -0
- package/dist/components/select/value/select-value.d.ts +8 -0
- package/dist/components/select/value/select-value.js +61 -0
- package/dist/components/select/value/select-value.js.map +1 -0
- package/dist/components/select/value/select-value.mjs +27 -0
- package/dist/components/select/value/select-value.mjs.map +1 -0
- package/dist/components/select/viewport/select-viewport.d.mts +7 -0
- package/dist/components/select/viewport/select-viewport.d.ts +7 -0
- package/dist/components/select/viewport/select-viewport.js +49 -0
- package/dist/components/select/viewport/select-viewport.js.map +1 -0
- package/dist/components/select/viewport/select-viewport.mjs +15 -0
- package/dist/components/select/viewport/select-viewport.mjs.map +1 -0
- package/dist/components/separator/index.d.mts +6 -0
- package/dist/components/separator/index.d.ts +6 -0
- package/dist/components/separator/index.js +29 -0
- package/dist/components/separator/index.js.map +1 -0
- package/dist/components/separator/index.mjs +5 -0
- package/dist/components/separator/index.mjs.map +1 -0
- package/dist/components/separator/separator.d.mts +15 -0
- package/dist/components/separator/separator.d.ts +15 -0
- package/dist/components/separator/separator.js +57 -0
- package/dist/components/separator/separator.js.map +1 -0
- package/dist/components/separator/separator.mjs +23 -0
- package/dist/components/separator/separator.mjs.map +1 -0
- package/dist/components/separator/separator.props.d.mts +29 -0
- package/dist/components/separator/separator.props.d.ts +29 -0
- package/dist/components/separator/separator.props.js +54 -0
- package/dist/components/separator/separator.props.js.map +1 -0
- package/dist/components/separator/separator.props.mjs +30 -0
- package/dist/components/separator/separator.props.mjs.map +1 -0
- package/dist/components/switch/index.d.mts +15 -0
- package/dist/components/switch/index.d.ts +15 -0
- package/dist/components/switch/index.js +29 -0
- package/dist/components/switch/index.js.map +1 -0
- package/dist/components/switch/index.mjs +5 -0
- package/dist/components/switch/index.mjs.map +1 -0
- package/dist/components/switch/indicator/switch-indicator.d.mts +15 -0
- package/dist/components/switch/indicator/switch-indicator.d.ts +15 -0
- package/dist/components/switch/indicator/switch-indicator.js +97 -0
- package/dist/components/switch/indicator/switch-indicator.js.map +1 -0
- package/dist/components/switch/indicator/switch-indicator.mjs +65 -0
- package/dist/components/switch/indicator/switch-indicator.mjs.map +1 -0
- package/dist/components/switch/indicator/switch-indicator.props.d.mts +15 -0
- package/dist/components/switch/indicator/switch-indicator.props.d.ts +15 -0
- package/dist/components/switch/indicator/switch-indicator.props.js +39 -0
- package/dist/components/switch/indicator/switch-indicator.props.js.map +1 -0
- package/dist/components/switch/indicator/switch-indicator.props.mjs +15 -0
- package/dist/components/switch/indicator/switch-indicator.props.mjs.map +1 -0
- package/dist/components/switch/label/switch-label.d.mts +15 -0
- package/dist/components/switch/label/switch-label.d.ts +15 -0
- package/dist/components/switch/label/switch-label.js +69 -0
- package/dist/components/switch/label/switch-label.js.map +1 -0
- package/dist/components/switch/label/switch-label.mjs +37 -0
- package/dist/components/switch/label/switch-label.mjs.map +1 -0
- package/dist/components/switch/label/switch-label.props.d.mts +20 -0
- package/dist/components/switch/label/switch-label.props.d.ts +20 -0
- package/dist/components/switch/label/switch-label.props.js +44 -0
- package/dist/components/switch/label/switch-label.props.js.map +1 -0
- package/dist/components/switch/label/switch-label.props.mjs +19 -0
- package/dist/components/switch/label/switch-label.props.mjs.map +1 -0
- package/dist/components/switch/root/switch-root.d.mts +23 -0
- package/dist/components/switch/root/switch-root.d.ts +23 -0
- package/dist/components/switch/root/switch-root.js +180 -0
- package/dist/components/switch/root/switch-root.js.map +1 -0
- package/dist/components/switch/root/switch-root.mjs +163 -0
- package/dist/components/switch/root/switch-root.mjs.map +1 -0
- package/dist/components/switch/root/switch-root.props.d.mts +76 -0
- package/dist/components/switch/root/switch-root.props.d.ts +76 -0
- package/dist/components/switch/root/switch-root.props.js +103 -0
- package/dist/components/switch/root/switch-root.props.js.map +1 -0
- package/dist/components/switch/root/switch-root.props.mjs +78 -0
- package/dist/components/switch/root/switch-root.props.mjs.map +1 -0
- package/dist/components/switch/switch-context.d.mts +26 -0
- package/dist/components/switch/switch-context.d.ts +26 -0
- package/dist/components/switch/switch-context.js +52 -0
- package/dist/components/switch/switch-context.js.map +1 -0
- package/dist/components/switch/switch-context.mjs +17 -0
- package/dist/components/switch/switch-context.mjs.map +1 -0
- package/dist/components/switch/switch.d.mts +24 -0
- package/dist/components/switch/switch.d.ts +24 -0
- package/dist/components/switch/switch.js +36 -0
- package/dist/components/switch/switch.js.map +1 -0
- package/dist/components/switch/switch.mjs +12 -0
- package/dist/components/switch/switch.mjs.map +1 -0
- package/dist/components/text/index.d.mts +7 -0
- package/dist/components/text/index.d.ts +7 -0
- package/dist/components/text/index.js +29 -0
- package/dist/components/text/index.js.map +1 -0
- package/dist/components/text/index.mjs +5 -0
- package/dist/components/text/index.mjs.map +1 -0
- package/dist/components/text/text.d.mts +25 -0
- package/dist/components/text/text.d.ts +25 -0
- package/dist/components/text/text.js +66 -0
- package/dist/components/text/text.js.map +1 -0
- package/dist/components/text/text.mjs +36 -0
- package/dist/components/text/text.mjs.map +1 -0
- package/dist/components/text/text.props.d.mts +24 -0
- package/dist/components/text/text.props.d.ts +24 -0
- package/dist/components/text/text.props.js +48 -0
- package/dist/components/text/text.props.js.map +1 -0
- package/dist/components/text/text.props.mjs +24 -0
- package/dist/components/text/text.props.mjs.map +1 -0
- package/dist/components/theme/index.d.mts +8 -0
- package/dist/components/theme/index.d.ts +8 -0
- package/dist/components/theme/index.js +35 -0
- package/dist/components/theme/index.js.map +1 -0
- package/dist/components/theme/index.mjs +9 -0
- package/dist/components/theme/index.mjs.map +1 -0
- package/dist/components/theme/theme-context.d.mts +25 -0
- package/dist/components/theme/theme-context.d.ts +25 -0
- package/dist/components/theme/theme-context.js +52 -0
- package/dist/components/theme/theme-context.js.map +1 -0
- package/dist/components/theme/theme-context.mjs +17 -0
- package/dist/components/theme/theme-context.mjs.map +1 -0
- package/dist/components/theme/theme-control.d.mts +9 -0
- package/dist/components/theme/theme-control.d.ts +9 -0
- package/dist/components/theme/theme-control.js +156 -0
- package/dist/components/theme/theme-control.js.map +1 -0
- package/dist/components/theme/theme-control.mjs +132 -0
- package/dist/components/theme/theme-control.mjs.map +1 -0
- package/dist/components/theme/theme.d.mts +14 -0
- package/dist/components/theme/theme.d.ts +14 -0
- package/dist/components/theme/theme.js +132 -0
- package/dist/components/theme/theme.js.map +1 -0
- package/dist/components/theme/theme.mjs +100 -0
- package/dist/components/theme/theme.mjs.map +1 -0
- package/dist/components/theme/theme.props.d.mts +24 -0
- package/dist/components/theme/theme.props.d.ts +24 -0
- package/dist/components/theme/theme.props.js +54 -0
- package/dist/components/theme/theme.props.js.map +1 -0
- package/dist/components/theme/theme.props.mjs +30 -0
- package/dist/components/theme/theme.props.mjs.map +1 -0
- package/dist/icons/check-mark.icon.d.mts +6 -0
- package/dist/icons/check-mark.icon.d.ts +6 -0
- package/dist/icons/check-mark.icon.js +51 -0
- package/dist/icons/check-mark.icon.js.map +1 -0
- package/dist/icons/check-mark.icon.mjs +27 -0
- package/dist/icons/check-mark.icon.mjs.map +1 -0
- package/dist/icons/chevron-down.icon.d.mts +6 -0
- package/dist/icons/chevron-down.icon.d.ts +6 -0
- package/dist/icons/chevron-down.icon.js +53 -0
- package/dist/icons/chevron-down.icon.js.map +1 -0
- package/dist/icons/chevron-down.icon.mjs +29 -0
- package/dist/icons/chevron-down.icon.mjs.map +1 -0
- package/dist/icons/chevron-left.icon.d.mts +6 -0
- package/dist/icons/chevron-left.icon.d.ts +6 -0
- package/dist/icons/chevron-left.icon.js +53 -0
- package/dist/icons/chevron-left.icon.js.map +1 -0
- package/dist/icons/chevron-left.icon.mjs +29 -0
- package/dist/icons/chevron-left.icon.mjs.map +1 -0
- package/dist/icons/chevron-right.icon.d.mts +6 -0
- package/dist/icons/chevron-right.icon.d.ts +6 -0
- package/dist/icons/chevron-right.icon.js +53 -0
- package/dist/icons/chevron-right.icon.js.map +1 -0
- package/dist/icons/chevron-right.icon.mjs +29 -0
- package/dist/icons/chevron-right.icon.mjs.map +1 -0
- package/dist/icons/chevron-up.icon.d.mts +6 -0
- package/dist/icons/chevron-up.icon.d.ts +6 -0
- package/dist/icons/chevron-up.icon.js +51 -0
- package/dist/icons/chevron-up.icon.js.map +1 -0
- package/dist/icons/chevron-up.icon.mjs +27 -0
- package/dist/icons/chevron-up.icon.mjs.map +1 -0
- package/dist/icons/icon-colors.d.mts +7 -0
- package/dist/icons/icon-colors.d.ts +7 -0
- package/dist/icons/icon-colors.js +34 -0
- package/dist/icons/icon-colors.js.map +1 -0
- package/dist/icons/icon-colors.mjs +10 -0
- package/dist/icons/icon-colors.mjs.map +1 -0
- package/dist/icons/index.d.mts +4 -0
- package/dist/icons/index.d.ts +4 -0
- package/dist/icons/index.js +32 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/icons/index.mjs +7 -0
- package/dist/icons/index.mjs.map +1 -0
- package/dist/icons/minus.icon.d.mts +6 -0
- package/dist/icons/minus.icon.d.ts +6 -0
- package/dist/icons/minus.icon.js +51 -0
- package/dist/icons/minus.icon.js.map +1 -0
- package/dist/icons/minus.icon.mjs +27 -0
- package/dist/icons/minus.icon.mjs.map +1 -0
- package/dist/index.css +163 -67
- package/dist/index.d.mts +81 -1486
- package/dist/index.d.ts +81 -1486
- package/dist/index.js +59 -3666
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +19 -3648
- package/dist/index.mjs.map +1 -1
- package/dist/props/align.prop.d.mts +16 -0
- package/dist/props/align.prop.d.ts +16 -0
- package/dist/props/align.prop.js +41 -0
- package/dist/props/align.prop.js.map +1 -0
- package/dist/props/align.prop.mjs +16 -0
- package/dist/props/align.prop.mjs.map +1 -0
- package/dist/props/color.prop.d.mts +26 -0
- package/dist/props/color.prop.d.ts +26 -0
- package/dist/props/color.prop.js +60 -0
- package/dist/props/color.prop.js.map +1 -0
- package/dist/props/color.prop.mjs +35 -0
- package/dist/props/color.prop.mjs.map +1 -0
- package/dist/props/direction.prop.d.mts +11 -0
- package/dist/props/direction.prop.d.ts +11 -0
- package/dist/props/direction.prop.js +39 -0
- package/dist/props/direction.prop.js.map +1 -0
- package/dist/props/direction.prop.mjs +14 -0
- package/dist/props/direction.prop.mjs.map +1 -0
- package/dist/props/index.d.mts +11 -0
- package/dist/props/index.d.ts +11 -0
- package/dist/props/index.js +82 -0
- package/dist/props/index.js.map +1 -0
- package/dist/props/index.mjs +43 -0
- package/dist/props/index.mjs.map +1 -0
- package/dist/props/margin.prop.d.mts +135 -0
- package/dist/props/margin.prop.d.ts +135 -0
- package/dist/props/margin.prop.js +177 -0
- package/dist/props/margin.prop.js.map +1 -0
- package/dist/props/margin.prop.mjs +153 -0
- package/dist/props/margin.prop.mjs.map +1 -0
- package/dist/props/padding.prop.d.mts +135 -0
- package/dist/props/padding.prop.d.ts +135 -0
- package/dist/props/padding.prop.js +169 -0
- package/dist/props/padding.prop.js.map +1 -0
- package/dist/props/padding.prop.mjs +145 -0
- package/dist/props/padding.prop.mjs.map +1 -0
- package/dist/props/prop-def.d.mts +66 -0
- package/dist/props/prop-def.d.ts +66 -0
- package/dist/props/prop-def.js +18 -0
- package/dist/props/prop-def.js.map +1 -0
- package/dist/props/prop-def.mjs +2 -0
- package/dist/props/prop-def.mjs.map +1 -0
- package/dist/props/radius.prop.d.mts +177 -0
- package/dist/props/radius.prop.d.ts +177 -0
- package/dist/props/radius.prop.js +211 -0
- package/dist/props/radius.prop.js.map +1 -0
- package/dist/props/radius.prop.mjs +186 -0
- package/dist/props/radius.prop.mjs.map +1 -0
- package/dist/props/roundness.prop.d.mts +23 -0
- package/dist/props/roundness.prop.d.ts +23 -0
- package/dist/props/roundness.prop.js +48 -0
- package/dist/props/roundness.prop.js.map +1 -0
- package/dist/props/roundness.prop.mjs +23 -0
- package/dist/props/roundness.prop.mjs.map +1 -0
- package/dist/props/size.prop.d.mts +19 -0
- package/dist/props/size.prop.d.ts +19 -0
- package/dist/props/size.prop.js +44 -0
- package/dist/props/size.prop.js.map +1 -0
- package/dist/props/size.prop.mjs +19 -0
- package/dist/props/size.prop.mjs.map +1 -0
- package/dist/props/spacing.prop.d.mts +24 -0
- package/dist/props/spacing.prop.d.ts +24 -0
- package/dist/props/spacing.prop.js +49 -0
- package/dist/props/spacing.prop.js.map +1 -0
- package/dist/props/spacing.prop.mjs +24 -0
- package/dist/props/spacing.prop.mjs.map +1 -0
- package/dist/utils/filter-children.d.mts +50 -0
- package/dist/utils/filter-children.d.ts +50 -0
- package/dist/utils/filter-children.js +121 -0
- package/dist/utils/filter-children.js.map +1 -0
- package/dist/utils/filter-children.mjs +86 -0
- package/dist/utils/filter-children.mjs.map +1 -0
- package/dist/utils/get-component-props.d.mts +14 -0
- package/dist/utils/get-component-props.d.ts +14 -0
- package/dist/utils/get-component-props.js +126 -0
- package/dist/utils/get-component-props.js.map +1 -0
- package/dist/utils/get-component-props.mjs +92 -0
- package/dist/utils/get-component-props.mjs.map +1 -0
- package/dist/utils/get-props.d.mts +29 -0
- package/dist/utils/get-props.d.ts +29 -0
- package/dist/utils/get-props.js +17 -0
- package/dist/utils/get-props.js.map +1 -0
- package/dist/utils/get-props.mjs +1 -0
- package/dist/utils/get-props.mjs.map +1 -0
- package/dist/utils/parse-color.d.mts +14 -0
- package/dist/utils/parse-color.d.ts +14 -0
- package/dist/utils/parse-color.js +49 -0
- package/dist/utils/parse-color.js.map +1 -0
- package/dist/utils/parse-color.mjs +25 -0
- package/dist/utils/parse-color.mjs.map +1 -0
- package/dist/utils/use-controllable-state.d.mts +7 -0
- package/dist/utils/use-controllable-state.d.ts +7 -0
- package/dist/utils/use-controllable-state.js +58 -0
- package/dist/utils/use-controllable-state.js.map +1 -0
- package/dist/utils/use-controllable-state.mjs +24 -0
- package/dist/utils/use-controllable-state.mjs.map +1 -0
- package/package.json +1 -1
- package/dist/index.css.map +0 -1
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import clsx from "clsx";
|
|
4
|
+
import React, { isValidElement, useMemo } from "react";
|
|
5
|
+
import {
|
|
6
|
+
MarginPropDefs,
|
|
7
|
+
SizePropDef
|
|
8
|
+
} from "../../../props";
|
|
9
|
+
import {
|
|
10
|
+
filterChildren,
|
|
11
|
+
matchesComponent
|
|
12
|
+
} from "../../../utils/filter-children";
|
|
13
|
+
import { getComponentProps } from "../../../utils/get-component-props";
|
|
14
|
+
import {
|
|
15
|
+
ProgressBarFill
|
|
16
|
+
} from "../fill/progress-bar-fill";
|
|
17
|
+
import { ProgressBarContext } from "../progress-bar-context";
|
|
18
|
+
import {
|
|
19
|
+
ProgressBarRootPropsDefs
|
|
20
|
+
} from "./progress-bar-root.props";
|
|
21
|
+
const ALLOWED_CHILDREN = [ProgressBarFill.displayName];
|
|
22
|
+
const ProgressBarRoot = (props) => {
|
|
23
|
+
const { value, size, color, variant, className, dataAttrs, ...rest } = getComponentProps(
|
|
24
|
+
props,
|
|
25
|
+
ProgressBarRootPropsDefs,
|
|
26
|
+
MarginPropDefs,
|
|
27
|
+
SizePropDef
|
|
28
|
+
);
|
|
29
|
+
const validChildren = filterChildren(props.children, ALLOWED_CHILDREN, {
|
|
30
|
+
parentDisplayName: ProgressBarRoot.displayName,
|
|
31
|
+
allowedTypes: [ProgressBarFill]
|
|
32
|
+
});
|
|
33
|
+
const { fills, totalValue } = useMemo(() => {
|
|
34
|
+
const fills2 = validChildren.filter(
|
|
35
|
+
(child) => isValidElement(child) && matchesComponent(child.type, ProgressBarFill)
|
|
36
|
+
);
|
|
37
|
+
if (fills2.length > 0) {
|
|
38
|
+
const totalValue2 = fills2.reduce(
|
|
39
|
+
(sum, child) => sum + (isValidElement(child) ? child.props.value ?? 0 : 0),
|
|
40
|
+
0
|
|
41
|
+
);
|
|
42
|
+
return {
|
|
43
|
+
fills: fills2,
|
|
44
|
+
totalValue: totalValue2
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
fills: [/* @__PURE__ */ jsx(ProgressBarFill, { color, value })],
|
|
49
|
+
totalValue: value ?? 0
|
|
50
|
+
};
|
|
51
|
+
}, [validChildren, color, value]);
|
|
52
|
+
return /* @__PURE__ */ jsx(ProgressBarContext.Provider, { value: { color, variant, totalValue }, children: /* @__PURE__ */ jsx(
|
|
53
|
+
"div",
|
|
54
|
+
{
|
|
55
|
+
"data-size": size,
|
|
56
|
+
"data-color": color,
|
|
57
|
+
"data-variant": variant,
|
|
58
|
+
className: clsx("progress-bar-root", className),
|
|
59
|
+
...dataAttrs,
|
|
60
|
+
...rest,
|
|
61
|
+
children: fills.map((fill, index) => /* @__PURE__ */ jsx(React.Fragment, { children: fill }, index))
|
|
62
|
+
}
|
|
63
|
+
) });
|
|
64
|
+
};
|
|
65
|
+
ProgressBarRoot.displayName = "ProgressBar.Root";
|
|
66
|
+
export {
|
|
67
|
+
ProgressBarRoot
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=progress-bar-root.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/progress-bar/root/progress-bar-root.tsx"],"sourcesContent":["\"use client\";\n\nimport clsx from \"clsx\";\nimport React, { FC, HTMLAttributes, isValidElement, useMemo } from \"react\";\nimport {\n ColorProp,\n MarginPropDefs,\n MarginProps,\n SizeProp,\n SizePropDef,\n} from \"../../../props\";\nimport {\n filterChildren,\n matchesComponent,\n WithOptionalStrictChildren,\n} from \"../../../utils/filter-children\";\nimport { getComponentProps } from \"../../../utils/get-component-props\";\nimport {\n ProgressBarFill,\n ProgressBarFillProps,\n} from \"../fill/progress-bar-fill\";\nimport { ProgressBarContext } from \"../progress-bar-context\";\nimport {\n ProgressBarRootInternalProps,\n ProgressBarRootPropsDefs,\n} from \"./progress-bar-root.props\";\n\ninterface AllProgressBarRootProps\n extends ProgressBarRootInternalProps, ColorProp, MarginProps, SizeProp {}\n\nconst ALLOWED_CHILDREN = [ProgressBarFill.displayName!];\n\ntype ProgressBarRootProps = AllProgressBarRootProps &\n WithOptionalStrictChildren<\n HTMLAttributes<HTMLDivElement>,\n ProgressBarFillProps\n >;\n\nconst ProgressBarRoot: FC<ProgressBarRootProps> = (props) => {\n const { value, size, color, variant, className, dataAttrs, ...rest } =\n getComponentProps(\n props,\n ProgressBarRootPropsDefs,\n MarginPropDefs,\n SizePropDef,\n );\n\n const validChildren = filterChildren(props.children, ALLOWED_CHILDREN, {\n parentDisplayName: ProgressBarRoot.displayName,\n allowedTypes: [ProgressBarFill],\n });\n\n const { fills, totalValue } = useMemo(() => {\n const fills = validChildren.filter(\n (child) =>\n isValidElement(child) && matchesComponent(child.type, ProgressBarFill),\n );\n\n if (fills.length > 0) {\n const totalValue = fills.reduce<number>(\n (sum, child) =>\n sum +\n (isValidElement(child)\n ? ((child.props as ProgressBarFillProps).value ?? 0)\n : 0),\n 0,\n );\n\n return {\n fills,\n totalValue,\n };\n }\n\n return {\n fills: [<ProgressBarFill color={color} value={value} />],\n totalValue: value ?? 0,\n };\n }, [validChildren, color, value]);\n\n return (\n <ProgressBarContext.Provider value={{ color, variant, totalValue }}>\n <div\n data-size={size}\n data-color={color}\n data-variant={variant}\n className={clsx(\"progress-bar-root\", className)}\n {...dataAttrs}\n {...rest}\n >\n {fills.map((fill, index) => (\n <React.Fragment key={index}>{fill}</React.Fragment>\n ))}\n </div>\n </ProgressBarContext.Provider>\n );\n};\nProgressBarRoot.displayName = \"ProgressBar.Root\";\n\nexport { AllProgressBarRootProps, ProgressBarRoot, ProgressBarRootProps };\n"],"mappings":";AA2Ec;AAzEd,OAAO,UAAU;AACjB,OAAO,SAA6B,gBAAgB,eAAe;AACnE;AAAA,EAEE;AAAA,EAGA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP,SAAS,yBAAyB;AAClC;AAAA,EACE;AAAA,OAEK;AACP,SAAS,0BAA0B;AACnC;AAAA,EAEE;AAAA,OACK;AAKP,MAAM,mBAAmB,CAAC,gBAAgB,WAAY;AAQtD,MAAM,kBAA4C,CAAC,UAAU;AAC3D,QAAM,EAAE,OAAO,MAAM,OAAO,SAAS,WAAW,WAAW,GAAG,KAAK,IACjE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEF,QAAM,gBAAgB,eAAe,MAAM,UAAU,kBAAkB;AAAA,IACrE,mBAAmB,gBAAgB;AAAA,IACnC,cAAc,CAAC,eAAe;AAAA,EAChC,CAAC;AAED,QAAM,EAAE,OAAO,WAAW,IAAI,QAAQ,MAAM;AAC1C,UAAMA,SAAQ,cAAc;AAAA,MAC1B,CAAC,UACC,eAAe,KAAK,KAAK,iBAAiB,MAAM,MAAM,eAAe;AAAA,IACzE;AAEA,QAAIA,OAAM,SAAS,GAAG;AACpB,YAAMC,cAAaD,OAAM;AAAA,QACvB,CAAC,KAAK,UACJ,OACC,eAAe,KAAK,IACf,MAAM,MAA+B,SAAS,IAChD;AAAA,QACN;AAAA,MACF;AAEA,aAAO;AAAA,QACL,OAAAA;AAAA,QACA,YAAAC;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,MACL,OAAO,CAAC,oBAAC,mBAAgB,OAAc,OAAc,CAAE;AAAA,MACvD,YAAY,SAAS;AAAA,IACvB;AAAA,EACF,GAAG,CAAC,eAAe,OAAO,KAAK,CAAC;AAEhC,SACE,oBAAC,mBAAmB,UAAnB,EAA4B,OAAO,EAAE,OAAO,SAAS,WAAW,GAC/D;AAAA,IAAC;AAAA;AAAA,MACC,aAAW;AAAA,MACX,cAAY;AAAA,MACZ,gBAAc;AAAA,MACd,WAAW,KAAK,qBAAqB,SAAS;AAAA,MAC7C,GAAG;AAAA,MACH,GAAG;AAAA,MAEH,gBAAM,IAAI,CAAC,MAAM,UAChB,oBAAC,MAAM,UAAN,EAA4B,kBAAR,KAAa,CACnC;AAAA;AAAA,EACH,GACF;AAEJ;AACA,gBAAgB,cAAc;","names":["fills","totalValue"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { GetPropDefTypes } from '../../../props/prop-def.mjs';
|
|
2
|
+
|
|
3
|
+
declare const ProgressBarVariants: readonly ["solid", "outlined", "muted"];
|
|
4
|
+
declare const ProgressBarRootPropsDefs: {
|
|
5
|
+
/**
|
|
6
|
+
* Sets the variant style of the progress bar ("solid", "outlined", or "muted").
|
|
7
|
+
*/
|
|
8
|
+
readonly variant: {
|
|
9
|
+
type: "enum";
|
|
10
|
+
values: readonly ["solid", "outlined", "muted"];
|
|
11
|
+
dataAttr: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* The value of the progress bar (filled state).
|
|
15
|
+
* Should be a number between 0 and 1 representing the percentage of completion.
|
|
16
|
+
*/
|
|
17
|
+
readonly value: {
|
|
18
|
+
type: "number";
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
type ProgressBarRootInternalProps = GetPropDefTypes<typeof ProgressBarRootPropsDefs>;
|
|
22
|
+
|
|
23
|
+
export { type ProgressBarRootInternalProps, ProgressBarRootPropsDefs, ProgressBarVariants };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { GetPropDefTypes } from '../../../props/prop-def.js';
|
|
2
|
+
|
|
3
|
+
declare const ProgressBarVariants: readonly ["solid", "outlined", "muted"];
|
|
4
|
+
declare const ProgressBarRootPropsDefs: {
|
|
5
|
+
/**
|
|
6
|
+
* Sets the variant style of the progress bar ("solid", "outlined", or "muted").
|
|
7
|
+
*/
|
|
8
|
+
readonly variant: {
|
|
9
|
+
type: "enum";
|
|
10
|
+
values: readonly ["solid", "outlined", "muted"];
|
|
11
|
+
dataAttr: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* The value of the progress bar (filled state).
|
|
15
|
+
* Should be a number between 0 and 1 representing the percentage of completion.
|
|
16
|
+
*/
|
|
17
|
+
readonly value: {
|
|
18
|
+
type: "number";
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
type ProgressBarRootInternalProps = GetPropDefTypes<typeof ProgressBarRootPropsDefs>;
|
|
22
|
+
|
|
23
|
+
export { type ProgressBarRootInternalProps, ProgressBarRootPropsDefs, ProgressBarVariants };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var progress_bar_root_props_exports = {};
|
|
20
|
+
__export(progress_bar_root_props_exports, {
|
|
21
|
+
ProgressBarRootPropsDefs: () => ProgressBarRootPropsDefs,
|
|
22
|
+
ProgressBarVariants: () => ProgressBarVariants
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(progress_bar_root_props_exports);
|
|
25
|
+
const ProgressBarVariants = ["solid", "outlined", "muted"];
|
|
26
|
+
const ProgressBarRootPropsDefs = {
|
|
27
|
+
/**
|
|
28
|
+
* Sets the variant style of the progress bar ("solid", "outlined", or "muted").
|
|
29
|
+
*/
|
|
30
|
+
variant: {
|
|
31
|
+
type: "enum",
|
|
32
|
+
values: ProgressBarVariants,
|
|
33
|
+
dataAttr: "variant"
|
|
34
|
+
},
|
|
35
|
+
/**
|
|
36
|
+
* The value of the progress bar (filled state).
|
|
37
|
+
* Should be a number between 0 and 1 representing the percentage of completion.
|
|
38
|
+
*/
|
|
39
|
+
value: {
|
|
40
|
+
type: "number"
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
44
|
+
0 && (module.exports = {
|
|
45
|
+
ProgressBarRootPropsDefs,
|
|
46
|
+
ProgressBarVariants
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=progress-bar-root.props.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/progress-bar/root/progress-bar-root.props.ts"],"sourcesContent":["import { GetPropDefTypes, PropDef } from \"../../../props/prop-def\";\n\nconst ProgressBarVariants = [\"solid\", \"outlined\", \"muted\"] as const;\n\nconst ProgressBarRootPropsDefs = {\n /**\n * Sets the variant style of the progress bar (\"solid\", \"outlined\", or \"muted\").\n */\n variant: {\n type: \"enum\",\n values: ProgressBarVariants,\n dataAttr: \"variant\",\n } satisfies PropDef<(typeof ProgressBarVariants)[number]>,\n\n /**\n * The value of the progress bar (filled state).\n * Should be a number between 0 and 1 representing the percentage of completion.\n */\n value: {\n type: \"number\",\n } satisfies PropDef<number>,\n} as const;\n\ntype ProgressBarRootInternalProps = GetPropDefTypes<\n typeof ProgressBarRootPropsDefs\n>;\n\nexport {\n ProgressBarRootInternalProps,\n ProgressBarRootPropsDefs,\n ProgressBarVariants,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,MAAM,sBAAsB,CAAC,SAAS,YAAY,OAAO;AAEzD,MAAM,2BAA2B;AAAA;AAAA;AAAA;AAAA,EAI/B,SAAS;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO;AAAA,IACL,MAAM;AAAA,EACR;AACF;","names":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const ProgressBarVariants = ["solid", "outlined", "muted"];
|
|
2
|
+
const ProgressBarRootPropsDefs = {
|
|
3
|
+
/**
|
|
4
|
+
* Sets the variant style of the progress bar ("solid", "outlined", or "muted").
|
|
5
|
+
*/
|
|
6
|
+
variant: {
|
|
7
|
+
type: "enum",
|
|
8
|
+
values: ProgressBarVariants,
|
|
9
|
+
dataAttr: "variant"
|
|
10
|
+
},
|
|
11
|
+
/**
|
|
12
|
+
* The value of the progress bar (filled state).
|
|
13
|
+
* Should be a number between 0 and 1 representing the percentage of completion.
|
|
14
|
+
*/
|
|
15
|
+
value: {
|
|
16
|
+
type: "number"
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
ProgressBarRootPropsDefs,
|
|
21
|
+
ProgressBarVariants
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=progress-bar-root.props.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/progress-bar/root/progress-bar-root.props.ts"],"sourcesContent":["import { GetPropDefTypes, PropDef } from \"../../../props/prop-def\";\n\nconst ProgressBarVariants = [\"solid\", \"outlined\", \"muted\"] as const;\n\nconst ProgressBarRootPropsDefs = {\n /**\n * Sets the variant style of the progress bar (\"solid\", \"outlined\", or \"muted\").\n */\n variant: {\n type: \"enum\",\n values: ProgressBarVariants,\n dataAttr: \"variant\",\n } satisfies PropDef<(typeof ProgressBarVariants)[number]>,\n\n /**\n * The value of the progress bar (filled state).\n * Should be a number between 0 and 1 representing the percentage of completion.\n */\n value: {\n type: \"number\",\n } satisfies PropDef<number>,\n} as const;\n\ntype ProgressBarRootInternalProps = GetPropDefTypes<\n typeof ProgressBarRootPropsDefs\n>;\n\nexport {\n ProgressBarRootInternalProps,\n ProgressBarRootPropsDefs,\n ProgressBarVariants,\n};\n"],"mappings":"AAEA,MAAM,sBAAsB,CAAC,SAAS,YAAY,OAAO;AAEzD,MAAM,2BAA2B;AAAA;AAAA;AAAA;AAAA,EAI/B,SAAS;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO;AAAA,IACL,MAAM;AAAA,EACR;AACF;","names":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { RadiusProps } from '../../../props/radius.prop.mjs';
|
|
3
|
+
import { SpacingProp } from '../../../props/spacing.prop.mjs';
|
|
4
|
+
import { SelectContentInternalProps } from './select-content.props.mjs';
|
|
5
|
+
import '../../../props/prop-def.mjs';
|
|
6
|
+
|
|
7
|
+
interface AllSelectContentProps extends SelectContentInternalProps, RadiusProps, SpacingProp {
|
|
8
|
+
}
|
|
9
|
+
type SelectContentProps = AllSelectContentProps & Omit<React.HTMLAttributes<HTMLDivElement>, "children"> & {
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
};
|
|
12
|
+
declare const SelectContent: React.ForwardRefExoticComponent<AllSelectContentProps & Omit<React.HTMLAttributes<HTMLDivElement>, "children"> & {
|
|
13
|
+
children?: React.ReactNode;
|
|
14
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
15
|
+
|
|
16
|
+
export { type AllSelectContentProps, SelectContent, type SelectContentProps };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { RadiusProps } from '../../../props/radius.prop.js';
|
|
3
|
+
import { SpacingProp } from '../../../props/spacing.prop.js';
|
|
4
|
+
import { SelectContentInternalProps } from './select-content.props.js';
|
|
5
|
+
import '../../../props/prop-def.js';
|
|
6
|
+
|
|
7
|
+
interface AllSelectContentProps extends SelectContentInternalProps, RadiusProps, SpacingProp {
|
|
8
|
+
}
|
|
9
|
+
type SelectContentProps = AllSelectContentProps & Omit<React.HTMLAttributes<HTMLDivElement>, "children"> & {
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
};
|
|
12
|
+
declare const SelectContent: React.ForwardRefExoticComponent<AllSelectContentProps & Omit<React.HTMLAttributes<HTMLDivElement>, "children"> & {
|
|
13
|
+
children?: React.ReactNode;
|
|
14
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
15
|
+
|
|
16
|
+
export { type AllSelectContentProps, SelectContent, type SelectContentProps };
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
var select_content_exports = {};
|
|
31
|
+
__export(select_content_exports, {
|
|
32
|
+
SelectContent: () => SelectContent
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(select_content_exports);
|
|
35
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
+
var import_clsx = __toESM(require("clsx"));
|
|
37
|
+
var React = __toESM(require("react"));
|
|
38
|
+
var import_portal = require("../../portal/portal");
|
|
39
|
+
var import_select_context = require("../select-context");
|
|
40
|
+
var import_user_composed_refs = require("../utils/user-composed-refs");
|
|
41
|
+
var import_select_viewport = require("../viewport/select-viewport");
|
|
42
|
+
const SelectContent = React.forwardRef(
|
|
43
|
+
(props, forwardedRef) => {
|
|
44
|
+
const {
|
|
45
|
+
className,
|
|
46
|
+
children,
|
|
47
|
+
position = "popper",
|
|
48
|
+
side = "bottom",
|
|
49
|
+
offset,
|
|
50
|
+
align = "center",
|
|
51
|
+
...rest
|
|
52
|
+
} = props;
|
|
53
|
+
const context = (0, import_select_context.useSelectContext)();
|
|
54
|
+
const composedRef = (0, import_user_composed_refs.useComposedRefs)(forwardedRef, context.contentRef);
|
|
55
|
+
React.useEffect(() => {
|
|
56
|
+
context.itemValues.current = [];
|
|
57
|
+
}, [context.open]);
|
|
58
|
+
React.useEffect(() => {
|
|
59
|
+
if (!context.open) return;
|
|
60
|
+
const handleClickOutside = (event) => {
|
|
61
|
+
const target = event.target;
|
|
62
|
+
if (context.contentRef.current && !context.contentRef.current.contains(target) && context.triggerRef.current && !context.triggerRef.current.contains(target)) {
|
|
63
|
+
context.onOpenChange(false);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
67
|
+
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
68
|
+
}, [context.open]);
|
|
69
|
+
React.useEffect(() => {
|
|
70
|
+
if (!context.open) return;
|
|
71
|
+
const handleKeyDown = (event) => {
|
|
72
|
+
const items = context.itemValues.current;
|
|
73
|
+
const itemCount = items.length;
|
|
74
|
+
switch (event.key) {
|
|
75
|
+
case "ArrowDown":
|
|
76
|
+
event.preventDefault();
|
|
77
|
+
context.setHighlightedIndex(
|
|
78
|
+
(prev) => prev < itemCount - 1 ? prev + 1 : 0
|
|
79
|
+
);
|
|
80
|
+
break;
|
|
81
|
+
case "ArrowUp":
|
|
82
|
+
event.preventDefault();
|
|
83
|
+
context.setHighlightedIndex(
|
|
84
|
+
(prev) => prev > 0 ? prev - 1 : itemCount - 1
|
|
85
|
+
);
|
|
86
|
+
break;
|
|
87
|
+
case "Tab":
|
|
88
|
+
event.preventDefault();
|
|
89
|
+
if (event.shiftKey) {
|
|
90
|
+
context.setHighlightedIndex(
|
|
91
|
+
(prev) => prev > 0 ? prev - 1 : itemCount - 1
|
|
92
|
+
);
|
|
93
|
+
} else {
|
|
94
|
+
context.setHighlightedIndex(
|
|
95
|
+
(prev) => prev < itemCount - 1 ? prev + 1 : 0
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
break;
|
|
99
|
+
case "Enter":
|
|
100
|
+
case " ":
|
|
101
|
+
event.preventDefault();
|
|
102
|
+
if (context.highlightedIndex >= 0) {
|
|
103
|
+
const selectedValue = items[context.highlightedIndex];
|
|
104
|
+
if (selectedValue) {
|
|
105
|
+
context.onValueChange(selectedValue);
|
|
106
|
+
const displayText = children;
|
|
107
|
+
if (displayText) context.setDisplayValue(displayText);
|
|
108
|
+
context.onOpenChange(false);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
break;
|
|
112
|
+
case "Escape":
|
|
113
|
+
event.preventDefault();
|
|
114
|
+
context.onOpenChange(false);
|
|
115
|
+
context.triggerRef.current?.focus();
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
120
|
+
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
121
|
+
}, [context.open, context.highlightedIndex]);
|
|
122
|
+
const [contentWidth, setContentWidth] = React.useState();
|
|
123
|
+
const labelInside = context.labelPosition === "inside";
|
|
124
|
+
const anchorRef = labelInside ? context.rootRef : context.triggerRef;
|
|
125
|
+
React.useLayoutEffect(() => {
|
|
126
|
+
if (context.open && anchorRef.current) {
|
|
127
|
+
setContentWidth(anchorRef.current.getBoundingClientRect().width);
|
|
128
|
+
}
|
|
129
|
+
}, [context.open, context.labelPosition, anchorRef]);
|
|
130
|
+
if (!context.open) {
|
|
131
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { display: "none" }, "aria-hidden": "true", children });
|
|
132
|
+
}
|
|
133
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
134
|
+
import_portal.Portal.Root,
|
|
135
|
+
{
|
|
136
|
+
open: context.open,
|
|
137
|
+
onOpenChange: context.onOpenChange,
|
|
138
|
+
anchorRef,
|
|
139
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_portal.Portal.Content, { anchored: true, side, align, sideOffset: offset, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
140
|
+
"div",
|
|
141
|
+
{
|
|
142
|
+
ref: composedRef,
|
|
143
|
+
role: "listbox",
|
|
144
|
+
"data-state": context.open ? "open" : "closed",
|
|
145
|
+
"data-side": side,
|
|
146
|
+
"data-align": align,
|
|
147
|
+
"data-trigger-variant": context.triggerVariant,
|
|
148
|
+
className: (0, import_clsx.default)("select-content", className),
|
|
149
|
+
style: { width: contentWidth },
|
|
150
|
+
...rest,
|
|
151
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_select_viewport.SelectViewport, { children })
|
|
152
|
+
}
|
|
153
|
+
) })
|
|
154
|
+
}
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
);
|
|
158
|
+
SelectContent.displayName = "Select.Content";
|
|
159
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
160
|
+
0 && (module.exports = {
|
|
161
|
+
SelectContent
|
|
162
|
+
});
|
|
163
|
+
//# sourceMappingURL=select-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/select/content/select-content.tsx"],"sourcesContent":["\"use client\";\n\nimport clsx from \"clsx\";\nimport * as React from \"react\";\nimport { RadiusProps, SpacingProp } from \"../../../props\";\nimport { Portal } from \"../../portal/portal\";\nimport { useSelectContext } from \"../select-context\";\nimport { useComposedRefs } from \"../utils/user-composed-refs\";\nimport { SelectViewport } from \"../viewport/select-viewport\";\nimport { SelectContentInternalProps } from \"./select-content.props\";\n\ninterface AllSelectContentProps\n extends SelectContentInternalProps, RadiusProps, SpacingProp {}\n\ntype SelectContentProps = AllSelectContentProps &\n Omit<React.HTMLAttributes<HTMLDivElement>, \"children\"> & {\n children?: React.ReactNode;\n };\n\nconst SelectContent = React.forwardRef<HTMLDivElement, SelectContentProps>(\n (props, forwardedRef) => {\n const {\n className,\n children,\n position = \"popper\",\n side = \"bottom\",\n offset,\n align = \"center\",\n ...rest\n } = props;\n const context = useSelectContext();\n\n const composedRef = useComposedRefs(forwardedRef, context.contentRef);\n\n // Reset item values on mount\n React.useEffect(() => {\n context.itemValues.current = [];\n }, [context.open]);\n\n // Handle click outside\n React.useEffect(() => {\n if (!context.open) return;\n\n const handleClickOutside = (event: MouseEvent) => {\n const target = event.target as Node;\n if (\n context.contentRef.current &&\n !context.contentRef.current.contains(target) &&\n context.triggerRef.current &&\n !context.triggerRef.current.contains(target)\n ) {\n context.onOpenChange(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () =>\n document.removeEventListener(\"mousedown\", handleClickOutside);\n }, [context.open]);\n\n // Handle keyboard navigation\n React.useEffect(() => {\n if (!context.open) return;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const items = context.itemValues.current;\n const itemCount = items.length;\n\n switch (event.key) {\n case \"ArrowDown\":\n event.preventDefault();\n context.setHighlightedIndex((prev) =>\n prev < itemCount - 1 ? prev + 1 : 0,\n );\n break;\n case \"ArrowUp\":\n event.preventDefault();\n context.setHighlightedIndex((prev) =>\n prev > 0 ? prev - 1 : itemCount - 1,\n );\n break;\n case \"Tab\":\n event.preventDefault();\n if (event.shiftKey) {\n context.setHighlightedIndex((prev) =>\n prev > 0 ? prev - 1 : itemCount - 1,\n );\n } else {\n context.setHighlightedIndex((prev) =>\n prev < itemCount - 1 ? prev + 1 : 0,\n );\n }\n break;\n case \"Enter\":\n case \" \":\n event.preventDefault();\n if (context.highlightedIndex >= 0) {\n const selectedValue = items[context.highlightedIndex];\n if (selectedValue) {\n context.onValueChange(selectedValue);\n const displayText = children;\n if (displayText) context.setDisplayValue(displayText);\n context.onOpenChange(false);\n }\n }\n break;\n case \"Escape\":\n event.preventDefault();\n context.onOpenChange(false);\n context.triggerRef.current?.focus();\n break;\n }\n };\n\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => document.removeEventListener(\"keydown\", handleKeyDown);\n }, [context.open, context.highlightedIndex]);\n\n const [contentWidth, setContentWidth] = React.useState<\n number | undefined\n >();\n const labelInside = context.labelPosition === \"inside\";\n const anchorRef = labelInside ? context.rootRef : context.triggerRef;\n\n React.useLayoutEffect(() => {\n if (context.open && anchorRef.current) {\n setContentWidth(anchorRef.current.getBoundingClientRect().width);\n }\n }, [context.open, context.labelPosition, anchorRef]);\n\n if (!context.open) {\n return (\n <div style={{ display: \"none\" }} aria-hidden=\"true\">\n {children}\n </div>\n );\n }\n\n return (\n <Portal.Root\n open={context.open}\n onOpenChange={context.onOpenChange}\n anchorRef={anchorRef}\n >\n <Portal.Content anchored side={side} align={align} sideOffset={offset}>\n <div\n ref={composedRef}\n role=\"listbox\"\n data-state={context.open ? \"open\" : \"closed\"}\n data-side={side}\n data-align={align}\n data-trigger-variant={context.triggerVariant}\n className={clsx(\"select-content\", className)}\n style={{ width: contentWidth }}\n {...rest}\n >\n <SelectViewport>{children}</SelectViewport>\n </div>\n </Portal.Content>\n </Portal.Root>\n );\n },\n);\nSelectContent.displayName = \"Select.Content\";\n\nexport { AllSelectContentProps, SelectContent, SelectContentProps };\n"],"mappings":"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","names":["clsx"]}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import clsx from "clsx";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { Portal } from "../../portal/portal";
|
|
6
|
+
import { useSelectContext } from "../select-context";
|
|
7
|
+
import { useComposedRefs } from "../utils/user-composed-refs";
|
|
8
|
+
import { SelectViewport } from "../viewport/select-viewport";
|
|
9
|
+
const SelectContent = React.forwardRef(
|
|
10
|
+
(props, forwardedRef) => {
|
|
11
|
+
const {
|
|
12
|
+
className,
|
|
13
|
+
children,
|
|
14
|
+
position = "popper",
|
|
15
|
+
side = "bottom",
|
|
16
|
+
offset,
|
|
17
|
+
align = "center",
|
|
18
|
+
...rest
|
|
19
|
+
} = props;
|
|
20
|
+
const context = useSelectContext();
|
|
21
|
+
const composedRef = useComposedRefs(forwardedRef, context.contentRef);
|
|
22
|
+
React.useEffect(() => {
|
|
23
|
+
context.itemValues.current = [];
|
|
24
|
+
}, [context.open]);
|
|
25
|
+
React.useEffect(() => {
|
|
26
|
+
if (!context.open) return;
|
|
27
|
+
const handleClickOutside = (event) => {
|
|
28
|
+
const target = event.target;
|
|
29
|
+
if (context.contentRef.current && !context.contentRef.current.contains(target) && context.triggerRef.current && !context.triggerRef.current.contains(target)) {
|
|
30
|
+
context.onOpenChange(false);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
34
|
+
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
35
|
+
}, [context.open]);
|
|
36
|
+
React.useEffect(() => {
|
|
37
|
+
if (!context.open) return;
|
|
38
|
+
const handleKeyDown = (event) => {
|
|
39
|
+
const items = context.itemValues.current;
|
|
40
|
+
const itemCount = items.length;
|
|
41
|
+
switch (event.key) {
|
|
42
|
+
case "ArrowDown":
|
|
43
|
+
event.preventDefault();
|
|
44
|
+
context.setHighlightedIndex(
|
|
45
|
+
(prev) => prev < itemCount - 1 ? prev + 1 : 0
|
|
46
|
+
);
|
|
47
|
+
break;
|
|
48
|
+
case "ArrowUp":
|
|
49
|
+
event.preventDefault();
|
|
50
|
+
context.setHighlightedIndex(
|
|
51
|
+
(prev) => prev > 0 ? prev - 1 : itemCount - 1
|
|
52
|
+
);
|
|
53
|
+
break;
|
|
54
|
+
case "Tab":
|
|
55
|
+
event.preventDefault();
|
|
56
|
+
if (event.shiftKey) {
|
|
57
|
+
context.setHighlightedIndex(
|
|
58
|
+
(prev) => prev > 0 ? prev - 1 : itemCount - 1
|
|
59
|
+
);
|
|
60
|
+
} else {
|
|
61
|
+
context.setHighlightedIndex(
|
|
62
|
+
(prev) => prev < itemCount - 1 ? prev + 1 : 0
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
break;
|
|
66
|
+
case "Enter":
|
|
67
|
+
case " ":
|
|
68
|
+
event.preventDefault();
|
|
69
|
+
if (context.highlightedIndex >= 0) {
|
|
70
|
+
const selectedValue = items[context.highlightedIndex];
|
|
71
|
+
if (selectedValue) {
|
|
72
|
+
context.onValueChange(selectedValue);
|
|
73
|
+
const displayText = children;
|
|
74
|
+
if (displayText) context.setDisplayValue(displayText);
|
|
75
|
+
context.onOpenChange(false);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
break;
|
|
79
|
+
case "Escape":
|
|
80
|
+
event.preventDefault();
|
|
81
|
+
context.onOpenChange(false);
|
|
82
|
+
context.triggerRef.current?.focus();
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
87
|
+
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
88
|
+
}, [context.open, context.highlightedIndex]);
|
|
89
|
+
const [contentWidth, setContentWidth] = React.useState();
|
|
90
|
+
const labelInside = context.labelPosition === "inside";
|
|
91
|
+
const anchorRef = labelInside ? context.rootRef : context.triggerRef;
|
|
92
|
+
React.useLayoutEffect(() => {
|
|
93
|
+
if (context.open && anchorRef.current) {
|
|
94
|
+
setContentWidth(anchorRef.current.getBoundingClientRect().width);
|
|
95
|
+
}
|
|
96
|
+
}, [context.open, context.labelPosition, anchorRef]);
|
|
97
|
+
if (!context.open) {
|
|
98
|
+
return /* @__PURE__ */ jsx("div", { style: { display: "none" }, "aria-hidden": "true", children });
|
|
99
|
+
}
|
|
100
|
+
return /* @__PURE__ */ jsx(
|
|
101
|
+
Portal.Root,
|
|
102
|
+
{
|
|
103
|
+
open: context.open,
|
|
104
|
+
onOpenChange: context.onOpenChange,
|
|
105
|
+
anchorRef,
|
|
106
|
+
children: /* @__PURE__ */ jsx(Portal.Content, { anchored: true, side, align, sideOffset: offset, children: /* @__PURE__ */ jsx(
|
|
107
|
+
"div",
|
|
108
|
+
{
|
|
109
|
+
ref: composedRef,
|
|
110
|
+
role: "listbox",
|
|
111
|
+
"data-state": context.open ? "open" : "closed",
|
|
112
|
+
"data-side": side,
|
|
113
|
+
"data-align": align,
|
|
114
|
+
"data-trigger-variant": context.triggerVariant,
|
|
115
|
+
className: clsx("select-content", className),
|
|
116
|
+
style: { width: contentWidth },
|
|
117
|
+
...rest,
|
|
118
|
+
children: /* @__PURE__ */ jsx(SelectViewport, { children })
|
|
119
|
+
}
|
|
120
|
+
) })
|
|
121
|
+
}
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
);
|
|
125
|
+
SelectContent.displayName = "Select.Content";
|
|
126
|
+
export {
|
|
127
|
+
SelectContent
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=select-content.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/select/content/select-content.tsx"],"sourcesContent":["\"use client\";\n\nimport clsx from \"clsx\";\nimport * as React from \"react\";\nimport { RadiusProps, SpacingProp } from \"../../../props\";\nimport { Portal } from \"../../portal/portal\";\nimport { useSelectContext } from \"../select-context\";\nimport { useComposedRefs } from \"../utils/user-composed-refs\";\nimport { SelectViewport } from \"../viewport/select-viewport\";\nimport { SelectContentInternalProps } from \"./select-content.props\";\n\ninterface AllSelectContentProps\n extends SelectContentInternalProps, RadiusProps, SpacingProp {}\n\ntype SelectContentProps = AllSelectContentProps &\n Omit<React.HTMLAttributes<HTMLDivElement>, \"children\"> & {\n children?: React.ReactNode;\n };\n\nconst SelectContent = React.forwardRef<HTMLDivElement, SelectContentProps>(\n (props, forwardedRef) => {\n const {\n className,\n children,\n position = \"popper\",\n side = \"bottom\",\n offset,\n align = \"center\",\n ...rest\n } = props;\n const context = useSelectContext();\n\n const composedRef = useComposedRefs(forwardedRef, context.contentRef);\n\n // Reset item values on mount\n React.useEffect(() => {\n context.itemValues.current = [];\n }, [context.open]);\n\n // Handle click outside\n React.useEffect(() => {\n if (!context.open) return;\n\n const handleClickOutside = (event: MouseEvent) => {\n const target = event.target as Node;\n if (\n context.contentRef.current &&\n !context.contentRef.current.contains(target) &&\n context.triggerRef.current &&\n !context.triggerRef.current.contains(target)\n ) {\n context.onOpenChange(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () =>\n document.removeEventListener(\"mousedown\", handleClickOutside);\n }, [context.open]);\n\n // Handle keyboard navigation\n React.useEffect(() => {\n if (!context.open) return;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const items = context.itemValues.current;\n const itemCount = items.length;\n\n switch (event.key) {\n case \"ArrowDown\":\n event.preventDefault();\n context.setHighlightedIndex((prev) =>\n prev < itemCount - 1 ? prev + 1 : 0,\n );\n break;\n case \"ArrowUp\":\n event.preventDefault();\n context.setHighlightedIndex((prev) =>\n prev > 0 ? prev - 1 : itemCount - 1,\n );\n break;\n case \"Tab\":\n event.preventDefault();\n if (event.shiftKey) {\n context.setHighlightedIndex((prev) =>\n prev > 0 ? prev - 1 : itemCount - 1,\n );\n } else {\n context.setHighlightedIndex((prev) =>\n prev < itemCount - 1 ? prev + 1 : 0,\n );\n }\n break;\n case \"Enter\":\n case \" \":\n event.preventDefault();\n if (context.highlightedIndex >= 0) {\n const selectedValue = items[context.highlightedIndex];\n if (selectedValue) {\n context.onValueChange(selectedValue);\n const displayText = children;\n if (displayText) context.setDisplayValue(displayText);\n context.onOpenChange(false);\n }\n }\n break;\n case \"Escape\":\n event.preventDefault();\n context.onOpenChange(false);\n context.triggerRef.current?.focus();\n break;\n }\n };\n\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => document.removeEventListener(\"keydown\", handleKeyDown);\n }, [context.open, context.highlightedIndex]);\n\n const [contentWidth, setContentWidth] = React.useState<\n number | undefined\n >();\n const labelInside = context.labelPosition === \"inside\";\n const anchorRef = labelInside ? context.rootRef : context.triggerRef;\n\n React.useLayoutEffect(() => {\n if (context.open && anchorRef.current) {\n setContentWidth(anchorRef.current.getBoundingClientRect().width);\n }\n }, [context.open, context.labelPosition, anchorRef]);\n\n if (!context.open) {\n return (\n <div style={{ display: \"none\" }} aria-hidden=\"true\">\n {children}\n </div>\n );\n }\n\n return (\n <Portal.Root\n open={context.open}\n onOpenChange={context.onOpenChange}\n anchorRef={anchorRef}\n >\n <Portal.Content anchored side={side} align={align} sideOffset={offset}>\n <div\n ref={composedRef}\n role=\"listbox\"\n data-state={context.open ? \"open\" : \"closed\"}\n data-side={side}\n data-align={align}\n data-trigger-variant={context.triggerVariant}\n className={clsx(\"select-content\", className)}\n style={{ width: contentWidth }}\n {...rest}\n >\n <SelectViewport>{children}</SelectViewport>\n </div>\n </Portal.Content>\n </Portal.Root>\n );\n },\n);\nSelectContent.displayName = \"Select.Content\";\n\nexport { AllSelectContentProps, SelectContent, SelectContentProps };\n"],"mappings":";AAoIQ;AAlIR,OAAO,UAAU;AACjB,YAAY,WAAW;AAEvB,SAAS,cAAc;AACvB,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAChC,SAAS,sBAAsB;AAW/B,MAAM,gBAAgB,MAAM;AAAA,EAC1B,CAAC,OAAO,iBAAiB;AACvB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA,WAAW;AAAA,MACX,OAAO;AAAA,MACP;AAAA,MACA,QAAQ;AAAA,MACR,GAAG;AAAA,IACL,IAAI;AACJ,UAAM,UAAU,iBAAiB;AAEjC,UAAM,cAAc,gBAAgB,cAAc,QAAQ,UAAU;AAGpE,UAAM,UAAU,MAAM;AACpB,cAAQ,WAAW,UAAU,CAAC;AAAA,IAChC,GAAG,CAAC,QAAQ,IAAI,CAAC;AAGjB,UAAM,UAAU,MAAM;AACpB,UAAI,CAAC,QAAQ,KAAM;AAEnB,YAAM,qBAAqB,CAAC,UAAsB;AAChD,cAAM,SAAS,MAAM;AACrB,YACE,QAAQ,WAAW,WACnB,CAAC,QAAQ,WAAW,QAAQ,SAAS,MAAM,KAC3C,QAAQ,WAAW,WACnB,CAAC,QAAQ,WAAW,QAAQ,SAAS,MAAM,GAC3C;AACA,kBAAQ,aAAa,KAAK;AAAA,QAC5B;AAAA,MACF;AAEA,eAAS,iBAAiB,aAAa,kBAAkB;AACzD,aAAO,MACL,SAAS,oBAAoB,aAAa,kBAAkB;AAAA,IAChE,GAAG,CAAC,QAAQ,IAAI,CAAC;AAGjB,UAAM,UAAU,MAAM;AACpB,UAAI,CAAC,QAAQ,KAAM;AAEnB,YAAM,gBAAgB,CAAC,UAAyB;AAC9C,cAAM,QAAQ,QAAQ,WAAW;AACjC,cAAM,YAAY,MAAM;AAExB,gBAAQ,MAAM,KAAK;AAAA,UACjB,KAAK;AACH,kBAAM,eAAe;AACrB,oBAAQ;AAAA,cAAoB,CAAC,SAC3B,OAAO,YAAY,IAAI,OAAO,IAAI;AAAA,YACpC;AACA;AAAA,UACF,KAAK;AACH,kBAAM,eAAe;AACrB,oBAAQ;AAAA,cAAoB,CAAC,SAC3B,OAAO,IAAI,OAAO,IAAI,YAAY;AAAA,YACpC;AACA;AAAA,UACF,KAAK;AACH,kBAAM,eAAe;AACrB,gBAAI,MAAM,UAAU;AAClB,sBAAQ;AAAA,gBAAoB,CAAC,SAC3B,OAAO,IAAI,OAAO,IAAI,YAAY;AAAA,cACpC;AAAA,YACF,OAAO;AACL,sBAAQ;AAAA,gBAAoB,CAAC,SAC3B,OAAO,YAAY,IAAI,OAAO,IAAI;AAAA,cACpC;AAAA,YACF;AACA;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AACH,kBAAM,eAAe;AACrB,gBAAI,QAAQ,oBAAoB,GAAG;AACjC,oBAAM,gBAAgB,MAAM,QAAQ,gBAAgB;AACpD,kBAAI,eAAe;AACjB,wBAAQ,cAAc,aAAa;AACnC,sBAAM,cAAc;AACpB,oBAAI,YAAa,SAAQ,gBAAgB,WAAW;AACpD,wBAAQ,aAAa,KAAK;AAAA,cAC5B;AAAA,YACF;AACA;AAAA,UACF,KAAK;AACH,kBAAM,eAAe;AACrB,oBAAQ,aAAa,KAAK;AAC1B,oBAAQ,WAAW,SAAS,MAAM;AAClC;AAAA,QACJ;AAAA,MACF;AAEA,eAAS,iBAAiB,WAAW,aAAa;AAClD,aAAO,MAAM,SAAS,oBAAoB,WAAW,aAAa;AAAA,IACpE,GAAG,CAAC,QAAQ,MAAM,QAAQ,gBAAgB,CAAC;AAE3C,UAAM,CAAC,cAAc,eAAe,IAAI,MAAM,SAE5C;AACF,UAAM,cAAc,QAAQ,kBAAkB;AAC9C,UAAM,YAAY,cAAc,QAAQ,UAAU,QAAQ;AAE1D,UAAM,gBAAgB,MAAM;AAC1B,UAAI,QAAQ,QAAQ,UAAU,SAAS;AACrC,wBAAgB,UAAU,QAAQ,sBAAsB,EAAE,KAAK;AAAA,MACjE;AAAA,IACF,GAAG,CAAC,QAAQ,MAAM,QAAQ,eAAe,SAAS,CAAC;AAEnD,QAAI,CAAC,QAAQ,MAAM;AACjB,aACE,oBAAC,SAAI,OAAO,EAAE,SAAS,OAAO,GAAG,eAAY,QAC1C,UACH;AAAA,IAEJ;AAEA,WACE;AAAA,MAAC,OAAO;AAAA,MAAP;AAAA,QACC,MAAM,QAAQ;AAAA,QACd,cAAc,QAAQ;AAAA,QACtB;AAAA,QAEA,8BAAC,OAAO,SAAP,EAAe,UAAQ,MAAC,MAAY,OAAc,YAAY,QAC7D;AAAA,UAAC;AAAA;AAAA,YACC,KAAK;AAAA,YACL,MAAK;AAAA,YACL,cAAY,QAAQ,OAAO,SAAS;AAAA,YACpC,aAAW;AAAA,YACX,cAAY;AAAA,YACZ,wBAAsB,QAAQ;AAAA,YAC9B,WAAW,KAAK,kBAAkB,SAAS;AAAA,YAC3C,OAAO,EAAE,OAAO,aAAa;AAAA,YAC5B,GAAG;AAAA,YAEJ,8BAAC,kBAAgB,UAAS;AAAA;AAAA,QAC5B,GACF;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AACA,cAAc,cAAc;","names":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { GetPropDefTypes } from '../../../props/prop-def.mjs';
|
|
2
|
+
|
|
3
|
+
declare const SelectContentPropDefs: {
|
|
4
|
+
readonly position: {
|
|
5
|
+
type: "enum";
|
|
6
|
+
values: readonly ["popper", "inline"];
|
|
7
|
+
default: "popper";
|
|
8
|
+
dataAttr: string;
|
|
9
|
+
};
|
|
10
|
+
readonly side: {
|
|
11
|
+
type: "enum";
|
|
12
|
+
values: readonly ["top", "bottom"];
|
|
13
|
+
default: "bottom";
|
|
14
|
+
dataAttr: string;
|
|
15
|
+
};
|
|
16
|
+
readonly offset: {
|
|
17
|
+
type: "string";
|
|
18
|
+
};
|
|
19
|
+
readonly align: {
|
|
20
|
+
type: "enum";
|
|
21
|
+
values: readonly ["start", "center", "end"];
|
|
22
|
+
default: "center";
|
|
23
|
+
dataAttr: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
type SelectContentInternalProps = GetPropDefTypes<typeof SelectContentPropDefs>;
|
|
27
|
+
|
|
28
|
+
export { type SelectContentInternalProps, SelectContentPropDefs };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { GetPropDefTypes } from '../../../props/prop-def.js';
|
|
2
|
+
|
|
3
|
+
declare const SelectContentPropDefs: {
|
|
4
|
+
readonly position: {
|
|
5
|
+
type: "enum";
|
|
6
|
+
values: readonly ["popper", "inline"];
|
|
7
|
+
default: "popper";
|
|
8
|
+
dataAttr: string;
|
|
9
|
+
};
|
|
10
|
+
readonly side: {
|
|
11
|
+
type: "enum";
|
|
12
|
+
values: readonly ["top", "bottom"];
|
|
13
|
+
default: "bottom";
|
|
14
|
+
dataAttr: string;
|
|
15
|
+
};
|
|
16
|
+
readonly offset: {
|
|
17
|
+
type: "string";
|
|
18
|
+
};
|
|
19
|
+
readonly align: {
|
|
20
|
+
type: "enum";
|
|
21
|
+
values: readonly ["start", "center", "end"];
|
|
22
|
+
default: "center";
|
|
23
|
+
dataAttr: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
type SelectContentInternalProps = GetPropDefTypes<typeof SelectContentPropDefs>;
|
|
27
|
+
|
|
28
|
+
export { type SelectContentInternalProps, SelectContentPropDefs };
|