@passui/react 0.1.16 → 0.1.19

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 (366) hide show
  1. package/README.md +102 -1
  2. package/dist/types/src/appearance/index.d.ts +2 -0
  3. package/dist/types/src/appearance/platform.d.ts +9 -0
  4. package/dist/types/src/appearance/theme.d.ts +71 -0
  5. package/dist/types/src/components/ambient/ambient.d.ts +12 -0
  6. package/dist/types/src/components/ambient/index.d.ts +1 -0
  7. package/dist/types/src/components/button/button-styles.d.ts +12 -0
  8. package/dist/types/src/components/button/button.d.ts +30 -0
  9. package/dist/types/src/components/button/icon-button.d.ts +10 -0
  10. package/dist/types/src/components/button/pending-spinner.d.ts +5 -0
  11. package/dist/types/src/components/button/use-pending-indicator.d.ts +2 -0
  12. package/dist/types/src/components/chip/chip.d.ts +7 -0
  13. package/dist/types/src/components/compact-date-picker/calendar-month.d.ts +25 -0
  14. package/dist/types/src/components/compact-date-picker/compact-date-picker.d.ts +27 -0
  15. package/dist/types/src/components/compact-time-picker/compact-time-picker.d.ts +26 -0
  16. package/dist/types/src/components/compact-time-picker/time-value.d.ts +18 -0
  17. package/dist/types/src/components/content-view/content-view.d.ts +48 -0
  18. package/dist/types/src/components/content-view/index.d.ts +1 -0
  19. package/dist/types/src/components/context-menu/conceal-menu-source.d.ts +2 -0
  20. package/dist/types/src/components/context-menu/context-menu-host.d.ts +2 -0
  21. package/dist/types/src/components/context-menu/context-menu-store.d.ts +57 -0
  22. package/dist/types/src/components/context-menu/menu-navigation.d.ts +6 -0
  23. package/dist/types/src/components/context-menu/menu-position.d.ts +21 -0
  24. package/dist/types/src/components/context-menu/menu-reveal.d.ts +22 -0
  25. package/dist/types/src/components/context-menu/use-context-menu.d.ts +14 -0
  26. package/dist/types/src/components/conversation/conversation.d.ts +43 -0
  27. package/dist/types/src/components/conversation/index.d.ts +1 -0
  28. package/dist/types/src/components/date-picker/date-picker.d.ts +16 -0
  29. package/dist/types/src/components/date-picker/date-value.d.ts +2 -0
  30. package/dist/types/src/components/dialog/dialog-host.d.ts +6 -0
  31. package/dist/types/src/components/dialog/dialog-store.d.ts +21 -0
  32. package/dist/types/src/components/dialog/dialog.d.ts +30 -0
  33. package/dist/types/src/components/dialog/index.d.ts +1 -0
  34. package/dist/types/src/components/disclosure-group/disclosure-group.d.ts +13 -0
  35. package/dist/types/src/components/divider/divider.d.ts +9 -0
  36. package/dist/types/src/components/inline-disclosure/inline-disclosure.d.ts +15 -0
  37. package/dist/types/src/components/labeled-content/labeled-content.d.ts +19 -0
  38. package/dist/types/src/components/locale-switcher/index.d.ts +1 -0
  39. package/dist/types/src/components/locale-switcher/locale-switcher.d.ts +10 -0
  40. package/dist/types/src/components/menu/menu.d.ts +16 -0
  41. package/dist/types/src/components/picker/picker-trigger.d.ts +2 -0
  42. package/dist/types/src/components/picker/picker.d.ts +37 -0
  43. package/dist/types/src/components/popover/popover-fit.d.ts +21 -0
  44. package/dist/types/src/components/popover/popover.d.ts +14 -0
  45. package/dist/types/src/components/profile-image/profile-image.d.ts +4 -0
  46. package/dist/types/src/components/progress-view/progress-view.d.ts +13 -0
  47. package/dist/types/src/components/search-field/search-field.d.ts +2 -0
  48. package/dist/types/src/components/search-list/search-list.d.ts +19 -0
  49. package/dist/types/src/components/section/section.d.ts +15 -0
  50. package/dist/types/src/components/secure-field/secure-field.d.ts +4 -0
  51. package/dist/types/src/components/segmented-control/segmented-control.d.ts +20 -0
  52. package/dist/types/src/components/sheet/modal-environment.d.ts +2 -0
  53. package/dist/types/src/components/sheet/sheet-portal.d.ts +5 -0
  54. package/dist/types/src/components/sheet/sheet.d.ts +21 -0
  55. package/dist/types/src/components/sheet/use-sheet-focus.d.ts +3 -0
  56. package/dist/types/src/components/sidebar/sidebar.d.ts +18 -0
  57. package/dist/types/src/components/slider/slider.d.ts +14 -0
  58. package/dist/types/src/components/stat-tile/index.d.ts +1 -0
  59. package/dist/types/src/components/stat-tile/stat-tile.d.ts +15 -0
  60. package/dist/types/src/components/status-indicator/status-indicator.d.ts +14 -0
  61. package/dist/types/src/components/stepper/stepper.d.ts +19 -0
  62. package/dist/types/src/components/swatch-picker/swatch-picker.d.ts +17 -0
  63. package/dist/types/src/components/tab-bar/tab-bar.d.ts +40 -0
  64. package/dist/types/src/components/tab-view/tab-view.d.ts +24 -0
  65. package/dist/types/src/components/table/table.d.ts +10 -0
  66. package/dist/types/src/components/text-editor/text-editor.d.ts +2 -0
  67. package/dist/types/src/components/text-field/text-field.d.ts +18 -0
  68. package/dist/types/src/components/toast/toast-store.d.ts +47 -0
  69. package/dist/types/src/components/toast/toaster.d.ts +10 -0
  70. package/dist/types/src/components/toggle/toggle.d.ts +17 -0
  71. package/dist/types/src/components/tooltip/tooltip-host.d.ts +6 -0
  72. package/dist/types/src/components/view-controller/index.d.ts +1 -0
  73. package/dist/types/src/components/view-controller/view-controller.d.ts +21 -0
  74. package/dist/types/src/hooks/scroll/minimize-decision.d.ts +2 -0
  75. package/dist/types/src/hooks/use-anchored-placement.d.ts +7 -0
  76. package/dist/types/src/hooks/use-dismiss.d.ts +9 -0
  77. package/dist/types/src/hooks/use-floating-dismiss.d.ts +3 -0
  78. package/dist/types/src/hooks/use-media-query.d.ts +21 -0
  79. package/dist/types/src/hooks/use-minimize-on-scroll.d.ts +6 -0
  80. package/dist/types/src/hooks/use-visual-viewport.d.ts +4 -0
  81. package/dist/types/src/hooks/viewport/types.d.ts +19 -0
  82. package/dist/types/src/hooks/viewport/viewport-metrics.d.ts +3 -0
  83. package/dist/types/src/icons/icons.d.ts +612 -0
  84. package/dist/types/src/index.d.ts +58 -0
  85. package/dist/types/src/lib/anchored-placement.d.ts +39 -0
  86. package/dist/types/src/lib/class-names.d.ts +2 -0
  87. package/dist/types/src/lib/clipboard.d.ts +6 -0
  88. package/dist/types/src/lib/date.d.ts +50 -0
  89. package/dist/types/src/lib/floating-layers.d.ts +8 -0
  90. package/dist/types/src/lib/haptics.d.ts +8 -0
  91. package/dist/types/src/lib/language.d.ts +4 -0
  92. package/dist/types/src/lib/range-value.d.ts +4 -0
  93. package/dist/types/src/lib/screen-edges.d.ts +12 -0
  94. package/dist/types/src/lib/shapes.d.ts +17 -0
  95. package/dist/types/src/motion/transitions.d.ts +97 -0
  96. package/dist/types/src/tokens.d.ts +1 -0
  97. package/package.json +192 -40
  98. package/src/appearance/platform.tsx +10 -47
  99. package/src/appearance/theme.tsx +42 -142
  100. package/src/components/ambient/ambient.tsx +2 -10
  101. package/src/components/button/button-styles.ts +13 -31
  102. package/src/components/button/button.tsx +19 -14
  103. package/src/components/button/icon-button.tsx +14 -56
  104. package/src/components/button/use-pending-indicator.ts +2 -7
  105. package/src/components/chip/chip.tsx +8 -13
  106. package/src/components/compact-date-picker/calendar-month.ts +13 -57
  107. package/src/components/compact-date-picker/compact-date-picker.tsx +44 -123
  108. package/src/components/compact-time-picker/compact-time-picker.tsx +46 -130
  109. package/src/components/compact-time-picker/time-value.ts +4 -16
  110. package/src/components/content-view/content-view.tsx +13 -56
  111. package/src/components/context-menu/conceal-menu-source.ts +1 -4
  112. package/src/components/context-menu/context-menu-host.tsx +125 -195
  113. package/src/components/context-menu/context-menu-store.ts +3 -11
  114. package/src/components/context-menu/menu-navigation.ts +29 -0
  115. package/src/components/context-menu/menu-position.ts +6 -27
  116. package/src/components/context-menu/menu-reveal.ts +13 -54
  117. package/src/components/context-menu/use-context-menu.ts +6 -30
  118. package/src/components/conversation/conversation.tsx +26 -72
  119. package/src/components/date-picker/date-picker.tsx +8 -37
  120. package/src/components/date-picker/date-value.ts +5 -30
  121. package/src/components/dialog/dialog-host.tsx +31 -76
  122. package/src/components/dialog/dialog-store.ts +1 -3
  123. package/src/components/dialog/dialog.tsx +23 -80
  124. package/src/components/disclosure-group/disclosure-group.tsx +70 -0
  125. package/src/components/divider/divider.tsx +31 -0
  126. package/src/components/inline-disclosure/inline-disclosure.tsx +49 -0
  127. package/src/components/labeled-content/labeled-content.tsx +24 -18
  128. package/src/components/locale-switcher/locale-switcher.tsx +20 -70
  129. package/src/components/menu/menu.tsx +68 -0
  130. package/src/components/picker/picker-trigger.ts +10 -0
  131. package/src/components/picker/picker.tsx +72 -203
  132. package/src/components/popover/popover-fit.ts +69 -0
  133. package/src/components/popover/popover.tsx +94 -77
  134. package/src/components/profile-image/profile-image.tsx +6 -28
  135. package/src/components/progress-view/progress-view.tsx +65 -0
  136. package/src/components/search-field/search-field.tsx +27 -25
  137. package/src/components/search-list/search-list.tsx +43 -69
  138. package/src/components/section/section.tsx +18 -17
  139. package/src/components/secure-field/secure-field.tsx +5 -7
  140. package/src/components/segmented-control/segmented-control.tsx +20 -29
  141. package/src/components/sheet/modal-environment.ts +16 -54
  142. package/src/components/sheet/sheet-portal.tsx +10 -42
  143. package/src/components/sheet/sheet.tsx +17 -25
  144. package/src/components/sheet/use-sheet-focus.ts +15 -51
  145. package/src/components/sidebar/sidebar.tsx +27 -30
  146. package/src/components/slider/slider.tsx +76 -0
  147. package/src/components/stat-tile/stat-tile.tsx +9 -30
  148. package/src/components/status-indicator/status-indicator.tsx +12 -19
  149. package/src/components/stepper/stepper.tsx +80 -0
  150. package/src/components/swatch-picker/swatch-picker.tsx +19 -15
  151. package/src/components/tab-bar/tab-bar.tsx +59 -59
  152. package/src/components/tab-view/tab-view.tsx +52 -57
  153. package/src/components/table/table.tsx +14 -62
  154. package/src/components/text-editor/text-editor.tsx +2 -12
  155. package/src/components/text-field/text-field.tsx +11 -40
  156. package/src/components/toast/toast-store.ts +9 -30
  157. package/src/components/toast/toaster.tsx +90 -104
  158. package/src/components/toggle/toggle.tsx +28 -24
  159. package/src/components/tooltip/tooltip-host.tsx +71 -69
  160. package/src/components/view-controller/view-controller.tsx +4 -21
  161. package/src/hooks/scroll/minimize-decision.ts +1 -5
  162. package/src/hooks/use-anchored-placement.ts +4 -14
  163. package/src/hooks/use-dismiss.ts +5 -23
  164. package/src/hooks/use-floating-dismiss.ts +28 -0
  165. package/src/hooks/use-media-query.ts +12 -31
  166. package/src/hooks/use-minimize-on-scroll.ts +10 -34
  167. package/src/hooks/use-visual-viewport.ts +5 -14
  168. package/src/hooks/viewport/viewport-metrics.ts +4 -16
  169. package/src/icons/icons.tsx +167 -121
  170. package/src/index.ts +9 -1
  171. package/src/lib/anchored-placement.ts +5 -15
  172. package/src/lib/class-names.ts +1 -2
  173. package/src/lib/clipboard.ts +14 -0
  174. package/src/lib/date.ts +4 -15
  175. package/src/lib/floating-layers.ts +18 -8
  176. package/src/lib/haptics.ts +1 -3
  177. package/src/lib/language.ts +2 -7
  178. package/src/lib/range-value.ts +32 -0
  179. package/src/lib/screen-edges.ts +2 -6
  180. package/src/lib/shapes.ts +5 -20
  181. package/src/motion/transitions.ts +18 -12
  182. package/src/components/ambient/ambient.docs.tsx +0 -68
  183. package/src/components/ambient/examples/ambient-images.tsx +0 -30
  184. package/src/components/ambient/examples/ambient-now-playing.tsx +0 -55
  185. package/src/components/ambient/examples/ambient-showcase.tsx +0 -33
  186. package/src/components/ambient/examples/ambient-usage.tsx +0 -19
  187. package/src/components/button/button.docs.tsx +0 -116
  188. package/src/components/button/examples/button-disabled.tsx +0 -19
  189. package/src/components/button/examples/button-icon.tsx +0 -39
  190. package/src/components/button/examples/button-link.tsx +0 -12
  191. package/src/components/button/examples/button-pending.tsx +0 -27
  192. package/src/components/button/examples/button-showcase.tsx +0 -115
  193. package/src/components/button/examples/button-sizes.tsx +0 -12
  194. package/src/components/button/examples/button-usage.tsx +0 -12
  195. package/src/components/button/examples/button-variants.tsx +0 -15
  196. package/src/components/button/examples/button-with-icon.tsx +0 -32
  197. package/src/components/button/examples/icon-button-player.tsx +0 -38
  198. package/src/components/button/examples/icon-button-showcase.tsx +0 -83
  199. package/src/components/button/examples/icon-button-usage.tsx +0 -11
  200. package/src/components/button/examples/icon-button-variants.tsx +0 -39
  201. package/src/components/button/icon-button.docs.tsx +0 -68
  202. package/src/components/chip/chip.docs.tsx +0 -37
  203. package/src/components/chip/examples/chip-in-rows.tsx +0 -19
  204. package/src/components/chip/examples/chip-showcase.tsx +0 -51
  205. package/src/components/chip/examples/chip-tones.tsx +0 -13
  206. package/src/components/chip/examples/chip-usage.tsx +0 -5
  207. package/src/components/compact-date-picker/compact-date-picker.docs.tsx +0 -81
  208. package/src/components/compact-date-picker/examples/compact-date-picker-showcase.tsx +0 -35
  209. package/src/components/compact-date-picker/examples/compact-date-picker-usage.tsx +0 -22
  210. package/src/components/compact-time-picker/compact-time-picker.docs.tsx +0 -80
  211. package/src/components/compact-time-picker/examples/compact-time-picker-showcase.tsx +0 -31
  212. package/src/components/compact-time-picker/examples/compact-time-picker-usage.tsx +0 -21
  213. package/src/components/content-view/content-view.docs.tsx +0 -61
  214. package/src/components/content-view/examples/content-view-header-action.tsx +0 -33
  215. package/src/components/content-view/examples/content-view-showcase.tsx +0 -65
  216. package/src/components/content-view/examples/content-view-stats.tsx +0 -35
  217. package/src/components/content-view/examples/content-view-usage.tsx +0 -14
  218. package/src/components/context-menu/context-menu.docs.tsx +0 -92
  219. package/src/components/context-menu/examples/context-menu-checked.tsx +0 -37
  220. package/src/components/context-menu/examples/context-menu-list.tsx +0 -85
  221. package/src/components/context-menu/examples/context-menu-showcase.tsx +0 -56
  222. package/src/components/context-menu/examples/context-menu-toolbar.tsx +0 -63
  223. package/src/components/context-menu/examples/context-menu-usage.tsx +0 -24
  224. package/src/components/conversation/conversation.docs.tsx +0 -88
  225. package/src/components/conversation/examples/conversation-composer.tsx +0 -36
  226. package/src/components/conversation/examples/conversation-days.tsx +0 -48
  227. package/src/components/conversation/examples/conversation-showcase.tsx +0 -71
  228. package/src/components/conversation/examples/conversation-usage.tsx +0 -28
  229. package/src/components/date-picker/date-picker.docs.tsx +0 -88
  230. package/src/components/date-picker/examples/date-picker-locales.tsx +0 -41
  231. package/src/components/date-picker/examples/date-picker-past-only.tsx +0 -29
  232. package/src/components/date-picker/examples/date-picker-showcase.tsx +0 -49
  233. package/src/components/date-picker/examples/date-picker-usage.tsx +0 -22
  234. package/src/components/dialog/dialog.docs.tsx +0 -114
  235. package/src/components/dialog/examples/dialog-confirm.tsx +0 -24
  236. package/src/components/dialog/examples/dialog-form.tsx +0 -46
  237. package/src/components/dialog/examples/dialog-inline.tsx +0 -48
  238. package/src/components/dialog/examples/dialog-showcase.tsx +0 -53
  239. package/src/components/dialog/examples/dialog-usage.tsx +0 -31
  240. package/src/components/labeled-content/examples/labeled-content-descriptions.tsx +0 -37
  241. package/src/components/labeled-content/examples/labeled-content-showcase.tsx +0 -54
  242. package/src/components/labeled-content/examples/labeled-content-usage.tsx +0 -22
  243. package/src/components/labeled-content/examples/labeled-content-values.tsx +0 -26
  244. package/src/components/labeled-content/examples/labeled-content-wide.tsx +0 -46
  245. package/src/components/labeled-content/labeled-content.docs.tsx +0 -69
  246. package/src/components/locale-switcher/examples/locale-switcher-native-names.tsx +0 -30
  247. package/src/components/locale-switcher/examples/locale-switcher-showcase.tsx +0 -46
  248. package/src/components/locale-switcher/examples/locale-switcher-translated-page.tsx +0 -35
  249. package/src/components/locale-switcher/examples/locale-switcher-usage.tsx +0 -20
  250. package/src/components/locale-switcher/locale-switcher.docs.tsx +0 -91
  251. package/src/components/picker/examples/picker-details.tsx +0 -44
  252. package/src/components/picker/examples/picker-searchable.tsx +0 -48
  253. package/src/components/picker/examples/picker-showcase.tsx +0 -66
  254. package/src/components/picker/examples/picker-usage.tsx +0 -20
  255. package/src/components/picker/picker.docs.tsx +0 -68
  256. package/src/components/popover/examples/popover-help.tsx +0 -57
  257. package/src/components/popover/examples/popover-menu.tsx +0 -51
  258. package/src/components/popover/examples/popover-showcase.tsx +0 -61
  259. package/src/components/popover/examples/popover-usage.tsx +0 -31
  260. package/src/components/popover/popover.docs.tsx +0 -84
  261. package/src/components/profile-image/examples/profile-image-fallbacks.tsx +0 -29
  262. package/src/components/profile-image/examples/profile-image-group.tsx +0 -34
  263. package/src/components/profile-image/examples/profile-image-showcase.tsx +0 -30
  264. package/src/components/profile-image/examples/profile-image-usage.tsx +0 -14
  265. package/src/components/profile-image/profile-image.docs.tsx +0 -81
  266. package/src/components/search-field/examples/search-field-filter.tsx +0 -53
  267. package/src/components/search-field/examples/search-field-showcase.tsx +0 -56
  268. package/src/components/search-field/examples/search-field-toolbar.tsx +0 -27
  269. package/src/components/search-field/examples/search-field-usage.tsx +0 -18
  270. package/src/components/search-field/search-field.docs.tsx +0 -58
  271. package/src/components/search-list/examples/search-list-dropdown.tsx +0 -53
  272. package/src/components/search-list/examples/search-list-groups.tsx +0 -64
  273. package/src/components/search-list/examples/search-list-showcase.tsx +0 -67
  274. package/src/components/search-list/examples/search-list-usage.tsx +0 -27
  275. package/src/components/search-list/search-list.docs.tsx +0 -87
  276. package/src/components/section/examples/section-actions.tsx +0 -35
  277. package/src/components/section/examples/section-groups.tsx +0 -41
  278. package/src/components/section/examples/section-showcase.tsx +0 -63
  279. package/src/components/section/examples/section-usage.tsx +0 -19
  280. package/src/components/section/section.docs.tsx +0 -51
  281. package/src/components/secure-field/examples/secure-field-new-password.tsx +0 -56
  282. package/src/components/secure-field/examples/secure-field-reveal.tsx +0 -20
  283. package/src/components/secure-field/examples/secure-field-showcase.tsx +0 -62
  284. package/src/components/secure-field/examples/secure-field-usage.tsx +0 -19
  285. package/src/components/secure-field/secure-field.docs.tsx +0 -72
  286. package/src/components/segmented-control/examples/segmented-control-overflow.tsx +0 -28
  287. package/src/components/segmented-control/examples/segmented-control-showcase.tsx +0 -59
  288. package/src/components/segmented-control/examples/segmented-control-usage.tsx +0 -20
  289. package/src/components/segmented-control/examples/segmented-control-views.tsx +0 -32
  290. package/src/components/segmented-control/segmented-control.docs.tsx +0 -61
  291. package/src/components/sheet/examples/sheet-choices.tsx +0 -58
  292. package/src/components/sheet/examples/sheet-share.tsx +0 -51
  293. package/src/components/sheet/examples/sheet-showcase.tsx +0 -74
  294. package/src/components/sheet/examples/sheet-usage.tsx +0 -32
  295. package/src/components/sheet/sheet.docs.tsx +0 -75
  296. package/src/components/sidebar/examples/sidebar-groups.tsx +0 -133
  297. package/src/components/sidebar/examples/sidebar-showcase.tsx +0 -123
  298. package/src/components/sidebar/examples/sidebar-unread.tsx +0 -66
  299. package/src/components/sidebar/examples/sidebar-usage.tsx +0 -52
  300. package/src/components/sidebar/sidebar.docs.tsx +0 -135
  301. package/src/components/stat-tile/examples/stat-tile-filters.tsx +0 -32
  302. package/src/components/stat-tile/examples/stat-tile-grid.tsx +0 -21
  303. package/src/components/stat-tile/examples/stat-tile-showcase.tsx +0 -52
  304. package/src/components/stat-tile/examples/stat-tile-usage.tsx +0 -13
  305. package/src/components/stat-tile/stat-tile.docs.tsx +0 -60
  306. package/src/components/status-indicator/examples/status-indicator-live.tsx +0 -34
  307. package/src/components/status-indicator/examples/status-indicator-showcase.tsx +0 -39
  308. package/src/components/status-indicator/examples/status-indicator-states.tsx +0 -17
  309. package/src/components/status-indicator/examples/status-indicator-usage.tsx +0 -9
  310. package/src/components/status-indicator/status-indicator.docs.tsx +0 -43
  311. package/src/components/swatch-picker/examples/swatch-picker-accents.tsx +0 -42
  312. package/src/components/swatch-picker/examples/swatch-picker-labels.tsx +0 -45
  313. package/src/components/swatch-picker/examples/swatch-picker-showcase.tsx +0 -70
  314. package/src/components/swatch-picker/examples/swatch-picker-usage.tsx +0 -39
  315. package/src/components/swatch-picker/swatch-picker.docs.tsx +0 -60
  316. package/src/components/tab-bar/examples/tab-bar-five-tabs.tsx +0 -66
  317. package/src/components/tab-bar/examples/tab-bar-minimize.tsx +0 -71
  318. package/src/components/tab-bar/examples/tab-bar-showcase.tsx +0 -82
  319. package/src/components/tab-bar/examples/tab-bar-usage.tsx +0 -54
  320. package/src/components/tab-bar/tab-bar.docs.tsx +0 -136
  321. package/src/components/tab-view/examples/tab-view-keyboard.tsx +0 -39
  322. package/src/components/tab-view/examples/tab-view-settings.tsx +0 -56
  323. package/src/components/tab-view/examples/tab-view-showcase.tsx +0 -53
  324. package/src/components/tab-view/examples/tab-view-usage.tsx +0 -23
  325. package/src/components/tab-view/tab-view.docs.tsx +0 -77
  326. package/src/components/table/examples/table-empty.tsx +0 -53
  327. package/src/components/table/examples/table-invoices.tsx +0 -102
  328. package/src/components/table/examples/table-selection.tsx +0 -150
  329. package/src/components/table/examples/table-showcase.tsx +0 -115
  330. package/src/components/table/examples/table-usage.tsx +0 -67
  331. package/src/components/table/examples/table-wide.tsx +0 -75
  332. package/src/components/table/table.docs.tsx +0 -131
  333. package/src/components/text-editor/examples/text-editor-comment.tsx +0 -48
  334. package/src/components/text-editor/examples/text-editor-count.tsx +0 -38
  335. package/src/components/text-editor/examples/text-editor-showcase.tsx +0 -58
  336. package/src/components/text-editor/examples/text-editor-usage.tsx +0 -25
  337. package/src/components/text-editor/text-editor.docs.tsx +0 -61
  338. package/src/components/text-field/examples/text-field-icons.tsx +0 -72
  339. package/src/components/text-field/examples/text-field-showcase.tsx +0 -50
  340. package/src/components/text-field/examples/text-field-usage.tsx +0 -18
  341. package/src/components/text-field/examples/text-field-validation.tsx +0 -27
  342. package/src/components/text-field/text-field.docs.tsx +0 -118
  343. package/src/components/toast/examples/toast-action.tsx +0 -32
  344. package/src/components/toast/examples/toast-promise.tsx +0 -45
  345. package/src/components/toast/examples/toast-showcase.tsx +0 -49
  346. package/src/components/toast/examples/toast-usage.tsx +0 -13
  347. package/src/components/toast/toast.docs.tsx +0 -79
  348. package/src/components/toggle/examples/toggle-checkboxes.tsx +0 -43
  349. package/src/components/toggle/examples/toggle-settings.tsx +0 -31
  350. package/src/components/toggle/examples/toggle-showcase.tsx +0 -59
  351. package/src/components/toggle/examples/toggle-usage.tsx +0 -13
  352. package/src/components/toggle/toggle.docs.tsx +0 -69
  353. package/src/components/tooltip/examples/tooltip-icon-buttons.tsx +0 -27
  354. package/src/components/tooltip/examples/tooltip-shortcuts.tsx +0 -38
  355. package/src/components/tooltip/examples/tooltip-showcase.tsx +0 -44
  356. package/src/components/tooltip/examples/tooltip-usage.tsx +0 -13
  357. package/src/components/tooltip/tooltip.docs.tsx +0 -56
  358. package/src/components/view-controller/examples/view-controller-action.tsx +0 -27
  359. package/src/components/view-controller/examples/view-controller-settings.tsx +0 -31
  360. package/src/components/view-controller/examples/view-controller-showcase.tsx +0 -45
  361. package/src/components/view-controller/examples/view-controller-usage.tsx +0 -19
  362. package/src/components/view-controller/view-controller.docs.tsx +0 -71
  363. package/src/docs/index.ts +0 -3
  364. package/src/docs/registry.ts +0 -113
  365. package/src/docs/snippet.ts +0 -17
  366. package/src/docs/types.ts +0 -180
