@justanarthur/modo-ui 0.6.0-canary.9 → 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-c7rwx0ap.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-c74gf16d.js → components-1z6tdadk.js} +24 -40
- package/dist/shared/{components-bae8sbjx.js → components-27nnvrwe.js} +14 -15
- package/dist/shared/{components-qh1cvj6p.js → components-2dxkv6zm.js} +7 -8
- package/dist/shared/{components-y0kfy2g4.js → components-2ecg8svx.js} +152 -234
- package/dist/shared/{components-c5w5zk0s.js → components-2ph6t61s.js} +34 -37
- package/dist/shared/{components-4j3t39dd.js → components-39jq9va1.js} +24 -29
- package/dist/shared/components-3ky44908.js +9 -0
- package/dist/shared/{components-syynwm1r.js → components-3mkepka5.js} +25 -28
- package/dist/shared/{components-wgtjt2af.js → components-4700p9kz.js} +22 -24
- package/dist/shared/{components-yhgq0qxx.js → components-59efxjd9.js} +12 -13
- package/dist/shared/{components-91zw3d9f.js → components-5vgpnxgy.js} +27 -51
- package/dist/shared/{components-kz5q11pp.js → components-5xc2j8jz.js} +18 -19
- package/dist/shared/{components-zkk3fmw8.js → components-6p8tfcd6.js} +29 -57
- package/dist/shared/{components-4nck8acq.js → components-7r3etddy.js} +54 -19
- package/dist/shared/{components-svkt577j.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-pv1dyrtn.js → components-b3c5et5b.js} +38 -49
- package/dist/shared/{components-rrbpmfx4.js → components-c6s6b43g.js} +2 -3
- package/dist/shared/{components-pwayrkw9.js → components-chacnk61.js} +19 -19
- package/dist/shared/{components-71nbt03m.js → components-cv16mryv.js} +7 -26
- package/dist/shared/{components-hgv6tygd.js → components-d6xtjht3.js} +30 -35
- package/dist/shared/{components-z8fedth5.js → components-dk0gjr5a.js} +18 -19
- package/dist/shared/{components-cet3jpa0.js → components-fzrq6tr3.js} +34 -37
- package/dist/shared/{components-cnead5qm.js → components-gc5vtq2f.js} +30 -66
- package/dist/shared/components-gf5s6ap9.js +42 -0
- package/dist/shared/{components-0h78g3b5.js → components-gz8zf3ec.js} +55 -56
- package/dist/shared/{components-mattt5jp.js → components-h2ajmhwn.js} +35 -107
- package/dist/shared/{components-m06yq8wk.js → components-hqeq3w9q.js} +23 -38
- package/dist/shared/{components-7qx17na9.js → components-hw9yk32z.js} +24 -36
- package/dist/shared/components-hyq23phv.js +310 -0
- package/dist/shared/{components-9jmjnkqd.js → components-jbbmdr74.js} +22 -41
- package/dist/shared/{components-dcc02hs2.js → components-jjw69c4c.js} +4 -7
- package/dist/shared/{components-303jf96s.js → components-jthe1pwb.js} +420 -139
- package/dist/shared/{components-dtca4s6b.js → components-jwst3vtj.js} +76 -224
- package/dist/shared/{components-dc5q749x.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-qx27excf.js → components-mjthm1kf.js} +9 -13
- package/dist/shared/{components-1e64t8aj.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-w2jqa6hx.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-2a7hcand.js → components-rr7a6ja9.js} +27 -59
- package/dist/shared/{components-005jt2nz.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-p0fm0bab.js → components-w1r67ag9.js} +149 -294
- package/dist/shared/{components-xd3emmy4.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-yxmxn2jp.js → components-y9y0g8er.js} +28 -52
- package/dist/shared/components-ypp01w3p.js +986 -0
- package/dist/shared/{components-czdvj1a8.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-01w9qcfa.js +0 -277
- package/dist/shared/components-124epb7f.js +0 -53
- package/dist/shared/components-26snnbs9.js +0 -322
- package/dist/shared/components-2krsc300.js +0 -254
- package/dist/shared/components-2qbqqpgq.js +0 -1545
- 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-868v7scv.js +0 -399
- package/dist/shared/components-8jrk5eye.js +0 -448
- 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-bsqynhaj.js +0 -179
- package/dist/shared/components-c9yr4ed1.js +0 -44
- 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-f7h57m6t.js +0 -59
- package/dist/shared/components-g3eafs70.js +0 -337
- 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-mhza2wdn.js +0 -482
- package/dist/shared/components-mrbaxt8q.js +0 -62
- package/dist/shared/components-pt5ftm4p.js +0 -38
- package/dist/shared/components-rtadhd9j.js +0 -64
- package/dist/shared/components-tv7b8tet.js +0 -271
- package/dist/shared/components-tz4gaf1v.js +0 -23
- package/dist/shared/components-wbbckbw8.js +0 -34
- package/dist/shared/components-wknae3m4.js +0 -298
- 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/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 -575
- 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,193 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Local addition (not part of Fluid Functionalism): the toast options and the
|
|
3
|
-
* global `toast()` that works outside React. One module-level Base UI toast
|
|
4
|
-
* manager (`Toast.createToastManager`) carries every call to the `Toast`
|
|
5
|
-
* mounted with `manager={toast}`; calls made before that `Toast` subscribes
|
|
6
|
-
* (a child's mount effect runs before its parent's) wait in a queue and play
|
|
7
|
-
* once it does, so no toast is lost on the first render. On the server (no
|
|
8
|
-
* `window`) nothing will ever subscribe, so calls there are dropped instead of
|
|
9
|
-
* queued for the life of the process.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
import { type ToastManager, Toast as ToastPrimitive } from '@base-ui/react/toast'
|
|
13
|
-
import { isValidElement, type ReactNode } from 'react'
|
|
14
|
-
import type { IconComponent } from '../../../lib/icon-context'
|
|
15
|
-
|
|
16
|
-
type ToastType = 'success' | 'loading' | 'error' | 'warning' | 'info' | 'action'
|
|
17
|
-
|
|
18
|
-
/** A button in the toast's body. */
|
|
19
|
-
interface ToastActionOptions {
|
|
20
|
-
label: ReactNode
|
|
21
|
-
onClick?: () => void
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
interface ToastOptions {
|
|
25
|
-
/** Reuse an id to replace a toast that is still showing. */
|
|
26
|
-
id?: string
|
|
27
|
-
title?: ReactNode
|
|
28
|
-
description?: ReactNode
|
|
29
|
-
type?: ToastType
|
|
30
|
-
/** Ms before it leaves; 0 keeps it until dismissed. */
|
|
31
|
-
timeout?: number
|
|
32
|
-
/** Same as `timeout`; `timeout` wins when both are set. */
|
|
33
|
-
duration?: number
|
|
34
|
-
/** Replaces the state's icon in the pill: an icon component, or any node. */
|
|
35
|
-
icon?: IconComponent | ReactNode
|
|
36
|
-
/** A button in the body (`{ label, onClick }`), or any node. */
|
|
37
|
-
action?: ToastActionOptions | ReactNode
|
|
38
|
-
/** Runs once the toast starts to leave, however it was closed. */
|
|
39
|
-
onClose?: () => void
|
|
40
|
-
/** `high` is announced at once by screen readers; `low` waits its turn. */
|
|
41
|
-
priority?: 'low' | 'high'
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/** What a toast keeps beside Base UI's own fields. */
|
|
45
|
-
interface ToastData {
|
|
46
|
-
icon?: IconComponent | ReactNode
|
|
47
|
-
action?: ReactNode
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
type ToastInput = string | ToastOptions
|
|
51
|
-
type ToastResult<T> = ToastInput | ((value: T) => ToastInput)
|
|
52
|
-
|
|
53
|
-
interface ToastPromiseOptions<T> {
|
|
54
|
-
loading: ToastInput
|
|
55
|
-
success: ToastResult<T>
|
|
56
|
-
error: ToastResult<unknown>
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/** A shown toast: its id, and updating or dismissing it. */
|
|
60
|
-
interface ToastHandle {
|
|
61
|
-
id: string
|
|
62
|
-
update: (options: ToastInput) => void
|
|
63
|
-
dismiss: () => void
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
const isActionButton = (action: unknown): action is ToastActionOptions =>
|
|
67
|
-
typeof action === 'object' && action !== null && !isValidElement(action) && 'label' in action
|
|
68
|
-
|
|
69
|
-
/** Drops `undefined` keys: Base UI merges an update over the toast, so a missing key must not clear a field. */
|
|
70
|
-
function defined<T extends object>(value: T): T {
|
|
71
|
-
return Object.fromEntries(Object.entries(value).filter(([, v]) => v !== undefined)) as T
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/** Options as Base UI's manager takes them: the action button as `actionProps`, the rest in `data`. */
|
|
75
|
-
function toManagerOptions(input: ToastInput) {
|
|
76
|
-
const { action, icon, duration, timeout, ...rest } = typeof input === 'string' ? { title: input } : input
|
|
77
|
-
const button = isActionButton(action)
|
|
78
|
-
return defined({
|
|
79
|
-
...rest,
|
|
80
|
-
timeout: timeout ?? duration,
|
|
81
|
-
actionProps: button ? { children: action.label, onClick: action.onClick } : undefined,
|
|
82
|
-
data:
|
|
83
|
-
icon !== undefined || (action !== undefined && !button)
|
|
84
|
-
? { icon, action: button ? undefined : action }
|
|
85
|
-
: undefined,
|
|
86
|
-
})
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
const withType = (input: ToastInput, type: ToastType): ToastOptions =>
|
|
90
|
-
typeof input === 'string' ? { title: input, type } : { ...input, type }
|
|
91
|
-
|
|
92
|
-
const resultOptions = <T>(result: ToastResult<T>) =>
|
|
93
|
-
typeof result === 'function' ? (value: T) => toManagerOptions(result(value)) : toManagerOptions(result)
|
|
94
|
-
|
|
95
|
-
/** Base UI's manager, holding its events until a provider listens. */
|
|
96
|
-
function createQueuedManager(): ToastManager<ToastData> {
|
|
97
|
-
const manager = ToastPrimitive.createToastManager<ToastData>()
|
|
98
|
-
let listeners = 0
|
|
99
|
-
let queue: (() => void)[] = []
|
|
100
|
-
let count = 0
|
|
101
|
-
// No window, no provider to come: drop the call rather than hold it forever.
|
|
102
|
-
const browser = () => typeof window !== 'undefined'
|
|
103
|
-
const whenHeard = (run: () => void) => {
|
|
104
|
-
if (listeners) run()
|
|
105
|
-
else if (browser()) queue.push(run)
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
return {
|
|
109
|
-
' subscribe': listener => {
|
|
110
|
-
const unsubscribe = manager[' subscribe'](listener)
|
|
111
|
-
listeners++
|
|
112
|
-
const queued = queue
|
|
113
|
-
queue = []
|
|
114
|
-
for (const run of queued) run()
|
|
115
|
-
return () => {
|
|
116
|
-
listeners--
|
|
117
|
-
unsubscribe()
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
add: options => {
|
|
121
|
-
// A known id, so the caller can update or dismiss a toast still queued.
|
|
122
|
-
const id = options.id ?? `toast-global-${++count}`
|
|
123
|
-
whenHeard(() => manager.add({ ...options, id }))
|
|
124
|
-
return id
|
|
125
|
-
},
|
|
126
|
-
close: id => whenHeard(() => manager.close(id)),
|
|
127
|
-
update: (id, updates) => whenHeard(() => manager.update(id, updates)),
|
|
128
|
-
promise: (promise, options) => {
|
|
129
|
-
if (listeners) return manager.promise(promise, options)
|
|
130
|
-
// The toast reports a rejection; the caller still gets the original promise.
|
|
131
|
-
if (browser()) queue.push(() => manager.promise(promise, options).catch(() => {}))
|
|
132
|
-
return promise
|
|
133
|
-
},
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
const manager = createQueuedManager()
|
|
138
|
-
|
|
139
|
-
function show(input: ToastInput, type?: ToastType): ToastHandle {
|
|
140
|
-
const options = toManagerOptions(input)
|
|
141
|
-
const id = manager.add({ type: 'info', ...options, ...(type && { type }) })
|
|
142
|
-
return {
|
|
143
|
-
id,
|
|
144
|
-
update: next => manager.update(id, toManagerOptions(next)),
|
|
145
|
-
dismiss: () => manager.close(id),
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* Shows a toast from anywhere — an event handler, a fetch wrapper, code
|
|
151
|
-
* outside React — in the `Toast` mounted with `manager={toast}`. Returns a
|
|
152
|
-
* handle with the id, `update` and `dismiss`.
|
|
153
|
-
*/
|
|
154
|
-
const toast = Object.assign((input: ToastInput) => show(input), {
|
|
155
|
-
/** A `success` toast. */
|
|
156
|
-
success: (input: ToastInput) => show(input, 'success'),
|
|
157
|
-
/** An `error` toast. */
|
|
158
|
-
error: (input: ToastInput) => show(input, 'error'),
|
|
159
|
-
/** A `warning` toast. */
|
|
160
|
-
warning: (input: ToastInput) => show(input, 'warning'),
|
|
161
|
-
/** An `info` toast. */
|
|
162
|
-
info: (input: ToastInput) => show(input, 'info'),
|
|
163
|
-
/** A spinning `loading` toast. It stays while its type is `loading`; once updated to another type it leaves on its own `timeout` or the `Toast`'s. */
|
|
164
|
-
loading: (input: ToastInput) => show(withType(input, 'loading')),
|
|
165
|
-
/** Runs `promise` behind a `loading` toast that turns into its `success` or `error` toast. Returns the promise. */
|
|
166
|
-
promise: <T>(promise: Promise<T>, options: ToastPromiseOptions<T>) =>
|
|
167
|
-
manager.promise(promise, {
|
|
168
|
-
loading: toManagerOptions(options.loading),
|
|
169
|
-
success: resultOptions(options.success),
|
|
170
|
-
error: resultOptions(options.error),
|
|
171
|
-
}),
|
|
172
|
-
/** Changes a toast that is showing. */
|
|
173
|
-
update: (id: string, input: ToastInput) => manager.update(id, toManagerOptions(input)),
|
|
174
|
-
/** Closes one toast, or every toast without an id. */
|
|
175
|
-
dismiss: (id?: string) => manager.close(id),
|
|
176
|
-
// Base UI's provider subscribes through this key, so `toast` itself is what `<Toast manager>` takes.
|
|
177
|
-
' subscribe': manager[' subscribe'],
|
|
178
|
-
})
|
|
179
|
-
|
|
180
|
-
/** What `<Toast manager>` takes: the global `toast`, or a manager from Base UI's `Toast.createToastManager()`. */
|
|
181
|
-
type ToastSource = Pick<ToastManager, ' subscribe'>
|
|
182
|
-
|
|
183
|
-
export type {
|
|
184
|
-
ToastActionOptions,
|
|
185
|
-
ToastData,
|
|
186
|
-
ToastHandle,
|
|
187
|
-
ToastInput,
|
|
188
|
-
ToastOptions,
|
|
189
|
-
ToastPromiseOptions,
|
|
190
|
-
ToastSource,
|
|
191
|
-
ToastType,
|
|
192
|
-
}
|
|
193
|
-
export { toast, toManagerOptions }
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import Tooltip from './index'
|
|
2
|
-
import Button from '../../button'
|
|
3
|
-
import { Plus } from 'lucide-react'
|
|
4
|
-
|
|
5
|
-
# Basic
|
|
6
|
-
|
|
7
|
-
One `content` prop and a trigger child. The tooltip opens after the hover
|
|
8
|
-
delay and closes on pointer-out, blur or Escape.
|
|
9
|
-
|
|
10
|
-
<Tooltip content="Save your changes">
|
|
11
|
-
<Button>Hover me</Button>
|
|
12
|
-
</Tooltip>
|
|
13
|
-
|
|
14
|
-
# Placement
|
|
15
|
-
|
|
16
|
-
`side` picks the preferred side; `sideOffset` is the gap in pixels. A
|
|
17
|
-
tooltip that would collide with the viewport edge flips to the opposite
|
|
18
|
-
side and animates from there.
|
|
19
|
-
|
|
20
|
-
<div className="flex flex-wrap gap-3">
|
|
21
|
-
{['top', 'right', 'bottom', 'left'].map((side) => (
|
|
22
|
-
<Tooltip key={side} content={side} side={side}>
|
|
23
|
-
<Button variant="secondary" className="capitalize">{side}</Button>
|
|
24
|
-
</Tooltip>
|
|
25
|
-
))}
|
|
26
|
-
</div>
|
|
27
|
-
|
|
28
|
-
# Rich Content
|
|
29
|
-
|
|
30
|
-
`content` takes any node, not just a string — a shortcut hint, a label
|
|
31
|
-
with a description, a small stack of rows.
|
|
32
|
-
|
|
33
|
-
<Tooltip
|
|
34
|
-
content={
|
|
35
|
-
<div className="flex flex-col gap-1">
|
|
36
|
-
<span className="weight-semibold">Keyboard shortcut</span>
|
|
37
|
-
<span className="opacity-70">⌘ + S</span>
|
|
38
|
-
</div>
|
|
39
|
-
}
|
|
40
|
-
>
|
|
41
|
-
<Button leadingIcon={Plus}>Save</Button>
|
|
42
|
-
</Tooltip>
|
|
43
|
-
|
|
44
|
-
# Compound parts
|
|
45
|
-
|
|
46
|
-
Leave `content` out and `Tooltip` is the root of a compound tooltip: a
|
|
47
|
-
`Tooltip.Trigger` (`render` or Radix-style `asChild`) and a
|
|
48
|
-
`Tooltip.Content` with `side`, `align` and the offsets (and `render` or
|
|
49
|
-
`asChild` for the label's own element). It looks and moves the same as the
|
|
50
|
-
flat form.
|
|
51
|
-
|
|
52
|
-
<div className="flex flex-wrap gap-3">
|
|
53
|
-
<Tooltip>
|
|
54
|
-
<Tooltip.Trigger asChild>
|
|
55
|
-
<Button variant="secondary">Archive</Button>
|
|
56
|
-
</Tooltip.Trigger>
|
|
57
|
-
<Tooltip.Content asChild>
|
|
58
|
-
<span>Moves it out of the inbox</span>
|
|
59
|
-
</Tooltip.Content>
|
|
60
|
-
</Tooltip>
|
|
61
|
-
<Tooltip delay={0}>
|
|
62
|
-
<Tooltip.Trigger render={<Button variant="secondary">Start aligned</Button>} />
|
|
63
|
-
<Tooltip.Content side="bottom" align="start">Lines up with the trigger's left edge</Tooltip.Content>
|
|
64
|
-
</Tooltip>
|
|
65
|
-
</div>
|
|
66
|
-
|
|
67
|
-
# Follow cursor
|
|
68
|
-
|
|
69
|
-
For tall or wide triggers, a centered tooltip sits far from the pointer —
|
|
70
|
-
`followCursor` tracks it along one axis while the other stays anchored by
|
|
71
|
-
`side`.
|
|
72
|
-
|
|
73
|
-
<div className="flex flex-wrap items-center justify-center gap-6">
|
|
74
|
-
<Tooltip content="Following x" side="top" followCursor="x">
|
|
75
|
-
<div className="flex h-12 w-64 cursor-default items-center justify-center rounded-lg border border-border text-caption text-muted-foreground">
|
|
76
|
-
Move along me
|
|
77
|
-
</div>
|
|
78
|
-
</Tooltip>
|
|
79
|
-
<Tooltip content="Following y" side="right" followCursor="y">
|
|
80
|
-
<div className="flex h-40 w-12 cursor-default items-center justify-center rounded-lg border border-border text-caption text-muted-foreground">
|
|
81
|
-
<span className="rotate-90 whitespace-nowrap">Move along me</span>
|
|
82
|
-
</div>
|
|
83
|
-
</Tooltip>
|
|
84
|
-
</div>
|
|
85
|
-
|
|
86
|
-
# Delay
|
|
87
|
-
|
|
88
|
-
`delayDuration` overrides the hover delay per tooltip. Wrap a region in
|
|
89
|
-
`Tooltip.Provider` to share one delay and let adjacent tooltips skip it,
|
|
90
|
-
and the morph: the next label shows in place. The provider takes Base UI's
|
|
91
|
-
`delay` / `closeDelay` / `timeout` or Radix's `delayDuration` /
|
|
92
|
-
`skipDelayDuration`, so a Radix provider config spreads straight in.
|
|
93
|
-
|
|
94
|
-
<Tooltip.Provider delayDuration={300} skipDelayDuration={500}>
|
|
95
|
-
<div className="flex flex-wrap gap-3">
|
|
96
|
-
<Tooltip content="Instant" delayDuration={0}>
|
|
97
|
-
<Button variant="secondary">No delay</Button>
|
|
98
|
-
</Tooltip>
|
|
99
|
-
<Tooltip content="Grouped: 300ms, then instant between neighbours">
|
|
100
|
-
<Button variant="secondary">Grouped</Button>
|
|
101
|
-
</Tooltip>
|
|
102
|
-
<Tooltip content="Slow" delayDuration={500}>
|
|
103
|
-
<Button variant="secondary">500ms delay</Button>
|
|
104
|
-
</Tooltip>
|
|
105
|
-
</div>
|
|
106
|
-
</Tooltip.Provider>
|