@passui/react 0.1.46 → 0.2.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.
Files changed (429) hide show
  1. package/README.md +29 -109
  2. package/THIRD_PARTY_NOTICES.md +29 -0
  3. package/dist/accordion.d.ts +15 -0
  4. package/dist/accordion.js +93 -0
  5. package/dist/alert-dialog.d.ts +26 -0
  6. package/dist/alert-dialog.js +142 -0
  7. package/dist/alert.d.ts +10 -0
  8. package/dist/alert.js +28 -0
  9. package/dist/{types/src/components/ambient/ambient.d.ts → ambient.d.ts} +4 -4
  10. package/dist/ambient.js +22 -0
  11. package/dist/{types/src/appearance → appearance}/platform.d.ts +3 -3
  12. package/dist/appearance/platform.js +43 -0
  13. package/dist/appearance/theme.d.ts +71 -0
  14. package/dist/appearance/theme.js +236 -0
  15. package/dist/appearance.d.ts +3 -0
  16. package/dist/appearance.js +3 -0
  17. package/dist/{types/src/components/aspect-ratio/aspect-ratio.d.ts → aspect-ratio.d.ts} +4 -4
  18. package/dist/aspect-ratio.js +17 -0
  19. package/dist/avatar.d.ts +5 -0
  20. package/dist/avatar.js +43 -0
  21. package/dist/badge.d.ts +8 -0
  22. package/dist/badge.js +21 -0
  23. package/dist/breadcrumb.d.ts +13 -0
  24. package/dist/breadcrumb.js +63 -0
  25. package/dist/button-group.d.ts +5 -0
  26. package/dist/button-group.js +14 -0
  27. package/dist/button.d.ts +21 -0
  28. package/dist/button.js +58 -0
  29. package/dist/calendar.d.ts +35 -0
  30. package/dist/calendar.js +225 -0
  31. package/dist/card.d.ts +9 -0
  32. package/dist/card.js +54 -0
  33. package/dist/chart.d.ts +30 -0
  34. package/dist/chart.js +226 -0
  35. package/dist/checkbox.d.ts +13 -0
  36. package/dist/checkbox.js +53 -0
  37. package/dist/{types/src/lib/clipboard.d.ts → clipboard.d.ts} +1 -1
  38. package/dist/clipboard.js +16 -0
  39. package/dist/cn.d.ts +2 -0
  40. package/dist/cn.js +10 -0
  41. package/dist/code-block.d.ts +34 -0
  42. package/dist/code-block.js +87 -0
  43. package/dist/collapsible.d.ts +13 -0
  44. package/dist/collapsible.js +49 -0
  45. package/dist/combobox.d.ts +25 -0
  46. package/dist/combobox.js +112 -0
  47. package/dist/command.d.ts +22 -0
  48. package/dist/command.js +129 -0
  49. package/dist/components/toast/toast-store.d.ts +60 -0
  50. package/dist/components/toast/toast-store.js +96 -0
  51. package/dist/{types/src/components → components}/toast/toaster.d.ts +4 -4
  52. package/dist/components/toast/toaster.js +345 -0
  53. package/dist/context-menu.d.ts +2 -0
  54. package/dist/context-menu.js +2 -0
  55. package/dist/conversation.d.ts +48 -0
  56. package/dist/conversation.js +202 -0
  57. package/dist/date-time-picker.d.ts +50 -0
  58. package/dist/date-time-picker.js +235 -0
  59. package/dist/date.d.ts +50 -0
  60. package/dist/date.js +77 -0
  61. package/dist/dialog.d.ts +21 -0
  62. package/dist/dialog.js +113 -0
  63. package/dist/drawer.d.ts +30 -0
  64. package/dist/drawer.js +140 -0
  65. package/dist/dropdown-menu.d.ts +56 -0
  66. package/dist/dropdown-menu.js +295 -0
  67. package/dist/empty.d.ts +11 -0
  68. package/dist/empty.js +51 -0
  69. package/dist/field.d.ts +16 -0
  70. package/dist/field.js +47 -0
  71. package/{src/hooks/scroll/minimize-decision.ts → dist/hooks/scroll/minimize-decision.js} +3 -5
  72. package/dist/{types/src/hooks → hooks}/use-anchored-placement.d.ts +2 -2
  73. package/dist/hooks/use-anchored-placement.js +33 -0
  74. package/dist/{types/src/hooks → hooks}/use-minimize-on-scroll.d.ts +1 -1
  75. package/dist/hooks/use-minimize-on-scroll.js +59 -0
  76. package/dist/{types/src/hooks → hooks}/use-visual-viewport.d.ts +2 -2
  77. package/{src/hooks/use-visual-viewport.ts → dist/hooks/use-visual-viewport.js} +20 -35
  78. package/dist/hooks/viewport/types.d.ts +7 -0
  79. package/dist/hooks/viewport/viewport-metrics.js +13 -0
  80. package/dist/index.d.ts +84 -0
  81. package/dist/index.js +80 -0
  82. package/dist/input-group.d.ts +17 -0
  83. package/dist/input-group.js +55 -0
  84. package/dist/input-otp.d.ts +13 -0
  85. package/dist/input-otp.js +36 -0
  86. package/dist/input.d.ts +4 -0
  87. package/dist/input.js +14 -0
  88. package/dist/item.d.ts +49 -0
  89. package/dist/item.js +142 -0
  90. package/dist/kbd.d.ts +4 -0
  91. package/dist/kbd.js +86 -0
  92. package/dist/label.d.ts +3 -0
  93. package/dist/label.js +12 -0
  94. package/dist/labeled-content.d.ts +24 -0
  95. package/dist/labeled-content.js +41 -0
  96. package/dist/{types/src/lib/language.d.ts → language.d.ts} +1 -1
  97. package/dist/language.js +11 -0
  98. package/dist/layout.d.ts +24 -0
  99. package/dist/layout.js +36 -0
  100. package/dist/{types/src/lib → lib}/anchored-placement.d.ts +27 -27
  101. package/dist/lib/anchored-placement.js +42 -0
  102. package/dist/lib/calendar-month.js +90 -0
  103. package/dist/lib/cx.js +6 -0
  104. package/dist/lib/drawer.math.js +29 -0
  105. package/dist/lib/floating-layers.d.ts +3 -0
  106. package/dist/lib/floating-layers.js +25 -0
  107. package/dist/{types/src/lib → lib}/haptics.d.ts +1 -1
  108. package/dist/lib/haptics.js +13 -0
  109. package/dist/lib/liquid-step.js +33 -0
  110. package/dist/lib/page-scale.js +58 -0
  111. package/dist/lib/portal.js +12 -0
  112. package/dist/lib/presence.js +53 -0
  113. package/dist/lib/range-value.js +25 -0
  114. package/dist/lib/render.d.ts +8 -0
  115. package/dist/lib/render.js +42 -0
  116. package/dist/lib/rolling-digit.js +83 -0
  117. package/dist/{types/src/lib → lib}/screen-edges.d.ts +5 -5
  118. package/dist/lib/screen-edges.js +30 -0
  119. package/dist/lib/swipe-touch-action.js +34 -0
  120. package/dist/lib/visual-viewport.js +27 -0
  121. package/dist/lib/water-drop.js +412 -0
  122. package/dist/lib/wheel.js +125 -0
  123. package/dist/list.d.ts +26 -0
  124. package/dist/list.js +80 -0
  125. package/dist/locales.d.ts +18 -0
  126. package/dist/locales.js +36 -0
  127. package/dist/marker.d.ts +13 -0
  128. package/dist/marker.js +33 -0
  129. package/dist/motion/transitions.d.ts +170 -0
  130. package/dist/motion/transitions.js +156 -0
  131. package/dist/pagination.d.ts +30 -0
  132. package/dist/pagination.js +117 -0
  133. package/dist/popover.d.ts +26 -0
  134. package/dist/popover.js +101 -0
  135. package/dist/progress.d.ts +9 -0
  136. package/dist/progress.js +24 -0
  137. package/dist/questionnaire.d.ts +46 -0
  138. package/dist/questionnaire.js +133 -0
  139. package/dist/radio-group.d.ts +21 -0
  140. package/dist/radio-group.js +67 -0
  141. package/dist/search-field.d.ts +18 -0
  142. package/dist/search-field.js +45 -0
  143. package/dist/segmented-control.d.ts +16 -0
  144. package/dist/segmented-control.js +25 -0
  145. package/dist/select.d.ts +24 -0
  146. package/dist/select.js +107 -0
  147. package/dist/separator.d.ts +9 -0
  148. package/dist/separator.js +17 -0
  149. package/dist/{types/src/lib/shapes.d.ts → shapes.d.ts} +2 -2
  150. package/dist/shapes.js +65 -0
  151. package/dist/sheet.d.ts +24 -0
  152. package/dist/sheet.js +141 -0
  153. package/dist/sidebar.d.ts +32 -0
  154. package/dist/sidebar.js +85 -0
  155. package/dist/skeleton.d.ts +3 -0
  156. package/dist/skeleton.js +13 -0
  157. package/dist/slider.d.ts +9 -0
  158. package/dist/slider.js +42 -0
  159. package/dist/slosh-slider.d.ts +21 -0
  160. package/dist/slosh-slider.js +205 -0
  161. package/dist/spinner.d.ts +3 -0
  162. package/dist/spinner.js +20 -0
  163. package/dist/stat-tile.d.ts +20 -0
  164. package/dist/stat-tile.js +53 -0
  165. package/dist/stepper.d.ts +22 -0
  166. package/dist/stepper.js +98 -0
  167. package/dist/swatch-picker.d.ts +22 -0
  168. package/dist/swatch-picker.js +70 -0
  169. package/dist/switch.d.ts +10 -0
  170. package/dist/switch.js +44 -0
  171. package/dist/tab-bar.d.ts +15 -0
  172. package/dist/tab-bar.js +34 -0
  173. package/dist/{types/src/components/table/table.d.ts → table.d.ts} +3 -3
  174. package/dist/table.js +93 -0
  175. package/dist/tabs.d.ts +32 -0
  176. package/dist/tabs.js +131 -0
  177. package/dist/text.d.ts +25 -0
  178. package/dist/text.js +44 -0
  179. package/dist/textarea.d.ts +3 -0
  180. package/dist/textarea.js +13 -0
  181. package/dist/toast.d.ts +3 -0
  182. package/dist/toast.js +3 -0
  183. package/dist/toggle-group.d.ts +20 -0
  184. package/dist/toggle-group.js +68 -0
  185. package/dist/toggle.d.ts +24 -0
  186. package/dist/toggle.js +37 -0
  187. package/dist/tokens.d.ts +1 -0
  188. package/dist/tooltip.d.ts +21 -0
  189. package/dist/tooltip.js +61 -0
  190. package/dist/trace.d.ts +14 -0
  191. package/dist/trace.js +54 -0
  192. package/dist/{types/src/hooks/use-dismiss.d.ts → use-dismiss.d.ts} +3 -3
  193. package/dist/use-dismiss.js +38 -0
  194. package/dist/{types/src/hooks/use-media-query.d.ts → use-media-query.d.ts} +12 -12
  195. package/dist/use-media-query.js +56 -0
  196. package/dist/use-os.d.ts +12 -0
  197. package/dist/use-os.js +17 -0
  198. package/dist/wake-slider.d.ts +15 -0
  199. package/dist/wake-slider.js +174 -0
  200. package/package.json +122 -253
  201. package/src/styles/code-block.css +4 -0
  202. package/src/styles/globals.css +5 -0
  203. package/src/styles/motion-controls.css +10 -0
  204. package/src/styles/page-scale.css +27 -0
  205. package/src/styles/styles.css +4 -2
  206. package/dist/types/src/appearance/index.d.ts +0 -2
  207. package/dist/types/src/appearance/theme.d.ts +0 -71
  208. package/dist/types/src/components/accordion/accordion.d.ts +0 -23
  209. package/dist/types/src/components/ambient/index.d.ts +0 -1
  210. package/dist/types/src/components/breadcrumb/breadcrumb.d.ts +0 -19
  211. package/dist/types/src/components/button/button-styles.d.ts +0 -12
  212. package/dist/types/src/components/button/button.d.ts +0 -32
  213. package/dist/types/src/components/button/icon-button.d.ts +0 -10
  214. package/dist/types/src/components/button/pending-spinner.d.ts +0 -5
  215. package/dist/types/src/components/button/use-pending-indicator.d.ts +0 -2
  216. package/dist/types/src/components/chip/chip.d.ts +0 -10
  217. package/dist/types/src/components/code-block/code-block.d.ts +0 -13
  218. package/dist/types/src/components/combo-box/combo-box.d.ts +0 -9
  219. package/dist/types/src/components/command/command.d.ts +0 -18
  220. package/dist/types/src/components/compact-date-picker/calendar-month.d.ts +0 -25
  221. package/dist/types/src/components/compact-date-picker/compact-date-picker.d.ts +0 -30
  222. package/dist/types/src/components/compact-time-picker/compact-time-picker.d.ts +0 -29
  223. package/dist/types/src/components/compact-time-picker/time-value.d.ts +0 -18
  224. package/dist/types/src/components/content-unavailable-view/content-unavailable-view.d.ts +0 -12
  225. package/dist/types/src/components/content-view/content-view.d.ts +0 -51
  226. package/dist/types/src/components/content-view/index.d.ts +0 -1
  227. package/dist/types/src/components/context-menu/conceal-menu-source.d.ts +0 -2
  228. package/dist/types/src/components/context-menu/context-menu-host.d.ts +0 -2
  229. package/dist/types/src/components/context-menu/context-menu-store.d.ts +0 -62
  230. package/dist/types/src/components/context-menu/menu-navigation.d.ts +0 -6
  231. package/dist/types/src/components/context-menu/menu-position.d.ts +0 -21
  232. package/dist/types/src/components/context-menu/menu-reveal.d.ts +0 -26
  233. package/dist/types/src/components/context-menu/use-context-menu.d.ts +0 -14
  234. package/dist/types/src/components/conversation/conversation.d.ts +0 -48
  235. package/dist/types/src/components/conversation/index.d.ts +0 -1
  236. package/dist/types/src/components/date-picker/date-picker.d.ts +0 -19
  237. package/dist/types/src/components/date-picker/date-value.d.ts +0 -2
  238. package/dist/types/src/components/dialog/dialog-host.d.ts +0 -6
  239. package/dist/types/src/components/dialog/dialog-store.d.ts +0 -23
  240. package/dist/types/src/components/dialog/dialog.d.ts +0 -33
  241. package/dist/types/src/components/dialog/index.d.ts +0 -1
  242. package/dist/types/src/components/disclosure-group/disclosure-group.d.ts +0 -18
  243. package/dist/types/src/components/divider/divider.d.ts +0 -9
  244. package/dist/types/src/components/inline-disclosure/inline-disclosure.d.ts +0 -15
  245. package/dist/types/src/components/keyboard-shortcut/keyboard-shortcut.d.ts +0 -8
  246. package/dist/types/src/components/labeled-content/labeled-content.d.ts +0 -22
  247. package/dist/types/src/components/locale-switcher/index.d.ts +0 -1
  248. package/dist/types/src/components/locale-switcher/locale-switcher.d.ts +0 -13
  249. package/dist/types/src/components/menu/menu.d.ts +0 -16
  250. package/dist/types/src/components/morph/index.d.ts +0 -2
  251. package/dist/types/src/components/morph/morph.d.ts +0 -32
  252. package/dist/types/src/components/morph/use-morph-disclosure.d.ts +0 -13
  253. package/dist/types/src/components/one-time-code/one-time-code.d.ts +0 -26
  254. package/dist/types/src/components/picker/picker-trigger.d.ts +0 -3
  255. package/dist/types/src/components/picker/picker.d.ts +0 -46
  256. package/dist/types/src/components/popover/anchored-surface.d.ts +0 -17
  257. package/dist/types/src/components/popover/index.d.ts +0 -41
  258. package/dist/types/src/components/popover/popover-content.d.ts +0 -32
  259. package/dist/types/src/components/popover/popover-fit.d.ts +0 -21
  260. package/dist/types/src/components/popover/popover-root.d.ts +0 -22
  261. package/dist/types/src/components/popover/popover-trigger.d.ts +0 -23
  262. package/dist/types/src/components/profile-image/profile-image.d.ts +0 -9
  263. package/dist/types/src/components/progress-view/progress-view.d.ts +0 -13
  264. package/dist/types/src/components/progress-view/use-liquid-progress.d.ts +0 -3
  265. package/dist/types/src/components/radio-group/radio-group.d.ts +0 -20
  266. package/dist/types/src/components/search-field/expanding-search-field.d.ts +0 -5
  267. package/dist/types/src/components/search-field/search-field.d.ts +0 -9
  268. package/dist/types/src/components/search-list/search-list.d.ts +0 -22
  269. package/dist/types/src/components/section/section.d.ts +0 -18
  270. package/dist/types/src/components/secure-field/secure-field.d.ts +0 -4
  271. package/dist/types/src/components/segmented-control/segmented-control.d.ts +0 -25
  272. package/dist/types/src/components/sheet/modal-environment.d.ts +0 -2
  273. package/dist/types/src/components/sheet/sheet-portal.d.ts +0 -5
  274. package/dist/types/src/components/sheet/sheet.d.ts +0 -26
  275. package/dist/types/src/components/sheet/use-sheet-focus.d.ts +0 -3
  276. package/dist/types/src/components/sidebar/sidebar.d.ts +0 -24
  277. package/dist/types/src/components/skeleton/skeleton.d.ts +0 -9
  278. package/dist/types/src/components/slider/slider.d.ts +0 -17
  279. package/dist/types/src/components/slosh-slider/liquid-step.d.ts +0 -6
  280. package/dist/types/src/components/slosh-slider/slosh-slider.d.ts +0 -21
  281. package/dist/types/src/components/stat-tile/index.d.ts +0 -1
  282. package/dist/types/src/components/stat-tile/stat-tile.d.ts +0 -20
  283. package/dist/types/src/components/status-indicator/status-indicator.d.ts +0 -17
  284. package/dist/types/src/components/stepper/rolling-digit.d.ts +0 -11
  285. package/dist/types/src/components/stepper/stepper.d.ts +0 -22
  286. package/dist/types/src/components/swatch-picker/swatch-picker.d.ts +0 -22
  287. package/dist/types/src/components/tab-bar/tab-bar.d.ts +0 -43
  288. package/dist/types/src/components/tab-view/tab-view.d.ts +0 -27
  289. package/dist/types/src/components/text-editor/text-editor.d.ts +0 -9
  290. package/dist/types/src/components/text-field/text-field.d.ts +0 -33
  291. package/dist/types/src/components/toast/toast-store.d.ts +0 -52
  292. package/dist/types/src/components/toggle/toggle.d.ts +0 -22
  293. package/dist/types/src/components/tooltip/tooltip-host.d.ts +0 -7
  294. package/dist/types/src/components/view-controller/index.d.ts +0 -1
  295. package/dist/types/src/components/view-controller/view-controller.d.ts +0 -21
  296. package/dist/types/src/components/wake-slider/wake-slider.d.ts +0 -15
  297. package/dist/types/src/hooks/scroll/minimize-decision.d.ts +0 -2
  298. package/dist/types/src/hooks/use-anchored-disclosure.d.ts +0 -9
  299. package/dist/types/src/hooks/use-floating-dismiss.d.ts +0 -3
  300. package/dist/types/src/hooks/viewport/types.d.ts +0 -19
  301. package/dist/types/src/hooks/viewport/viewport-metrics.d.ts +0 -3
  302. package/dist/types/src/icons/icons.d.ts +0 -616
  303. package/dist/types/src/index.d.ts +0 -73
  304. package/dist/types/src/lib/class-names.d.ts +0 -2
  305. package/dist/types/src/lib/date.d.ts +0 -50
  306. package/dist/types/src/lib/floating-layers.d.ts +0 -8
  307. package/dist/types/src/lib/range-value.d.ts +0 -4
  308. package/dist/types/src/machines/popover.machine.d.ts +0 -30
  309. package/dist/types/src/motion/transitions.d.ts +0 -170
  310. package/src/appearance/index.ts +0 -2
  311. package/src/appearance/platform.tsx +0 -102
  312. package/src/appearance/theme.tsx +0 -467
  313. package/src/components/accordion/accordion.tsx +0 -70
  314. package/src/components/ambient/ambient.tsx +0 -35
  315. package/src/components/ambient/index.ts +0 -1
  316. package/src/components/aspect-ratio/aspect-ratio.tsx +0 -27
  317. package/src/components/breadcrumb/breadcrumb.tsx +0 -73
  318. package/src/components/button/button-styles.ts +0 -49
  319. package/src/components/button/button.tsx +0 -107
  320. package/src/components/button/icon-button.tsx +0 -33
  321. package/src/components/button/pending-spinner.tsx +0 -14
  322. package/src/components/button/use-pending-indicator.ts +0 -22
  323. package/src/components/chip/chip.tsx +0 -45
  324. package/src/components/code-block/code-block.tsx +0 -48
  325. package/src/components/combo-box/combo-box.tsx +0 -13
  326. package/src/components/command/command.tsx +0 -149
  327. package/src/components/compact-date-picker/calendar-month.ts +0 -109
  328. package/src/components/compact-date-picker/compact-date-picker.tsx +0 -337
  329. package/src/components/compact-time-picker/compact-time-picker.tsx +0 -321
  330. package/src/components/compact-time-picker/time-value.ts +0 -58
  331. package/src/components/content-unavailable-view/content-unavailable-view.tsx +0 -78
  332. package/src/components/content-view/content-view.tsx +0 -215
  333. package/src/components/content-view/index.ts +0 -1
  334. package/src/components/context-menu/conceal-menu-source.ts +0 -30
  335. package/src/components/context-menu/context-menu-host.tsx +0 -459
  336. package/src/components/context-menu/context-menu-store.ts +0 -167
  337. package/src/components/context-menu/menu-navigation.ts +0 -36
  338. package/src/components/context-menu/menu-position.ts +0 -38
  339. package/src/components/context-menu/menu-reveal.ts +0 -42
  340. package/src/components/context-menu/use-context-menu.ts +0 -73
  341. package/src/components/conversation/conversation.tsx +0 -309
  342. package/src/components/conversation/index.ts +0 -1
  343. package/src/components/date-picker/date-picker.tsx +0 -106
  344. package/src/components/date-picker/date-value.ts +0 -22
  345. package/src/components/dialog/dialog-host.tsx +0 -119
  346. package/src/components/dialog/dialog-store.ts +0 -66
  347. package/src/components/dialog/dialog.tsx +0 -211
  348. package/src/components/dialog/index.ts +0 -1
  349. package/src/components/disclosure-group/disclosure-group.tsx +0 -108
  350. package/src/components/divider/divider.tsx +0 -33
  351. package/src/components/inline-disclosure/inline-disclosure.tsx +0 -53
  352. package/src/components/keyboard-shortcut/keyboard-shortcut.tsx +0 -32
  353. package/src/components/labeled-content/labeled-content.tsx +0 -84
  354. package/src/components/locale-switcher/index.ts +0 -1
  355. package/src/components/locale-switcher/locale-switcher.tsx +0 -311
  356. package/src/components/menu/menu.tsx +0 -85
  357. package/src/components/morph/index.ts +0 -2
  358. package/src/components/morph/morph.tsx +0 -258
  359. package/src/components/morph/use-morph-disclosure.ts +0 -27
  360. package/src/components/one-time-code/one-time-code.tsx +0 -234
  361. package/src/components/picker/picker-trigger.ts +0 -22
  362. package/src/components/picker/picker.tsx +0 -404
  363. package/src/components/popover/anchored-surface.tsx +0 -264
  364. package/src/components/popover/index.ts +0 -50
  365. package/src/components/popover/popover-content.tsx +0 -334
  366. package/src/components/popover/popover-fit.ts +0 -74
  367. package/src/components/popover/popover-root.tsx +0 -97
  368. package/src/components/popover/popover-trigger.tsx +0 -71
  369. package/src/components/profile-image/profile-image.tsx +0 -96
  370. package/src/components/progress-view/progress-view.tsx +0 -72
  371. package/src/components/progress-view/use-liquid-progress.ts +0 -43
  372. package/src/components/radio-group/radio-group.tsx +0 -86
  373. package/src/components/search-field/expanding-search-field.tsx +0 -197
  374. package/src/components/search-field/search-field.tsx +0 -66
  375. package/src/components/search-list/search-list.tsx +0 -276
  376. package/src/components/section/section.tsx +0 -75
  377. package/src/components/secure-field/secure-field.tsx +0 -8
  378. package/src/components/segmented-control/segmented-control.tsx +0 -157
  379. package/src/components/sheet/modal-environment.ts +0 -82
  380. package/src/components/sheet/sheet-portal.tsx +0 -62
  381. package/src/components/sheet/sheet.tsx +0 -165
  382. package/src/components/sheet/use-sheet-focus.ts +0 -109
  383. package/src/components/sidebar/sidebar.tsx +0 -102
  384. package/src/components/skeleton/skeleton.tsx +0 -38
  385. package/src/components/slider/slider.tsx +0 -134
  386. package/src/components/slosh-slider/liquid-step.ts +0 -43
  387. package/src/components/slosh-slider/slosh-slider.tsx +0 -294
  388. package/src/components/stat-tile/index.ts +0 -1
  389. package/src/components/stat-tile/stat-tile.tsx +0 -90
  390. package/src/components/status-indicator/status-indicator.tsx +0 -54
  391. package/src/components/stepper/rolling-digit.tsx +0 -91
  392. package/src/components/stepper/stepper.tsx +0 -136
  393. package/src/components/swatch-picker/swatch-picker.tsx +0 -138
  394. package/src/components/tab-bar/tab-bar.tsx +0 -182
  395. package/src/components/tab-view/tab-view.tsx +0 -155
  396. package/src/components/table/table.tsx +0 -151
  397. package/src/components/text-editor/text-editor.tsx +0 -42
  398. package/src/components/text-field/text-field.tsx +0 -200
  399. package/src/components/toast/toast-store.ts +0 -164
  400. package/src/components/toast/toaster.tsx +0 -407
  401. package/src/components/toggle/toggle.tsx +0 -320
  402. package/src/components/tooltip/tooltip-host.tsx +0 -178
  403. package/src/components/view-controller/index.ts +0 -1
  404. package/src/components/view-controller/view-controller.tsx +0 -75
  405. package/src/components/wake-slider/wake-slider.tsx +0 -260
  406. package/src/hooks/use-anchored-disclosure.ts +0 -23
  407. package/src/hooks/use-anchored-placement.ts +0 -40
  408. package/src/hooks/use-dismiss.ts +0 -44
  409. package/src/hooks/use-floating-dismiss.ts +0 -30
  410. package/src/hooks/use-media-query.ts +0 -94
  411. package/src/hooks/use-minimize-on-scroll.ts +0 -77
  412. package/src/hooks/viewport/types.ts +0 -19
  413. package/src/hooks/viewport/viewport-metrics.ts +0 -19
  414. package/src/icons/icons.tsx +0 -458
  415. package/src/index.ts +0 -107
  416. package/src/lib/anchored-placement.ts +0 -91
  417. package/src/lib/class-names.ts +0 -21
  418. package/src/lib/clipboard.ts +0 -15
  419. package/src/lib/date.ts +0 -86
  420. package/src/lib/floating-layers.ts +0 -53
  421. package/src/lib/haptics.ts +0 -23
  422. package/src/lib/language.ts +0 -16
  423. package/src/lib/range-value.ts +0 -38
  424. package/src/lib/screen-edges.ts +0 -44
  425. package/src/lib/shapes.ts +0 -59
  426. package/src/machines/popover.machine.ts +0 -51
  427. package/src/motion/transitions.ts +0 -97
  428. package/src/tokens.ts +0 -1
  429. /package/dist/{types/src/tokens.d.ts → tokens.js} +0 -0
