@justanarthur/modo-ui 0.6.0-canary.8 → 0.6.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/README.md +66 -164
- package/dist/base.css +4 -141
- package/dist/blocks/sidebar-app/index.js +26 -40
- package/dist/components/AI/input-message/index.js +16 -23
- package/dist/components/AI/thinking-indicator/index.js +6 -9
- package/dist/components/accordion/index.d.ts +11 -39
- package/dist/components/accordion/index.js +13 -18
- package/dist/components/badge/index.d.ts +11 -18
- package/dist/components/badge/index.js +7 -12
- package/dist/components/button/index.d.ts +17 -53
- package/dist/components/button/index.js +6 -11
- package/dist/components/card/index.d.ts +9 -32
- package/dist/components/card/index.js +11 -17
- package/dist/components/copy/index.d.ts +8 -41
- package/dist/components/copy/index.js +9 -15
- package/dist/components/inputs/checkbox/index.d.ts +9 -28
- package/dist/components/inputs/checkbox/index.js +13 -18
- package/dist/components/inputs/color-picker/index.d.ts +14 -22
- package/dist/components/inputs/color-picker/index.js +18 -26
- package/dist/components/inputs/combobox/index.d.ts +20 -85
- package/dist/components/inputs/combobox/index.js +18 -27
- package/dist/components/inputs/date-time/calendar/index.d.ts +18 -24
- package/dist/components/inputs/date-time/calendar/index.js +11 -15
- package/dist/components/inputs/date-time/date-picker/index.d.ts +16 -105
- package/dist/components/inputs/date-time/date-picker/index.js +25 -35
- package/dist/components/inputs/date-time/date-range-picker/index.d.ts +12 -106
- package/dist/components/inputs/date-time/date-range-picker/index.js +24 -35
- package/dist/components/inputs/date-time/duration-picker/index.d.ts +13 -66
- package/dist/components/inputs/date-time/duration-picker/index.js +24 -33
- package/dist/components/inputs/date-time/month-picker/index.d.ts +10 -60
- package/dist/components/inputs/date-time/month-picker/index.js +23 -32
- package/dist/components/inputs/date-time/time-picker/index.d.ts +10 -58
- package/dist/components/inputs/date-time/time-picker/index.js +24 -33
- package/dist/components/inputs/input/index.d.ts +13 -95
- package/dist/components/inputs/input/index.js +9 -18
- package/dist/components/inputs/radio/index.d.ts +5 -20
- package/dist/components/inputs/radio/index.js +12 -16
- package/dist/components/inputs/search/index.d.ts +3 -3
- package/dist/components/inputs/search/index.js +18 -26
- package/dist/components/inputs/select/index.d.ts +23 -99
- package/dist/components/inputs/select/index.js +14 -29
- package/dist/components/inputs/slider/index.d.ts +0 -9
- package/dist/components/inputs/slider/index.js +5 -8
- package/dist/components/inputs/switch/index.d.ts +2 -8
- package/dist/components/inputs/switch/index.js +12 -15
- package/dist/components/inputs/textarea/index.d.ts +1 -20
- package/dist/components/inputs/textarea/index.js +6 -9
- package/dist/components/navigation/sidebar/index.d.ts +21 -44
- package/dist/components/navigation/sidebar/index.js +31 -42
- package/dist/components/navigation/tabs/index.d.ts +2 -8
- package/dist/components/navigation/tabs/index.js +10 -15
- package/dist/components/navigation/tabs-subtle/index.js +10 -13
- package/dist/components/overlays/alert-dialog/index.d.ts +16 -135
- package/dist/components/overlays/alert-dialog/index.js +13 -23
- package/dist/components/overlays/command/index.d.ts +20 -25
- package/dist/components/overlays/command/index.js +17 -25
- package/dist/components/overlays/context-menu/index.d.ts +17 -39
- package/dist/components/overlays/context-menu/index.js +18 -29
- package/dist/components/overlays/dialog/index.d.ts +16 -42
- package/dist/components/overlays/dialog/index.js +12 -20
- package/dist/components/overlays/dropdown/index.d.ts +34 -304
- package/dist/components/overlays/dropdown/index.js +17 -44
- package/dist/components/overlays/popover/index.d.ts +12 -38
- package/dist/components/overlays/popover/index.js +9 -13
- package/dist/components/overlays/preview-card/index.js +8 -12
- package/dist/components/overlays/sheet/index.d.ts +8 -25
- package/dist/components/overlays/sheet/index.js +13 -19
- package/dist/components/overlays/toast/index.d.ts +50 -209
- package/dist/components/overlays/toast/index.js +10 -23
- package/dist/components/overlays/tooltip/index.d.ts +21 -123
- package/dist/components/overlays/tooltip/index.js +6 -16
- package/dist/components/table/index.d.ts +8 -63
- package/dist/components/table/index.js +9 -20
- package/dist/index.d.ts +1048 -2999
- package/dist/index.js +82 -231
- package/dist/preset.d.ts +0 -22
- package/dist/preset.js +2 -24
- package/dist/primitives/code/index.js +5 -8
- package/dist/primitives/craft/index.js +6 -10
- package/dist/primitives/fluid-hover/index.js +8 -10
- package/dist/primitives/morph/index.js +10 -16
- package/dist/primitives/motion/index.js +8 -11
- package/dist/primitives/scroll-area/index.js +3 -5
- package/dist/primitives/sizes/index.js +4 -6
- package/dist/primitives/surface/index.js +4 -6
- package/dist/shared/{components-4y816hwp.js → components-0q0sqfh4.js} +49 -27
- package/dist/shared/components-0sn7ypjw.js +61 -0
- package/dist/shared/{components-vc864c51.js → components-11da9ajg.js} +5 -8
- package/dist/shared/components-1434p1mh.js +123 -0
- package/dist/shared/{components-t2a3qmy9.js → components-1z6tdadk.js} +24 -40
- package/dist/shared/{components-qs4rkqsj.js → components-27nnvrwe.js} +14 -15
- package/dist/shared/{components-av5t26rc.js → components-2dxkv6zm.js} +7 -8
- package/dist/shared/{components-wqrvqq5p.js → components-2ecg8svx.js} +152 -234
- package/dist/shared/{components-3ydr2fqe.js → components-2ph6t61s.js} +34 -37
- package/dist/shared/{components-6gk118w3.js → components-39jq9va1.js} +24 -29
- package/dist/shared/components-3ky44908.js +9 -0
- package/dist/shared/{components-y1qvbawa.js → components-3mkepka5.js} +25 -28
- package/dist/shared/{components-xqszvkj4.js → components-4700p9kz.js} +22 -24
- package/dist/shared/{components-yhgq0qxx.js → components-59efxjd9.js} +12 -13
- package/dist/shared/{components-9j9abkct.js → components-5vgpnxgy.js} +27 -51
- package/dist/shared/{components-8tt3xbb5.js → components-5xc2j8jz.js} +18 -19
- package/dist/shared/{components-jymmaevv.js → components-6p8tfcd6.js} +29 -57
- package/dist/shared/{components-4nck8acq.js → components-7r3etddy.js} +54 -19
- package/dist/shared/{components-skfd7kff.js → components-8snj490h.js} +32 -78
- package/dist/shared/{components-ctqmge8t.js → components-b0eac83j.js} +30 -9
- package/dist/shared/{components-9sttq78t.js → components-b2wyq2cq.js} +59 -41
- package/dist/shared/{components-vkwq2k96.js → components-b3c5et5b.js} +38 -49
- package/dist/shared/{components-rrbpmfx4.js → components-c6s6b43g.js} +2 -3
- package/dist/shared/{components-pw06rbxq.js → components-chacnk61.js} +19 -19
- package/dist/shared/{components-71nbt03m.js → components-cv16mryv.js} +7 -26
- package/dist/shared/{components-eqze3y30.js → components-d6xtjht3.js} +30 -35
- package/dist/shared/{components-5y5shqfd.js → components-dk0gjr5a.js} +18 -19
- package/dist/shared/{components-khspp26b.js → components-fzrq6tr3.js} +34 -37
- package/dist/shared/{components-km7fhgbk.js → components-gc5vtq2f.js} +30 -66
- package/dist/shared/components-gf5s6ap9.js +42 -0
- package/dist/shared/{components-qqcmtrbv.js → components-gz8zf3ec.js} +55 -56
- package/dist/shared/{components-mattt5jp.js → components-h2ajmhwn.js} +35 -107
- package/dist/shared/{components-awra5sff.js → components-hqeq3w9q.js} +16 -24
- package/dist/shared/{components-5tzhqbcw.js → components-hw9yk32z.js} +24 -36
- package/dist/shared/components-hyq23phv.js +310 -0
- package/dist/shared/{components-8mt5bsv6.js → components-jbbmdr74.js} +22 -41
- package/dist/shared/{components-dcc02hs2.js → components-jjw69c4c.js} +4 -7
- package/dist/shared/{components-2syq4mwc.js → components-jthe1pwb.js} +420 -139
- package/dist/shared/{components-r7q1zm7r.js → components-jwst3vtj.js} +76 -224
- package/dist/shared/{components-qdm3yh26.js → components-kvr7f9hy.js} +10 -19
- package/dist/shared/{components-s8yqk2dc.js → components-kwa6mrf9.js} +11 -46
- package/dist/shared/{components-de99ykt7.js → components-men63rwj.js} +2 -3
- package/dist/shared/{components-6b0zb8z3.js → components-mjthm1kf.js} +9 -13
- package/dist/shared/{components-2c64r8c9.js → components-n42c79bz.js} +22 -23
- package/dist/shared/{components-tz1fv35x.js → components-n7mjr357.js} +2 -3
- package/dist/shared/components-ng72k97e.js +128 -0
- package/dist/shared/{components-dyae0y7h.js → components-pbmqctfa.js} +65 -169
- package/dist/shared/{components-px2zm7dc.js → components-q5xj5c16.js} +8 -9
- package/dist/shared/components-raknhppb.js +64 -0
- package/dist/shared/{components-8rb25gbe.js → components-rr7a6ja9.js} +27 -59
- package/dist/shared/{components-5012r6gr.js → components-s083f38z.js} +34 -164
- package/dist/shared/components-s5ngg32c.js +267 -0
- package/dist/shared/components-sn1rxx1d.js +143 -0
- package/dist/shared/{components-r8eqs7gz.js → components-ta7shw28.js} +4 -4
- package/dist/shared/{components-9as3rf68.js → components-vc7vq5nz.js} +3 -6
- package/dist/shared/{components-ft3zdc79.js → components-vfbhxf5r.js} +5 -6
- package/dist/shared/components-vynjtrk6.js +19 -0
- package/dist/shared/{components-w0xq6q9k.js → components-w1r67ag9.js} +149 -294
- package/dist/shared/{components-z0bqtvcp.js → components-w90endve.js} +72 -71
- package/dist/shared/{components-t5pk5nmc.js → components-wvp1m52g.js} +102 -149
- package/dist/shared/components-wy9jpqny.js +146 -0
- package/dist/shared/{components-5sxjeh6h.js → components-y9y0g8er.js} +28 -52
- package/dist/shared/components-ypp01w3p.js +986 -0
- package/dist/shared/{components-t50hrswb.js → components-zfnmn5d4.js} +36 -82
- package/dist/shared/{components-jqpefjsn.js → components-zrkzcayz.js} +6 -54
- package/dist/shared/{components-vf45j12c.js → components-zx6b6yby.js} +18 -4
- package/dist/styles.css +32 -320
- package/dist/tailwind.css +0 -16
- package/dist/tokens.css +0 -67
- package/package.json +4 -227
- package/DESIGN.md +0 -623
- package/blocks/sidebar-app/examples.mdx +0 -33
- package/blocks/sidebar-app/index.tsx +0 -218
- package/blocks/sidebar-app/inset-topbar.tsx +0 -25
- package/blocks/sidebar-app/menu-grid.ts +0 -26
- package/blocks/sidebar-app/nav-data.ts +0 -36
- package/blocks/sidebar-app/search-field.tsx +0 -48
- package/blocks/sidebar-app/user-footer.tsx +0 -67
- package/blocks/sidebar-app/workspace-header.tsx +0 -129
- package/components/AI/input-message/examples.mdx +0 -130
- package/components/AI/input-message/file-thumbnail.tsx +0 -173
- package/components/AI/input-message/index.tsx +0 -1385
- package/components/AI/thinking-indicator/examples.mdx +0 -27
- package/components/AI/thinking-indicator/index.tsx +0 -210
- package/components/accordion/examples.mdx +0 -233
- package/components/accordion/index.tsx +0 -1071
- package/components/avatar/examples.mdx +0 -95
- package/components/avatar/index.tsx +0 -129
- package/components/badge/change-demo.tsx +0 -29
- package/components/badge/examples.mdx +0 -124
- package/components/badge/index.tsx +0 -225
- package/components/badge/variants.ts +0 -73
- package/components/button/examples.mdx +0 -168
- package/components/button/index.tsx +0 -424
- package/components/button/loading-demo.tsx +0 -25
- package/components/button/variants.ts +0 -168
- package/components/card/examples.mdx +0 -251
- package/components/card/index.tsx +0 -1070
- package/components/copy/examples.mdx +0 -125
- package/components/copy/index.tsx +0 -662
- package/components/inputs/checkbox/examples.mdx +0 -87
- package/components/inputs/checkbox/index.tsx +0 -611
- package/components/inputs/checkbox/select-all-demo.tsx +0 -48
- package/components/inputs/color-picker/examples.mdx +0 -111
- package/components/inputs/color-picker/index.tsx +0 -1981
- package/components/inputs/color-picker/variants.ts +0 -401
- package/components/inputs/combobox/examples.mdx +0 -366
- package/components/inputs/combobox/index.tsx +0 -1527
- package/components/inputs/combobox/remote-demo.tsx +0 -105
- package/components/inputs/date-time/calendar/examples.mdx +0 -45
- package/components/inputs/date-time/calendar/index.tsx +0 -370
- package/components/inputs/date-time/calendar/use-month-window.ts +0 -173
- package/components/inputs/date-time/date-picker/examples.mdx +0 -243
- package/components/inputs/date-time/date-picker/index.tsx +0 -476
- package/components/inputs/date-time/date-picker/masked-date-input.tsx +0 -348
- package/components/inputs/date-time/date-range-picker/examples.mdx +0 -93
- package/components/inputs/date-time/date-range-picker/index.tsx +0 -525
- package/components/inputs/date-time/duration-picker/examples.mdx +0 -40
- package/components/inputs/date-time/duration-picker/index.tsx +0 -253
- package/components/inputs/date-time/month-picker/examples.mdx +0 -45
- package/components/inputs/date-time/month-picker/index.tsx +0 -254
- package/components/inputs/date-time/picker-shell.tsx +0 -581
- package/components/inputs/date-time/time-columns.tsx +0 -94
- package/components/inputs/date-time/time-picker/examples.mdx +0 -57
- package/components/inputs/date-time/time-picker/index.tsx +0 -227
- package/components/inputs/field/examples.mdx +0 -117
- package/components/inputs/field/index.tsx +0 -268
- package/components/inputs/file-dropzone/examples.mdx +0 -83
- package/components/inputs/file-dropzone/file-row.tsx +0 -201
- package/components/inputs/file-dropzone/index.tsx +0 -316
- package/components/inputs/file-dropzone/upload-demo.tsx +0 -67
- package/components/inputs/file-dropzone/variants.ts +0 -94
- package/components/inputs/input/examples.mdx +0 -166
- package/components/inputs/input/index.tsx +0 -494
- package/components/inputs/input/password-demo.tsx +0 -30
- package/components/inputs/label/examples.mdx +0 -67
- package/components/inputs/label/index.tsx +0 -85
- package/components/inputs/number-input/examples.mdx +0 -69
- package/components/inputs/number-input/index.tsx +0 -221
- package/components/inputs/radio/examples.mdx +0 -77
- package/components/inputs/radio/index.tsx +0 -636
- package/components/inputs/search/examples.mdx +0 -74
- package/components/inputs/search/index.tsx +0 -333
- package/components/inputs/select/examples.mdx +0 -296
- package/components/inputs/select/index.tsx +0 -1044
- package/components/inputs/select/variants.ts +0 -32
- package/components/inputs/slider/examples.mdx +0 -153
- package/components/inputs/slider/index.tsx +0 -1867
- package/components/inputs/switch/examples.mdx +0 -96
- package/components/inputs/switch/index.tsx +0 -504
- package/components/inputs/textarea/examples.mdx +0 -126
- package/components/inputs/textarea/index.tsx +0 -207
- package/components/navigation/navigation-menu/examples.mdx +0 -136
- package/components/navigation/navigation-menu/index.tsx +0 -704
- package/components/navigation/pagination/examples.mdx +0 -74
- package/components/navigation/pagination/index.tsx +0 -401
- package/components/navigation/sidebar/examples.mdx +0 -325
- package/components/navigation/sidebar/index.tsx +0 -453
- package/components/navigation/sidebar/sidebar-core.tsx +0 -1408
- package/components/navigation/sidebar/sidebar-menu.tsx +0 -1495
- package/components/navigation/sidebar/sidebar.css +0 -74
- package/components/navigation/sidebar/variants.ts +0 -55
- package/components/navigation/tabs/examples.mdx +0 -89
- package/components/navigation/tabs/index.tsx +0 -494
- package/components/navigation/tabs-subtle/examples.mdx +0 -49
- package/components/navigation/tabs-subtle/index.tsx +0 -512
- package/components/overlays/alert-dialog/examples.mdx +0 -123
- package/components/overlays/alert-dialog/index.tsx +0 -276
- package/components/overlays/alert-dialog/pending-demo.tsx +0 -36
- package/components/overlays/command/examples.mdx +0 -113
- package/components/overlays/command/index.tsx +0 -425
- package/components/overlays/context-menu/examples.mdx +0 -56
- package/components/overlays/context-menu/index.tsx +0 -279
- package/components/overlays/dialog/examples.mdx +0 -165
- package/components/overlays/dialog/index.tsx +0 -451
- package/components/overlays/dropdown/dropdown-search.tsx +0 -395
- package/components/overlays/dropdown/examples.mdx +0 -444
- package/components/overlays/dropdown/index.tsx +0 -1241
- package/components/overlays/dropdown/menu-item.tsx +0 -510
- package/components/overlays/dropdown/menu-parts.tsx +0 -725
- package/components/overlays/popover/anchored-demo.tsx +0 -59
- package/components/overlays/popover/examples.mdx +0 -203
- package/components/overlays/popover/index.tsx +0 -317
- package/components/overlays/preview-card/examples.mdx +0 -61
- package/components/overlays/preview-card/index.tsx +0 -204
- package/components/overlays/sheet/examples.mdx +0 -101
- package/components/overlays/sheet/index.tsx +0 -307
- package/components/overlays/toast/examples.mdx +0 -85
- package/components/overlays/toast/global-demo.tsx +0 -72
- package/components/overlays/toast/index.tsx +0 -544
- package/components/overlays/toast/manager.ts +0 -193
- package/components/overlays/tooltip/examples.mdx +0 -106
- package/components/overlays/tooltip/index.tsx +0 -539
- package/components/progress/examples.mdx +0 -59
- package/components/progress/index.tsx +0 -174
- package/components/progress/progress.css +0 -49
- package/components/progress/step-demo.tsx +0 -27
- package/components/table/examples.mdx +0 -188
- package/components/table/index.tsx +0 -535
- package/components/table/sort-demo.tsx +0 -61
- package/dist/components/avatar/index.d.ts +0 -46
- package/dist/components/avatar/index.js +0 -19
- package/dist/components/badge/variants.d.ts +0 -33
- package/dist/components/badge/variants.js +0 -10
- package/dist/components/button/variants.d.ts +0 -39
- package/dist/components/button/variants.js +0 -8
- package/dist/components/inputs/color-picker/variants.d.ts +0 -61
- package/dist/components/inputs/color-picker/variants.js +0 -28
- package/dist/components/inputs/field/index.d.ts +0 -116
- package/dist/components/inputs/field/index.js +0 -29
- package/dist/components/inputs/file-dropzone/index.d.ts +0 -167
- package/dist/components/inputs/file-dropzone/index.js +0 -33
- package/dist/components/inputs/file-dropzone/variants.d.ts +0 -35
- package/dist/components/inputs/file-dropzone/variants.js +0 -12
- package/dist/components/inputs/label/index.d.ts +0 -32
- package/dist/components/inputs/label/index.js +0 -11
- package/dist/components/inputs/number-input/index.d.ts +0 -87
- package/dist/components/inputs/number-input/index.js +0 -21
- package/dist/components/inputs/select/variants.d.ts +0 -5
- package/dist/components/inputs/select/variants.js +0 -6
- package/dist/components/navigation/navigation-menu/index.d.ts +0 -126
- package/dist/components/navigation/navigation-menu/index.js +0 -41
- package/dist/components/navigation/pagination/index.d.ts +0 -75
- package/dist/components/navigation/pagination/index.js +0 -41
- package/dist/components/navigation/sidebar/variants.d.ts +0 -25
- package/dist/components/navigation/sidebar/variants.js +0 -28
- package/dist/components/progress/index.d.ts +0 -56
- package/dist/components/progress/index.js +0 -15
- package/dist/docs/index.d.ts +0 -83
- package/dist/docs/index.js +0 -288
- package/dist/docs/vite.d.ts +0 -31
- package/dist/docs/vite.js +0 -45
- package/dist/lib/date-locale.d.ts +0 -26
- package/dist/lib/date-locale.js +0 -24
- package/dist/lib/field-classes.d.ts +0 -149
- package/dist/lib/field-classes.js +0 -41
- package/dist/lib/field-variants.d.ts +0 -47
- package/dist/lib/field-variants.js +0 -26
- package/dist/lib/fluid-hover-highlight.d.ts +0 -112
- package/dist/lib/fluid-hover-highlight.js +0 -17
- package/dist/lib/focus-ring.d.ts +0 -18
- package/dist/lib/focus-ring.js +0 -11
- package/dist/lib/goo-indicator.d.ts +0 -46
- package/dist/lib/goo-indicator.js +0 -14
- package/dist/lib/icon-context.d.ts +0 -30
- package/dist/lib/icon-context.js +0 -12
- package/dist/lib/inert.d.ts +0 -9
- package/dist/lib/inert.js +0 -8
- package/dist/lib/morph-layers.d.ts +0 -93
- package/dist/lib/morph-layers.js +0 -13
- package/dist/lib/morph-part.d.ts +0 -21
- package/dist/lib/morph-part.js +0 -12
- package/dist/lib/popup.d.ts +0 -20
- package/dist/lib/popup.js +0 -12
- package/dist/lib/reduced-motion.d.ts +0 -9
- package/dist/lib/reduced-motion.js +0 -6
- package/dist/lib/row-index.d.ts +0 -10
- package/dist/lib/row-index.js +0 -8
- package/dist/lib/row-order.d.ts +0 -28
- package/dist/lib/row-order.js +0 -10
- package/dist/lib/scroll-column.d.ts +0 -31
- package/dist/lib/scroll-column.js +0 -19
- package/dist/lib/shape-context.d.ts +0 -30
- package/dist/lib/shape-context.js +0 -13
- package/dist/lib/shape-radius.d.ts +0 -19
- package/dist/lib/shape-radius.js +0 -6
- package/dist/lib/size-context.d.ts +0 -94
- package/dist/lib/size-context.js +0 -20
- package/dist/lib/size-scale.d.ts +0 -79
- package/dist/lib/size-scale.js +0 -8
- package/dist/lib/slot.d.ts +0 -39
- package/dist/lib/slot.js +0 -14
- package/dist/lib/springs.d.ts +0 -44
- package/dist/lib/springs.js +0 -8
- package/dist/lib/surface-classes.d.ts +0 -19
- package/dist/lib/surface-classes.js +0 -10
- package/dist/lib/surface-context.d.ts +0 -9
- package/dist/lib/surface-context.js +0 -8
- package/dist/lib/use-controllable-state.d.ts +0 -2
- package/dist/lib/use-controllable-state.js +0 -6
- package/dist/lib/use-fluid-hover.d.ts +0 -138
- package/dist/lib/use-fluid-hover.js +0 -14
- package/dist/lib/use-is-mobile.d.ts +0 -2
- package/dist/lib/use-is-mobile.js +0 -6
- package/dist/lib/use-keyboard-nav-gate.d.ts +0 -20
- package/dist/lib/use-keyboard-nav-gate.js +0 -7
- package/dist/lib/use-merge-split.d.ts +0 -47
- package/dist/lib/use-merge-split.js +0 -15
- package/dist/lib/use-morph.d.ts +0 -101
- package/dist/lib/use-morph.js +0 -20
- package/dist/lib/use-touch-primary.d.ts +0 -2
- package/dist/lib/use-touch-primary.js +0 -6
- package/dist/lib/utils.d.ts +0 -3
- package/dist/lib/utils.js +0 -6
- package/dist/primitives/separator/index.d.ts +0 -25
- package/dist/primitives/separator/index.js +0 -9
- package/dist/primitives/skeleton/index.d.ts +0 -35
- package/dist/primitives/skeleton/index.js +0 -13
- package/dist/shared/components-124epb7f.js +0 -53
- package/dist/shared/components-1kab3j44.js +0 -337
- package/dist/shared/components-26snnbs9.js +0 -322
- package/dist/shared/components-34txk9rj.js +0 -35
- package/dist/shared/components-3h92d94m.js +0 -23
- package/dist/shared/components-4vfm04wq.js +0 -82
- package/dist/shared/components-54nq988h.js +0 -123
- package/dist/shared/components-7s7pykk5.js +0 -281
- package/dist/shared/components-7zkhz3r8.js +0 -399
- package/dist/shared/components-8v644a0s.js +0 -298
- package/dist/shared/components-a4evvq8h.js +0 -271
- package/dist/shared/components-adkarj8n.js +0 -35
- package/dist/shared/components-b1e239g3.js +0 -28
- package/dist/shared/components-b94t6qtj.js +0 -143
- package/dist/shared/components-c9yr4ed1.js +0 -44
- package/dist/shared/components-cwg1d0w6.js +0 -254
- package/dist/shared/components-d3shbwqq.js +0 -95
- package/dist/shared/components-dhgk6mbt.js +0 -16
- package/dist/shared/components-drxrtnp2.js +0 -25
- package/dist/shared/components-ej4r7wmj.js +0 -482
- package/dist/shared/components-f7h57m6t.js +0 -59
- package/dist/shared/components-fejdzvqc.js +0 -448
- package/dist/shared/components-gx4h5rbb.js +0 -40
- package/dist/shared/components-gyt7my41.js +0 -328
- package/dist/shared/components-h6p86be3.js +0 -19
- package/dist/shared/components-h83az0bz.js +0 -33
- package/dist/shared/components-hdzrqqpx.js +0 -55
- package/dist/shared/components-krtx3m5b.js +0 -84
- package/dist/shared/components-kswxnm3h.js +0 -24
- package/dist/shared/components-mpa2y6x8.js +0 -277
- package/dist/shared/components-mrbaxt8q.js +0 -62
- package/dist/shared/components-pt5ftm4p.js +0 -38
- package/dist/shared/components-rpw4md2b.js +0 -179
- package/dist/shared/components-rtadhd9j.js +0 -64
- package/dist/shared/components-tz4gaf1v.js +0 -23
- package/dist/shared/components-wbbckbw8.js +0 -34
- package/dist/shared/components-xdqmt6ed.js +0 -20
- package/dist/shared/components-xjkdvnbg.js +0 -107
- package/dist/shared/components-z3v0n0de.js +0 -11
- package/dist/shared/components-z6dfqtyt.js +0 -1545
- package/dist/tokens/colors.css +0 -230
- package/dist/tokens/motion.css +0 -40
- package/dist/tokens/radius.css +0 -10
- package/dist/tokens/spacing.css +0 -9
- package/dist/tokens/typography.css +0 -119
- package/docs/chrome.css +0 -120
- package/docs/chrome.tsx +0 -283
- package/docs/index.ts +0 -9
- package/docs/vite.ts +0 -85
- package/index.ts +0 -60
- package/lib/date-locale.ts +0 -195
- package/lib/field-classes.ts +0 -121
- package/lib/field-variants.ts +0 -117
- package/lib/fluid-hover-highlight.tsx +0 -139
- package/lib/focus-ring.tsx +0 -46
- package/lib/goo-indicator.tsx +0 -261
- package/lib/icon-context.tsx +0 -310
- package/lib/inert.ts +0 -22
- package/lib/morph-layers.tsx +0 -102
- package/lib/morph-part.tsx +0 -49
- package/lib/popup.ts +0 -52
- package/lib/reduced-motion.ts +0 -19
- package/lib/row-index.tsx +0 -29
- package/lib/row-order.tsx +0 -126
- package/lib/scroll-column.tsx +0 -273
- package/lib/shape-context.tsx +0 -138
- package/lib/shape-radius.ts +0 -67
- package/lib/size-context.tsx +0 -66
- package/lib/size-scale.ts +0 -115
- package/lib/slot.ts +0 -115
- package/lib/springs.ts +0 -62
- package/lib/surface-classes.ts +0 -58
- package/lib/surface-context.tsx +0 -21
- package/lib/use-controllable-state.ts +0 -44
- package/lib/use-fluid-hover.ts +0 -541
- package/lib/use-is-mobile.ts +0 -25
- package/lib/use-keyboard-nav-gate.ts +0 -45
- package/lib/use-merge-split.tsx +0 -209
- package/lib/use-morph.ts +0 -557
- package/lib/use-touch-primary.tsx +0 -43
- package/lib/utils.ts +0 -37
- package/preset.ts +0 -199
- package/primitives/code/examples.mdx +0 -27
- package/primitives/code/index.tsx +0 -80
- package/primitives/craft/demos.tsx +0 -173
- package/primitives/craft/examples.mdx +0 -142
- package/primitives/craft/index.tsx +0 -76
- package/primitives/fluid-hover/examples.mdx +0 -84
- package/primitives/fluid-hover/index.tsx +0 -316
- package/primitives/morph/examples.mdx +0 -139
- package/primitives/morph/index.tsx +0 -192
- package/primitives/motion/examples.mdx +0 -100
- package/primitives/motion/index.tsx +0 -160
- package/primitives/scroll-area/examples.mdx +0 -58
- package/primitives/scroll-area/index.tsx +0 -204
- package/primitives/separator/examples.mdx +0 -30
- package/primitives/separator/index.tsx +0 -53
- package/primitives/sizes/examples.mdx +0 -167
- package/primitives/sizes/index.tsx +0 -89
- package/primitives/skeleton/examples.mdx +0 -51
- package/primitives/skeleton/index.tsx +0 -72
- package/primitives/skeleton/skeleton.css +0 -15
- package/primitives/surface/examples.mdx +0 -173
- package/primitives/surface/index.tsx +0 -109
- package/primitives/surface/surface.css +0 -176
- /package/dist/shared/{components-3ey0hzpb.js → components-1v7rxytx.js} +0 -0
- /package/dist/shared/{components-jcnjay5g.js → components-ezxhrmer.js} +0 -0
|
@@ -1,296 +0,0 @@
|
|
|
1
|
-
import Select from './index'
|
|
2
|
-
import Badge from '../../badge'
|
|
3
|
-
import { Bell, Globe, Mail, Monitor, Moon, Shield, Sun, User } from 'lucide-react'
|
|
4
|
-
|
|
5
|
-
# Basics
|
|
6
|
-
|
|
7
|
-
## Basic
|
|
8
|
-
|
|
9
|
-
A trigger, a popover, four options. Rows take their place in order, so
|
|
10
|
-
they need no `index`.
|
|
11
|
-
|
|
12
|
-
<Select defaultValue="banana">
|
|
13
|
-
<Select.Trigger placeholder="Select a fruit…" />
|
|
14
|
-
<Select.Content>
|
|
15
|
-
<Select.Item value="apple">Apple</Select.Item>
|
|
16
|
-
<Select.Item value="banana">Banana</Select.Item>
|
|
17
|
-
<Select.Item value="cherry">Cherry</Select.Item>
|
|
18
|
-
<Select.Item value="mango">Mango</Select.Item>
|
|
19
|
-
</Select.Content>
|
|
20
|
-
</Select>
|
|
21
|
-
|
|
22
|
-
## Variants
|
|
23
|
-
|
|
24
|
-
Bordered is the default; borderless drops the resting border and keeps the
|
|
25
|
-
hover fill, for toolbars and dense headers.
|
|
26
|
-
|
|
27
|
-
<div className="flex flex-wrap items-center gap-3">
|
|
28
|
-
<Select>
|
|
29
|
-
<Select.Trigger variant="bordered" placeholder="Bordered" />
|
|
30
|
-
<Select.Content>
|
|
31
|
-
<Select.Item index={0} value="apple">Apple</Select.Item>
|
|
32
|
-
<Select.Item index={1} value="banana">Banana</Select.Item>
|
|
33
|
-
<Select.Item index={2} value="cherry">Cherry</Select.Item>
|
|
34
|
-
</Select.Content>
|
|
35
|
-
</Select>
|
|
36
|
-
<Select>
|
|
37
|
-
<Select.Trigger variant="borderless" placeholder="Borderless" />
|
|
38
|
-
<Select.Content>
|
|
39
|
-
<Select.Item index={0} value="apple">Apple</Select.Item>
|
|
40
|
-
<Select.Item index={1} value="banana">Banana</Select.Item>
|
|
41
|
-
<Select.Item index={2} value="cherry">Cherry</Select.Item>
|
|
42
|
-
</Select.Content>
|
|
43
|
-
</Select>
|
|
44
|
-
</div>
|
|
45
|
-
|
|
46
|
-
## Groups
|
|
47
|
-
|
|
48
|
-
Select.Group + Select.Label caption a run of rows, Select.Separator rules
|
|
49
|
-
between them. Indices keep counting across the groups.
|
|
50
|
-
|
|
51
|
-
<Select>
|
|
52
|
-
<Select.Trigger placeholder="Settings…" />
|
|
53
|
-
<Select.Content>
|
|
54
|
-
<Select.Group>
|
|
55
|
-
<Select.Label>Account</Select.Label>
|
|
56
|
-
<Select.Item index={0} value="profile" icon={User}>Profile</Select.Item>
|
|
57
|
-
<Select.Item index={1} value="email" icon={Mail}>Email</Select.Item>
|
|
58
|
-
</Select.Group>
|
|
59
|
-
<Select.Separator />
|
|
60
|
-
<Select.Group>
|
|
61
|
-
<Select.Label>Preferences</Select.Label>
|
|
62
|
-
<Select.Item index={2} value="notifications" icon={Bell}>Notifications</Select.Item>
|
|
63
|
-
<Select.Item index={3} value="privacy" icon={Shield}>Privacy</Select.Item>
|
|
64
|
-
</Select.Group>
|
|
65
|
-
</Select.Content>
|
|
66
|
-
</Select>
|
|
67
|
-
|
|
68
|
-
## Scrollable List
|
|
69
|
-
|
|
70
|
-
Past 300px the list scrolls inside a ScrollArea: hover-revealed thumb, a
|
|
71
|
-
fade at both edges, and the overlays scrolling with the rows.
|
|
72
|
-
|
|
73
|
-
<Select defaultValue="utc+1">
|
|
74
|
-
<Select.Trigger icon={Globe} placeholder="Select timezone…" />
|
|
75
|
-
<Select.Content>
|
|
76
|
-
{[
|
|
77
|
-
['utc-8', '(UTC-8) Pacific Time'],
|
|
78
|
-
['utc-7', '(UTC-7) Mountain Time'],
|
|
79
|
-
['utc-6', '(UTC-6) Central Time'],
|
|
80
|
-
['utc-5', '(UTC-5) Eastern Time'],
|
|
81
|
-
['utc-4', '(UTC-4) Atlantic Time'],
|
|
82
|
-
['utc-3', '(UTC-3) Buenos Aires'],
|
|
83
|
-
['utc-1', '(UTC-1) Azores'],
|
|
84
|
-
['utc+0', '(UTC+0) London'],
|
|
85
|
-
['utc+1', '(UTC+1) Paris'],
|
|
86
|
-
['utc+2', '(UTC+2) Helsinki'],
|
|
87
|
-
['utc+3', '(UTC+3) Moscow'],
|
|
88
|
-
['utc+5:30', '(UTC+5:30) Mumbai'],
|
|
89
|
-
['utc+8', '(UTC+8) Singapore'],
|
|
90
|
-
['utc+9', '(UTC+9) Tokyo'],
|
|
91
|
-
['utc+10', '(UTC+10) Sydney'],
|
|
92
|
-
['utc+12', '(UTC+12) Auckland'],
|
|
93
|
-
].map(([value, label], i) => (
|
|
94
|
-
<Select.Item key={value} index={i} value={value}>{label}</Select.Item>
|
|
95
|
-
))}
|
|
96
|
-
</Select.Content>
|
|
97
|
-
</Select>
|
|
98
|
-
|
|
99
|
-
# Content
|
|
100
|
-
|
|
101
|
-
## With Icons
|
|
102
|
-
|
|
103
|
-
A leading icon on the trigger and on every row. Row icons thicken to a 2
|
|
104
|
-
stroke while their row is hovered or checked.
|
|
105
|
-
|
|
106
|
-
<Select defaultValue="system">
|
|
107
|
-
<Select.Trigger icon={Monitor} placeholder="Theme" />
|
|
108
|
-
<Select.Content>
|
|
109
|
-
<Select.Item index={0} value="system" icon={Monitor}>System</Select.Item>
|
|
110
|
-
<Select.Item index={1} value="light" icon={Sun}>Light</Select.Item>
|
|
111
|
-
<Select.Item index={2} value="dark" icon={Moon}>Dark</Select.Item>
|
|
112
|
-
</Select.Content>
|
|
113
|
-
</Select>
|
|
114
|
-
|
|
115
|
-
## Value part
|
|
116
|
-
|
|
117
|
-
`Select.Value` is the trigger's value slot as a part, so a trigger can take it as children, shadcn style. Rows come out of a `map` inside groups, with no `index`.
|
|
118
|
-
|
|
119
|
-
<Select>
|
|
120
|
-
<Select.Trigger className="w-56">
|
|
121
|
-
<Select.Value placeholder="Pick a region…" />
|
|
122
|
-
</Select.Trigger>
|
|
123
|
-
<Select.Content>
|
|
124
|
-
<Select.Group>
|
|
125
|
-
<Select.Label>Europe</Select.Label>
|
|
126
|
-
{['Bratislava', 'Prague', 'Vienna'].map(city => (
|
|
127
|
-
<Select.Item key={city} value={city.toLowerCase()}>{city}</Select.Item>
|
|
128
|
-
))}
|
|
129
|
-
</Select.Group>
|
|
130
|
-
<Select.Separator />
|
|
131
|
-
<Select.Group>
|
|
132
|
-
<Select.Label>America</Select.Label>
|
|
133
|
-
{['Chicago', 'Toronto'].map(city => (
|
|
134
|
-
<Select.Item key={city} value={city.toLowerCase()}>{city}</Select.Item>
|
|
135
|
-
))}
|
|
136
|
-
</Select.Group>
|
|
137
|
-
</Select.Content>
|
|
138
|
-
</Select>
|
|
139
|
-
|
|
140
|
-
## Node labels
|
|
141
|
-
|
|
142
|
-
A row's label may be any node; the trigger shows it as the row does. `textValue` is what typeahead matches.
|
|
143
|
-
|
|
144
|
-
<Select defaultValue="paid">
|
|
145
|
-
<Select.Trigger className="w-56" />
|
|
146
|
-
<Select.Content>
|
|
147
|
-
<Select.Item value="draft" textValue="Draft"><Badge variant="dot" color="gray">Draft</Badge></Select.Item>
|
|
148
|
-
<Select.Item value="sent" textValue="Sent"><Badge variant="dot" color="blue">Sent</Badge></Select.Item>
|
|
149
|
-
<Select.Item value="paid" textValue="Paid"><Badge variant="dot" color="green">Paid</Badge></Select.Item>
|
|
150
|
-
</Select.Content>
|
|
151
|
-
</Select>
|
|
152
|
-
|
|
153
|
-
# States
|
|
154
|
-
|
|
155
|
-
## Error State
|
|
156
|
-
|
|
157
|
-
`error` on the trigger tints its border, sets `aria-invalid`, and prints
|
|
158
|
-
the message underneath.
|
|
159
|
-
|
|
160
|
-
<Select>
|
|
161
|
-
<Select.Trigger placeholder="Select a role…" error="Please select a role to continue." />
|
|
162
|
-
<Select.Content>
|
|
163
|
-
<Select.Item index={0} value="admin">Admin</Select.Item>
|
|
164
|
-
<Select.Item index={1} value="editor">Editor</Select.Item>
|
|
165
|
-
<Select.Item index={2} value="viewer">Viewer</Select.Item>
|
|
166
|
-
</Select.Content>
|
|
167
|
-
</Select>
|
|
168
|
-
|
|
169
|
-
## Disabled
|
|
170
|
-
|
|
171
|
-
`disabled` on the root takes the whole control out; on a single item it
|
|
172
|
-
dims the row and makes it invisible to the hover highlight.
|
|
173
|
-
|
|
174
|
-
<div className="flex flex-wrap items-center gap-3">
|
|
175
|
-
<Select disabled>
|
|
176
|
-
<Select.Trigger placeholder="Disabled" />
|
|
177
|
-
<Select.Content>
|
|
178
|
-
<Select.Item index={0} value="a">Option A</Select.Item>
|
|
179
|
-
</Select.Content>
|
|
180
|
-
</Select>
|
|
181
|
-
<Select>
|
|
182
|
-
<Select.Trigger placeholder="Some disabled…" />
|
|
183
|
-
<Select.Content>
|
|
184
|
-
<Select.Item index={0} value="a">Available</Select.Item>
|
|
185
|
-
<Select.Item index={1} value="b" disabled>Unavailable</Select.Item>
|
|
186
|
-
<Select.Item index={2} value="c">Available</Select.Item>
|
|
187
|
-
</Select.Content>
|
|
188
|
-
</Select>
|
|
189
|
-
</div>
|
|
190
|
-
|
|
191
|
-
## Open state
|
|
192
|
-
|
|
193
|
-
`open` with `onOpenChange(open, details)` drives the popup from outside, and `defaultOpen` starts it open. A controlled `open` is followed exactly, so a handler can refuse a close or an open: this select is pinned shut. Uncontrolled, a pick still holds the popup for its 300ms acknowledgment.
|
|
194
|
-
|
|
195
|
-
<Select open={false} defaultValue="a">
|
|
196
|
-
<Select.Trigger aria-label="Pinned shut" />
|
|
197
|
-
<Select.Content>
|
|
198
|
-
<Select.Item value="a">Never opens</Select.Item>
|
|
199
|
-
</Select.Content>
|
|
200
|
-
</Select>
|
|
201
|
-
|
|
202
|
-
```tsx
|
|
203
|
-
const [open, setOpen] = useState(false)
|
|
204
|
-
|
|
205
|
-
<Select
|
|
206
|
-
open={open}
|
|
207
|
-
onOpenChange={(next, details) => {
|
|
208
|
-
if (!next && details.reason === 'outside-press') return
|
|
209
|
-
setOpen(next)
|
|
210
|
-
}}
|
|
211
|
-
>
|
|
212
|
-
…
|
|
213
|
-
</Select>
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
# Behavior
|
|
217
|
-
|
|
218
|
-
## Morph
|
|
219
|
-
|
|
220
|
-
The menu oozes out of its trigger by default. `effect="morph"` with `hideSource` turns the trigger itself into the list and shrinks it back, one continuous surface.
|
|
221
|
-
|
|
222
|
-
<div className="flex flex-wrap items-start justify-center gap-3">
|
|
223
|
-
<Select defaultValue="goo">
|
|
224
|
-
<Select.Trigger placeholder="Goo" />
|
|
225
|
-
<Select.Content>
|
|
226
|
-
<Select.Item index={0} value="goo">Goo</Select.Item>
|
|
227
|
-
<Select.Item index={1} value="neck">Liquid neck</Select.Item>
|
|
228
|
-
<Select.Item index={2} value="drop">Drop</Select.Item>
|
|
229
|
-
</Select.Content>
|
|
230
|
-
</Select>
|
|
231
|
-
<Select defaultValue="morph">
|
|
232
|
-
<Select.Trigger placeholder="Morph" />
|
|
233
|
-
<Select.Content effect="morph" hideSource>
|
|
234
|
-
<Select.Item index={0} value="morph">Morph</Select.Item>
|
|
235
|
-
<Select.Item index={1} value="grow">Grow</Select.Item>
|
|
236
|
-
<Select.Item index={2} value="shrink">Shrink back</Select.Item>
|
|
237
|
-
</Select.Content>
|
|
238
|
-
</Select>
|
|
239
|
-
</div>
|
|
240
|
-
|
|
241
|
-
## Placement
|
|
242
|
-
|
|
243
|
-
`side`, `align` and `sideOffset` on `Select.Content` place the menu; it still flips when there is no room.
|
|
244
|
-
|
|
245
|
-
<Select defaultValue="top">
|
|
246
|
-
<Select.Trigger className="w-40" />
|
|
247
|
-
<Select.Content side="top" align="end">
|
|
248
|
-
<Select.Item value="top">Above</Select.Item>
|
|
249
|
-
<Select.Item value="end">Aligned to the end</Select.Item>
|
|
250
|
-
</Select.Content>
|
|
251
|
-
</Select>
|
|
252
|
-
|
|
253
|
-
## Popup options
|
|
254
|
-
|
|
255
|
-
`alignOffset` shifts the menu along the trigger's edge, `collisionPadding` keeps it off the viewport edge, `finalFocus` decides where focus lands on close, and HTML attributes such as `id`, `aria-label` and `data-*` land on the popup element. Base UI's select popup always focuses the picked row when it opens, so there is no `initialFocus`.
|
|
256
|
-
|
|
257
|
-
<Select defaultValue="b">
|
|
258
|
-
<Select.Trigger className="w-40" aria-label="Offset" />
|
|
259
|
-
<Select.Content alignOffset={16} collisionPadding={16} aria-label="Choices" data-menu="offset">
|
|
260
|
-
<Select.Item value="a">Option A</Select.Item>
|
|
261
|
-
<Select.Item value="b">Option B</Select.Item>
|
|
262
|
-
</Select.Content>
|
|
263
|
-
</Select>
|
|
264
|
-
|
|
265
|
-
# Composition
|
|
266
|
-
|
|
267
|
-
## Your own trigger and rows
|
|
268
|
-
|
|
269
|
-
`render` (or `asChild` with a single child) swaps the trigger's button or a row's `div` for your element, which must forward its ref (a router link does). A custom trigger brings its own look and keeps the select's wiring, and the element replaces the whole field body: with children of its own, the icon, `placeholder` and chevron are not rendered (put a `Select.Value` inside to show the pick), while a childless element still gets the value slot, icon and chevron; either way the `error` border tint is not applied, though the message and `aria-invalid` are; a row keeps the hover, check and keyboard behaviour. Here the trigger is a borderless text button and the rows are elements of your own, marked with `data-kind`.
|
|
270
|
-
|
|
271
|
-
<Select defaultValue="docs">
|
|
272
|
-
<Select.Trigger asChild>
|
|
273
|
-
<button type="button" className="inline-flex items-center gap-2 text-body">
|
|
274
|
-
<Select.Value />
|
|
275
|
-
</button>
|
|
276
|
-
</Select.Trigger>
|
|
277
|
-
<Select.Content>
|
|
278
|
-
<Select.Item value="docs" asChild><div data-kind="custom">Docs</div></Select.Item>
|
|
279
|
-
<Select.Item value="guides" render={<div data-kind="custom" />}>Guides</Select.Item>
|
|
280
|
-
</Select.Content>
|
|
281
|
-
</Select>
|
|
282
|
-
|
|
283
|
-
## Wrapper and width
|
|
284
|
-
|
|
285
|
-
The trigger sits in a flex-column div that holds its `error` text. `wrapperClassName="contents"` removes that box from the layout, and `className="min-w-0"` lifts the field's 160px minimum (128px compact).
|
|
286
|
-
|
|
287
|
-
<div className="flex items-center gap-3">
|
|
288
|
-
<Select defaultValue="s">
|
|
289
|
-
<Select.Trigger className="min-w-0 w-24" wrapperClassName="contents" aria-label="Size" />
|
|
290
|
-
<Select.Content>
|
|
291
|
-
<Select.Item value="s">S</Select.Item>
|
|
292
|
-
<Select.Item value="m">M</Select.Item>
|
|
293
|
-
</Select.Content>
|
|
294
|
-
</Select>
|
|
295
|
-
<span className="text-body text-muted-foreground">sits flush in a flex row</span>
|
|
296
|
-
</div>
|