@@ -0,0 +1,39 @@
1
+ export interface AnchoredPlacement {
2
+ left: number;
3
+ width: number;
4
+ top?: number;
5
+ bottom?: number;
6
+ /** Opens upward, so motion should grow from the bottom edge. */
7
+ above: boolean;
8
+ /**
9
+ * Set when the chosen side has less room than the panel needs: the
10
+ * panel scrolls inside this height instead of crossing the edge.
11
+ */
12
+ maxHeight?: number;
13
+ }
14
+ /** The measurements placement decides on, so the math stays testable. */
15
+ export interface PlacementFrame {
16
+ anchor: {
17
+ top: number;
18
+ bottom: number;
19
+ left: number;
20
+ };
21
+ viewport: {
22
+ width: number;
23
+ height: number;
24
+ };
25
+ edges: {
26
+ top: number;
27
+ right: number;
28
+ bottom: number;
29
+ left: number;
30
+ };
31
+ }
32
+ /**
33
+ * Places a panel of `width` under its anchor, or above it when there's
34
+ * less than `needed` height below and more room above, kept inside the
35
+ * screen's safe edges.
36
+ */
37
+ export declare function placeInViewport({ anchor, viewport, edges }: PlacementFrame, width: number, needed: number, gap?: number): AnchoredPlacement;
38
+ /** `placeInViewport` from live DOM measurements. */
39
+ export declare function placeAnchored(anchor: HTMLElement, width: number, needed: number, gap?: number): AnchoredPlacement;
@@ -0,0 +1,2 @@
1
+ import type { ClassValue } from "clsx";
2
+ export declare function cn(...inputs: ClassValue[]): string;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copies text after a user action. Returns true only after the browser confirms
3
+ * the write. Returns false when unavailable or denied, so the app can offer
4
+ * manual copying. This helper never reads the clipboard or adds feedback.
5
+ */
6
+ export declare function copyText(text: string): Promise<boolean>;
@@ -0,0 +1,50 @@
1
+ declare const PRESETS: {
2
+ /** Aug 30, 2026 */
3
+ PP: {
4
+ dateStyle: "medium";
5
+ };
6
+ /** August 30, 2026 */
7
+ PPP: {
8
+ dateStyle: "long";
9
+ };
10
+ /** Aug 30, 2026, 2:15 PM */
11
+ PPp: {
12
+ dateStyle: "medium";
13
+ timeStyle: "short";
14
+ };
15
+ /** August 30, 2026 at 2:15 PM */
16
+ PPPp: {
17
+ dateStyle: "long";
18
+ timeStyle: "short";
19
+ };
20
+ /** Aug 30 */
21
+ "MMM d": {
22
+ month: "short";
23
+ day: "numeric";
24
+ };
25
+ /** Aug 30, 14:15 */
26
+ "MMM d, HH:mm": {
27
+ month: "short";
28
+ day: "numeric";
29
+ hour: "2-digit";
30
+ minute: "2-digit";
31
+ hourCycle: "h23";
32
+ };
33
+ /** Aug 30, 14:15:09 */
34
+ "MMM d, HH:mm:ss": {
35
+ month: "short";
36
+ day: "numeric";
37
+ hour: "2-digit";
38
+ minute: "2-digit";
39
+ second: "2-digit";
40
+ hourCycle: "h23";
41
+ };
42
+ };
43
+ export type DatePreset = keyof typeof PRESETS;
44
+ /** A stored UTC timestamp shown as its UTC wall-clock time, whatever the viewer's timezone. */
45
+ export declare function formatUtc(date: Date | string | number, preset: DatePreset): string;
46
+ /** The viewer's local time of day, like 2:15 PM. */
47
+ export declare function formatTime(date: Date | string | number): string;
48
+ /** "5 minutes ago", "in 30 days": the largest whole unit that fits. */
49
+ export declare function fromNow(date: Date | string | number): string;
50
+ export {};
@@ -0,0 +1,8 @@
1
+ export declare const FLOATING_LAYER = "data-floating-layer";
2
+ /** Portals retain the ownership of the control that opened them. */
3
+ export declare function registerFloatingLayer(layer: Element, anchor: Element): () => void;
4
+ export declare function ownsFloatingLayer(container: Element, target: Element | null): boolean;
5
+ /** An element belongs to a surface either directly or through a portaled child layer. */
6
+ export declare function belongsToFloatingSurface(surface: Element, target: Element | null): boolean;
7
+ /** Whether a pointer target is outside both an anchored surface and its nested portals. */
8
+ export declare function isOutsideFloatingSurface(surface: Element | null, anchor: Element, target: EventTarget | null): boolean;
@@ -0,0 +1,8 @@
1
+ /** The feedback kinds the systems share, from a selection tick to an error. */
2
+ export type HapticKind = "selection" | "light" | "medium" | "heavy" | "success" | "warning" | "error";
3
+ /**
4
+ * Components only ask for feedback; the app decides how it plays on this
5
+ * device (system haptics, a vibration, or nothing) and whether it's on.
6
+ */
7
+ export declare function setHapticPlayer(next: (kind: HapticKind) => void): void;
8
+ export declare function haptic(kind: HapticKind): void;
@@ -0,0 +1,4 @@
1
+ /** A language's name in itself, capitalized: "Français", "中文". */
2
+ export declare function getNativeLanguageName(tag: string): string;
3
+ /** A language's name as read in `displayLocale`: "French" in English. */
4
+ export declare function getLocalizedLanguageName(tag: string, displayLocale: string): string;
@@ -0,0 +1,4 @@
1
+ /** Keep controlled numeric inputs within finite bounds without floating-point drift. */
2
+ export declare function clampRange(value: number, min: number, max: number): number;
3
+ /** The nearest reachable step from min, optionally allowing an exact maximum. */
4
+ export declare function stepRange(value: number, direction: -1 | 1, min: number, max: number, step: number): number;
@@ -0,0 +1,12 @@
1
+ export interface ScreenEdges {
2
+ top: number;
3
+ right: number;
4
+ bottom: number;
5
+ left: number;
6
+ }
7
+ /**
8
+ * How far menus and popovers keep from each side of the screen: clear of
9
+ * the status bar, gesture bar and notch, and on touch screens a little
10
+ * further from the glass, as the systems' own menus are.
11
+ */
12
+ export declare function screenEdges(): ScreenEdges;
@@ -0,0 +1,17 @@
1
+ /** Material 3 expressive outlines: a circle and the scalloped "cookie", "clover", and "sunny" shapes. */
2
+ export declare const shapes: readonly ["circle", "cookie4", "cookie6", "cookie9", "clover", "sunny",
3
+ /** Reserved for the Pherus mark itself, so it never matches a project's icon. */
4
+ "cookie12"];
5
+ export type Shape = (typeof shapes)[number];
6
+ /**
7
+ * An SVG path for a Material 3 expressive shape centred on (cx, cy): a circle
8
+ * whose radius rides a cosine wave, which gives the soft scalloped "cookie",
9
+ * "clover", and "sunny" outlines. The wave is normalised so every shape fills
10
+ * the same `r`, keeping icons optically the same size.
11
+ */
12
+ export declare function shapePath(shape: Shape, cx: number, cy: number, r: number): string;
13
+ /**
14
+ * The app wide `dualTone` rule dims every svg path for two tone icons; a
15
+ * drawn shape or illustration opts out with this so its colors stay true.
16
+ */
17
+ export declare const plainSvg = "cursor-[inherit] [&_path]:opacity-100 [&_path]:transform-none";
@@ -0,0 +1,97 @@
1
+ /** Design-token springs as motion/react transitions. */
2
+ export declare const spring: {
3
+ readonly smooth: {
4
+ readonly damping: 26;
5
+ readonly stiffness: 240;
6
+ readonly mass: 1;
7
+ readonly type: "spring";
8
+ };
9
+ readonly snappy: {
10
+ readonly damping: 22;
11
+ readonly stiffness: 380;
12
+ readonly mass: 1;
13
+ readonly type: "spring";
14
+ };
15
+ readonly bouncy: {
16
+ readonly damping: 14;
17
+ readonly stiffness: 220;
18
+ readonly mass: 1;
19
+ readonly type: "spring";
20
+ };
21
+ };
22
+ export type FloatingPanelSide = "above" | "below";
23
+ /** Anchored panels settle toward their source without shrinking their text. */
24
+ export declare function floatingPanelMotion(side?: FloatingPanelSide): {
25
+ readonly initial: {
26
+ readonly opacity: 0;
27
+ readonly scale: 1;
28
+ readonly y: number;
29
+ };
30
+ readonly animate: {
31
+ readonly opacity: 1;
32
+ readonly scale: 1;
33
+ readonly y: 0;
34
+ };
35
+ readonly exit: {
36
+ readonly opacity: 0;
37
+ readonly scale: 1;
38
+ readonly y: number;
39
+ };
40
+ readonly transition: {
41
+ readonly damping: 26;
42
+ readonly stiffness: 240;
43
+ readonly mass: 1;
44
+ readonly type: "spring";
45
+ readonly opacity: {
46
+ readonly duration: 0.16;
47
+ };
48
+ };
49
+ };
50
+ /** Default below-anchor presentation, retained for existing consumers. */
51
+ export declare const popoverMotion: {
52
+ readonly initial: {
53
+ readonly opacity: 0;
54
+ readonly scale: 1;
55
+ readonly y: number;
56
+ };
57
+ readonly animate: {
58
+ readonly opacity: 1;
59
+ readonly scale: 1;
60
+ readonly y: 0;
61
+ };
62
+ readonly exit: {
63
+ readonly opacity: 0;
64
+ readonly scale: 1;
65
+ readonly y: number;
66
+ };
67
+ readonly transition: {
68
+ readonly damping: 26;
69
+ readonly stiffness: 240;
70
+ readonly mass: 1;
71
+ readonly type: "spring";
72
+ readonly opacity: {
73
+ readonly duration: 0.16;
74
+ };
75
+ };
76
+ };
77
+ /** Floating bars that rise from the bottom edge. */
78
+ export declare const riseMotion: {
79
+ readonly initial: {
80
+ readonly opacity: 0;
81
+ readonly y: 32;
82
+ };
83
+ readonly animate: {
84
+ readonly opacity: 1;
85
+ readonly y: 0;
86
+ };
87
+ readonly exit: {
88
+ readonly opacity: 0;
89
+ readonly y: 24;
90
+ };
91
+ readonly transition: {
92
+ readonly damping: 26;
93
+ readonly stiffness: 240;
94
+ readonly mass: 1;
95
+ readonly type: "spring";
96
+ };
97
+ };
@@ -0,0 +1 @@
1
+ export * from "@passui/tokens";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@passui/react",
3
- "version": "0.1.16",
3
+ "version": "0.1.19",
4
4
  "description": "Passui: native React controls, design tokens, presentation and appearance.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -16,57 +16,208 @@