@@ -0,0 +1,53 @@
1
+ import { useLayoutEffect, useRef, useState } from "react";
2
+ // src/lib/presence.ts
3
+ /**
4
+ * Keeps a panel mounted until its CSS exit transition ends.
5
+ *
6
+ * `data-starting-style` is present for the first frame after mounting and
7
+ * `data-ending-style` from the moment `open` turns false. Both are removed or
8
+ * added by attribute only, so a transition reversed mid flight continues from
9
+ * its current position instead of jumping. Without transitions (or without
10
+ * `getAnimations`, as in jsdom) the panel unmounts at once.
11
+ */
12
+ function usePresence(open, hooks) {
13
+ const ref = useRef(null);
14
+ const [phase, setPhase] = useState(open ? "open" : "closed");
15
+ const hooksRef = useRef(hooks);
16
+ hooksRef.current = hooks;
17
+ const previous = useRef(phase);
18
+ if (open && phase === "closed") setPhase("starting");
19
+ else if (open && phase === "ending") setPhase("open");
20
+ else if (!open && (phase === "open" || phase === "starting")) setPhase("ending");
21
+ useLayoutEffect(() => {
22
+ const was = previous.current;
23
+ previous.current = phase;
24
+ const el = ref.current;
25
+ if (phase === "starting") {
26
+ el?.getBoundingClientRect();
27
+ if (el) hooksRef.current?.enter?.(el);
28
+ setPhase("open");
29
+ return;
30
+ }
31
+ if (phase === "open" && was === "ending" && el) hooksRef.current?.enter?.(el);
32
+ if (phase !== "ending") return;
33
+ if (el) hooksRef.current?.exit?.(el);
34
+ let cancelled = false;
35
+ const animations = el?.getAnimations?.() ?? [];
36
+ if (animations.length === 0) setPhase("closed");
37
+ else Promise.allSettled(animations.map((a) => a.finished)).then(() => {
38
+ if (!cancelled) setPhase("closed");
39
+ });
40
+ return () => {
41
+ cancelled = true;
42
+ };
43
+ }, [phase]);
44
+ return {
45
+ ref,
46
+ mounted: phase !== "closed",
47
+ attrs: {
48
+ "data-starting-style": phase === "starting" ? "" : void 0,
49
+ "data-ending-style": phase === "ending" ? "" : void 0
50
+ }
51
+ };
52
+ }
53
+ export { usePresence };
@@ -0,0 +1,25 @@
1
+ // src/lib/range-value.ts
2
+ /** Keep controlled numeric inputs within finite bounds without floating-point drift. */
3
+ function clampRange(value, min, max) {
4
+ if (!Number.isFinite(value)) return min;
5
+ return Math.min(max, Math.max(min, value));
6
+ }
7
+ /** The nearest reachable step from min, optionally allowing an exact maximum. */
8
+ function stepRange(value, direction, min, max, step) {
9
+ const factor = 10 ** Math.min(12, Math.max(0, ...[
10
+ min,
11
+ max,
12
+ step
13
+ ].map(decimalPlaces)));
14
+ const low = Math.round(min * factor);
15
+ const high = Math.round(max * factor);
16
+ const increment = Math.max(1, Math.round(step * factor));
17
+ const current = Math.round(clampRange(value, min, max) * factor);
18
+ const next = direction > 0 ? low + (Math.floor((current - low) / increment) + 1) * increment : low + (Math.ceil((current - low) / increment) - 1) * increment;
19
+ return clampRange(Math.min(high, Math.max(low, next)) / factor, min, max);
20
+ }
21
+ function decimalPlaces(value) {
22
+ const [mantissa, exponent] = String(value).toLowerCase().split("e");
23
+ return Math.max(0, (mantissa?.split(".")[1]?.length ?? 0) - Number(exponent ?? 0));
24
+ }
25
+ export { clampRange, stepRange };
@@ -0,0 +1,8 @@
1
+ import { ReactElement } from "react";
2
+ type Props = Record<string, unknown>;
3
+ /**
4
+ * Lets a part become the consumer's own element. Pass an element to receive
5
+ * the part's props merged into it, or a function that gets the props.
6
+ */
7
+ export type RenderProp = ReactElement | ((props: Props) => ReactElement);
8
+ export {};
@@ -0,0 +1,42 @@
1
+ import { cx } from "./cx.js";
2
+ import { cloneElement, createElement } from "react";
3
+ // src/lib/render.ts
4
+ function setRef(ref, value) {
5
+ if (typeof ref === "function") ref(value);
6
+ else if (ref) ref.current = value;
7
+ }
8
+ /**
9
+ * Merges two prop bags. Event handlers from both run (the element's first),
10
+ * class names join, styles merge (the element wins) and refs both receive the node.
11
+ */
12
+ function mergeProps(base, own) {
13
+ const merged = {
14
+ ...base,
15
+ ...own
16
+ };
17
+ for (const key of Object.keys(own)) {
18
+ const a = base[key];
19
+ const b = own[key];
20
+ if (/^on[A-Z]/.test(key) && typeof a === "function" && typeof b === "function") merged[key] = (...args) => {
21
+ b(...args);
22
+ a(...args);
23
+ };
24
+ else if (key === "className") merged[key] = cx(a, b);
25
+ else if (key === "style") merged[key] = {
26
+ ...a,
27
+ ...b
28
+ };
29
+ else if (key === "ref" && a && b) merged[key] = (node) => {
30
+ setRef(a, node);
31
+ setRef(b, node);
32
+ };
33
+ }
34
+ return merged;
35
+ }
36
+ /** Renders `tag` with `props`, or the consumer's `render` element or function in its place. */
37
+ function renderPart(tag, props, render) {
38
+ if (typeof render === "function") return render(props);
39
+ if (render) return cloneElement(render, mergeProps(props, render.props));
40
+ return createElement(tag, props);
41
+ }
42
+ export { mergeProps, renderPart };
@@ -0,0 +1,83 @@
1
+ import { useMediaQuery } from "../use-media-query.js";
2
+ import { useEffect, useRef } from "react";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ // src/lib/rolling-digit.tsx
5
+ /** Counts at a place retain carries: the tens column of 1284 targets 128. */
6
+ function digitAt(count) {
7
+ return (Math.floor(count) % 10 + 10) % 10;
8
+ }
9
+ function advanceDigit(position, velocity, target, frames) {
10
+ const nextVelocity = (velocity + (target - position) * .16 * frames) * .7 ** frames;
11
+ return {
12
+ position: position + nextVelocity * frames,
13
+ velocity: nextVelocity
14
+ };
15
+ }
16
+ /** Three recycled cells keep the strip continuous through either side of zero. */
17
+ function RollingDigit({ count, place }) {
18
+ const strip = useRef(null);
19
+ const state = useRef({
20
+ position: count,
21
+ velocity: 0
22
+ });
23
+ const reduced = useMediaQuery("(prefers-reduced-motion: reduce)");
24
+ useEffect(() => {
25
+ let frame = 0;
26
+ let previous = 0;
27
+ let due = 0;
28
+ const paint = (position, velocity) => {
29
+ const node = strip.current;
30
+ if (!node) return;
31
+ const base = Math.floor(position);
32
+ for (let index = 0; index < node.children.length; index++) node.children[index].textContent = String(digitAt(base + index - 1));
33
+ node.style.transform = `translateY(${-(position - base + 1) * 100 / 3}%)`;
34
+ node.style.filter = `blur(${Math.min(2, Math.abs(velocity) * 1.4)}px)`;
35
+ };
36
+ if (reduced) {
37
+ state.current = {
38
+ position: count,
39
+ velocity: 0
40
+ };
41
+ paint(count, 0);
42
+ return;
43
+ }
44
+ const tick = (now) => {
45
+ if (!due) due = now + place * 28;
46
+ const frames = previous ? Math.min((now - previous) / (1e3 / 60), 2) : 1;
47
+ previous = now;
48
+ if (now >= due) {
49
+ state.current = advanceDigit(state.current.position, state.current.velocity, count, frames);
50
+ if (Math.abs(count - state.current.position) < .002 && Math.abs(state.current.velocity) < .002) {
51
+ state.current = {
52
+ position: count,
53
+ velocity: 0
54
+ };
55
+ paint(count, 0);
56
+ return;
57
+ }
58
+ paint(state.current.position, state.current.velocity);
59
+ }
60
+ frame = requestAnimationFrame(tick);
61
+ };
62
+ frame = requestAnimationFrame(tick);
63
+ return () => cancelAnimationFrame(frame);
64
+ }, [
65
+ count,
66
+ place,
67
+ reduced
68
+ ]);
69
+ return /* @__PURE__ */ jsx("span", {
70
+ className: "relative inline-block h-[1.5em] w-[1ch] overflow-hidden align-middle",
71
+ children: /* @__PURE__ */ jsxs("span", {
72
+ ref: strip,
73
+ className: "absolute inset-x-0 top-0 flex flex-col leading-[1.5em]",
74
+ style: { transform: "translateY(-33.333333%)" },
75
+ children: [
76
+ /* @__PURE__ */ jsx("span", { children: digitAt(count - 1) }),
77
+ /* @__PURE__ */ jsx("span", { children: digitAt(count) }),
78
+ /* @__PURE__ */ jsx("span", { children: digitAt(count + 1) })
79
+ ]
80
+ })
81
+ });
82
+ }
83
+ export { RollingDigit, advanceDigit, digitAt };
@@ -1,12 +1,12 @@
1
1
  export interface ScreenEdges {
2
- top: number;
3
- right: number;
4
- bottom: number;
5
- left: number;
2
+ top: number;
3
+ right: number;
4
+ bottom: number;
5
+ left: number;
6
6
  }
