@passui/react 0.1.47 → 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 (427) 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 -38
  259. package/dist/types/src/components/popover/popover-root.d.ts +0 -22
  260. package/dist/types/src/components/popover/popover-trigger.d.ts +0 -23
  261. package/dist/types/src/components/profile-image/profile-image.d.ts +0 -9
  262. package/dist/types/src/components/progress-view/progress-view.d.ts +0 -13
  263. package/dist/types/src/components/progress-view/use-liquid-progress.d.ts +0 -3
  264. package/dist/types/src/components/radio-group/radio-group.d.ts +0 -20
  265. package/dist/types/src/components/search-field/expanding-search-field.d.ts +0 -5
  266. package/dist/types/src/components/search-field/search-field.d.ts +0 -9
  267. package/dist/types/src/components/search-list/search-list.d.ts +0 -22
  268. package/dist/types/src/components/section/section.d.ts +0 -18
  269. package/dist/types/src/components/secure-field/secure-field.d.ts +0 -4
  270. package/dist/types/src/components/segmented-control/segmented-control.d.ts +0 -25
  271. package/dist/types/src/components/sheet/modal-environment.d.ts +0 -2
  272. package/dist/types/src/components/sheet/sheet-portal.d.ts +0 -5
  273. package/dist/types/src/components/sheet/sheet.d.ts +0 -26
  274. package/dist/types/src/components/sheet/use-sheet-focus.d.ts +0 -3
  275. package/dist/types/src/components/sidebar/sidebar.d.ts +0 -24
  276. package/dist/types/src/components/skeleton/skeleton.d.ts +0 -9
  277. package/dist/types/src/components/slider/slider.d.ts +0 -17
  278. package/dist/types/src/components/slosh-slider/liquid-step.d.ts +0 -6
  279. package/dist/types/src/components/slosh-slider/slosh-slider.d.ts +0 -21
  280. package/dist/types/src/components/stat-tile/index.d.ts +0 -1
  281. package/dist/types/src/components/stat-tile/stat-tile.d.ts +0 -20
  282. package/dist/types/src/components/status-indicator/status-indicator.d.ts +0 -17
  283. package/dist/types/src/components/stepper/rolling-digit.d.ts +0 -11
  284. package/dist/types/src/components/stepper/stepper.d.ts +0 -22
  285. package/dist/types/src/components/swatch-picker/swatch-picker.d.ts +0 -22
  286. package/dist/types/src/components/tab-bar/tab-bar.d.ts +0 -43
  287. package/dist/types/src/components/tab-view/tab-view.d.ts +0 -27
  288. package/dist/types/src/components/text-editor/text-editor.d.ts +0 -9
  289. package/dist/types/src/components/text-field/text-field.d.ts +0 -33
  290. package/dist/types/src/components/toast/toast-store.d.ts +0 -52
  291. package/dist/types/src/components/toggle/toggle.d.ts +0 -22
  292. package/dist/types/src/components/tooltip/tooltip-host.d.ts +0 -7
  293. package/dist/types/src/components/view-controller/index.d.ts +0 -1
  294. package/dist/types/src/components/view-controller/view-controller.d.ts +0 -21
  295. package/dist/types/src/components/wake-slider/wake-slider.d.ts +0 -15
  296. package/dist/types/src/hooks/scroll/minimize-decision.d.ts +0 -2
  297. package/dist/types/src/hooks/use-anchored-disclosure.d.ts +0 -9
  298. package/dist/types/src/hooks/use-floating-dismiss.d.ts +0 -3
  299. package/dist/types/src/hooks/viewport/types.d.ts +0 -19
  300. package/dist/types/src/hooks/viewport/viewport-metrics.d.ts +0 -3
  301. package/dist/types/src/icons/icons.d.ts +0 -616
  302. package/dist/types/src/index.d.ts +0 -73
  303. package/dist/types/src/lib/class-names.d.ts +0 -2
  304. package/dist/types/src/lib/date.d.ts +0 -50
  305. package/dist/types/src/lib/floating-layers.d.ts +0 -8
  306. package/dist/types/src/lib/range-value.d.ts +0 -4
  307. package/dist/types/src/machines/popover.machine.d.ts +0 -30
  308. package/dist/types/src/motion/transitions.d.ts +0 -170
  309. package/src/appearance/index.ts +0 -2
  310. package/src/appearance/platform.tsx +0 -102
  311. package/src/appearance/theme.tsx +0 -467
  312. package/src/components/accordion/accordion.tsx +0 -70
  313. package/src/components/ambient/ambient.tsx +0 -35
  314. package/src/components/ambient/index.ts +0 -1
  315. package/src/components/aspect-ratio/aspect-ratio.tsx +0 -27
  316. package/src/components/breadcrumb/breadcrumb.tsx +0 -73
  317. package/src/components/button/button-styles.ts +0 -49
  318. package/src/components/button/button.tsx +0 -107
  319. package/src/components/button/icon-button.tsx +0 -33
  320. package/src/components/button/pending-spinner.tsx +0 -14
  321. package/src/components/button/use-pending-indicator.ts +0 -22
  322. package/src/components/chip/chip.tsx +0 -45
  323. package/src/components/code-block/code-block.tsx +0 -48
  324. package/src/components/combo-box/combo-box.tsx +0 -13
  325. package/src/components/command/command.tsx +0 -149
  326. package/src/components/compact-date-picker/calendar-month.ts +0 -109
  327. package/src/components/compact-date-picker/compact-date-picker.tsx +0 -337
  328. package/src/components/compact-time-picker/compact-time-picker.tsx +0 -321
  329. package/src/components/compact-time-picker/time-value.ts +0 -58
  330. package/src/components/content-unavailable-view/content-unavailable-view.tsx +0 -78
  331. package/src/components/content-view/content-view.tsx +0 -215
  332. package/src/components/content-view/index.ts +0 -1
  333. package/src/components/context-menu/conceal-menu-source.ts +0 -30
  334. package/src/components/context-menu/context-menu-host.tsx +0 -459
  335. package/src/components/context-menu/context-menu-store.ts +0 -167
  336. package/src/components/context-menu/menu-navigation.ts +0 -36
  337. package/src/components/context-menu/menu-position.ts +0 -38
  338. package/src/components/context-menu/menu-reveal.ts +0 -42
  339. package/src/components/context-menu/use-context-menu.ts +0 -73
  340. package/src/components/conversation/conversation.tsx +0 -309
  341. package/src/components/conversation/index.ts +0 -1
  342. package/src/components/date-picker/date-picker.tsx +0 -106
  343. package/src/components/date-picker/date-value.ts +0 -22
  344. package/src/components/dialog/dialog-host.tsx +0 -119
  345. package/src/components/dialog/dialog-store.ts +0 -66
  346. package/src/components/dialog/dialog.tsx +0 -211
  347. package/src/components/dialog/index.ts +0 -1
  348. package/src/components/disclosure-group/disclosure-group.tsx +0 -108
  349. package/src/components/divider/divider.tsx +0 -33
  350. package/src/components/inline-disclosure/inline-disclosure.tsx +0 -53
  351. package/src/components/keyboard-shortcut/keyboard-shortcut.tsx +0 -32
  352. package/src/components/labeled-content/labeled-content.tsx +0 -84
  353. package/src/components/locale-switcher/index.ts +0 -1
  354. package/src/components/locale-switcher/locale-switcher.tsx +0 -310
  355. package/src/components/menu/menu.tsx +0 -85
  356. package/src/components/morph/index.ts +0 -2
  357. package/src/components/morph/morph.tsx +0 -258
  358. package/src/components/morph/use-morph-disclosure.ts +0 -27
  359. package/src/components/one-time-code/one-time-code.tsx +0 -234
  360. package/src/components/picker/picker-trigger.ts +0 -22
  361. package/src/components/picker/picker.tsx +0 -404
  362. package/src/components/popover/anchored-surface.tsx +0 -264
  363. package/src/components/popover/index.ts +0 -50
  364. package/src/components/popover/popover-content.tsx +0 -374
  365. package/src/components/popover/popover-root.tsx +0 -97
  366. package/src/components/popover/popover-trigger.tsx +0 -71
  367. package/src/components/profile-image/profile-image.tsx +0 -96
  368. package/src/components/progress-view/progress-view.tsx +0 -72
  369. package/src/components/progress-view/use-liquid-progress.ts +0 -43
  370. package/src/components/radio-group/radio-group.tsx +0 -86
  371. package/src/components/search-field/expanding-search-field.tsx +0 -197
  372. package/src/components/search-field/search-field.tsx +0 -66
  373. package/src/components/search-list/search-list.tsx +0 -276
  374. package/src/components/section/section.tsx +0 -75
  375. package/src/components/secure-field/secure-field.tsx +0 -8
  376. package/src/components/segmented-control/segmented-control.tsx +0 -157
  377. package/src/components/sheet/modal-environment.ts +0 -82
  378. package/src/components/sheet/sheet-portal.tsx +0 -62
  379. package/src/components/sheet/sheet.tsx +0 -165
  380. package/src/components/sheet/use-sheet-focus.ts +0 -109
  381. package/src/components/sidebar/sidebar.tsx +0 -102
  382. package/src/components/skeleton/skeleton.tsx +0 -38
  383. package/src/components/slider/slider.tsx +0 -134
  384. package/src/components/slosh-slider/liquid-step.ts +0 -43
  385. package/src/components/slosh-slider/slosh-slider.tsx +0 -294
  386. package/src/components/stat-tile/index.ts +0 -1
  387. package/src/components/stat-tile/stat-tile.tsx +0 -90
  388. package/src/components/status-indicator/status-indicator.tsx +0 -54
  389. package/src/components/stepper/rolling-digit.tsx +0 -91
  390. package/src/components/stepper/stepper.tsx +0 -136
  391. package/src/components/swatch-picker/swatch-picker.tsx +0 -138
  392. package/src/components/tab-bar/tab-bar.tsx +0 -182
  393. package/src/components/tab-view/tab-view.tsx +0 -155
  394. package/src/components/table/table.tsx +0 -151
  395. package/src/components/text-editor/text-editor.tsx +0 -42
  396. package/src/components/text-field/text-field.tsx +0 -200
  397. package/src/components/toast/toast-store.ts +0 -164
  398. package/src/components/toast/toaster.tsx +0 -407
  399. package/src/components/toggle/toggle.tsx +0 -320
  400. package/src/components/tooltip/tooltip-host.tsx +0 -178
  401. package/src/components/view-controller/index.ts +0 -1
  402. package/src/components/view-controller/view-controller.tsx +0 -75
  403. package/src/components/wake-slider/wake-slider.tsx +0 -260
  404. package/src/hooks/use-anchored-disclosure.ts +0 -23
  405. package/src/hooks/use-anchored-placement.ts +0 -40
  406. package/src/hooks/use-dismiss.ts +0 -44
  407. package/src/hooks/use-floating-dismiss.ts +0 -30
  408. package/src/hooks/use-media-query.ts +0 -94
  409. package/src/hooks/use-minimize-on-scroll.ts +0 -77
  410. package/src/hooks/viewport/types.ts +0 -19
  411. package/src/hooks/viewport/viewport-metrics.ts +0 -19
  412. package/src/icons/icons.tsx +0 -458
  413. package/src/index.ts +0 -107
  414. package/src/lib/anchored-placement.ts +0 -91
  415. package/src/lib/class-names.ts +0 -21
  416. package/src/lib/clipboard.ts +0 -15
  417. package/src/lib/date.ts +0 -86
  418. package/src/lib/floating-layers.ts +0 -53
  419. package/src/lib/haptics.ts +0 -23
  420. package/src/lib/language.ts +0 -16
  421. package/src/lib/range-value.ts +0 -38
  422. package/src/lib/screen-edges.ts +0 -44
  423. package/src/lib/shapes.ts +0 -59
  424. package/src/machines/popover.machine.ts +0 -51
  425. package/src/motion/transitions.ts +0 -97
  426. package/src/tokens.ts +0 -1
  427. /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 };