16
16
  "files": [
17
17
  "src",
18
18
  "README.md",
19
- "LICENSE"
19
+ "LICENSE",
20
+ "dist/types"
20
21
  ],
21
22
  "type": "module",
22
23
  "exports": {
23
- "./table": "./src/components/table/table.tsx",
24
- "./search-list": "./src/components/search-list/search-list.tsx",
25
- "./profile-image": "./src/components/profile-image/profile-image.tsx",
26
- "./popover": "./src/components/popover/popover.tsx",
27
- "./sheet": "./src/components/sheet/sheet.tsx",
28
- "./use-dismiss": "./src/hooks/use-dismiss.ts",
29
- "./toast": "./src/components/toast/toast-store.ts",
30
- "./toaster": "./src/components/toast/toaster.tsx",
31
- "./tab-view": "./src/components/tab-view/tab-view.tsx",
32
- "./sidebar": "./src/components/sidebar/sidebar.tsx",
33
- "./icon-button": "./src/components/button/icon-button.tsx",
34
- "./secure-field": "./src/components/secure-field/secure-field.tsx",
35
- "./text-field": "./src/components/text-field/text-field.tsx",
36
- "./text-editor": "./src/components/text-editor/text-editor.tsx",
37
- "./button": "./src/components/button/button.tsx",
38
- "./toggle": "./src/components/toggle/toggle.tsx",
39
- "./cn": "./src/lib/class-names.ts",
40
- ".": "./src/index.ts",
24
+ "./icons": {
25
+ "types": "./dist/types/src/icons/icons.d.ts",
26
+ "default": "./src/icons/icons.tsx"
27
+ },
28
+ "./clipboard": {
29
+ "types": "./dist/types/src/lib/clipboard.d.ts",
30
+ "default": "./src/lib/clipboard.ts"
31
+ },
32
+ "./search-field": {
33
+ "types": "./dist/types/src/components/search-field/search-field.d.ts",
34
+ "default": "./src/components/search-field/search-field.tsx"
35
+ },
36
+ "./picker": {
37
+ "types": "./dist/types/src/components/picker/picker.d.ts",
38
+ "default": "./src/components/picker/picker.tsx"
39
+ },
40
+ "./segmented-control": {
41
+ "types": "./dist/types/src/components/segmented-control/segmented-control.d.ts",
42
+ "default": "./src/components/segmented-control/segmented-control.tsx"
43
+ },
44
+ "./table": {
45
+ "types": "./dist/types/src/components/table/table.d.ts",
46
+ "default": "./src/components/table/table.tsx"
47
+ },
48
+ "./search-list": {
49
+ "types": "./dist/types/src/components/search-list/search-list.d.ts",
50
+ "default": "./src/components/search-list/search-list.tsx"
51
+ },
52
+ "./profile-image": {
53
+ "types": "./dist/types/src/components/profile-image/profile-image.d.ts",
54
+ "default": "./src/components/profile-image/profile-image.tsx"
55
+ },
56
+ "./popover": {
57
+ "types": "./dist/types/src/components/popover/popover.d.ts",
58
+ "default": "./src/components/popover/popover.tsx"
59
+ },
60
+ "./sheet": {
61
+ "types": "./dist/types/src/components/sheet/sheet.d.ts",
62
+ "default": "./src/components/sheet/sheet.tsx"
63
+ },
64
+ "./use-dismiss": {
65
+ "types": "./dist/types/src/hooks/use-dismiss.d.ts",
66
+ "default": "./src/hooks/use-dismiss.ts"
67
+ },
68
+ "./toast": {
69
+ "types": "./dist/types/src/components/toast/toast-store.d.ts",
70
+ "default": "./src/components/toast/toast-store.ts"
71
+ },
72
+ "./toaster": {
73
+ "types": "./dist/types/src/components/toast/toaster.d.ts",
74
+ "default": "./src/components/toast/toaster.tsx"
75
+ },
76
+ "./tab-view": {
77
+ "types": "./dist/types/src/components/tab-view/tab-view.d.ts",
78
+ "default": "./src/components/tab-view/tab-view.tsx"
79
+ },
80
+ "./sidebar": {
81
+ "types": "./dist/types/src/components/sidebar/sidebar.d.ts",
82
+ "default": "./src/components/sidebar/sidebar.tsx"
83
+ },
84
+ "./icon-button": {
85
+ "types": "./dist/types/src/components/button/icon-button.d.ts",
86
+ "default": "./src/components/button/icon-button.tsx"
87
+ },
88
+ "./secure-field": {
89
+ "types": "./dist/types/src/components/secure-field/secure-field.d.ts",
90
+ "default": "./src/components/secure-field/secure-field.tsx"
91
+ },
92
+ "./text-field": {
93
+ "types": "./dist/types/src/components/text-field/text-field.d.ts",
94
+ "default": "./src/components/text-field/text-field.tsx"
95
+ },
96
+ "./text-editor": {
97
+ "types": "./dist/types/src/components/text-editor/text-editor.d.ts",
98
+ "default": "./src/components/text-editor/text-editor.tsx"
99
+ },
100
+ "./button": {
101
+ "types": "./dist/types/src/components/button/button.d.ts",
102
+ "default": "./src/components/button/button.tsx"
103
+ },
104
+ "./toggle": {
105
+ "types": "./dist/types/src/components/toggle/toggle.d.ts",
106
+ "default": "./src/components/toggle/toggle.tsx"
107
+ },
108
+ "./menu": {
109
+ "types": "./dist/types/src/components/menu/menu.d.ts",
110
+ "default": "./src/components/menu/menu.tsx"
111
+ },
112
+ "./disclosure-group": {
113
+ "types": "./dist/types/src/components/disclosure-group/disclosure-group.d.ts",
114
+ "default": "./src/components/disclosure-group/disclosure-group.tsx"
115
+ },
116
+ "./slider": {
117
+ "types": "./dist/types/src/components/slider/slider.d.ts",
118
+ "default": "./src/components/slider/slider.tsx"
119
+ },
120
+ "./stepper": {
121
+ "types": "./dist/types/src/components/stepper/stepper.d.ts",
122
+ "default": "./src/components/stepper/stepper.tsx"
123
+ },
124
+ "./progress-view": {
125
+ "types": "./dist/types/src/components/progress-view/progress-view.d.ts",
126
+ "default": "./src/components/progress-view/progress-view.tsx"
127
+ },
128
+ "./divider": {
129
+ "types": "./dist/types/src/components/divider/divider.d.ts",
130
+ "default": "./src/components/divider/divider.tsx"
131
+ },
132
+ "./cn": {
133
+ "types": "./dist/types/src/lib/class-names.d.ts",
134
+ "default": "./src/lib/class-names.ts"
135
+ },
136
+ ".": {
137
+ "types": "./dist/types/src/index.d.ts",
138
+ "default": "./src/index.ts"
139
+ },
41
140
  "./base.css": "./src/styles/base.css",
42
141
  "./utilities.css": "./src/styles/utilities.css",
43
142
  "./theme.css": "./src/styles/theme.css",
44
- "./tokens": "./src/tokens.ts",
45
- "./date-picker": "./src/components/date-picker/date-picker.tsx",
46
- "./compact-date-picker": "./src/components/compact-date-picker/compact-date-picker.tsx",
47
- "./compact-time-picker": "./src/components/compact-time-picker/compact-time-picker.tsx",
48
- "./view-controller": "./src/components/view-controller/index.ts",
49
- "./content-view": "./src/components/content-view/index.ts",
50
- "./ambient": "./src/components/ambient/index.ts",
51
- "./stat-tile": "./src/components/stat-tile/index.ts",
52
- "./conversation": "./src/components/conversation/index.ts",
53
- "./locale-switcher": "./src/components/locale-switcher/index.ts",
54
- "./date": "./src/lib/date.ts",
55
- "./language": "./src/lib/language.ts",
56
- "./shapes": "./src/lib/shapes.ts",
57
- "./appearance": "./src/appearance/index.ts",
58
- "./use-media-query": "./src/hooks/use-media-query.ts",
143
+ "./tokens": {
144
+ "types": "./dist/types/src/tokens.d.ts",
145
+ "default": "./src/tokens.ts"
146
+ },
147
+ "./date-picker": {
148
+ "types": "./dist/types/src/components/date-picker/date-picker.d.ts",
149
+ "default": "./src/components/date-picker/date-picker.tsx"
150
+ },
151
+ "./compact-date-picker": {
152
+ "types": "./dist/types/src/components/compact-date-picker/compact-date-picker.d.ts",
153
+ "default": "./src/components/compact-date-picker/compact-date-picker.tsx"
154
+ },
155
+ "./compact-time-picker": {
156
+ "types": "./dist/types/src/components/compact-time-picker/compact-time-picker.d.ts",
157
+ "default": "./src/components/compact-time-picker/compact-time-picker.tsx"
158
+ },
159
+ "./view-controller": {
160
+ "types": "./dist/types/src/components/view-controller/index.d.ts",
161
+ "default": "./src/components/view-controller/index.ts"
162
+ },
163
+ "./content-view": {
164
+ "types": "./dist/types/src/components/content-view/index.d.ts",
165
+ "default": "./src/components/content-view/index.ts"
166
+ },
167
+ "./ambient": {
168
+ "types": "./dist/types/src/components/ambient/index.d.ts",
169
+ "default": "./src/components/ambient/index.ts"
170
+ },
171
+ "./stat-tile": {
172
+ "types": "./dist/types/src/components/stat-tile/index.d.ts",
173
+ "default": "./src/components/stat-tile/index.ts"
174
+ },
175
+ "./conversation": {
176
+ "types": "./dist/types/src/components/conversation/index.d.ts",
177
+ "default": "./src/components/conversation/index.ts"
178
+ },
179
+ "./locale-switcher": {
180
+ "types": "./dist/types/src/components/locale-switcher/index.d.ts",
181
+ "default": "./src/components/locale-switcher/index.ts"
182
+ },
183
+ "./date": {
184
+ "types": "./dist/types/src/lib/date.d.ts",
185
+ "default": "./src/lib/date.ts"
186
+ },
187
+ "./language": {
188
+ "types": "./dist/types/src/lib/language.d.ts",
189
+ "default": "./src/lib/language.ts"
190
+ },
191
+ "./shapes": {
192
+ "types": "./dist/types/src/lib/shapes.d.ts",
193
+ "default": "./src/lib/shapes.ts"
194
+ },
195
+ "./appearance": {
196
+ "types": "./dist/types/src/appearance/index.d.ts",
197
+ "default": "./src/appearance/index.ts"
198
+ },
199
+ "./use-media-query": {
200
+ "types": "./dist/types/src/hooks/use-media-query.d.ts",
201
+ "default": "./src/hooks/use-media-query.ts"
202
+ },
59
203
  "./typeset.css": "./src/styles/typeset.css",
60
204
  "./styles.css": "./src/styles/styles.css",
61
- "./dialog": "./src/components/dialog/index.ts",
62
- "./docs": "./src/docs/index.ts"
205
+ "./dialog": {
206
+ "types": "./dist/types/src/components/dialog/index.d.ts",
207
+ "default": "./src/components/dialog/index.ts"
208
+ },
209
+ "./inline-disclosure": {
210
+ "types": "./dist/types/src/components/inline-disclosure/inline-disclosure.d.ts",
211
+ "default": "./src/components/inline-disclosure/inline-disclosure.tsx"
212
+ }
63
213
  },