7
7
  /**
8
8
  * How far menus and popovers keep from each side of the screen: clear of
9
9
  * the status bar, gesture bar and notch, and on touch screens a little
10
10
  * further from the glass, as the systems' own menus are.
11
11
  */
12
- export declare function screenEdges(): ScreenEdges;
12
+ export declare function screenEdges(): ScreenEdges;
@@ -0,0 +1,30 @@
1
+ // src/lib/screen-edges.ts
2
+ let probe;
3
+ /**
4
+ * How far menus and popovers keep from each side of the screen: clear of
5
+ * the status bar, gesture bar and notch, and on touch screens a little
6
+ * further from the glass, as the systems' own menus are.
7
+ */
8
+ function screenEdges() {
9
+ const margin = typeof window !== "undefined" && window.matchMedia("(pointer: coarse)").matches ? 12 : 8;
10
+ if (typeof document === "undefined") return {
11
+ top: margin,
12
+ right: margin,
13
+ bottom: margin,
14
+ left: margin
15
+ };
16
+ if (!probe) {
17
+ probe = document.createElement("div");
18
+ probe.setAttribute("aria-hidden", "true");
19
+ probe.style.cssText = "position:fixed;inset:0;visibility:hidden;pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)";
20
+ }
21
+ if (!probe.isConnected) document.body.appendChild(probe);
22
+ const style = getComputedStyle(probe);
23
+ return {
24
+ top: Number.parseFloat(style.paddingTop) + margin,
25
+ right: Number.parseFloat(style.paddingRight) + margin,
26
+ bottom: Number.parseFloat(style.paddingBottom) + margin,
27
+ left: Number.parseFloat(style.paddingLeft) + margin
28
+ };
29
+ }
30
+ export { screenEdges };
@@ -0,0 +1,34 @@
1
+ import { useLayoutEffect } from "react";
2
+ // src/lib/swipe-touch-action.ts
3
+ /**
4
+ * Lets a panel's own swipe win on a touch screen. A touch that starts a pan the
5
+ * browser is allowed to scroll is handed to the browser, which cancels the
6
+ * pointer events the drag needs, so the panel could only be dragged by its
7
+ * handle. Where the content does not scroll along the swipe axis, tell the
8
+ * browser it may only pan across that axis, and the body can be dragged too.
9
+ * Content that does scroll keeps native scrolling; its handle still drags.
10
+ */
11
+ function useSwipeTouchAction(ref, active, axis) {
12
+ useLayoutEffect(() => {
13
+ const el = ref.current;
14
+ if (!active || !el) return;
15
+ const apply = () => {
16
+ const scrolls = axis === "y" ? el.scrollHeight > el.clientHeight + 1 : el.scrollWidth > el.clientWidth + 1;
17
+ el.style.touchAction = scrolls ? "" : axis === "y" ? "pan-x" : "pan-y";
18
+ };
19
+ apply();
20
+ if (typeof ResizeObserver === "undefined") return;
21
+ const observer = new ResizeObserver(apply);
22
+ observer.observe(el);
23
+ for (const child of el.children) observer.observe(child);
24
+ return () => {
25
+ observer.disconnect();
26
+ el.style.touchAction = "";
27
+ };
28
+ }, [
29
+ ref,
30
+ active,
31
+ axis
32
+ ]);
33
+ }
34
+ export { useSwipeTouchAction };
@@ -0,0 +1,27 @@
1
+ import { useEffect } from "react";
2
+ // src/lib/visual-viewport.ts
3
+ /**
4
+ * Keeps `--visual-viewport-height` and `--visual-viewport-top` on the element
5
+ * current, so a panel sized from them stays above the soft keyboard.
6
+ */
7
+ function useVisualViewportVars(ref, enabled) {
8
+ useEffect(() => {
9
+ const el = ref.current;
10
+ const viewport = window.visualViewport;
11
+ if (!enabled || !el || !viewport) return;
12
+ const write = () => {
13
+ el.style.setProperty("--visual-viewport-height", `${viewport.height}px`);
14
+ el.style.setProperty("--visual-viewport-top", `${viewport.offsetTop}px`);
15
+ };
16
+ write();
17
+ viewport.addEventListener("resize", write);
18
+ viewport.addEventListener("scroll", write);
19
+ return () => {
20
+ viewport.removeEventListener("resize", write);
21
+ viewport.removeEventListener("scroll", write);
22
+ el.style.removeProperty("--visual-viewport-height");
23
+ el.style.removeProperty("--visual-viewport-top");
24
+ };
25
+ }, [ref, enabled]);
26
+ }
27
+ export { useVisualViewportVars };