@justanarthur/modo-ui 0.5.0 → 0.6.0-canary.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/DESIGN.md +608 -0
- package/README.md +61 -39
- package/blocks/sidebar-app/examples.mdx +33 -0
- package/blocks/sidebar-app/index.tsx +218 -0
- package/blocks/sidebar-app/inset-topbar.tsx +25 -0
- package/blocks/sidebar-app/menu-grid.ts +26 -0
- package/blocks/sidebar-app/nav-data.ts +36 -0
- package/blocks/sidebar-app/search-field.tsx +48 -0
- package/blocks/sidebar-app/user-footer.tsx +67 -0
- package/blocks/sidebar-app/workspace-header.tsx +129 -0
- package/components/AI/input-message/examples.mdx +124 -0
- package/components/AI/input-message/file-thumbnail.tsx +173 -0
- package/components/AI/input-message/index.tsx +1383 -0
- package/components/AI/thinking-indicator/examples.mdx +27 -0
- package/components/AI/thinking-indicator/index.tsx +210 -0
- package/components/accordion/examples.mdx +148 -0
- package/components/accordion/index.tsx +1034 -0
- package/components/avatar/examples.mdx +95 -0
- package/components/avatar/index.tsx +129 -0
- package/components/badge/change-demo.tsx +29 -0
- package/components/badge/examples.mdx +120 -0
- package/components/badge/index.tsx +225 -0
- package/components/badge/variants.ts +73 -0
- package/components/button/examples.mdx +164 -0
- package/components/button/index.tsx +416 -0
- package/components/button/loading-demo.tsx +25 -0
- package/components/button/variants.ts +166 -0
- package/components/card/examples.mdx +212 -0
- package/components/card/index.tsx +1037 -0
- package/components/copy/examples.mdx +87 -0
- package/components/copy/index.tsx +482 -0
- package/components/inputs/checkbox/examples.mdx +83 -0
- package/components/inputs/checkbox/index.tsx +611 -0
- package/components/inputs/checkbox/select-all-demo.tsx +48 -0
- package/components/inputs/color-picker/examples.mdx +72 -0
- package/components/inputs/color-picker/index.tsx +1955 -0
- package/components/inputs/color-picker/variants.ts +401 -0
- package/components/inputs/combobox/examples.mdx +273 -0
- package/components/inputs/combobox/index.tsx +1436 -0
- package/components/inputs/combobox/remote-demo.tsx +101 -0
- package/components/inputs/date-time/calendar/examples.mdx +34 -0
- package/components/inputs/date-time/calendar/index.tsx +351 -0
- package/components/inputs/date-time/calendar/use-month-window.ts +163 -0
- package/components/inputs/date-time/date-picker/examples.mdx +166 -0
- package/components/inputs/date-time/date-picker/index.tsx +385 -0
- package/components/inputs/date-time/date-picker/masked-date-input.tsx +336 -0
- package/components/inputs/date-time/date-range-picker/examples.mdx +29 -0
- package/components/inputs/date-time/date-range-picker/index.tsx +217 -0
- package/components/inputs/date-time/duration-picker/examples.mdx +16 -0
- package/components/inputs/date-time/duration-picker/index.tsx +189 -0
- package/components/inputs/date-time/month-picker/examples.mdx +16 -0
- package/components/inputs/date-time/month-picker/index.tsx +190 -0
- package/components/inputs/date-time/picker-shell.tsx +395 -0
- package/components/inputs/date-time/time-columns.tsx +91 -0
- package/components/inputs/date-time/time-picker/examples.mdx +26 -0
- package/components/inputs/date-time/time-picker/index.tsx +166 -0
- package/components/inputs/field/examples.mdx +113 -0
- package/components/inputs/field/index.tsx +267 -0
- package/components/inputs/file-dropzone/examples.mdx +73 -0
- package/components/inputs/file-dropzone/file-row.tsx +201 -0
- package/components/inputs/file-dropzone/index.tsx +296 -0
- package/components/inputs/file-dropzone/upload-demo.tsx +67 -0
- package/components/inputs/file-dropzone/variants.ts +94 -0
- package/components/inputs/input/examples.mdx +135 -0
- package/components/inputs/input/index.tsx +494 -0
- package/components/inputs/input/password-demo.tsx +30 -0
- package/components/inputs/label/examples.mdx +67 -0
- package/components/inputs/label/index.tsx +85 -0
- package/components/inputs/number-input/examples.mdx +56 -0
- package/components/inputs/number-input/index.tsx +214 -0
- package/components/inputs/radio/examples.mdx +77 -0
- package/components/inputs/radio/index.tsx +636 -0
- package/components/inputs/search/examples.mdx +74 -0
- package/components/inputs/search/index.tsx +333 -0
- package/components/inputs/select/examples.mdx +218 -0
- package/components/inputs/select/index.tsx +862 -0
- package/components/inputs/select/variants.ts +32 -0
- package/components/inputs/slider/examples.mdx +127 -0
- package/components/inputs/slider/index.tsx +1725 -0
- package/components/inputs/switch/examples.mdx +94 -0
- package/components/inputs/switch/index.tsx +504 -0
- package/components/inputs/textarea/examples.mdx +88 -0
- package/components/inputs/textarea/index.tsx +161 -0
- package/components/navigation/navigation-menu/examples.mdx +109 -0
- package/components/navigation/navigation-menu/index.tsx +613 -0
- package/components/navigation/pagination/examples.mdx +64 -0
- package/components/navigation/pagination/index.tsx +395 -0
- package/components/navigation/sidebar/examples.mdx +319 -0
- package/components/navigation/sidebar/index.tsx +453 -0
- package/components/navigation/sidebar/sidebar-core.tsx +1408 -0
- package/components/navigation/sidebar/sidebar-menu.tsx +1495 -0
- package/components/navigation/sidebar/sidebar.css +74 -0
- package/components/navigation/sidebar/variants.ts +55 -0
- package/components/navigation/tabs/examples.mdx +89 -0
- package/components/navigation/tabs/index.tsx +494 -0
- package/components/navigation/tabs-subtle/examples.mdx +49 -0
- package/components/navigation/tabs-subtle/index.tsx +512 -0
- package/components/overlays/alert-dialog/examples.mdx +123 -0
- package/components/overlays/alert-dialog/index.tsx +258 -0
- package/components/overlays/alert-dialog/pending-demo.tsx +36 -0
- package/components/overlays/command/examples.mdx +113 -0
- package/components/overlays/command/index.tsx +416 -0
- package/components/overlays/context-menu/examples.mdx +56 -0
- package/components/overlays/context-menu/index.tsx +279 -0
- package/components/overlays/dialog/examples.mdx +144 -0
- package/components/overlays/dialog/index.tsx +366 -0
- package/components/overlays/dropdown/dropdown-search.tsx +395 -0
- package/components/overlays/dropdown/examples.mdx +294 -0
- package/components/overlays/dropdown/index.tsx +1168 -0
- package/components/overlays/dropdown/menu-item.tsx +464 -0
- package/components/overlays/dropdown/menu-parts.tsx +660 -0
- package/components/overlays/popover/anchored-demo.tsx +59 -0
- package/components/overlays/popover/examples.mdx +180 -0
- package/components/overlays/popover/index.tsx +315 -0
- package/components/overlays/preview-card/examples.mdx +61 -0
- package/components/overlays/preview-card/index.tsx +204 -0
- package/components/overlays/sheet/examples.mdx +89 -0
- package/components/overlays/sheet/index.tsx +247 -0
- package/components/overlays/toast/examples.mdx +68 -0
- package/components/overlays/toast/global-demo.tsx +72 -0
- package/components/overlays/toast/index.tsx +474 -0
- package/components/overlays/toast/manager.ts +193 -0
- package/components/overlays/tooltip/examples.mdx +106 -0
- package/components/overlays/tooltip/index.tsx +519 -0
- package/components/progress/examples.mdx +59 -0
- package/components/progress/index.tsx +174 -0
- package/components/progress/progress.css +49 -0
- package/components/progress/step-demo.tsx +27 -0
- package/components/table/examples.mdx +184 -0
- package/components/table/index.tsx +510 -0
- package/components/table/sort-demo.tsx +61 -0
- package/dist/base.css +100 -0
- package/dist/blocks/sidebar-app/index.js +39 -26
- package/dist/components/AI/input-message/index.js +22 -16
- package/dist/components/AI/thinking-indicator/index.js +9 -6
- package/dist/components/accordion/index.js +16 -13
- package/dist/components/avatar/index.d.ts +46 -0
- package/dist/components/avatar/index.js +18 -0
- package/dist/components/badge/index.d.ts +18 -11
- package/dist/components/badge/index.js +11 -7
- package/dist/components/badge/variants.d.ts +33 -0
- package/dist/components/badge/variants.js +10 -0
- package/dist/components/button/index.d.ts +53 -17
- package/dist/components/button/index.js +10 -6
- package/dist/components/button/variants.d.ts +39 -0
- package/dist/components/button/variants.js +8 -0
- package/dist/components/card/index.d.ts +16 -3
- package/dist/components/card/index.js +16 -11
- package/dist/components/copy/index.js +13 -9
- package/dist/components/inputs/checkbox/index.d.ts +28 -9
- package/dist/components/inputs/checkbox/index.js +17 -13
- package/dist/components/inputs/color-picker/index.d.ts +13 -13
- package/dist/components/inputs/color-picker/index.js +25 -18
- package/dist/components/inputs/color-picker/variants.d.ts +61 -0
- package/dist/components/inputs/color-picker/variants.js +28 -0
- package/dist/components/inputs/combobox/index.d.ts +60 -17
- package/dist/components/inputs/combobox/index.js +26 -18
- package/dist/components/inputs/date-time/calendar/index.js +14 -11
- package/dist/components/inputs/date-time/date-picker/index.d.ts +53 -11
- package/dist/components/inputs/date-time/date-picker/index.js +33 -25
- package/dist/components/inputs/date-time/date-range-picker/index.d.ts +3 -3
- package/dist/components/inputs/date-time/date-range-picker/index.js +32 -24
- package/dist/components/inputs/date-time/duration-picker/index.d.ts +3 -3
- package/dist/components/inputs/date-time/duration-picker/index.js +32 -24
- package/dist/components/inputs/date-time/month-picker/index.d.ts +3 -3
- package/dist/components/inputs/date-time/month-picker/index.js +31 -23
- package/dist/components/inputs/date-time/time-picker/index.d.ts +3 -3
- package/dist/components/inputs/date-time/time-picker/index.js +32 -24
- package/dist/components/inputs/field/index.d.ts +116 -0
- package/dist/components/inputs/field/index.js +28 -0
- package/dist/components/inputs/file-dropzone/index.d.ts +165 -0
- package/dist/components/inputs/file-dropzone/index.js +32 -0
- package/dist/components/inputs/file-dropzone/variants.d.ts +35 -0
- package/dist/components/inputs/file-dropzone/variants.js +12 -0
- package/dist/components/inputs/input/index.d.ts +95 -13
- package/dist/components/inputs/input/index.js +17 -9
- package/dist/components/inputs/label/index.d.ts +32 -0
- package/dist/components/inputs/label/index.js +11 -0
- package/dist/components/inputs/number-input/index.d.ts +84 -0
- package/dist/components/inputs/number-input/index.js +20 -0
- package/dist/components/inputs/radio/index.d.ts +20 -5
- package/dist/components/inputs/radio/index.js +15 -12
- package/dist/components/inputs/search/index.js +25 -18
- package/dist/components/inputs/select/index.d.ts +41 -11
- package/dist/components/inputs/select/index.js +27 -14
- package/dist/components/inputs/select/variants.d.ts +5 -0
- package/dist/components/inputs/select/variants.js +6 -0
- package/dist/components/inputs/slider/index.js +7 -5
- package/dist/components/inputs/switch/index.d.ts +8 -2
- package/dist/components/inputs/switch/index.js +14 -12
- package/dist/components/inputs/textarea/index.d.ts +4 -0
- package/dist/components/inputs/textarea/index.js +8 -6
- package/dist/components/navigation/navigation-menu/index.d.ts +114 -0
- package/dist/components/navigation/navigation-menu/index.js +40 -0
- package/dist/components/navigation/pagination/index.d.ts +73 -0
- package/dist/components/navigation/pagination/index.js +39 -0
- package/dist/components/navigation/sidebar/index.d.ts +44 -21
- package/dist/components/navigation/sidebar/index.js +41 -31
- package/dist/components/navigation/sidebar/variants.d.ts +25 -0
- package/dist/components/navigation/sidebar/variants.js +28 -0
- package/dist/components/navigation/tabs/index.d.ts +8 -2
- package/dist/components/navigation/tabs/index.js +14 -10
- package/dist/components/navigation/tabs-subtle/index.js +12 -10
- package/dist/components/overlays/alert-dialog/index.d.ts +121 -15
- package/dist/components/overlays/alert-dialog/index.js +22 -13
- package/dist/components/overlays/command/index.js +24 -17
- package/dist/components/overlays/context-menu/index.d.ts +33 -17
- package/dist/components/overlays/context-menu/index.js +27 -18
- package/dist/components/overlays/dialog/index.js +17 -12
- package/dist/components/overlays/dropdown/index.d.ts +257 -31
- package/dist/components/overlays/dropdown/index.js +42 -17
- package/dist/components/overlays/popover/index.d.ts +31 -9
- package/dist/components/overlays/popover/index.js +12 -9
- package/dist/components/overlays/preview-card/index.js +11 -8
- package/dist/components/overlays/sheet/index.js +18 -13
- package/dist/components/overlays/toast/index.d.ts +123 -47
- package/dist/components/overlays/toast/index.js +18 -10
- package/dist/components/overlays/tooltip/index.d.ts +113 -21
- package/dist/components/overlays/tooltip/index.js +15 -6
- package/dist/components/progress/index.d.ts +56 -0
- package/dist/components/progress/index.js +15 -0
- package/dist/components/table/index.d.ts +63 -8
- package/dist/components/table/index.js +19 -9
- package/dist/index.d.ts +2201 -736
- package/dist/index.js +223 -82
- package/dist/lib/date-locale.d.ts +14 -0
- package/dist/lib/date-locale.js +16 -0
- package/dist/lib/field-classes.d.ts +144 -0
- package/dist/lib/field-classes.js +40 -0
- package/dist/lib/field-variants.d.ts +47 -0
- package/dist/lib/field-variants.js +26 -0
- package/dist/lib/fluid-hover-highlight.d.ts +112 -0
- package/dist/lib/fluid-hover-highlight.js +17 -0
- package/dist/lib/focus-ring.d.ts +18 -0
- package/dist/lib/focus-ring.js +10 -0
- package/dist/lib/goo-indicator.d.ts +46 -0
- package/dist/lib/goo-indicator.js +14 -0
- package/dist/lib/icon-context.d.ts +30 -0
- package/dist/lib/icon-context.js +12 -0
- package/dist/lib/inert.d.ts +9 -0
- package/dist/lib/inert.js +8 -0
- package/dist/lib/morph-layers.d.ts +93 -0
- package/dist/lib/morph-layers.js +13 -0
- package/dist/lib/morph-part.d.ts +21 -0
- package/dist/lib/morph-part.js +12 -0
- package/dist/lib/popup.d.ts +20 -0
- package/dist/lib/popup.js +12 -0
- package/dist/lib/reduced-motion.d.ts +9 -0
- package/dist/lib/reduced-motion.js +6 -0
- package/dist/lib/row-index.d.ts +10 -0
- package/dist/lib/row-index.js +8 -0
- package/dist/lib/row-order.d.ts +28 -0
- package/dist/lib/row-order.js +10 -0
- package/dist/lib/scroll-column.d.ts +27 -0
- package/dist/lib/scroll-column.js +18 -0
- package/dist/lib/shape-context.d.ts +30 -0
- package/dist/lib/shape-context.js +12 -0
- package/dist/lib/size-context.d.ts +94 -0
- package/dist/lib/size-context.js +20 -0
- package/dist/lib/size-scale.d.ts +79 -0
- package/dist/lib/size-scale.js +8 -0
- package/dist/lib/slot.d.ts +12 -0
- package/dist/lib/slot.js +6 -0
- package/dist/lib/springs.d.ts +44 -0
- package/dist/lib/springs.js +8 -0
- package/dist/lib/surface-classes.d.ts +19 -0
- package/dist/lib/surface-classes.js +10 -0
- package/dist/lib/surface-context.d.ts +9 -0
- package/dist/lib/surface-context.js +8 -0
- package/dist/lib/use-controllable-state.d.ts +2 -0
- package/dist/lib/use-controllable-state.js +6 -0
- package/dist/lib/use-fluid-hover.d.ts +138 -0
- package/dist/lib/use-fluid-hover.js +14 -0
- package/dist/lib/use-is-mobile.d.ts +2 -0
- package/dist/lib/use-is-mobile.js +6 -0
- package/dist/lib/use-keyboard-nav-gate.d.ts +20 -0
- package/dist/lib/use-keyboard-nav-gate.js +7 -0
- package/dist/lib/use-merge-split.d.ts +47 -0
- package/dist/lib/use-merge-split.js +15 -0
- package/dist/lib/use-morph.d.ts +101 -0
- package/dist/lib/use-morph.js +20 -0
- package/dist/lib/use-touch-primary.d.ts +2 -0
- package/dist/lib/use-touch-primary.js +6 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.js +6 -0
- package/dist/preset.d.ts +17 -0
- package/dist/preset.js +22 -2
- package/dist/primitives/code/index.js +7 -5
- package/dist/primitives/craft/index.js +9 -6
- package/dist/primitives/fluid-hover/index.js +9 -8
- package/dist/primitives/morph/index.js +15 -10
- package/dist/primitives/motion/index.js +10 -8
- package/dist/primitives/scroll-area/index.js +4 -3
- package/dist/primitives/separator/index.d.ts +25 -0
- package/dist/primitives/separator/index.js +9 -0
- package/dist/primitives/sizes/index.js +6 -4
- package/dist/primitives/skeleton/index.d.ts +35 -0
- package/dist/primitives/skeleton/index.js +12 -0
- package/dist/primitives/surface/index.js +6 -4
- package/dist/shared/{components-3mkepka5.js → components-0jmqhx2k.js} +28 -25
- package/dist/shared/components-124epb7f.js +53 -0
- package/dist/shared/{components-gz8zf3ec.js → components-1k0wv53d.js} +15 -43
- package/dist/shared/components-26snnbs9.js +322 -0
- package/dist/shared/{components-2dxkv6zm.js → components-2c0qcfx4.js} +8 -7
- package/dist/shared/{components-473g814w.js → components-2mt9te6d.js} +243 -137
- package/dist/shared/{components-hawvy2qz.js → components-2z48g4fp.js} +9 -30
- package/dist/shared/components-34txk9rj.js +35 -0
- package/dist/shared/components-3h92d94m.js +23 -0
- package/dist/shared/{components-zfnmn5d4.js → components-3sp623ae.js} +36 -31
- package/dist/shared/{components-jwst3vtj.js → components-3wxkjgqn.js} +186 -76
- package/dist/shared/{components-s2bz1xpk.js → components-49bsynbw.js} +8 -5
- package/dist/shared/components-4bwsd46w.js +71 -0
- package/dist/shared/components-4n4f5m3e.js +297 -0
- package/dist/shared/{components-0q0sqfh4.js → components-4y816hwp.js} +27 -49
- package/dist/shared/components-52ngsgca.js +399 -0
- package/dist/shared/{components-y9y0g8er.js → components-52r5763g.js} +22 -19
- package/dist/shared/components-559tf7yb.js +28 -0
- package/dist/shared/components-5mkga9hj.js +440 -0
- package/dist/shared/{components-kwa6mrf9.js → components-5s0nfqvw.js} +14 -9
- package/dist/shared/{components-dk0gjr5a.js → components-60atskhp.js} +19 -18
- package/dist/shared/{components-rr7a6ja9.js → components-658b26nb.js} +21 -18
- package/dist/shared/{components-xxvdw7k1.js → components-65vwfjs6.js} +37 -34
- package/dist/shared/{components-frw34b65.js → components-6j2fh74k.js} +114 -123
- package/dist/shared/components-6zg1yft7.js +167 -0
- package/dist/shared/components-6zng858q.js +53 -0
- package/dist/shared/components-72w4ge68.js +64 -0
- package/dist/shared/{components-cv16mryv.js → components-78x40gee.js} +13 -7
- package/dist/shared/{components-b2wyq2cq.js → components-7d4r7hh1.js} +39 -57
- package/dist/shared/components-7ntvvegr.js +316 -0
- package/dist/shared/components-8nwsqjn8.js +34 -0
- package/dist/shared/{components-5xc2j8jz.js → components-8tt3xbb5.js} +19 -18
- package/dist/shared/{components-vc7vq5nz.js → components-9as3rf68.js} +6 -3
- package/dist/shared/components-9mys9jna.js +255 -0
- package/dist/shared/components-adkarj8n.js +35 -0
- package/dist/shared/{components-b3c5et5b.js → components-ae9fncz4.js} +32 -31
- package/dist/shared/{components-hqeq3w9q.js → components-awra5sff.js} +24 -16
- package/dist/shared/components-b1e239g3.js +28 -0
- package/dist/shared/{components-q5xj5c16.js → components-b1f2bjf1.js} +9 -8
- package/dist/shared/{components-qmmjx1qw.js → components-bn42vq6d.js} +71 -72
- package/dist/shared/components-c96g82th.js +1444 -0
- package/dist/shared/components-c9yr4ed1.js +44 -0
- package/dist/shared/components-d3shbwqq.js +95 -0
- package/dist/shared/{components-jjw69c4c.js → components-dcc02hs2.js} +7 -4
- package/dist/shared/{components-men63rwj.js → components-de99ykt7.js} +3 -2
- package/dist/shared/components-dhgk6mbt.js +16 -0
- package/dist/shared/components-drxrtnp2.js +25 -0
- package/dist/shared/{components-6p8tfcd6.js → components-ds9fqat9.js} +21 -18
- package/dist/shared/{components-mjthm1kf.js → components-egy4tyjt.js} +11 -8
- package/dist/shared/components-f0xfpkhh.js +82 -0
- package/dist/shared/components-f7h57m6t.js +59 -0
- package/dist/shared/{components-d6xtjht3.js → components-fjkpbg6n.js} +33 -30
- package/dist/shared/{components-gc5vtq2f.js → components-gh0qeey3.js} +63 -29
- package/dist/shared/{components-39jq9va1.js → components-gvbapfen.js} +29 -24
- package/dist/shared/{components-5vgpnxgy.js → components-gzesg7hy.js} +19 -16
- package/dist/shared/components-h6p86be3.js +19 -0
- package/dist/shared/components-h83az0bz.js +33 -0
- package/dist/shared/components-jjrj6ymn.js +104 -0
- package/dist/shared/{components-wvp1m52g.js → components-jp5v0m0f.js} +15 -14
- package/dist/shared/{components-zrkzcayz.js → components-jqpefjsn.js} +54 -6
- package/dist/shared/{components-1z6tdadk.js → components-k74j4hwh.js} +20 -17
- package/dist/shared/components-kswxnm3h.js +24 -0
- package/dist/shared/{components-jbbmdr74.js → components-mkkbbgb7.js} +36 -17
- package/dist/shared/{components-pbmqctfa.js → components-mpw667rb.js} +169 -65
- package/dist/shared/{components-s5ngg32c.js → components-paa08427.js} +121 -47
- package/dist/shared/{components-vfbhxf5r.js → components-pd42emw3.js} +6 -5
- package/dist/shared/{components-hw9yk32z.js → components-pmfszv7a.js} +35 -23
- package/dist/shared/{components-chacnk61.js → components-pw06rbxq.js} +19 -19
- package/dist/shared/components-q03cktx8.js +246 -0
- package/dist/shared/{components-kvr7f9hy.js → components-qdm3yh26.js} +19 -10
- package/dist/shared/{components-27nnvrwe.js → components-qs4rkqsj.js} +15 -14
- package/dist/shared/{components-s083f38z.js → components-r6gbmkew.js} +22 -21
- package/dist/shared/{components-ta7shw28.js → components-r8eqs7gz.js} +4 -4
- package/dist/shared/{components-sn1rxx1d.js → components-rm02h9nt.js} +12 -11
- package/dist/shared/{components-c6s6b43g.js → components-rrbpmfx4.js} +3 -2
- package/dist/shared/{components-n7mjr357.js → components-tz1fv35x.js} +3 -2
- package/dist/shared/components-tz4gaf1v.js +23 -0
- package/dist/shared/{components-zx6b6yby.js → components-vf45j12c.js} +4 -18
- package/dist/shared/{components-3ky44908.js → components-vfjc9jzz.js} +2 -3
- package/dist/shared/{components-39vmfq9s.js → components-vsa625vk.js} +21 -20
- package/dist/shared/components-wawnmkph.js +500 -0
- package/dist/shared/components-wktrrb4m.js +38 -0
- package/dist/shared/{components-8snj490h.js → components-wwd363me.js} +78 -32
- package/dist/shared/{components-5pnw8183.js → components-xcwvgcrd.js} +23 -22
- package/dist/shared/components-xdqmt6ed.js +20 -0
- package/dist/shared/{components-h2ajmhwn.js → components-y1w3a6wx.js} +107 -35
- package/dist/shared/{components-ar66gnt0.js → components-y6578b8h.js} +37 -34
- package/dist/shared/{components-59efxjd9.js → components-yhgq0qxx.js} +13 -12
- package/dist/shared/{components-jthe1pwb.js → components-yz84gpkq.js} +101 -404
- package/dist/shared/components-z3v0n0de.js +11 -0
- package/dist/shared/{components-7r3etddy.js → components-z9n19fyk.js} +19 -54
- package/dist/shared/components-zbvjzh1p.js +141 -0
- package/dist/styles.css +241 -16
- package/dist/tailwind.css +13 -0
- package/dist/tokens.css +34 -0
- package/index.ts +60 -0
- package/lib/date-locale.ts +50 -0
- package/lib/field-classes.ts +115 -0
- package/lib/field-variants.ts +117 -0
- package/lib/fluid-hover-highlight.tsx +139 -0
- package/lib/focus-ring.tsx +46 -0
- package/lib/goo-indicator.tsx +261 -0
- package/lib/icon-context.tsx +310 -0
- package/lib/inert.ts +22 -0
- package/lib/morph-layers.tsx +102 -0
- package/lib/morph-part.tsx +49 -0
- package/lib/popup.ts +52 -0
- package/lib/reduced-motion.ts +19 -0
- package/lib/row-index.tsx +29 -0
- package/lib/row-order.tsx +115 -0
- package/lib/scroll-column.tsx +244 -0
- package/lib/shape-context.tsx +124 -0
- package/lib/size-context.tsx +66 -0
- package/lib/size-scale.ts +115 -0
- package/lib/slot.ts +25 -0
- package/lib/springs.ts +62 -0
- package/lib/surface-classes.ts +58 -0
- package/lib/surface-context.tsx +21 -0
- package/lib/use-controllable-state.ts +44 -0
- package/lib/use-fluid-hover.ts +541 -0
- package/lib/use-is-mobile.ts +25 -0
- package/lib/use-keyboard-nav-gate.ts +45 -0
- package/lib/use-merge-split.tsx +209 -0
- package/lib/use-morph.ts +557 -0
- package/lib/use-touch-primary.tsx +43 -0
- package/lib/utils.ts +37 -0
- package/package.json +177 -4
- package/preset.ts +196 -0
- package/primitives/code/examples.mdx +27 -0
- package/primitives/code/index.tsx +80 -0
- package/primitives/craft/demos.tsx +173 -0
- package/primitives/craft/examples.mdx +138 -0
- package/primitives/craft/index.tsx +76 -0
- package/primitives/fluid-hover/examples.mdx +84 -0
- package/primitives/fluid-hover/index.tsx +316 -0
- package/primitives/morph/examples.mdx +135 -0
- package/primitives/morph/index.tsx +192 -0
- package/primitives/motion/examples.mdx +100 -0
- package/primitives/motion/index.tsx +160 -0
- package/primitives/scroll-area/examples.mdx +58 -0
- package/primitives/scroll-area/index.tsx +200 -0
- package/primitives/separator/examples.mdx +30 -0
- package/primitives/separator/index.tsx +53 -0
- package/primitives/sizes/examples.mdx +167 -0
- package/primitives/sizes/index.tsx +89 -0
- package/primitives/skeleton/examples.mdx +51 -0
- package/primitives/skeleton/index.tsx +72 -0
- package/primitives/skeleton/skeleton.css +15 -0
- package/primitives/surface/examples.mdx +173 -0
- package/primitives/surface/index.tsx +109 -0
- package/primitives/surface/surface.css +176 -0
- package/dist/shared/components-0sn7ypjw.js +0 -61
- package/dist/shared/components-1434p1mh.js +0 -123
- package/dist/shared/components-a86dytt0.js +0 -986
- package/dist/shared/components-gf5s6ap9.js +0 -42
- package/dist/shared/components-hyq23phv.js +0 -310
- package/dist/shared/components-ng72k97e.js +0 -128
- package/dist/shared/components-raknhppb.js +0 -64
- package/dist/shared/components-vynjtrk6.js +0 -19
- package/dist/shared/components-wy9jpqny.js +0 -146
- /package/dist/shared/{components-1v7rxytx.js → components-3ey0hzpb.js} +0 -0
- /package/dist/shared/{components-ezxhrmer.js → components-jcnjay5g.js} +0 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { ReactNode as ReactNode2 } from "react";
|
|
2
|
+
type SizeVariant = "default" | "compact";
|
|
3
|
+
/** Framed at rest (`bordered`), or invisible until hovered or focused (`borderless`). */
|
|
4
|
+
type FieldVariant = "bordered" | "borderless";
|
|
5
|
+
import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn } from "react";
|
|
6
|
+
import { RefAttributes as RefAttributes_miuf56 } from "react";
|
|
7
|
+
interface NumberInputProps {
|
|
8
|
+
/** Controlled value; `null` while the field is empty. Pair with `onValueChange`. */
|
|
9
|
+
value?: number | null;
|
|
10
|
+
/** Initial value when uncontrolled. Empty when unset. */
|
|
11
|
+
defaultValue?: number;
|
|
12
|
+
/** Called with the new value as it changes (typing, steppers, arrow keys, scrubbing); `null` when cleared. */
|
|
13
|
+
onValueChange?: (value: number | null) => void;
|
|
14
|
+
/** Called once a change is done: on blur after typing, on release after a stepper press or a scrub. */
|
|
15
|
+
onValueCommitted?: (value: number | null) => void;
|
|
16
|
+
/** Lowest value the steppers, arrow keys and blur clamp to. */
|
|
17
|
+
min?: number;
|
|
18
|
+
/** Highest value the steppers, arrow keys and blur clamp to. */
|
|
19
|
+
max?: number;
|
|
20
|
+
/** Amount a stepper press or an arrow key adds. Defaults to `1`. */
|
|
21
|
+
step?: number;
|
|
22
|
+
/** Amount with Alt held. Defaults to `0.1`. */
|
|
23
|
+
smallStep?: number;
|
|
24
|
+
/** Amount with Shift held. Defaults to `10`. */
|
|
25
|
+
largeStep?: number;
|
|
26
|
+
/** How the value is shown and read back: `Intl.NumberFormat` options, e.g. `{ style: 'currency', currency: 'EUR' }` or `{ style: 'percent' }`. */
|
|
27
|
+
format?: Intl.NumberFormatOptions;
|
|
28
|
+
/** Locale for formatting and parsing (`"sk-SK"` writes `1 234,5`). Defaults to the browser's. */
|
|
29
|
+
locale?: Intl.LocalesArgument;
|
|
30
|
+
/** Placeholder text while empty. */
|
|
31
|
+
placeholder?: string;
|
|
32
|
+
/** Shows the minus and plus buttons. Defaults to `true`. */
|
|
33
|
+
stepper?: boolean;
|
|
34
|
+
/** Turns `startAdornment` into a scrub handle: drag it sideways to change the value. Defaults to `false`. */
|
|
35
|
+
scrub?: boolean;
|
|
36
|
+
/** Lets the mouse wheel change the value while the field is focused and hovered. Defaults to `false`. */
|
|
37
|
+
wheel?: boolean;
|
|
38
|
+
/** Content before the number: a label such as `"W"` (a scrub handle with `scrub`), a currency sign, an icon. */
|
|
39
|
+
startAdornment?: ReactNode2;
|
|
40
|
+
/** Content after the number, before the steppers: a unit such as `"kg"`. */
|
|
41
|
+
endAdornment?: ReactNode2;
|
|
42
|
+
/** Accessible name of the minus button. Defaults to `"Decrease"`. */
|
|
43
|
+
decrementLabel?: string;
|
|
44
|
+
/** Accessible name of the plus button. Defaults to `"Increase"`. */
|
|
45
|
+
incrementLabel?: string;
|
|
46
|
+
/** Names the value when the form is submitted. */
|
|
47
|
+
name?: string;
|
|
48
|
+
/** Id of the input, for a `Label`'s `htmlFor`. Inside a Field it is wired for you. */
|
|
49
|
+
id?: string;
|
|
50
|
+
/** Marks the value required. Defaults to the surrounding Field's `required`. */
|
|
51
|
+
required?: boolean;
|
|
52
|
+
/** Framed at rest, or invisible until hovered or focused. Defaults to `"borderless"`. */
|
|
53
|
+
variant?: FieldVariant;
|
|
54
|
+
/** Marks the value invalid: the field turns destructive and sets `aria-invalid`. Defaults to `false`. */
|
|
55
|
+
invalid?: boolean;
|
|
56
|
+
/** Disables the field and its steppers. Defaults to `false`. */
|
|
57
|
+
disabled?: boolean;
|
|
58
|
+
/** Shows the value without letting it change; the steppers hide. Defaults to `false`. */
|
|
59
|
+
readOnly?: boolean;
|
|
60
|
+
/** Pins the field to one step of the size ladder (36px default, 28px compact). Defaults to the surrounding SizeProvider. */
|
|
61
|
+
size?: SizeVariant;
|
|
62
|
+
/** Classes for the ringed box. */
|
|
63
|
+
className?: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Number field with steppers, formatting and an optional scrub handle.
|
|
67
|
+
*
|
|
68
|
+
* It sits on the same ground as Input: bare at rest (or framed with
|
|
69
|
+
* `variant="bordered"`), a muted wash on hover, the card on focus, a
|
|
70
|
+
* destructive ring when `invalid`. Minus and plus sit inside the ring at the
|
|
71
|
+
* end; holding one repeats, the arrow keys step (Shift for `largeStep`, Alt
|
|
72
|
+
* for `smallStep`), and both stop at `min` / `max`. `format` takes
|
|
73
|
+
* `Intl.NumberFormat` options and `locale` the locale, so a value reads
|
|
74
|
+
* `€1,234.50` or `1 234,5 %` and typing in that form parses back. With
|
|
75
|
+
* `scrub`, the start adornment becomes a handle: drag it sideways to change
|
|
76
|
+
* the value, as in a design tool. The value is a number, or `null` while
|
|
77
|
+
* empty: uncontrolled with `defaultValue`, controlled with `value` +
|
|
78
|
+
* `onValueChange`. Behavior comes from Base UI's NumberField; inside a Field
|
|
79
|
+
* it is labelled and takes the field's state.
|
|
80
|
+
*
|
|
81
|
+
* @example {@include ./examples.mdx}
|
|
82
|
+
*/
|
|
83
|
+
declare const NumberInput: ForwardRefExoticComponent_tcubfn<NumberInputProps & RefAttributes_miuf56<HTMLInputElement>>;
|
|
84
|
+
export { NumberInput, NumberInputProps, NumberInput as default };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
NumberInput2,
|
|
3
|
+
number_input_default
|
|
4
|
+
} from "../../../shared/components-zbvjzh1p.js";
|
|
5
|
+
import"../../../shared/components-y1w3a6wx.js";
|
|
6
|
+
import"../../../shared/components-adkarj8n.js";
|
|
7
|
+
import"../../../shared/components-6zng858q.js";
|
|
8
|
+
import"../../../shared/components-124epb7f.js";
|
|
9
|
+
import"../../../shared/components-jqpefjsn.js";
|
|
10
|
+
import"../../../shared/components-yhgq0qxx.js";
|
|
11
|
+
import"../../../shared/components-dcc02hs2.js";
|
|
12
|
+
import"../../../shared/components-tz1fv35x.js";
|
|
13
|
+
import"../../../shared/components-h83az0bz.js";
|
|
14
|
+
import"../../../shared/components-34txk9rj.js";
|
|
15
|
+
import"../../../shared/components-78x40gee.js";
|
|
16
|
+
import"../../../shared/components-jcnjay5g.js";
|
|
17
|
+
export {
|
|
18
|
+
NumberInput2 as NumberInput,
|
|
19
|
+
number_input_default as default
|
|
20
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ForwardRefExoticComponent, HTMLAttributes, ReactNode, RefAttributes } from "react";
|
|
2
2
|
type SizeVariant = "default" | "compact";
|
|
3
3
|
interface RadioGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, "onSelect" | "defaultValue"> {
|
|
4
|
-
/** `Radio` rows. */
|
|
4
|
+
/** `Radio` rows, or bare radios (no `label`) in a layout of your own (see Bare). */
|
|
5
5
|
children: ReactNode;
|
|
6
6
|
/** Index of the currently selected item. Controlled — pair it with `onSelectedIndexChange` (or per-item `onSelect`). */
|
|
7
7
|
selectedIndex?: number;
|
|
@@ -15,21 +15,29 @@ interface RadioGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, "onSelect
|
|
|
15
15
|
defaultValue?: string;
|
|
16
16
|
/** Called with the selected item's `value` when it changes (value mode). */
|
|
17
17
|
onValueChange?: (value: string) => void;
|
|
18
|
+
/** Disables every radio in the group. Defaults to `false`. */
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
/** Form field name for the selected `value` (value mode): a hidden input carries it. */
|
|
21
|
+
name?: string;
|
|
22
|
+
/** Marks the group required in a form (value mode). Defaults to `false`. */
|
|
23
|
+
required?: boolean;
|
|
18
24
|
/** Pins the group's rows to one step of the size ladder (default 36px, compact 28px). Defaults to the surrounding SizeProvider. */
|
|
19
25
|
size?: SizeVariant;
|
|
20
26
|
}
|
|
21
27
|
declare const RadioGroup: ForwardRefExoticComponent<RadioGroupProps & RefAttributes<HTMLDivElement>>;
|
|
22
28
|
interface RadioProps extends HTMLAttributes<HTMLDivElement> {
|
|
23
|
-
/**
|
|
24
|
-
label
|
|
29
|
+
/** Label beside the circle, any node. Omit it for a bare circle in a layout of your own (see Bare): it then needs a `value`, and a name from `aria-label`, `aria-labelledby` or a `<label htmlFor>` pointing at its `id`. */
|
|
30
|
+
label?: ReactNode;
|
|
25
31
|
/** Position within the `Radio.Group`: the row's `selectedIndex`. Defaults to its order among the group's rows. */
|
|
26
32
|
index?: number;
|
|
27
33
|
/** Whether this item is selected. Defaults to the group's selection. */
|
|
28
34
|
selected?: boolean;
|
|
29
35
|
/** Called when this item is selected (the group's change callbacks fire too). */
|
|
30
36
|
onSelect?: () => void;
|
|
31
|
-
/**
|
|
37
|
+
/** The item's value in a value-mode group, forwarded to the underlying Base UI radio for forms. A bare radio needs one. */
|
|
32
38
|
value?: string;
|
|
39
|
+
/** Dims the radio and ignores presses; the hover and the arrow keys skip it. Defaults to the group's `disabled`. */
|
|
40
|
+
disabled?: boolean;
|
|
33
41
|
}
|
|
34
42
|
type RadioComponent = ForwardRefExoticComponent<RadioProps & RefAttributes<HTMLDivElement>> & {
|
|
35
43
|
Group: typeof RadioGroup;
|
|
@@ -45,12 +53,19 @@ type RadioComponent = ForwardRefExoticComponent<RadioProps & RefAttributes<HTMLD
|
|
|
45
53
|
* its rows in order, so they need no `index`. FF's per-row `selected` /
|
|
46
54
|
* `onSelect` still work and override the group for their row.
|
|
47
55
|
*
|
|
56
|
+
* Without a `label` a radio is just the circle: Base UI's radio, picked by
|
|
57
|
+
* its `value`, named by a `<label htmlFor>` pointing at its `id` or by
|
|
58
|
+
* `aria-label`. Lay bare radios out however you like inside the group (a
|
|
59
|
+
* row with a description, a grid of cards); the group then draws no rows of
|
|
60
|
+
* its own and Base UI moves focus and selection with the arrow keys.
|
|
61
|
+
*
|
|
48
62
|
* Statics:
|
|
49
63
|
* - `Radio.Group` — the list. Select by index — uncontrolled with
|
|
50
64
|
* `defaultSelectedIndex`, controlled with `selectedIndex` +
|
|
51
65
|
* `onSelectedIndexChange` — or by row `value` (`defaultValue` / `value` +
|
|
52
66
|
* `onValueChange`), which also renders Base UI radios for form
|
|
53
|
-
* integration; `
|
|
67
|
+
* integration (`name`, `required`); `disabled` turns every radio off;
|
|
68
|
+
* `size` pins every row to one step of the size ladder.
|
|
54
69
|
*
|
|
55
70
|
* @example {@include ./examples.mdx}
|
|
56
71
|
*/
|
|
@@ -2,18 +2,21 @@ import {
|
|
|
2
2
|
RadioGroup2,
|
|
3
3
|
Radio2,
|
|
4
4
|
radio_default
|
|
5
|
-
} from "../../../shared/components-
|
|
6
|
-
import"../../../shared/components-
|
|
7
|
-
import"../../../shared/components-
|
|
8
|
-
import"../../../shared/components-
|
|
9
|
-
import"../../../shared/components-
|
|
10
|
-
import"../../../shared/components-
|
|
11
|
-
import"../../../shared/components-
|
|
12
|
-
import"../../../shared/components-
|
|
13
|
-
import"../../../shared/components-
|
|
14
|
-
import"../../../shared/components-
|
|
15
|
-
import"../../../shared/components-
|
|
16
|
-
import"../../../shared/components-
|
|
5
|
+
} from "../../../shared/components-mpw667rb.js";
|
|
6
|
+
import"../../../shared/components-r8eqs7gz.js";
|
|
7
|
+
import"../../../shared/components-h6p86be3.js";
|
|
8
|
+
import"../../../shared/components-qdm3yh26.js";
|
|
9
|
+
import"../../../shared/components-pw06rbxq.js";
|
|
10
|
+
import"../../../shared/components-yhgq0qxx.js";
|
|
11
|
+
import"../../../shared/components-awra5sff.js";
|
|
12
|
+
import"../../../shared/components-dcc02hs2.js";
|
|
13
|
+
import"../../../shared/components-tz1fv35x.js";
|
|
14
|
+
import"../../../shared/components-de99ykt7.js";
|
|
15
|
+
import"../../../shared/components-3ey0hzpb.js";
|
|
16
|
+
import"../../../shared/components-h83az0bz.js";
|
|
17
|
+
import"../../../shared/components-34txk9rj.js";
|
|
18
|
+
import"../../../shared/components-78x40gee.js";
|
|
19
|
+
import"../../../shared/components-jcnjay5g.js";
|
|
17
20
|
export {
|
|
18
21
|
Radio2 as Radio,
|
|
19
22
|
RadioGroup2 as RadioGroup,
|
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Search2,
|
|
3
3
|
search_default
|
|
4
|
-
} from "../../../shared/components-
|
|
5
|
-
import"../../../shared/components-
|
|
6
|
-
import"../../../shared/components-
|
|
7
|
-
import"../../../shared/components-
|
|
8
|
-
import"../../../shared/components-
|
|
9
|
-
import"../../../shared/components-
|
|
10
|
-
import"../../../shared/components-
|
|
11
|
-
import"../../../shared/components-
|
|
12
|
-
import"../../../shared/components-
|
|
13
|
-
import"../../../shared/components-
|
|
14
|
-
import"../../../shared/components-
|
|
15
|
-
import"../../../shared/components-
|
|
16
|
-
import"../../../shared/components-
|
|
17
|
-
import"../../../shared/components-
|
|
18
|
-
import"../../../shared/components-
|
|
19
|
-
import"../../../shared/components-
|
|
20
|
-
import"../../../shared/components-
|
|
21
|
-
import"../../../shared/components-
|
|
4
|
+
} from "../../../shared/components-65vwfjs6.js";
|
|
5
|
+
import"../../../shared/components-vsa625vk.js";
|
|
6
|
+
import"../../../shared/components-3sp623ae.js";
|
|
7
|
+
import"../../../shared/components-h6p86be3.js";
|
|
8
|
+
import"../../../shared/components-vf45j12c.js";
|
|
9
|
+
import"../../../shared/components-dhgk6mbt.js";
|
|
10
|
+
import"../../../shared/components-vfjc9jzz.js";
|
|
11
|
+
import"../../../shared/components-4y816hwp.js";
|
|
12
|
+
import"../../../shared/components-b1e239g3.js";
|
|
13
|
+
import"../../../shared/components-jqpefjsn.js";
|
|
14
|
+
import"../../../shared/components-qdm3yh26.js";
|
|
15
|
+
import"../../../shared/components-pw06rbxq.js";
|
|
16
|
+
import"../../../shared/components-yhgq0qxx.js";
|
|
17
|
+
import"../../../shared/components-awra5sff.js";
|
|
18
|
+
import"../../../shared/components-7d4r7hh1.js";
|
|
19
|
+
import"../../../shared/components-f0xfpkhh.js";
|
|
20
|
+
import"../../../shared/components-tz1fv35x.js";
|
|
21
|
+
import"../../../shared/components-2z48g4fp.js";
|
|
22
|
+
import"../../../shared/components-drxrtnp2.js";
|
|
23
|
+
import"../../../shared/components-de99ykt7.js";
|
|
24
|
+
import"../../../shared/components-3ey0hzpb.js";
|
|
25
|
+
import"../../../shared/components-h83az0bz.js";
|
|
26
|
+
import"../../../shared/components-34txk9rj.js";
|
|
27
|
+
import"../../../shared/components-78x40gee.js";
|
|
28
|
+
import"../../../shared/components-jcnjay5g.js";
|
|
22
29
|
export {
|
|
23
30
|
Search2 as Search,
|
|
24
31
|
search_default as default
|
|
@@ -8,10 +8,13 @@ interface IconComponentProps {
|
|
|
8
8
|
}
|
|
9
9
|
type IconComponent = ComponentType<IconComponentProps>;
|
|
10
10
|
type SizeVariant = "default" | "compact";
|
|
11
|
+
import { ClassProp as ClassProp_wz9o0r } from "class-variance-authority/types";
|
|
12
|
+
declare const triggerVariants: (props?: ({
|
|
13
|
+
variant?: "borderless" | "bordered" | null | undefined;
|
|
14
|
+
} & ClassProp_wz9o0r) | undefined) => string;
|
|
11
15
|
import { JSX as JSX_1kxb2 } from "react";
|
|
12
16
|
import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn } from "react";
|
|
13
17
|
import { RefAttributes as RefAttributes_miuf56 } from "react";
|
|
14
|
-
import { ClassProp as ClassProp_wz9o0r } from "class-variance-authority/types";
|
|
15
18
|
interface SelectProps {
|
|
16
19
|
/** `Select.Trigger` and `Select.Content`. */
|
|
17
20
|
children: ReactNode2;
|
|
@@ -45,18 +48,37 @@ type Element_12xgc2 = JSX_1kxb2["Element"];
|
|
|
45
48
|
* seen; Escape and outside presses close at once. Uncontrolled through
|
|
46
49
|
* `defaultValue`, controlled through `value` + `onValueChange`.
|
|
47
50
|
*
|
|
48
|
-
*
|
|
49
|
-
* Select.
|
|
50
|
-
*
|
|
51
|
-
*
|
|
51
|
+
* Rows need no `index`: they take their place in document order, inside a
|
|
52
|
+
* `Select.Group` or out of a `map`. The trigger shows the picked row's
|
|
53
|
+
* label, whatever node it is (an icon and text, a badge), and a row's
|
|
54
|
+
* `textValue` is what typeahead matches when its children aren't plain text.
|
|
55
|
+
*
|
|
56
|
+
* Statics:
|
|
57
|
+
* - `Select.Trigger` — the field: `variant`, `icon`, `placeholder`, `error`;
|
|
58
|
+
* children replace its value slot (a `Select.Value`).
|
|
59
|
+
* - `Select.Value` — the value slot: the picked row's label, else the muted
|
|
60
|
+
* `placeholder`.
|
|
61
|
+
* - `Select.Content` — the popup: `side`, `align`, `sideOffset` and the morph
|
|
62
|
+
* options `from`, `effect`, `hideSource`, `tier`.
|
|
63
|
+
* - `Select.Item` — one row: `value`, optional `index`, `textValue`, `icon`,
|
|
64
|
+
* `disabled`; its children are the label.
|
|
65
|
+
* - `Select.Group`, `Select.Label`, `Select.Separator` — sections, their
|
|
66
|
+
* captions and hairlines between them.
|
|
52
67
|
*
|
|
53
68
|
* @example {@include ./examples.mdx}
|
|
54
69
|
*/
|
|
55
70
|
declare function Select({ children, value, defaultValue, onValueChange, disabled, name, required, size }: SelectProps): Element_12xgc2;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
71
|
+
interface SelectValueProps {
|
|
72
|
+
/** Shown, muted, while nothing is selected. Defaults to `"Select…"`. */
|
|
73
|
+
placeholder?: ReactNode2;
|
|
74
|
+
/** Extra classes for the value text. */
|
|
75
|
+
className?: string;
|
|
76
|
+
}
|
|
77
|
+
/** The trigger's value slot: the picked row's label (its children), else the muted placeholder. */
|
|
78
|
+
declare function SelectValue({ placeholder, className }: SelectValueProps): Element_12xgc2;
|
|
59
79
|
interface SelectTriggerProps extends Omit<HTMLAttributes<HTMLButtonElement>, "children">, VariantProps<typeof triggerVariants> {
|
|
80
|
+
/** Replaces the built-in value slot, typically with a `Select.Value` (shadcn's `<SelectValue placeholder>`). The icon and chevron stay. */
|
|
81
|
+
children?: ReactNode2;
|
|
60
82
|
/** Visual style of the trigger. Defaults to `"bordered"`. */
|
|
61
83
|
variant?: "bordered" | "borderless";
|
|
62
84
|
/** Optional icon displayed before the value. */
|
|
@@ -80,6 +102,12 @@ interface SelectContentProps {
|
|
|
80
102
|
hideSource?: boolean;
|
|
81
103
|
/** Spring tier of a plain morph, slide or fade; goo runs on its own `spring.goo`. Defaults to `'moderate'`. */
|
|
82
104
|
tier?: "moderate" | "slow";
|
|
105
|
+
/** Side of the trigger the menu prefers; it flips when there is no room. Defaults to `"bottom"`. */
|
|
106
|
+
side?: "top" | "bottom" | "left" | "right";
|
|
107
|
+
/** Alignment against the trigger. Defaults to `"start"`. */
|
|
108
|
+
align?: "start" | "center" | "end";
|
|
109
|
+
/** Gap to the trigger, in px. Ignored when the menu opens in place over the trigger (`effect="morph"` with `hideSource`). Defaults to `6`. */
|
|
110
|
+
sideOffset?: number;
|
|
83
111
|
/** Additional classes for the menu container. */
|
|
84
112
|
className?: string;
|
|
85
113
|
/** `Select.Item`, `Select.Group`, `Select.Label`, `Select.Separator`. */
|
|
@@ -89,10 +117,12 @@ declare const SelectContent: ForwardRefExoticComponent_tcubfn<SelectContentProps
|
|
|
89
117
|
interface SelectItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
90
118
|
/** Optional icon displayed before the label. */
|
|
91
119
|
icon?: IconComponent;
|
|
92
|
-
/** Position
|
|
93
|
-
index
|
|
120
|
+
/** Position among the menu's rows — what fluid hover measures rows by. Defaults to the row's place in document order. */
|
|
121
|
+
index?: number;
|
|
94
122
|
/** Unique value for this option. */
|
|
95
123
|
value: string;
|
|
124
|
+
/** The row's text for typeahead, when its children are not a plain string. */
|
|
125
|
+
textValue?: string;
|
|
96
126
|
/** Disables this individual item. Defaults to `false`. */
|
|
97
127
|
disabled?: boolean;
|
|
98
128
|
/** The row label. A string label is also what the trigger shows for this value. */
|
|
@@ -102,4 +132,4 @@ declare const SelectItem: ForwardRefExoticComponent_tcubfn<SelectItemProps & Ref
|
|
|
102
132
|
declare function SelectGroup({ children, className,...props }: HTMLAttributes<HTMLDivElement>): Element_12xgc2;
|
|
103
133
|
declare const SelectLabel: ForwardRefExoticComponent_tcubfn<HTMLAttributes<HTMLDivElement> & RefAttributes_miuf56<HTMLDivElement>>;
|
|
104
134
|
declare const SelectSeparator: ForwardRefExoticComponent_tcubfn<HTMLAttributes<HTMLDivElement> & RefAttributes_miuf56<HTMLDivElement>>;
|
|
105
|
-
export { Select, SelectContent, SelectContentProps, SelectGroup, SelectItem, SelectItemProps, SelectLabel, SelectProps, SelectSeparator, SelectTrigger, SelectTriggerProps, Select as default, triggerVariants };
|
|
135
|
+
export { Select, SelectContent, SelectContentProps, SelectGroup, SelectItem, SelectItemProps, SelectLabel, SelectProps, SelectSeparator, SelectTrigger, SelectTriggerProps, SelectValue, SelectValueProps, Select as default, triggerVariants };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Select2,
|
|
3
|
-
|
|
3
|
+
SelectValue2,
|
|
4
4
|
SelectTrigger2,
|
|
5
5
|
SelectContent2,
|
|
6
6
|
SelectItem2,
|
|
@@ -8,19 +8,31 @@ import {
|
|
|
8
8
|
SelectLabel2,
|
|
9
9
|
SelectSeparator2,
|
|
10
10
|
select_default
|
|
11
|
-
} from "../../../shared/components-
|
|
12
|
-
import
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
import"../../../shared/components-
|
|
16
|
-
import"../../../shared/components-
|
|
17
|
-
import"../../../shared/components-
|
|
18
|
-
import"../../../shared/components-
|
|
19
|
-
import"../../../shared/components-
|
|
20
|
-
import"../../../shared/components-
|
|
21
|
-
import"../../../shared/components-
|
|
22
|
-
import"../../../shared/components-
|
|
23
|
-
import"../../../shared/components-
|
|
11
|
+
} from "../../../shared/components-6j2fh74k.js";
|
|
12
|
+
import {
|
|
13
|
+
triggerVariants2
|
|
14
|
+
} from "../../../shared/components-xdqmt6ed.js";
|
|
15
|
+
import"../../../shared/components-4bwsd46w.js";
|
|
16
|
+
import"../../../shared/components-tz4gaf1v.js";
|
|
17
|
+
import"../../../shared/components-8nwsqjn8.js";
|
|
18
|
+
import"../../../shared/components-h6p86be3.js";
|
|
19
|
+
import"../../../shared/components-vf45j12c.js";
|
|
20
|
+
import"../../../shared/components-dhgk6mbt.js";
|
|
21
|
+
import"../../../shared/components-4y816hwp.js";
|
|
22
|
+
import"../../../shared/components-b1e239g3.js";
|
|
23
|
+
import"../../../shared/components-qdm3yh26.js";
|
|
24
|
+
import"../../../shared/components-pw06rbxq.js";
|
|
25
|
+
import"../../../shared/components-yhgq0qxx.js";
|
|
26
|
+
import"../../../shared/components-awra5sff.js";
|
|
27
|
+
import"../../../shared/components-dcc02hs2.js";
|
|
28
|
+
import"../../../shared/components-2z48g4fp.js";
|
|
29
|
+
import"../../../shared/components-drxrtnp2.js";
|
|
30
|
+
import"../../../shared/components-de99ykt7.js";
|
|
31
|
+
import"../../../shared/components-3ey0hzpb.js";
|
|
32
|
+
import"../../../shared/components-h83az0bz.js";
|
|
33
|
+
import"../../../shared/components-34txk9rj.js";
|
|
34
|
+
import"../../../shared/components-78x40gee.js";
|
|
35
|
+
import"../../../shared/components-jcnjay5g.js";
|
|
24
36
|
export {
|
|
25
37
|
Select2 as Select,
|
|
26
38
|
SelectContent2 as SelectContent,
|
|
@@ -29,6 +41,7 @@ export {
|
|
|
29
41
|
SelectLabel2 as SelectLabel,
|
|
30
42
|
SelectSeparator2 as SelectSeparator,
|
|
31
43
|
SelectTrigger2 as SelectTrigger,
|
|
44
|
+
SelectValue2 as SelectValue,
|
|
32
45
|
select_default as default,
|
|
33
46
|
triggerVariants2 as triggerVariants
|
|
34
47
|
};
|
|
@@ -2,11 +2,13 @@ import {
|
|
|
2
2
|
Slider2,
|
|
3
3
|
SliderComfortable2,
|
|
4
4
|
slider_default
|
|
5
|
-
} from "../../../shared/components-
|
|
6
|
-
import"../../../shared/components-
|
|
7
|
-
import"../../../shared/components-
|
|
8
|
-
import"../../../shared/components-
|
|
9
|
-
import"../../../shared/components-
|
|
5
|
+
} from "../../../shared/components-jp5v0m0f.js";
|
|
6
|
+
import"../../../shared/components-tz1fv35x.js";
|
|
7
|
+
import"../../../shared/components-3ey0hzpb.js";
|
|
8
|
+
import"../../../shared/components-h83az0bz.js";
|
|
9
|
+
import"../../../shared/components-34txk9rj.js";
|
|
10
|
+
import"../../../shared/components-78x40gee.js";
|
|
11
|
+
import"../../../shared/components-jcnjay5g.js";
|
|
10
12
|
export {
|
|
11
13
|
Slider2 as Slider,
|
|
12
14
|
SliderComfortable2 as SliderComfortable,
|
|
@@ -2,8 +2,8 @@ import { Transition } from "motion/react";
|
|
|
2
2
|
import { ForwardRefExoticComponent, HTMLAttributes, ReactNode, RefAttributes } from "react";
|
|
3
3
|
type SizeVariant = "default" | "compact";
|
|
4
4
|
interface SwitchProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
-
/**
|
|
6
|
-
label
|
|
5
|
+
/** Label displayed next to the switch, any node. Omit it, outside a group, for the bare track (see Bare): name it with `aria-label`, `aria-labelledby` or a `<label htmlFor>` pointing at its `id`. */
|
|
6
|
+
label?: ReactNode;
|
|
7
7
|
/** Secondary text under the label: what turning the switch on does. With one, the label stays at full contrast. */
|
|
8
8
|
description?: ReactNode;
|
|
9
9
|
/** The side of the label the track sits on; `"end"` pushes it to the row's far edge, as in a settings list (always, inside a `Switch.Group`). Defaults to `"start"`. */
|
|
@@ -18,6 +18,12 @@ interface SwitchProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
18
18
|
onCheckedChange?: (checked: boolean) => void;
|
|
19
19
|
/** Disables the switch. Defaults to `false`. */
|
|
20
20
|
disabled?: boolean;
|
|
21
|
+
/** Form field name: a hidden checkbox input submits `value` while on. */
|
|
22
|
+
name?: string;
|
|
23
|
+
/** Value submitted with `name` while on. Defaults to `"on"`. */
|
|
24
|
+
value?: string;
|
|
25
|
+
/** Marks the hidden form input required. Defaults to `false`. */
|
|
26
|
+
required?: boolean;
|
|
21
27
|
/** Transition for the thumb's slide and hover/press stretch. Defaults to the `spring.moderate` motion token. */
|
|
22
28
|
thumbTransition?: Transition;
|
|
23
29
|
/** Pins the switch to one step of the size ladder (see Sizes). Defaults to the surrounding SizeProvider, else `"default"`. */
|
|
@@ -2,18 +2,20 @@ import {
|
|
|
2
2
|
Switch2,
|
|
3
3
|
SwitchGroup2,
|
|
4
4
|
switch_default
|
|
5
|
-
} from "../../../shared/components-
|
|
6
|
-
import"../../../shared/components-
|
|
7
|
-
import"../../../shared/components-
|
|
8
|
-
import"../../../shared/components-
|
|
9
|
-
import"../../../shared/components-
|
|
10
|
-
import"../../../shared/components-
|
|
11
|
-
import"../../../shared/components-
|
|
12
|
-
import"../../../shared/components-
|
|
13
|
-
import"../../../shared/components-
|
|
14
|
-
import"../../../shared/components-
|
|
15
|
-
import"../../../shared/components-
|
|
16
|
-
import"../../../shared/components-
|
|
5
|
+
} from "../../../shared/components-wwd363me.js";
|
|
6
|
+
import"../../../shared/components-r8eqs7gz.js";
|
|
7
|
+
import"../../../shared/components-qdm3yh26.js";
|
|
8
|
+
import"../../../shared/components-pw06rbxq.js";
|
|
9
|
+
import"../../../shared/components-yhgq0qxx.js";
|
|
10
|
+
import"../../../shared/components-awra5sff.js";
|
|
11
|
+
import"../../../shared/components-dcc02hs2.js";
|
|
12
|
+
import"../../../shared/components-tz1fv35x.js";
|
|
13
|
+
import"../../../shared/components-de99ykt7.js";
|
|
14
|
+
import"../../../shared/components-3ey0hzpb.js";
|
|
15
|
+
import"../../../shared/components-h83az0bz.js";
|
|
16
|
+
import"../../../shared/components-34txk9rj.js";
|
|
17
|
+
import"../../../shared/components-78x40gee.js";
|
|
18
|
+
import"../../../shared/components-jcnjay5g.js";
|
|
17
19
|
export {
|
|
18
20
|
Switch2 as Switch,
|
|
19
21
|
SwitchGroup2 as SwitchGroup,
|
|
@@ -23,6 +23,10 @@ interface TextareaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>
|
|
|
23
23
|
invalid?: boolean;
|
|
24
24
|
/** Disables the textarea. Defaults to `false`. */
|
|
25
25
|
disabled?: boolean;
|
|
26
|
+
/** Keeps the value selectable but not editable, with the field's read-only look. Defaults to the surrounding Field's `readOnly`. */
|
|
27
|
+
readOnly?: boolean;
|
|
28
|
+
/** Marks the textarea required. Defaults to the surrounding Field's `required`. */
|
|
29
|
+
required?: boolean;
|
|
26
30
|
/** Pins the textarea to one step of the size ladder (36px default, 28px compact): its text and padding follow, so one row matches an Input. Defaults to the surrounding SizeProvider. */
|
|
27
31
|
size?: SizeVariant;
|
|
28
32
|
/** Classes for the ringed box around the textarea. */
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Textarea2,
|
|
3
3
|
textarea_default
|
|
4
|
-
} from "../../../shared/components-
|
|
5
|
-
import"../../../shared/components-
|
|
6
|
-
import"../../../shared/components-
|
|
7
|
-
import"../../../shared/components-
|
|
8
|
-
import"../../../shared/components-
|
|
9
|
-
import"../../../shared/components-
|
|
4
|
+
} from "../../../shared/components-5s0nfqvw.js";
|
|
5
|
+
import"../../../shared/components-6zng858q.js";
|
|
6
|
+
import"../../../shared/components-124epb7f.js";
|
|
7
|
+
import"../../../shared/components-tz1fv35x.js";
|
|
8
|
+
import"../../../shared/components-h83az0bz.js";
|
|
9
|
+
import"../../../shared/components-34txk9rj.js";
|
|
10
|
+
import"../../../shared/components-78x40gee.js";
|
|
11
|
+
import"../../../shared/components-jcnjay5g.js";
|
|
10
12
|
export {
|
|
11
13
|
Textarea2 as Textarea,
|
|
12
14
|
textarea_default as default
|