64
214
  "scripts": {
65
215
  "generate": "bun run --cwd ../tokens generate",
66
216
  "test": "vitest run",
67
217
  "typecheck": "tsc -p tsconfig.json",
68
218
  "publish:check": "bun pm pack --dry-run",
69
- "build": "bun run generate"
219
+ "build": "bun run generate && tsc -p tsconfig.build.json",
220
+ "prepack": "bun run build"
70
221
  },
71
222
  "packageManager": "bun@1.4.2",
72
223
  "peerDependencies": {
@@ -92,6 +243,7 @@
92
243
  "clsx": "^2.1.1",
93
244
  "tailwind-merge": "^3.7.0",
94
245
  "tw-animate-css": "^1.4.0",
95
- "@passui/tokens": "^0.1.0"
96
- }
246
+ "@passui/tokens": "^0.1.1"
247
+ },
248
+ "types": "./dist/types/src/index.d.ts"
97
249
  }
@@ -1,18 +1,6 @@
1
- import {
2
- createContext,
3
- useContext,
4
- useEffect,
5
- useState,
6
- type PropsWithChildren,
7
- } from "react"
1
+ import { createContext, useContext, useEffect, useState, type PropsWithChildren } from "react"
8
2
 
9
- export type PlatformOS =
10
- | "ios"
11
- | "android"
12
- | "macos"
13
- | "windows"
14
- | "linux"
15
- | "unknown"
3
+ export type PlatformOS = "ios" | "android" | "macos" | "windows" | "linux" | "unknown"
16
4
 
17
5
  const PlatformContext = createContext<PlatformOS>("unknown")
18
6
 
@@ -21,12 +9,7 @@ export function detectPlatform(
21
9
  platform: string,
22
10
  maxTouchPoints: number
23
11
  ): PlatformOS {
24
- return resolvePlatform(
25
- null,
26
- userAgent,
27
- platform,
28
- maxTouchPoints
29
- )
12
+ return resolvePlatform(null, userAgent, platform, maxTouchPoints)
30
13
  }
31
14
 
32
15
  export function resolvePlatform(
@@ -48,8 +31,7 @@ export function resolvePlatform(
48
31
 
49
32
  if (/android/i.test(userAgent)) return "android"
50
33
  if (/iPhone|iPad|iPod/i.test(userAgent)) return "ios"
51
- if (platform === "MacIntel" && maxTouchPoints > 1)
52
- return "ios"
34
+ if (platform === "MacIntel" && maxTouchPoints > 1) return "ios"
53
35
  if (/Mac/i.test(platform)) return "macos"
54
36
  if (/Win/i.test(platform)) return "windows"
55
37
  if (/Linux/i.test(platform)) return "linux"
@@ -65,20 +47,11 @@ function initializePlatform(
65
47
  ) {
66
48
  root.setAttribute(
67
49
  "data-os",
68
- resolve(
69
- root.getAttribute("data-os"),
70
- userAgent,
71
- platform,
72
- maxTouchPoints
73
- )
50
+ resolve(root.getAttribute("data-os"), userAgent, platform, maxTouchPoints)
74
51
  )
75
52
  }
76
53
 
77
- export function PlatformScript({
78
- nonce,
79
- }: {
80
- nonce?: string
81
- }) {
54
+ export function PlatformScript({ nonce }: { nonce?: string }) {
82
55
  return (
83
56
  <script
84
57
  // Run the library's platform bootstrap before first paint.
@@ -91,11 +64,8 @@ export function PlatformScript({
91
64
  )
92
65
  }
93
66
 
94
- export function PlatformProvider({
95
- children,
96
- }: PropsWithChildren) {
97
- const [platform, setPlatform] =
98
- useState<PlatformOS>("unknown")
67
+ export function PlatformProvider({ children }: PropsWithChildren) {
68
+ const [platform, setPlatform] = useState<PlatformOS>("unknown")
99
69
 
100
70
  useEffect(() => {
101
71
  const resolved = resolvePlatform(
@@ -104,18 +74,11 @@ export function PlatformProvider({
104
74
  navigator.platform,
105
75
  navigator.maxTouchPoints
106
76
  )
107
- document.documentElement.setAttribute(
108
- "data-os",
109
- resolved
110
- )
77
+ document.documentElement.setAttribute("data-os", resolved)
111
78
  setPlatform(resolved)
112
79
  }, [])
113
80
 
114
- return (
115
- <PlatformContext.Provider value={platform}>
116
- {children}
117
- </PlatformContext.Provider>
118
- )
81
+ return <PlatformContext.Provider value={platform}>{children}</PlatformContext.Provider>
119
82
  }
120
83
 
121
84
  export function usePlatform() {