pixelize-native-library 1.0.6

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 (713) hide show
  1. package/README.md +34 -0
  2. package/lib/module/core/MODULE.md +94 -0
  3. package/lib/module/core/a11y/MODULE.md +22 -0
  4. package/lib/module/core/a11y/index.js +26 -0
  5. package/lib/module/core/a11y/index.js.map +1 -0
  6. package/lib/module/core/icon/MODULE.md +35 -0
  7. package/lib/module/core/icon/index.js +92 -0
  8. package/lib/module/core/icon/index.js.map +1 -0
  9. package/lib/module/core/style/index.js +4 -0
  10. package/lib/module/core/style/index.js.map +1 -0
  11. package/lib/module/core/style/layoutStyle.js +4 -0
  12. package/lib/module/core/style/layoutStyle.js.map +1 -0
  13. package/lib/module/core/style/variants.js +115 -0
  14. package/lib/module/core/style/variants.js.map +1 -0
  15. package/lib/module/index.js +13 -0
  16. package/lib/module/index.js.map +1 -0
  17. package/lib/module/modules/accordion/Accordion.js +194 -0
  18. package/lib/module/modules/accordion/Accordion.js.map +1 -0
  19. package/lib/module/modules/accordion/Accordion.variants.js +143 -0
  20. package/lib/module/modules/accordion/Accordion.variants.js.map +1 -0
  21. package/lib/module/modules/accordion/MODULE.md +97 -0
  22. package/lib/module/modules/accordion/index.js +10 -0
  23. package/lib/module/modules/accordion/index.js.map +1 -0
  24. package/lib/module/modules/alert-dialog/AlertDialog.js +62 -0
  25. package/lib/module/modules/alert-dialog/AlertDialog.js.map +1 -0
  26. package/lib/module/modules/alert-dialog/AlertDialog.variants.js +44 -0
  27. package/lib/module/modules/alert-dialog/AlertDialog.variants.js.map +1 -0
  28. package/lib/module/modules/alert-dialog/MODULE.md +81 -0
  29. package/lib/module/modules/alert-dialog/index.js +10 -0
  30. package/lib/module/modules/alert-dialog/index.js.map +1 -0
  31. package/lib/module/modules/avatar/Avatar.js +57 -0
  32. package/lib/module/modules/avatar/Avatar.js.map +1 -0
  33. package/lib/module/modules/avatar/Avatar.variants.js +127 -0
  34. package/lib/module/modules/avatar/Avatar.variants.js.map +1 -0
  35. package/lib/module/modules/avatar/MODULE.md +76 -0
  36. package/lib/module/modules/avatar/index.js +12 -0
  37. package/lib/module/modules/avatar/index.js.map +1 -0
  38. package/lib/module/modules/badge/Badge.js +56 -0
  39. package/lib/module/modules/badge/Badge.js.map +1 -0
  40. package/lib/module/modules/badge/Badge.variants.js +124 -0
  41. package/lib/module/modules/badge/Badge.variants.js.map +1 -0
  42. package/lib/module/modules/badge/MODULE.md +82 -0
  43. package/lib/module/modules/badge/index.js +12 -0
  44. package/lib/module/modules/badge/index.js.map +1 -0
  45. package/lib/module/modules/bottom-nav/BottomNav.js +257 -0
  46. package/lib/module/modules/bottom-nav/BottomNav.js.map +1 -0
  47. package/lib/module/modules/bottom-nav/BottomNav.search.js +153 -0
  48. package/lib/module/modules/bottom-nav/BottomNav.search.js.map +1 -0
  49. package/lib/module/modules/bottom-nav/BottomNav.variants.js +164 -0
  50. package/lib/module/modules/bottom-nav/BottomNav.variants.js.map +1 -0
  51. package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js +297 -0
  52. package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js.map +1 -0
  53. package/lib/module/modules/bottom-nav/MODULE.md +198 -0
  54. package/lib/module/modules/bottom-nav/index.js +16 -0
  55. package/lib/module/modules/bottom-nav/index.js.map +1 -0
  56. package/lib/module/modules/button/Button.js +173 -0
  57. package/lib/module/modules/button/Button.js.map +1 -0
  58. package/lib/module/modules/button/Button.variants.js +173 -0
  59. package/lib/module/modules/button/Button.variants.js.map +1 -0
  60. package/lib/module/modules/button/MODULE.md +87 -0
  61. package/lib/module/modules/button/index.js +12 -0
  62. package/lib/module/modules/button/index.js.map +1 -0
  63. package/lib/module/modules/button-group/ButtonGroup.js +106 -0
  64. package/lib/module/modules/button-group/ButtonGroup.js.map +1 -0
  65. package/lib/module/modules/button-group/ButtonGroup.variants.js +220 -0
  66. package/lib/module/modules/button-group/ButtonGroup.variants.js.map +1 -0
  67. package/lib/module/modules/button-group/MODULE.md +129 -0
  68. package/lib/module/modules/button-group/index.js +11 -0
  69. package/lib/module/modules/button-group/index.js.map +1 -0
  70. package/lib/module/modules/card/Card.js +39 -0
  71. package/lib/module/modules/card/Card.js.map +1 -0
  72. package/lib/module/modules/card/Card.variants.js +75 -0
  73. package/lib/module/modules/card/Card.variants.js.map +1 -0
  74. package/lib/module/modules/card/MODULE.md +81 -0
  75. package/lib/module/modules/card/index.js +10 -0
  76. package/lib/module/modules/card/index.js.map +1 -0
  77. package/lib/module/modules/checkbox/Checkbox.js +115 -0
  78. package/lib/module/modules/checkbox/Checkbox.js.map +1 -0
  79. package/lib/module/modules/checkbox/Checkbox.variants.js +122 -0
  80. package/lib/module/modules/checkbox/Checkbox.variants.js.map +1 -0
  81. package/lib/module/modules/checkbox/MODULE.md +76 -0
  82. package/lib/module/modules/checkbox/index.js +11 -0
  83. package/lib/module/modules/checkbox/index.js.map +1 -0
  84. package/lib/module/modules/divider/Divider.js +35 -0
  85. package/lib/module/modules/divider/Divider.js.map +1 -0
  86. package/lib/module/modules/divider/Divider.variants.js +51 -0
  87. package/lib/module/modules/divider/Divider.variants.js.map +1 -0
  88. package/lib/module/modules/divider/MODULE.md +61 -0
  89. package/lib/module/modules/divider/index.js +10 -0
  90. package/lib/module/modules/divider/index.js.map +1 -0
  91. package/lib/module/modules/drawer/Drawer.js +171 -0
  92. package/lib/module/modules/drawer/Drawer.js.map +1 -0
  93. package/lib/module/modules/drawer/Drawer.variants.js +118 -0
  94. package/lib/module/modules/drawer/Drawer.variants.js.map +1 -0
  95. package/lib/module/modules/drawer/MODULE.md +161 -0
  96. package/lib/module/modules/drawer/index.js +10 -0
  97. package/lib/module/modules/drawer/index.js.map +1 -0
  98. package/lib/module/modules/empty-state/EmptyState.js +79 -0
  99. package/lib/module/modules/empty-state/EmptyState.js.map +1 -0
  100. package/lib/module/modules/empty-state/EmptyState.variants.js +54 -0
  101. package/lib/module/modules/empty-state/EmptyState.variants.js.map +1 -0
  102. package/lib/module/modules/empty-state/MODULE.md +78 -0
  103. package/lib/module/modules/empty-state/index.js +13 -0
  104. package/lib/module/modules/empty-state/index.js.map +1 -0
  105. package/lib/module/modules/file-upload/FileUpload.js +132 -0
  106. package/lib/module/modules/file-upload/FileUpload.js.map +1 -0
  107. package/lib/module/modules/file-upload/FileUpload.variants.js +179 -0
  108. package/lib/module/modules/file-upload/FileUpload.variants.js.map +1 -0
  109. package/lib/module/modules/file-upload/MODULE.md +130 -0
  110. package/lib/module/modules/file-upload/index.js +10 -0
  111. package/lib/module/modules/file-upload/index.js.map +1 -0
  112. package/lib/module/modules/filter-sheet/FilterChip.js +79 -0
  113. package/lib/module/modules/filter-sheet/FilterChip.js.map +1 -0
  114. package/lib/module/modules/filter-sheet/FilterSheet.js +98 -0
  115. package/lib/module/modules/filter-sheet/FilterSheet.js.map +1 -0
  116. package/lib/module/modules/filter-sheet/FilterSheet.variants.js +156 -0
  117. package/lib/module/modules/filter-sheet/FilterSheet.variants.js.map +1 -0
  118. package/lib/module/modules/filter-sheet/FilterSheetBody.js +175 -0
  119. package/lib/module/modules/filter-sheet/FilterSheetBody.js.map +1 -0
  120. package/lib/module/modules/filter-sheet/MODULE.md +115 -0
  121. package/lib/module/modules/filter-sheet/filterSheet.helpers.js +90 -0
  122. package/lib/module/modules/filter-sheet/filterSheet.helpers.js.map +1 -0
  123. package/lib/module/modules/filter-sheet/index.js +14 -0
  124. package/lib/module/modules/filter-sheet/index.js.map +1 -0
  125. package/lib/module/modules/input/Input.js +132 -0
  126. package/lib/module/modules/input/Input.js.map +1 -0
  127. package/lib/module/modules/input/Input.variants.js +122 -0
  128. package/lib/module/modules/input/Input.variants.js.map +1 -0
  129. package/lib/module/modules/input/MODULE.md +97 -0
  130. package/lib/module/modules/input/index.js +13 -0
  131. package/lib/module/modules/input/index.js.map +1 -0
  132. package/lib/module/modules/menu/MODULE.md +103 -0
  133. package/lib/module/modules/menu/Menu.js +128 -0
  134. package/lib/module/modules/menu/Menu.js.map +1 -0
  135. package/lib/module/modules/menu/Menu.variants.js +75 -0
  136. package/lib/module/modules/menu/Menu.variants.js.map +1 -0
  137. package/lib/module/modules/menu/index.js +12 -0
  138. package/lib/module/modules/menu/index.js.map +1 -0
  139. package/lib/module/modules/modal/MODULE.md +138 -0
  140. package/lib/module/modules/modal/Modal.js +101 -0
  141. package/lib/module/modules/modal/Modal.js.map +1 -0
  142. package/lib/module/modules/modal/Modal.variants.js +92 -0
  143. package/lib/module/modules/modal/Modal.variants.js.map +1 -0
  144. package/lib/module/modules/modal/ModalPortalContext.js +25 -0
  145. package/lib/module/modules/modal/ModalPortalContext.js.map +1 -0
  146. package/lib/module/modules/modal/ModalPortalProvider.js +22 -0
  147. package/lib/module/modules/modal/ModalPortalProvider.js.map +1 -0
  148. package/lib/module/modules/modal/index.js +16 -0
  149. package/lib/module/modules/modal/index.js.map +1 -0
  150. package/lib/module/modules/modal/renderWebPortal.js +18 -0
  151. package/lib/module/modules/modal/renderWebPortal.js.map +1 -0
  152. package/lib/module/modules/modal/renderWebPortal.web.js +24 -0
  153. package/lib/module/modules/modal/renderWebPortal.web.js.map +1 -0
  154. package/lib/module/modules/multi-select/MODULE.md +100 -0
  155. package/lib/module/modules/multi-select/MultiSelect.js +204 -0
  156. package/lib/module/modules/multi-select/MultiSelect.js.map +1 -0
  157. package/lib/module/modules/multi-select/MultiSelect.variants.js +195 -0
  158. package/lib/module/modules/multi-select/MultiSelect.variants.js.map +1 -0
  159. package/lib/module/modules/multi-select/index.js +11 -0
  160. package/lib/module/modules/multi-select/index.js.map +1 -0
  161. package/lib/module/modules/number-input/MODULE.md +108 -0
  162. package/lib/module/modules/number-input/NumberInput.js +253 -0
  163. package/lib/module/modules/number-input/NumberInput.js.map +1 -0
  164. package/lib/module/modules/number-input/NumberInput.variants.js +200 -0
  165. package/lib/module/modules/number-input/NumberInput.variants.js.map +1 -0
  166. package/lib/module/modules/number-input/index.js +12 -0
  167. package/lib/module/modules/number-input/index.js.map +1 -0
  168. package/lib/module/modules/pin-input/MODULE.md +134 -0
  169. package/lib/module/modules/pin-input/PinInput.js +158 -0
  170. package/lib/module/modules/pin-input/PinInput.js.map +1 -0
  171. package/lib/module/modules/pin-input/PinInput.variants.js +183 -0
  172. package/lib/module/modules/pin-input/PinInput.variants.js.map +1 -0
  173. package/lib/module/modules/pin-input/index.js +11 -0
  174. package/lib/module/modules/pin-input/index.js.map +1 -0
  175. package/lib/module/modules/progress-bar/MODULE.md +101 -0
  176. package/lib/module/modules/progress-bar/ProgressBar.js +102 -0
  177. package/lib/module/modules/progress-bar/ProgressBar.js.map +1 -0
  178. package/lib/module/modules/progress-bar/ProgressBar.variants.js +151 -0
  179. package/lib/module/modules/progress-bar/ProgressBar.variants.js.map +1 -0
  180. package/lib/module/modules/progress-bar/index.js +12 -0
  181. package/lib/module/modules/progress-bar/index.js.map +1 -0
  182. package/lib/module/modules/radio-group/MODULE.md +75 -0
  183. package/lib/module/modules/radio-group/RadioGroup.js +87 -0
  184. package/lib/module/modules/radio-group/RadioGroup.js.map +1 -0
  185. package/lib/module/modules/radio-group/RadioGroup.variants.js +163 -0
  186. package/lib/module/modules/radio-group/RadioGroup.variants.js.map +1 -0
  187. package/lib/module/modules/radio-group/index.js +11 -0
  188. package/lib/module/modules/radio-group/index.js.map +1 -0
  189. package/lib/module/modules/reorder/MODULE.md +131 -0
  190. package/lib/module/modules/reorder/Reorder.js +291 -0
  191. package/lib/module/modules/reorder/Reorder.js.map +1 -0
  192. package/lib/module/modules/reorder/Reorder.variants.js +172 -0
  193. package/lib/module/modules/reorder/Reorder.variants.js.map +1 -0
  194. package/lib/module/modules/reorder/index.js +11 -0
  195. package/lib/module/modules/reorder/index.js.map +1 -0
  196. package/lib/module/modules/select/MODULE.md +91 -0
  197. package/lib/module/modules/select/Select.js +178 -0
  198. package/lib/module/modules/select/Select.js.map +1 -0
  199. package/lib/module/modules/select/Select.variants.js +146 -0
  200. package/lib/module/modules/select/Select.variants.js.map +1 -0
  201. package/lib/module/modules/select/index.js +10 -0
  202. package/lib/module/modules/select/index.js.map +1 -0
  203. package/lib/module/modules/skeleton/MODULE.md +87 -0
  204. package/lib/module/modules/skeleton/Skeleton.js +78 -0
  205. package/lib/module/modules/skeleton/Skeleton.js.map +1 -0
  206. package/lib/module/modules/skeleton/Skeleton.variants.js +145 -0
  207. package/lib/module/modules/skeleton/Skeleton.variants.js.map +1 -0
  208. package/lib/module/modules/skeleton/index.js +10 -0
  209. package/lib/module/modules/skeleton/index.js.map +1 -0
  210. package/lib/module/modules/slider/MODULE.md +95 -0
  211. package/lib/module/modules/slider/Slider.js +183 -0
  212. package/lib/module/modules/slider/Slider.js.map +1 -0
  213. package/lib/module/modules/slider/Slider.variants.js +258 -0
  214. package/lib/module/modules/slider/Slider.variants.js.map +1 -0
  215. package/lib/module/modules/slider/index.js +10 -0
  216. package/lib/module/modules/slider/index.js.map +1 -0
  217. package/lib/module/modules/spinner/MODULE.md +97 -0
  218. package/lib/module/modules/spinner/Spinner.js +58 -0
  219. package/lib/module/modules/spinner/Spinner.js.map +1 -0
  220. package/lib/module/modules/spinner/Spinner.variants.js +131 -0
  221. package/lib/module/modules/spinner/Spinner.variants.js.map +1 -0
  222. package/lib/module/modules/spinner/index.js +11 -0
  223. package/lib/module/modules/spinner/index.js.map +1 -0
  224. package/lib/module/modules/stepper/MODULE.md +88 -0
  225. package/lib/module/modules/stepper/Stepper.js +100 -0
  226. package/lib/module/modules/stepper/Stepper.js.map +1 -0
  227. package/lib/module/modules/stepper/Stepper.variants.js +146 -0
  228. package/lib/module/modules/stepper/Stepper.variants.js.map +1 -0
  229. package/lib/module/modules/stepper/index.js +10 -0
  230. package/lib/module/modules/stepper/index.js.map +1 -0
  231. package/lib/module/modules/switch/MODULE.md +65 -0
  232. package/lib/module/modules/switch/Switch.js +53 -0
  233. package/lib/module/modules/switch/Switch.js.map +1 -0
  234. package/lib/module/modules/switch/Switch.variants.js +61 -0
  235. package/lib/module/modules/switch/Switch.variants.js.map +1 -0
  236. package/lib/module/modules/switch/index.js +10 -0
  237. package/lib/module/modules/switch/index.js.map +1 -0
  238. package/lib/module/modules/tabs/MODULE.md +80 -0
  239. package/lib/module/modules/tabs/Tabs.js +127 -0
  240. package/lib/module/modules/tabs/Tabs.js.map +1 -0
  241. package/lib/module/modules/tabs/Tabs.variants.js +135 -0
  242. package/lib/module/modules/tabs/Tabs.variants.js.map +1 -0
  243. package/lib/module/modules/tabs/index.js +12 -0
  244. package/lib/module/modules/tabs/index.js.map +1 -0
  245. package/lib/module/modules/textarea/MODULE.md +91 -0
  246. package/lib/module/modules/textarea/Textarea.js +136 -0
  247. package/lib/module/modules/textarea/Textarea.js.map +1 -0
  248. package/lib/module/modules/textarea/Textarea.variants.js +113 -0
  249. package/lib/module/modules/textarea/Textarea.variants.js.map +1 -0
  250. package/lib/module/modules/textarea/index.js +10 -0
  251. package/lib/module/modules/textarea/index.js.map +1 -0
  252. package/lib/module/modules/timeline/MODULE.md +95 -0
  253. package/lib/module/modules/timeline/Timeline.js +92 -0
  254. package/lib/module/modules/timeline/Timeline.js.map +1 -0
  255. package/lib/module/modules/timeline/Timeline.variants.js +146 -0
  256. package/lib/module/modules/timeline/Timeline.variants.js.map +1 -0
  257. package/lib/module/modules/timeline/index.js +12 -0
  258. package/lib/module/modules/timeline/index.js.map +1 -0
  259. package/lib/module/modules/toast/MODULE.md +104 -0
  260. package/lib/module/modules/toast/Toast.js +178 -0
  261. package/lib/module/modules/toast/Toast.js.map +1 -0
  262. package/lib/module/modules/toast/Toast.variants.js +120 -0
  263. package/lib/module/modules/toast/Toast.variants.js.map +1 -0
  264. package/lib/module/modules/toast/index.js +13 -0
  265. package/lib/module/modules/toast/index.js.map +1 -0
  266. package/lib/module/modules/tooltip/MODULE.md +86 -0
  267. package/lib/module/modules/tooltip/Tooltip.js +115 -0
  268. package/lib/module/modules/tooltip/Tooltip.js.map +1 -0
  269. package/lib/module/modules/tooltip/Tooltip.variants.js +75 -0
  270. package/lib/module/modules/tooltip/Tooltip.variants.js.map +1 -0
  271. package/lib/module/modules/tooltip/index.js +10 -0
  272. package/lib/module/modules/tooltip/index.js.map +1 -0
  273. package/lib/module/package.json +1 -0
  274. package/lib/module/theme/MODULE.md +87 -0
  275. package/lib/module/theme/index.js +15 -0
  276. package/lib/module/theme/index.js.map +1 -0
  277. package/lib/module/theme/platform/MODULE.md +102 -0
  278. package/lib/module/theme/platform/colorScheme.native.js +24 -0
  279. package/lib/module/theme/platform/colorScheme.native.js.map +1 -0
  280. package/lib/module/theme/platform/elevation.native.js +75 -0
  281. package/lib/module/theme/platform/elevation.native.js.map +1 -0
  282. package/lib/module/theme/platform/fonts.native.js +58 -0
  283. package/lib/module/theme/platform/fonts.native.js.map +1 -0
  284. package/lib/module/theme/platform/index.js +14 -0
  285. package/lib/module/theme/platform/index.js.map +1 -0
  286. package/lib/module/theme/platform/units.native.js +18 -0
  287. package/lib/module/theme/platform/units.native.js.map +1 -0
  288. package/lib/module/theme/provider/PixelizeProvider.js +149 -0
  289. package/lib/module/theme/provider/PixelizeProvider.js.map +1 -0
  290. package/lib/module/theme/provider/colorModeStorage.js +63 -0
  291. package/lib/module/theme/provider/colorModeStorage.js.map +1 -0
  292. package/lib/module/theme/provider/index.js +8 -0
  293. package/lib/module/theme/provider/index.js.map +1 -0
  294. package/lib/module/theme/provider/useTheme.js +13 -0
  295. package/lib/module/theme/provider/useTheme.js.map +1 -0
  296. package/lib/module/theme/provider/useThemeColors.js +13 -0
  297. package/lib/module/theme/provider/useThemeColors.js.map +1 -0
  298. package/lib/module/theme/provider/useThemeMode.js +13 -0
  299. package/lib/module/theme/provider/useThemeMode.js.map +1 -0
  300. package/lib/module/theme/tokens/MODULE.md +102 -0
  301. package/lib/module/theme/tokens/brands/emerald/palette.dark.js +9 -0
  302. package/lib/module/theme/tokens/brands/emerald/palette.dark.js.map +1 -0
  303. package/lib/module/theme/tokens/brands/emerald/palette.light.js +125 -0
  304. package/lib/module/theme/tokens/brands/emerald/palette.light.js.map +1 -0
  305. package/lib/module/theme/tokens/brands/index.js +91 -0
  306. package/lib/module/theme/tokens/brands/index.js.map +1 -0
  307. package/lib/module/theme/tokens/brands/lavender/palette.dark.js +9 -0
  308. package/lib/module/theme/tokens/brands/lavender/palette.dark.js.map +1 -0
  309. package/lib/module/theme/tokens/brands/lavender/palette.light.js +376 -0
  310. package/lib/module/theme/tokens/brands/lavender/palette.light.js.map +1 -0
  311. package/lib/module/theme/tokens/brands/meadow/palette.dark.js +9 -0
  312. package/lib/module/theme/tokens/brands/meadow/palette.dark.js.map +1 -0
  313. package/lib/module/theme/tokens/brands/meadow/palette.light.js +126 -0
  314. package/lib/module/theme/tokens/brands/meadow/palette.light.js.map +1 -0
  315. package/lib/module/theme/tokens/brands/radiant/palette.dark.js +9 -0
  316. package/lib/module/theme/tokens/brands/radiant/palette.dark.js.map +1 -0
  317. package/lib/module/theme/tokens/brands/radiant/palette.light.js +125 -0
  318. package/lib/module/theme/tokens/brands/radiant/palette.light.js.map +1 -0
  319. package/lib/module/theme/tokens/brands/rosewood/palette.dark.js +9 -0
  320. package/lib/module/theme/tokens/brands/rosewood/palette.dark.js.map +1 -0
  321. package/lib/module/theme/tokens/brands/rosewood/palette.light.js +125 -0
  322. package/lib/module/theme/tokens/brands/rosewood/palette.light.js.map +1 -0
  323. package/lib/module/theme/tokens/brands/skyline/palette.dark.js +9 -0
  324. package/lib/module/theme/tokens/brands/skyline/palette.dark.js.map +1 -0
  325. package/lib/module/theme/tokens/brands/skyline/palette.light.js +126 -0
  326. package/lib/module/theme/tokens/brands/skyline/palette.light.js.map +1 -0
  327. package/lib/module/theme/tokens/brands/slate/palette.dark.js +11 -0
  328. package/lib/module/theme/tokens/brands/slate/palette.dark.js.map +1 -0
  329. package/lib/module/theme/tokens/brands/slate/palette.light.js +129 -0
  330. package/lib/module/theme/tokens/brands/slate/palette.light.js.map +1 -0
  331. package/lib/module/theme/tokens/brands/storefront/palette.dark.js +7 -0
  332. package/lib/module/theme/tokens/brands/storefront/palette.dark.js.map +1 -0
  333. package/lib/module/theme/tokens/brands/storefront/palette.light.js +127 -0
  334. package/lib/module/theme/tokens/brands/storefront/palette.light.js.map +1 -0
  335. package/lib/module/theme/tokens/brands/zinc/palette.dark.js +222 -0
  336. package/lib/module/theme/tokens/brands/zinc/palette.dark.js.map +1 -0
  337. package/lib/module/theme/tokens/brands/zinc/palette.light.js +393 -0
  338. package/lib/module/theme/tokens/brands/zinc/palette.light.js.map +1 -0
  339. package/lib/module/theme/tokens/builders/accentText.js +66 -0
  340. package/lib/module/theme/tokens/builders/accentText.js.map +1 -0
  341. package/lib/module/theme/tokens/builders/buildBrandTokens.js +38 -0
  342. package/lib/module/theme/tokens/builders/buildBrandTokens.js.map +1 -0
  343. package/lib/module/theme/tokens/builders/buildDarkPalette.js +300 -0
  344. package/lib/module/theme/tokens/builders/buildDarkPalette.js.map +1 -0
  345. package/lib/module/theme/tokens/builders/color.js +187 -0
  346. package/lib/module/theme/tokens/builders/color.js.map +1 -0
  347. package/lib/module/theme/tokens/index.js +27 -0
  348. package/lib/module/theme/tokens/index.js.map +1 -0
  349. package/lib/module/theme/tokens/primitives/borderWidths.js +16 -0
  350. package/lib/module/theme/tokens/primitives/borderWidths.js.map +1 -0
  351. package/lib/module/theme/tokens/primitives/breakpoints.js +18 -0
  352. package/lib/module/theme/tokens/primitives/breakpoints.js.map +1 -0
  353. package/lib/module/theme/tokens/primitives/elevation.js +95 -0
  354. package/lib/module/theme/tokens/primitives/elevation.js.map +1 -0
  355. package/lib/module/theme/tokens/primitives/fontSizes.js +22 -0
  356. package/lib/module/theme/tokens/primitives/fontSizes.js.map +1 -0
  357. package/lib/module/theme/tokens/primitives/fontWeights.js +23 -0
  358. package/lib/module/theme/tokens/primitives/fontWeights.js.map +1 -0
  359. package/lib/module/theme/tokens/primitives/index.js +14 -0
  360. package/lib/module/theme/tokens/primitives/index.js.map +1 -0
  361. package/lib/module/theme/tokens/primitives/letterSpacings.js +18 -0
  362. package/lib/module/theme/tokens/primitives/letterSpacings.js.map +1 -0
  363. package/lib/module/theme/tokens/primitives/lineHeights.js +21 -0
  364. package/lib/module/theme/tokens/primitives/lineHeights.js.map +1 -0
  365. package/lib/module/theme/tokens/primitives/radii.js +21 -0
  366. package/lib/module/theme/tokens/primitives/radii.js.map +1 -0
  367. package/lib/module/theme/tokens/primitives/sizes.js +34 -0
  368. package/lib/module/theme/tokens/primitives/sizes.js.map +1 -0
  369. package/lib/module/theme/tokens/primitives/space.js +30 -0
  370. package/lib/module/theme/tokens/primitives/space.js.map +1 -0
  371. package/lib/module/theme/tokens/primitives/zIndices.js +23 -0
  372. package/lib/module/theme/tokens/primitives/zIndices.js.map +1 -0
  373. package/lib/module/theme/tokens/roles/index.js +126 -0
  374. package/lib/module/theme/tokens/roles/index.js.map +1 -0
  375. package/lib/module/theme/tokens/types.js +2 -0
  376. package/lib/module/theme/tokens/types.js.map +1 -0
  377. package/lib/typescript/core/a11y/index.d.ts +7 -0
  378. package/lib/typescript/core/a11y/index.d.ts.map +1 -0
  379. package/lib/typescript/core/icon/index.d.ts +60 -0
  380. package/lib/typescript/core/icon/index.d.ts.map +1 -0
  381. package/lib/typescript/core/style/index.d.ts +4 -0
  382. package/lib/typescript/core/style/index.d.ts.map +1 -0
  383. package/lib/typescript/core/style/layoutStyle.d.ts +19 -0
  384. package/lib/typescript/core/style/layoutStyle.d.ts.map +1 -0
  385. package/lib/typescript/core/style/variants.d.ts +55 -0
  386. package/lib/typescript/core/style/variants.d.ts.map +1 -0
  387. package/lib/typescript/index.d.ts +11 -0
  388. package/lib/typescript/index.d.ts.map +1 -0
  389. package/lib/typescript/modules/accordion/Accordion.d.ts +57 -0
  390. package/lib/typescript/modules/accordion/Accordion.d.ts.map +1 -0
  391. package/lib/typescript/modules/accordion/Accordion.variants.d.ts +131 -0
  392. package/lib/typescript/modules/accordion/Accordion.variants.d.ts.map +1 -0
  393. package/lib/typescript/modules/accordion/index.d.ts +9 -0
  394. package/lib/typescript/modules/accordion/index.d.ts.map +1 -0
  395. package/lib/typescript/modules/alert-dialog/AlertDialog.d.ts +24 -0
  396. package/lib/typescript/modules/alert-dialog/AlertDialog.d.ts.map +1 -0
  397. package/lib/typescript/modules/alert-dialog/AlertDialog.variants.d.ts +29 -0
  398. package/lib/typescript/modules/alert-dialog/AlertDialog.variants.d.ts.map +1 -0
  399. package/lib/typescript/modules/alert-dialog/index.d.ts +9 -0
  400. package/lib/typescript/modules/alert-dialog/index.d.ts.map +1 -0
  401. package/lib/typescript/modules/avatar/Avatar.d.ts +30 -0
  402. package/lib/typescript/modules/avatar/Avatar.d.ts.map +1 -0
  403. package/lib/typescript/modules/avatar/Avatar.variants.d.ts +123 -0
  404. package/lib/typescript/modules/avatar/Avatar.variants.d.ts.map +1 -0
  405. package/lib/typescript/modules/avatar/index.d.ts +11 -0
  406. package/lib/typescript/modules/avatar/index.d.ts.map +1 -0
  407. package/lib/typescript/modules/badge/Badge.d.ts +19 -0
  408. package/lib/typescript/modules/badge/Badge.d.ts.map +1 -0
  409. package/lib/typescript/modules/badge/Badge.variants.d.ts +102 -0
  410. package/lib/typescript/modules/badge/Badge.variants.d.ts.map +1 -0
  411. package/lib/typescript/modules/badge/index.d.ts +10 -0
  412. package/lib/typescript/modules/badge/index.d.ts.map +1 -0
  413. package/lib/typescript/modules/bottom-nav/BottomNav.d.ts +106 -0
  414. package/lib/typescript/modules/bottom-nav/BottomNav.d.ts.map +1 -0
  415. package/lib/typescript/modules/bottom-nav/BottomNav.search.d.ts +61 -0
  416. package/lib/typescript/modules/bottom-nav/BottomNav.search.d.ts.map +1 -0
  417. package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts +122 -0
  418. package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts.map +1 -0
  419. package/lib/typescript/modules/bottom-nav/BottomNavOverflowSheet.d.ts +39 -0
  420. package/lib/typescript/modules/bottom-nav/BottomNavOverflowSheet.d.ts.map +1 -0
  421. package/lib/typescript/modules/bottom-nav/index.d.ts +12 -0
  422. package/lib/typescript/modules/bottom-nav/index.d.ts.map +1 -0
  423. package/lib/typescript/modules/button/Button.d.ts +43 -0
  424. package/lib/typescript/modules/button/Button.d.ts.map +1 -0
  425. package/lib/typescript/modules/button/Button.variants.d.ts +156 -0
  426. package/lib/typescript/modules/button/Button.variants.d.ts.map +1 -0
  427. package/lib/typescript/modules/button/index.d.ts +10 -0
  428. package/lib/typescript/modules/button/index.d.ts.map +1 -0
  429. package/lib/typescript/modules/button-group/ButtonGroup.d.ts +37 -0
  430. package/lib/typescript/modules/button-group/ButtonGroup.d.ts.map +1 -0
  431. package/lib/typescript/modules/button-group/ButtonGroup.variants.d.ts +217 -0
  432. package/lib/typescript/modules/button-group/ButtonGroup.variants.d.ts.map +1 -0
  433. package/lib/typescript/modules/button-group/index.d.ts +10 -0
  434. package/lib/typescript/modules/button-group/index.d.ts.map +1 -0
  435. package/lib/typescript/modules/card/Card.d.ts +20 -0
  436. package/lib/typescript/modules/card/Card.d.ts.map +1 -0
  437. package/lib/typescript/modules/card/Card.variants.d.ts +51 -0
  438. package/lib/typescript/modules/card/Card.variants.d.ts.map +1 -0
  439. package/lib/typescript/modules/card/index.d.ts +9 -0
  440. package/lib/typescript/modules/card/index.d.ts.map +1 -0
  441. package/lib/typescript/modules/checkbox/Checkbox.d.ts +43 -0
  442. package/lib/typescript/modules/checkbox/Checkbox.d.ts.map +1 -0
  443. package/lib/typescript/modules/checkbox/Checkbox.variants.d.ts +120 -0
  444. package/lib/typescript/modules/checkbox/Checkbox.variants.d.ts.map +1 -0
  445. package/lib/typescript/modules/checkbox/index.d.ts +10 -0
  446. package/lib/typescript/modules/checkbox/index.d.ts.map +1 -0
  447. package/lib/typescript/modules/divider/Divider.d.ts +18 -0
  448. package/lib/typescript/modules/divider/Divider.d.ts.map +1 -0
  449. package/lib/typescript/modules/divider/Divider.variants.d.ts +42 -0
  450. package/lib/typescript/modules/divider/Divider.variants.d.ts.map +1 -0
  451. package/lib/typescript/modules/divider/index.d.ts +9 -0
  452. package/lib/typescript/modules/divider/index.d.ts.map +1 -0
  453. package/lib/typescript/modules/drawer/Drawer.d.ts +44 -0
  454. package/lib/typescript/modules/drawer/Drawer.d.ts.map +1 -0
  455. package/lib/typescript/modules/drawer/Drawer.variants.d.ts +80 -0
  456. package/lib/typescript/modules/drawer/Drawer.variants.d.ts.map +1 -0
  457. package/lib/typescript/modules/drawer/index.d.ts +8 -0
  458. package/lib/typescript/modules/drawer/index.d.ts.map +1 -0
  459. package/lib/typescript/modules/empty-state/EmptyState.d.ts +29 -0
  460. package/lib/typescript/modules/empty-state/EmptyState.d.ts.map +1 -0
  461. package/lib/typescript/modules/empty-state/EmptyState.variants.d.ts +43 -0
  462. package/lib/typescript/modules/empty-state/EmptyState.variants.d.ts.map +1 -0
  463. package/lib/typescript/modules/empty-state/index.d.ts +10 -0
  464. package/lib/typescript/modules/empty-state/index.d.ts.map +1 -0
  465. package/lib/typescript/modules/file-upload/FileUpload.d.ts +44 -0
  466. package/lib/typescript/modules/file-upload/FileUpload.d.ts.map +1 -0
  467. package/lib/typescript/modules/file-upload/FileUpload.variants.d.ts +114 -0
  468. package/lib/typescript/modules/file-upload/FileUpload.variants.d.ts.map +1 -0
  469. package/lib/typescript/modules/file-upload/index.d.ts +9 -0
  470. package/lib/typescript/modules/file-upload/index.d.ts.map +1 -0
  471. package/lib/typescript/modules/filter-sheet/FilterChip.d.ts +25 -0
  472. package/lib/typescript/modules/filter-sheet/FilterChip.d.ts.map +1 -0
  473. package/lib/typescript/modules/filter-sheet/FilterSheet.d.ts +54 -0
  474. package/lib/typescript/modules/filter-sheet/FilterSheet.d.ts.map +1 -0
  475. package/lib/typescript/modules/filter-sheet/FilterSheet.variants.d.ts +98 -0
  476. package/lib/typescript/modules/filter-sheet/FilterSheet.variants.d.ts.map +1 -0
  477. package/lib/typescript/modules/filter-sheet/FilterSheetBody.d.ts +28 -0
  478. package/lib/typescript/modules/filter-sheet/FilterSheetBody.d.ts.map +1 -0
  479. package/lib/typescript/modules/filter-sheet/filterSheet.helpers.d.ts +45 -0
  480. package/lib/typescript/modules/filter-sheet/filterSheet.helpers.d.ts.map +1 -0
  481. package/lib/typescript/modules/filter-sheet/index.d.ts +12 -0
  482. package/lib/typescript/modules/filter-sheet/index.d.ts.map +1 -0
  483. package/lib/typescript/modules/input/Input.d.ts +33 -0
  484. package/lib/typescript/modules/input/Input.d.ts.map +1 -0
  485. package/lib/typescript/modules/input/Input.variants.d.ts +116 -0
  486. package/lib/typescript/modules/input/Input.variants.d.ts.map +1 -0
  487. package/lib/typescript/modules/input/index.d.ts +10 -0
  488. package/lib/typescript/modules/input/index.d.ts.map +1 -0
  489. package/lib/typescript/modules/menu/Menu.d.ts +43 -0
  490. package/lib/typescript/modules/menu/Menu.d.ts.map +1 -0
  491. package/lib/typescript/modules/menu/Menu.variants.d.ts +41 -0
  492. package/lib/typescript/modules/menu/Menu.variants.d.ts.map +1 -0
  493. package/lib/typescript/modules/menu/index.d.ts +10 -0
  494. package/lib/typescript/modules/menu/index.d.ts.map +1 -0
  495. package/lib/typescript/modules/modal/Modal.d.ts +32 -0
  496. package/lib/typescript/modules/modal/Modal.d.ts.map +1 -0
  497. package/lib/typescript/modules/modal/Modal.variants.d.ts +72 -0
  498. package/lib/typescript/modules/modal/Modal.variants.d.ts.map +1 -0
  499. package/lib/typescript/modules/modal/ModalPortalContext.d.ts +2 -0
  500. package/lib/typescript/modules/modal/ModalPortalContext.d.ts.map +1 -0
  501. package/lib/typescript/modules/modal/ModalPortalProvider.d.ts +21 -0
  502. package/lib/typescript/modules/modal/ModalPortalProvider.d.ts.map +1 -0
  503. package/lib/typescript/modules/modal/index.d.ts +16 -0
  504. package/lib/typescript/modules/modal/index.d.ts.map +1 -0
  505. package/lib/typescript/modules/modal/renderWebPortal.d.ts +15 -0
  506. package/lib/typescript/modules/modal/renderWebPortal.d.ts.map +1 -0
  507. package/lib/typescript/modules/modal/renderWebPortal.web.d.ts +19 -0
  508. package/lib/typescript/modules/modal/renderWebPortal.web.d.ts.map +1 -0
  509. package/lib/typescript/modules/multi-select/MultiSelect.d.ts +33 -0
  510. package/lib/typescript/modules/multi-select/MultiSelect.d.ts.map +1 -0
  511. package/lib/typescript/modules/multi-select/MultiSelect.variants.d.ts +149 -0
  512. package/lib/typescript/modules/multi-select/MultiSelect.variants.d.ts.map +1 -0
  513. package/lib/typescript/modules/multi-select/index.d.ts +10 -0
  514. package/lib/typescript/modules/multi-select/index.d.ts.map +1 -0
  515. package/lib/typescript/modules/number-input/NumberInput.d.ts +34 -0
  516. package/lib/typescript/modules/number-input/NumberInput.d.ts.map +1 -0
  517. package/lib/typescript/modules/number-input/NumberInput.variants.d.ts +170 -0
  518. package/lib/typescript/modules/number-input/NumberInput.variants.d.ts.map +1 -0
  519. package/lib/typescript/modules/number-input/index.d.ts +11 -0
  520. package/lib/typescript/modules/number-input/index.d.ts.map +1 -0
  521. package/lib/typescript/modules/pin-input/PinInput.d.ts +40 -0
  522. package/lib/typescript/modules/pin-input/PinInput.d.ts.map +1 -0
  523. package/lib/typescript/modules/pin-input/PinInput.variants.d.ts +164 -0
  524. package/lib/typescript/modules/pin-input/PinInput.variants.d.ts.map +1 -0
  525. package/lib/typescript/modules/pin-input/index.d.ts +10 -0
  526. package/lib/typescript/modules/pin-input/index.d.ts.map +1 -0
  527. package/lib/typescript/modules/progress-bar/ProgressBar.d.ts +21 -0
  528. package/lib/typescript/modules/progress-bar/ProgressBar.d.ts.map +1 -0
  529. package/lib/typescript/modules/progress-bar/ProgressBar.variants.d.ts +112 -0
  530. package/lib/typescript/modules/progress-bar/ProgressBar.variants.d.ts.map +1 -0
  531. package/lib/typescript/modules/progress-bar/index.d.ts +11 -0
  532. package/lib/typescript/modules/progress-bar/index.d.ts.map +1 -0
  533. package/lib/typescript/modules/radio-group/RadioGroup.d.ts +27 -0
  534. package/lib/typescript/modules/radio-group/RadioGroup.d.ts.map +1 -0
  535. package/lib/typescript/modules/radio-group/RadioGroup.variants.d.ts +142 -0
  536. package/lib/typescript/modules/radio-group/RadioGroup.variants.d.ts.map +1 -0
  537. package/lib/typescript/modules/radio-group/index.d.ts +10 -0
  538. package/lib/typescript/modules/radio-group/index.d.ts.map +1 -0
  539. package/lib/typescript/modules/reorder/Reorder.d.ts +43 -0
  540. package/lib/typescript/modules/reorder/Reorder.d.ts.map +1 -0
  541. package/lib/typescript/modules/reorder/Reorder.variants.d.ts +116 -0
  542. package/lib/typescript/modules/reorder/Reorder.variants.d.ts.map +1 -0
  543. package/lib/typescript/modules/reorder/index.d.ts +9 -0
  544. package/lib/typescript/modules/reorder/index.d.ts.map +1 -0
  545. package/lib/typescript/modules/select/Select.d.ts +31 -0
  546. package/lib/typescript/modules/select/Select.d.ts.map +1 -0
  547. package/lib/typescript/modules/select/Select.variants.d.ts +127 -0
  548. package/lib/typescript/modules/select/Select.variants.d.ts.map +1 -0
  549. package/lib/typescript/modules/select/index.d.ts +9 -0
  550. package/lib/typescript/modules/select/index.d.ts.map +1 -0
  551. package/lib/typescript/modules/skeleton/Skeleton.d.ts +27 -0
  552. package/lib/typescript/modules/skeleton/Skeleton.d.ts.map +1 -0
  553. package/lib/typescript/modules/skeleton/Skeleton.variants.d.ts +119 -0
  554. package/lib/typescript/modules/skeleton/Skeleton.variants.d.ts.map +1 -0
  555. package/lib/typescript/modules/skeleton/index.d.ts +9 -0
  556. package/lib/typescript/modules/skeleton/index.d.ts.map +1 -0
  557. package/lib/typescript/modules/slider/Slider.d.ts +44 -0
  558. package/lib/typescript/modules/slider/Slider.d.ts.map +1 -0
  559. package/lib/typescript/modules/slider/Slider.variants.d.ts +211 -0
  560. package/lib/typescript/modules/slider/Slider.variants.d.ts.map +1 -0
  561. package/lib/typescript/modules/slider/index.d.ts +9 -0
  562. package/lib/typescript/modules/slider/index.d.ts.map +1 -0
  563. package/lib/typescript/modules/spinner/Spinner.d.ts +19 -0
  564. package/lib/typescript/modules/spinner/Spinner.d.ts.map +1 -0
  565. package/lib/typescript/modules/spinner/Spinner.variants.d.ts +113 -0
  566. package/lib/typescript/modules/spinner/Spinner.variants.d.ts.map +1 -0
  567. package/lib/typescript/modules/spinner/index.d.ts +10 -0
  568. package/lib/typescript/modules/spinner/index.d.ts.map +1 -0
  569. package/lib/typescript/modules/stepper/Stepper.d.ts +26 -0
  570. package/lib/typescript/modules/stepper/Stepper.d.ts.map +1 -0
  571. package/lib/typescript/modules/stepper/Stepper.variants.d.ts +107 -0
  572. package/lib/typescript/modules/stepper/Stepper.variants.d.ts.map +1 -0
  573. package/lib/typescript/modules/stepper/index.d.ts +8 -0
  574. package/lib/typescript/modules/stepper/index.d.ts.map +1 -0
  575. package/lib/typescript/modules/switch/Switch.d.ts +22 -0
  576. package/lib/typescript/modules/switch/Switch.d.ts.map +1 -0
  577. package/lib/typescript/modules/switch/Switch.variants.d.ts +60 -0
  578. package/lib/typescript/modules/switch/Switch.variants.d.ts.map +1 -0
  579. package/lib/typescript/modules/switch/index.d.ts +8 -0
  580. package/lib/typescript/modules/switch/index.d.ts.map +1 -0
  581. package/lib/typescript/modules/tabs/Tabs.d.ts +31 -0
  582. package/lib/typescript/modules/tabs/Tabs.d.ts.map +1 -0
  583. package/lib/typescript/modules/tabs/Tabs.variants.d.ts +114 -0
  584. package/lib/typescript/modules/tabs/Tabs.variants.d.ts.map +1 -0
  585. package/lib/typescript/modules/tabs/index.d.ts +10 -0
  586. package/lib/typescript/modules/tabs/index.d.ts.map +1 -0
  587. package/lib/typescript/modules/textarea/Textarea.d.ts +25 -0
  588. package/lib/typescript/modules/textarea/Textarea.d.ts.map +1 -0
  589. package/lib/typescript/modules/textarea/Textarea.variants.d.ts +99 -0
  590. package/lib/typescript/modules/textarea/Textarea.variants.d.ts.map +1 -0
  591. package/lib/typescript/modules/textarea/index.d.ts +9 -0
  592. package/lib/typescript/modules/textarea/index.d.ts.map +1 -0
  593. package/lib/typescript/modules/timeline/Timeline.d.ts +28 -0
  594. package/lib/typescript/modules/timeline/Timeline.d.ts.map +1 -0
  595. package/lib/typescript/modules/timeline/Timeline.variants.d.ts +103 -0
  596. package/lib/typescript/modules/timeline/Timeline.variants.d.ts.map +1 -0
  597. package/lib/typescript/modules/timeline/index.d.ts +9 -0
  598. package/lib/typescript/modules/timeline/index.d.ts.map +1 -0
  599. package/lib/typescript/modules/toast/Toast.d.ts +38 -0
  600. package/lib/typescript/modules/toast/Toast.d.ts.map +1 -0
  601. package/lib/typescript/modules/toast/Toast.variants.d.ts +80 -0
  602. package/lib/typescript/modules/toast/Toast.variants.d.ts.map +1 -0
  603. package/lib/typescript/modules/toast/index.d.ts +12 -0
  604. package/lib/typescript/modules/toast/index.d.ts.map +1 -0
  605. package/lib/typescript/modules/tooltip/Tooltip.d.ts +31 -0
  606. package/lib/typescript/modules/tooltip/Tooltip.d.ts.map +1 -0
  607. package/lib/typescript/modules/tooltip/Tooltip.variants.d.ts +52 -0
  608. package/lib/typescript/modules/tooltip/Tooltip.variants.d.ts.map +1 -0
  609. package/lib/typescript/modules/tooltip/index.d.ts +9 -0
  610. package/lib/typescript/modules/tooltip/index.d.ts.map +1 -0
  611. package/lib/typescript/package.json +1 -0
  612. package/lib/typescript/theme/index.d.ts +11 -0
  613. package/lib/typescript/theme/index.d.ts.map +1 -0
  614. package/lib/typescript/theme/platform/colorScheme.native.d.ts +12 -0
  615. package/lib/typescript/theme/platform/colorScheme.native.d.ts.map +1 -0
  616. package/lib/typescript/theme/platform/elevation.native.d.ts +35 -0
  617. package/lib/typescript/theme/platform/elevation.native.d.ts.map +1 -0
  618. package/lib/typescript/theme/platform/fonts.native.d.ts +41 -0
  619. package/lib/typescript/theme/platform/fonts.native.d.ts.map +1 -0
  620. package/lib/typescript/theme/platform/index.d.ts +15 -0
  621. package/lib/typescript/theme/platform/index.d.ts.map +1 -0
  622. package/lib/typescript/theme/platform/units.native.d.ts +13 -0
  623. package/lib/typescript/theme/platform/units.native.d.ts.map +1 -0
  624. package/lib/typescript/theme/provider/PixelizeProvider.d.ts +81 -0
  625. package/lib/typescript/theme/provider/PixelizeProvider.d.ts.map +1 -0
  626. package/lib/typescript/theme/provider/colorModeStorage.d.ts +43 -0
  627. package/lib/typescript/theme/provider/colorModeStorage.d.ts.map +1 -0
  628. package/lib/typescript/theme/provider/index.d.ts +8 -0
  629. package/lib/typescript/theme/provider/index.d.ts.map +1 -0
  630. package/lib/typescript/theme/provider/useTheme.d.ts +4 -0
  631. package/lib/typescript/theme/provider/useTheme.d.ts.map +1 -0
  632. package/lib/typescript/theme/provider/useThemeColors.d.ts +9 -0
  633. package/lib/typescript/theme/provider/useThemeColors.d.ts.map +1 -0
  634. package/lib/typescript/theme/provider/useThemeMode.d.ts +4 -0
  635. package/lib/typescript/theme/provider/useThemeMode.d.ts.map +1 -0
  636. package/lib/typescript/theme/tokens/brands/emerald/palette.dark.d.ts +3 -0
  637. package/lib/typescript/theme/tokens/brands/emerald/palette.dark.d.ts.map +1 -0
  638. package/lib/typescript/theme/tokens/brands/emerald/palette.light.d.ts +4 -0
  639. package/lib/typescript/theme/tokens/brands/emerald/palette.light.d.ts.map +1 -0
  640. package/lib/typescript/theme/tokens/brands/index.d.ts +30 -0
  641. package/lib/typescript/theme/tokens/brands/index.d.ts.map +1 -0
  642. package/lib/typescript/theme/tokens/brands/lavender/palette.dark.d.ts +3 -0
  643. package/lib/typescript/theme/tokens/brands/lavender/palette.dark.d.ts.map +1 -0
  644. package/lib/typescript/theme/tokens/brands/lavender/palette.light.d.ts +4 -0
  645. package/lib/typescript/theme/tokens/brands/lavender/palette.light.d.ts.map +1 -0
  646. package/lib/typescript/theme/tokens/brands/meadow/palette.dark.d.ts +3 -0
  647. package/lib/typescript/theme/tokens/brands/meadow/palette.dark.d.ts.map +1 -0
  648. package/lib/typescript/theme/tokens/brands/meadow/palette.light.d.ts +4 -0
  649. package/lib/typescript/theme/tokens/brands/meadow/palette.light.d.ts.map +1 -0
  650. package/lib/typescript/theme/tokens/brands/radiant/palette.dark.d.ts +3 -0
  651. package/lib/typescript/theme/tokens/brands/radiant/palette.dark.d.ts.map +1 -0
  652. package/lib/typescript/theme/tokens/brands/radiant/palette.light.d.ts +4 -0
  653. package/lib/typescript/theme/tokens/brands/radiant/palette.light.d.ts.map +1 -0
  654. package/lib/typescript/theme/tokens/brands/rosewood/palette.dark.d.ts +3 -0
  655. package/lib/typescript/theme/tokens/brands/rosewood/palette.dark.d.ts.map +1 -0
  656. package/lib/typescript/theme/tokens/brands/rosewood/palette.light.d.ts +4 -0
  657. package/lib/typescript/theme/tokens/brands/rosewood/palette.light.d.ts.map +1 -0
  658. package/lib/typescript/theme/tokens/brands/skyline/palette.dark.d.ts +3 -0
  659. package/lib/typescript/theme/tokens/brands/skyline/palette.dark.d.ts.map +1 -0
  660. package/lib/typescript/theme/tokens/brands/skyline/palette.light.d.ts +4 -0
  661. package/lib/typescript/theme/tokens/brands/skyline/palette.light.d.ts.map +1 -0
  662. package/lib/typescript/theme/tokens/brands/slate/palette.dark.d.ts +3 -0
  663. package/lib/typescript/theme/tokens/brands/slate/palette.dark.d.ts.map +1 -0
  664. package/lib/typescript/theme/tokens/brands/slate/palette.light.d.ts +4 -0
  665. package/lib/typescript/theme/tokens/brands/slate/palette.light.d.ts.map +1 -0
  666. package/lib/typescript/theme/tokens/brands/storefront/palette.dark.d.ts +3 -0
  667. package/lib/typescript/theme/tokens/brands/storefront/palette.dark.d.ts.map +1 -0
  668. package/lib/typescript/theme/tokens/brands/storefront/palette.light.d.ts +4 -0
  669. package/lib/typescript/theme/tokens/brands/storefront/palette.light.d.ts.map +1 -0
  670. package/lib/typescript/theme/tokens/brands/zinc/palette.dark.d.ts +4 -0
  671. package/lib/typescript/theme/tokens/brands/zinc/palette.dark.d.ts.map +1 -0
  672. package/lib/typescript/theme/tokens/brands/zinc/palette.light.d.ts +4 -0
  673. package/lib/typescript/theme/tokens/brands/zinc/palette.light.d.ts.map +1 -0
  674. package/lib/typescript/theme/tokens/builders/accentText.d.ts +42 -0
  675. package/lib/typescript/theme/tokens/builders/accentText.d.ts.map +1 -0
  676. package/lib/typescript/theme/tokens/builders/buildBrandTokens.d.ts +21 -0
  677. package/lib/typescript/theme/tokens/builders/buildBrandTokens.d.ts.map +1 -0
  678. package/lib/typescript/theme/tokens/builders/buildDarkPalette.d.ts +13 -0
  679. package/lib/typescript/theme/tokens/builders/buildDarkPalette.d.ts.map +1 -0
  680. package/lib/typescript/theme/tokens/builders/color.d.ts +59 -0
  681. package/lib/typescript/theme/tokens/builders/color.d.ts.map +1 -0
  682. package/lib/typescript/theme/tokens/index.d.ts +21 -0
  683. package/lib/typescript/theme/tokens/index.d.ts.map +1 -0
  684. package/lib/typescript/theme/tokens/primitives/borderWidths.d.ts +15 -0
  685. package/lib/typescript/theme/tokens/primitives/borderWidths.d.ts.map +1 -0
  686. package/lib/typescript/theme/tokens/primitives/breakpoints.d.ts +17 -0
  687. package/lib/typescript/theme/tokens/primitives/breakpoints.d.ts.map +1 -0
  688. package/lib/typescript/theme/tokens/primitives/elevation.d.ts +109 -0
  689. package/lib/typescript/theme/tokens/primitives/elevation.d.ts.map +1 -0
  690. package/lib/typescript/theme/tokens/primitives/fontSizes.d.ts +21 -0
  691. package/lib/typescript/theme/tokens/primitives/fontSizes.d.ts.map +1 -0
  692. package/lib/typescript/theme/tokens/primitives/fontWeights.d.ts +21 -0
  693. package/lib/typescript/theme/tokens/primitives/fontWeights.d.ts.map +1 -0
  694. package/lib/typescript/theme/tokens/primitives/index.d.ts +23 -0
  695. package/lib/typescript/theme/tokens/primitives/index.d.ts.map +1 -0
  696. package/lib/typescript/theme/tokens/primitives/letterSpacings.d.ts +17 -0
  697. package/lib/typescript/theme/tokens/primitives/letterSpacings.d.ts.map +1 -0
  698. package/lib/typescript/theme/tokens/primitives/lineHeights.d.ts +20 -0
  699. package/lib/typescript/theme/tokens/primitives/lineHeights.d.ts.map +1 -0
  700. package/lib/typescript/theme/tokens/primitives/radii.d.ts +20 -0
  701. package/lib/typescript/theme/tokens/primitives/radii.d.ts.map +1 -0
  702. package/lib/typescript/theme/tokens/primitives/sizes.d.ts +33 -0
  703. package/lib/typescript/theme/tokens/primitives/sizes.d.ts.map +1 -0
  704. package/lib/typescript/theme/tokens/primitives/space.d.ts +29 -0
  705. package/lib/typescript/theme/tokens/primitives/space.d.ts.map +1 -0
  706. package/lib/typescript/theme/tokens/primitives/zIndices.d.ts +22 -0
  707. package/lib/typescript/theme/tokens/primitives/zIndices.d.ts.map +1 -0
  708. package/lib/typescript/theme/tokens/roles/index.d.ts +68 -0
  709. package/lib/typescript/theme/tokens/roles/index.d.ts.map +1 -0
  710. package/lib/typescript/theme/tokens/types.d.ts +103 -0
  711. package/lib/typescript/theme/tokens/types.d.ts.map +1 -0
  712. package/package.json +259 -0
  713. package/registry.json +175 -0
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Toast — a `ToastProvider` + `useToast()` hook, not a component a consumer places directly (it has
5
+ * no visual home of its own to lay out: it always floats above whatever the provider wraps). Every
6
+ * screen mounts `ToastProvider` once, near the root; any descendant calls `useToast().show(...)`.
7
+ *
8
+ * Deliberately NOT React Native's `<Modal>`: a confirmed iOS bug drops or breaks a second `<Modal>`
9
+ * presented while a sibling Modal — this library's own, or an OS share sheet — is still mounted or
10
+ * mid-dismiss-animation, so a toast shown over one would silently fail. The overlay is instead a
11
+ * plain absolutely-positioned `View` mounted at the provider's own root, entirely outside RN's Modal
12
+ * system, so it floats over anything without competing for the same presentation stack.
13
+ *
14
+ * Single-slot by design: `show()` while a toast is already visible replaces its message/tone and
15
+ * restarts the auto-dismiss timer (and, since a fresh message reads as a new event, restarts the
16
+ * entrance animation) rather than queueing a second one. `dismiss()` always dismisses that one slot,
17
+ * and is a safe no-op when nothing is showing.
18
+ */
19
+
20
+ import { createContext, memo, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
21
+ import { AccessibilityInfo, Animated, Pressable, StyleSheet, Text, View } from "react-native";
22
+ import { useReducedMotion } from "../../core/a11y/index.js";
23
+ import { Icon } from "../../core/icon/index.js";
24
+ import { useTheme } from "../../theme/index.js";
25
+ import { CLOSE_BUTTON_SIZE, CLOSE_HIT_SLOP, CLOSE_ICON_SIZE, DEFAULT_TOAST_DURATION, resolveToastTone, toastAccentBarStructure, toastCardStructure, toastOverlayStructure } from "./Toast.variants.js";
26
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
27
+ // The entrance/exit fade+slide duration, and how far the card travels while animating in. Component
28
+ // design constants — not on the theme's numeric scale, same status `PRESS_FADE_MS` etc. have in
29
+ // `Button.tsx`.
30
+ const ANIMATION_MS = 200;
31
+ const TRANSLATE_DISTANCE = 24;
32
+ const ToastContext = /*#__PURE__*/createContext(undefined);
33
+ export const ToastProvider = /*#__PURE__*/memo(function ToastProvider({
34
+ children,
35
+ position = "top"
36
+ }) {
37
+ const theme = useTheme();
38
+ const reducedMotion = useReducedMotion();
39
+ const [toast, setToast] = useState(null);
40
+ const progress = useRef(new Animated.Value(0)).current;
41
+ const dismissTimer = useRef(null);
42
+ const unmountTimer = useRef(null);
43
+ const clearTimers = useCallback(() => {
44
+ if (dismissTimer.current !== null) clearTimeout(dismissTimer.current);
45
+ if (unmountTimer.current !== null) clearTimeout(unmountTimer.current);
46
+ dismissTimer.current = null;
47
+ unmountTimer.current = null;
48
+ }, []);
49
+
50
+ // The unmount is scheduled on its own plain timer rather than the `Animated.timing` completion
51
+ // callback: that callback rides `requestAnimationFrame` (even under `useNativeDriver`), which does
52
+ // not resolve on a predictable JS-timer tick in tests (or match a plain `setTimeout` on-device) —
53
+ // a second timer of the same duration keeps the removal deterministic everywhere.
54
+ const hide = useCallback(() => {
55
+ clearTimers();
56
+ Animated.timing(progress, {
57
+ toValue: 0,
58
+ duration: reducedMotion ? 0 : ANIMATION_MS,
59
+ useNativeDriver: true
60
+ }).start();
61
+ unmountTimer.current = setTimeout(() => setToast(null), reducedMotion ? 0 : ANIMATION_MS);
62
+ }, [clearTimers, progress, reducedMotion]);
63
+ const show = useCallback(options => {
64
+ clearTimers();
65
+ progress.setValue(0);
66
+ setToast({
67
+ message: options.message,
68
+ tone: options.tone ?? "neutral"
69
+ });
70
+ // The real cross-platform screen-reader announcement: `accessibilityLiveRegion` (see
71
+ // `ToastCard`'s Text) is Android-only, so it alone leaves iOS VoiceOver silent. This
72
+ // imperative call reaches both VoiceOver and TalkBack.
73
+ AccessibilityInfo.announceForAccessibility(options.message);
74
+ Animated.timing(progress, {
75
+ toValue: 1,
76
+ duration: reducedMotion ? 0 : ANIMATION_MS,
77
+ useNativeDriver: true
78
+ }).start();
79
+ dismissTimer.current = setTimeout(hide, options.duration ?? DEFAULT_TOAST_DURATION);
80
+ }, [clearTimers, hide, progress, reducedMotion]);
81
+
82
+ // Unmount-only cleanup: `clearTimers` is referentially stable (empty deps), so this never re-fires.
83
+ useEffect(() => clearTimers, [clearTimers]);
84
+ const contextValue = useMemo(() => ({
85
+ show,
86
+ dismiss: hide
87
+ }), [show, hide]);
88
+ return /*#__PURE__*/_jsxs(ToastContext.Provider, {
89
+ value: contextValue,
90
+ children: [children, /*#__PURE__*/_jsx(View, {
91
+ pointerEvents: "box-none",
92
+ style: toastOverlayStructure(theme, {
93
+ position
94
+ }),
95
+ children: toast !== null && /*#__PURE__*/_jsx(ToastCard, {
96
+ toast: toast,
97
+ theme: theme,
98
+ position: position,
99
+ progress: progress,
100
+ onDismiss: hide
101
+ })
102
+ })]
103
+ });
104
+ });
105
+ // Memoized like any other of this library's own child components: `ToastProvider` hands it
106
+ // already-stable props (state, refs, and `hide`'s own `useCallback`), so this avoids re-rendering
107
+ // the card on a `ToastProvider` re-render that didn't actually change any of them.
108
+ const ToastCard = /*#__PURE__*/memo(function ToastCard({
109
+ toast,
110
+ theme,
111
+ position,
112
+ progress,
113
+ onDismiss
114
+ }) {
115
+ const toneColors = resolveToastTone(theme.colors, toast.tone);
116
+ const translateY = progress.interpolate({
117
+ inputRange: [0, 1],
118
+ outputRange: position === "top" ? [-TRANSLATE_DISTANCE, 0] : [TRANSLATE_DISTANCE, 0]
119
+ });
120
+ return /*#__PURE__*/_jsxs(Animated.View, {
121
+ testID: "pixelize-toast",
122
+ accessibilityRole: "alert",
123
+ style: [toastCardStructure(theme), {
124
+ backgroundColor: toneColors.background
125
+ }, theme.elevation.lg, {
126
+ opacity: progress,
127
+ transform: [{
128
+ translateY
129
+ }]
130
+ }],
131
+ children: [/*#__PURE__*/_jsx(View, {
132
+ style: [toastAccentBarStructure(theme), {
133
+ backgroundColor: toneColors.accent
134
+ }]
135
+ }), /*#__PURE__*/_jsx(Text, {
136
+ numberOfLines: 3,
137
+ style: [theme.fontStyleForWeight(theme.fontWeights.medium), styles.message, {
138
+ fontSize: theme.fontSizes.sm,
139
+ color: toneColors.text
140
+ }],
141
+ children: toast.message
142
+ }), /*#__PURE__*/_jsx(Pressable, {
143
+ testID: "pixelize-toast-close",
144
+ accessibilityRole: "button",
145
+ accessibilityLabel: "Dismiss notification",
146
+ hitSlop: CLOSE_HIT_SLOP,
147
+ onPress: onDismiss,
148
+ style: styles.closeButton,
149
+ children: /*#__PURE__*/_jsx(Icon, {
150
+ name: "x",
151
+ size: CLOSE_ICON_SIZE,
152
+ color: theme.colors.fg.muted,
153
+ strokeWidth: 2
154
+ })
155
+ })]
156
+ });
157
+ });
158
+
159
+ /** Throws outside a `ToastProvider` — same contract as `useTheme()`. */
160
+ export function useToast() {
161
+ const ctx = useContext(ToastContext);
162
+ if (!ctx) {
163
+ throw new Error("useToast must be used inside <ToastProvider>. Wrap your app in " + "<ToastProvider> from 'pixelize-native-library/toast'.");
164
+ }
165
+ return ctx;
166
+ }
167
+ const styles = StyleSheet.create({
168
+ message: {
169
+ flex: 1
170
+ },
171
+ closeButton: {
172
+ width: CLOSE_BUTTON_SIZE,
173
+ height: CLOSE_BUTTON_SIZE,
174
+ alignItems: "center",
175
+ justifyContent: "center"
176
+ }
177
+ });
178
+ //# sourceMappingURL=Toast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","memo","useCallback","useContext","useEffect","useMemo","useRef","useState","AccessibilityInfo","Animated","Pressable","StyleSheet","Text","View","useReducedMotion","Icon","useTheme","CLOSE_BUTTON_SIZE","CLOSE_HIT_SLOP","CLOSE_ICON_SIZE","DEFAULT_TOAST_DURATION","resolveToastTone","toastAccentBarStructure","toastCardStructure","toastOverlayStructure","jsx","_jsx","jsxs","_jsxs","ANIMATION_MS","TRANSLATE_DISTANCE","ToastContext","undefined","ToastProvider","children","position","theme","reducedMotion","toast","setToast","progress","Value","current","dismissTimer","unmountTimer","clearTimers","clearTimeout","hide","timing","toValue","duration","useNativeDriver","start","setTimeout","show","options","setValue","message","tone","announceForAccessibility","contextValue","dismiss","Provider","value","pointerEvents","style","ToastCard","onDismiss","toneColors","colors","translateY","interpolate","inputRange","outputRange","testID","accessibilityRole","backgroundColor","background","elevation","lg","opacity","transform","accent","numberOfLines","fontStyleForWeight","fontWeights","medium","styles","fontSize","fontSizes","sm","color","text","accessibilityLabel","hitSlop","onPress","closeButton","name","size","fg","muted","strokeWidth","useToast","ctx","Error","create","flex","width","height","alignItems","justifyContent"],"sourceRoot":"../../../../src","sources":["modules/toast/Toast.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Toast's style + behaviour resolution — same split as Button.variants:
5
+ * - STRUCTURE (padding, radius, gap, the accent bar's width, the overlay's edge inset, the overlay's
6
+ * z-index) lives in the themed resolvers below, static per (brand, mode), registered once via
7
+ * `StyleSheet.create`.
8
+ * - COLOUR is `tone`-driven and resolved from the theme's ROLE colours by `resolveToastTone`, never
9
+ * a raw ramp and never a hardcoded hex.
10
+ * - ACCESSIBILITY: the screen-reader announcement (WCAG 4.1.3) is one cross-platform imperative
11
+ * `AccessibilityInfo.announceForAccessibility` call in `Toast.tsx`'s `show()`, not a tone-driven
12
+ * resolver here — every tone announces the same way.
13
+ *
14
+ * Free of React and of `lucide`, so the WCAG + behaviour tests import it directly (mocking only
15
+ * `react-native`'s `StyleSheet`, as `core/style` does).
16
+ */
17
+
18
+ import { createThemedVariants } from "../../core/style/index.js";
19
+ /** Same floor as Button/Input/Checkbox — 44dp (WCAG 2.5.5 / HIG). Duplicated, not imported: modules
20
+ * stay isolated. */
21
+ export const MIN_TOUCH_TARGET = 44;
22
+ const slopFor = size => Math.max(0, Math.ceil((MIN_TOUCH_TARGET - size) / 2));
23
+
24
+ /** The close button's own visual box + glyph. Toast takes no `size` prop, so this is a fixed pair,
25
+ * not a scale — mirrors `BUTTON_SIZES`' shape for exactly one size. */
26
+ export const CLOSE_BUTTON_SIZE = 24;
27
+ export const CLOSE_ICON_SIZE = 16;
28
+ export const CLOSE_HIT_SLOP = slopFor(CLOSE_BUTTON_SIZE);
29
+
30
+ /** `duration?: number` on `ToastOptions` defaults to this when omitted. */
31
+ export const DEFAULT_TOAST_DURATION = 3000;
32
+ /**
33
+ * Maps `tone` onto the theme's role colours. The whole reason the prop is a closed union and not
34
+ * `color?: string`: every colour a Toast can show is one of these role lookups, so it can never be
35
+ * an off-palette value an app invented, and it inverts light↔dark for free.
36
+ *
37
+ * The card always sits on `bg.raised` — the same "elevated surface" role `Card`'s own `elevated`
38
+ * variant uses (`Card.variants.ts`). The accent bar and the message BOTH read `status.<role>.text`,
39
+ * deliberately NOT `status.<role>.solid`: `solid` is only measured against its own pale `subtle` fill
40
+ * (`roleColors.test.ts`'s `status.solid` vs `status.onSolid`/`subtle` promises), and on
41
+ * `success`/`warning`/`info` in light mode it falls as low as ~1.9:1 against `bg.raised` — nowhere
42
+ * near the 3:1 floor a rendered accent bar needs. `text` is the rung `readableOn` already proved
43
+ * ≥ 4.5:1 nearby, which comfortably clears the bar's lighter 3:1 floor too — one role, measured here
44
+ * for both jobs, rather than a second unverified pairing (`Toast.test.ts`).
45
+ */
46
+ export function resolveToastTone(colors, tone) {
47
+ if (tone === "neutral") {
48
+ return {
49
+ background: colors.bg.raised,
50
+ accent: colors.border.interactive,
51
+ text: colors.fg.default
52
+ };
53
+ }
54
+ const status = colors.status[tone];
55
+ return {
56
+ background: colors.bg.raised,
57
+ accent: status.text,
58
+ text: status.text
59
+ };
60
+ }
61
+
62
+ /**
63
+ * Structural styles only — the card's padding, radius, and gap. No colour (tone-driven, applied
64
+ * inline over this) and no shadow (elevation is applied directly from `theme.elevation.lg`, same
65
+ * idiom as `Card`), so this compiles once per theme identity via the `WeakMap`-cached themed
66
+ * resolver and never rebuilds per render. `overflow: "hidden"` lets the accent bar's square corners
67
+ * get clipped by the card's own rounding instead of resolving a second radius for the bar.
68
+ */
69
+ export const toastCardStructure = createThemedVariants(theme => ({
70
+ base: {
71
+ flexDirection: "row",
72
+ alignItems: "center",
73
+ columnGap: theme.space[3],
74
+ borderRadius: theme.radii.md,
75
+ paddingVertical: theme.space[3],
76
+ paddingRight: theme.space[3],
77
+ overflow: "hidden"
78
+ }
79
+ }));
80
+
81
+ /** The accent bar's width — a structural constant on the theme's `space` scale, not a hardcoded dp. */
82
+ export const toastAccentBarStructure = createThemedVariants(theme => ({
83
+ base: {
84
+ width: theme.space[1],
85
+ alignSelf: "stretch"
86
+ }
87
+ }));
88
+
89
+ /**
90
+ * The overlay's inset from the screen edge it hugs, plus its stacking order. `position` is
91
+ * provider-level (one overlay for the whole app), not per-toast, so it lives here as a themed
92
+ * structural variant rather than something `resolveToastTone` touches. `zIndex` is themed (not a
93
+ * per-render inline value) for the same reason as the rest of this file: it's a structural,
94
+ * theme-scoped constant, so it belongs in the cached resolver, not recomputed as a fresh object
95
+ * every render in `Toast.tsx`.
96
+ */
97
+ export const toastOverlayStructure = createThemedVariants(theme => ({
98
+ base: {
99
+ position: "absolute",
100
+ left: 0,
101
+ right: 0,
102
+ alignItems: "center",
103
+ paddingHorizontal: theme.space[4],
104
+ zIndex: theme.zIndices.toast
105
+ },
106
+ variants: {
107
+ position: {
108
+ top: {
109
+ top: theme.space[4]
110
+ },
111
+ bottom: {
112
+ bottom: theme.space[4]
113
+ }
114
+ }
115
+ },
116
+ defaultVariants: {
117
+ position: "top"
118
+ }
119
+ }));
120
+ //# sourceMappingURL=Toast.variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createThemedVariants","MIN_TOUCH_TARGET","slopFor","size","Math","max","ceil","CLOSE_BUTTON_SIZE","CLOSE_ICON_SIZE","CLOSE_HIT_SLOP","DEFAULT_TOAST_DURATION","resolveToastTone","colors","tone","background","bg","raised","accent","border","interactive","text","fg","default","status","toastCardStructure","theme","base","flexDirection","alignItems","columnGap","space","borderRadius","radii","md","paddingVertical","paddingRight","overflow","toastAccentBarStructure","width","alignSelf","toastOverlayStructure","position","left","right","paddingHorizontal","zIndex","zIndices","toast","variants","top","bottom","defaultVariants"],"sourceRoot":"../../../../src","sources":["modules/toast/Toast.variants.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Public surface of `pixelize-native-library/toast`. Value exports and type exports are split for
5
+ * `verbatimModuleSyntax`. The pure resolvers (`resolveToastTone`, …) stay internal — a consumer
6
+ * configures a toast through `show(options)`, never by importing them.
7
+ *
8
+ * No `IconName` re-export here: unlike `Button`, Toast takes no public `icon` prop — its dismiss
9
+ * glyph is a fixed internal choice, not something a consumer selects.
10
+ */
11
+
12
+ export { ToastProvider, useToast } from "./Toast.js";
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ToastProvider","useToast"],"sourceRoot":"../../../../src","sources":["modules/toast/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,YAAS","ignoreList":[]}
@@ -0,0 +1,86 @@
1
+ # tooltip/ — a long-press tip that also reaches screen readers without the gesture
2
+
3
+ `Tooltip` wraps a single trigger element (via `React.cloneElement`, never `{...rest}`) and reveals
4
+ a short themed bubble on long-press. It has no visual node of its own for an app to place — the
5
+ trigger keeps its own layout — so, unlike the other modules, it exposes no `style` prop.
6
+
7
+ ## Files
8
+
9
+ | File | Role |
10
+ |------|------|
11
+ | `Tooltip.tsx` | The component. `cloneElement` composition, show/hide timing, fade-in, a11y hint wiring. |
12
+ | `Tooltip.variants.ts` | Pure resolvers (`mergeAccessibilityHint`, `TOOLTIP_TIMING`) + the themed structural resolver `tooltipBubbleStructure`. No React, no lucide. |
13
+ | `index.ts` | Public surface: `Tooltip`, `TooltipProps`, `TooltipTriggerProps`, `TooltipPlacement`. |
14
+ | `__tests__/Tooltip.test.ts` | Pure: WCAG contrast (all brands × modes) + the hint-merge contract + timing sanity. |
15
+ | `__tests__/Tooltip.render.test.tsx` | Render: reveal/hide, auto-hide fallback, hint merge, placement. |
16
+
17
+ ## Props
18
+
19
+ | Prop | Type | Default | Notes |
20
+ |------|------|---------|-------|
21
+ | `label` | `string` | — | The tip's text. Also what gets merged into the trigger's `accessibilityHint`. |
22
+ | `children` | `ReactElement<TooltipTriggerProps>` | — | A single element accepting `onLongPress`/`onPressOut`/`accessibilityHint` (e.g. a `Pressable`). |
23
+ | `placement` | `top \| bottom` | `bottom` | Which side of the trigger the bubble opens toward. |
24
+ | `testID` | `string` | — | On the host `View`; also seeds `${testID}-bubble` on the visible bubble. |
25
+
26
+ No `style` prop (see the file-header note) and no `tone`/`variant`/`size` — the bubble always
27
+ reads `bg.raised` / `fg.default`, so there is nothing appearance-wise for a caller to choose.
28
+
29
+ ## Accessibility contract (WCAG)
30
+
31
+ - **1.3.1 / no gesture-only content** — the whole point of this module: `accessibilityHint` on
32
+ the trigger is set to `mergeAccessibilityHint(existingHint, label)`, so a screen-reader user gets
33
+ the tip's content read out with the trigger itself, with no long-press required. The existing
34
+ hint (if the trigger already had one) is preserved, never overwritten.
35
+ - **1.4.3** — the bubble text (`fg.default` on `bg.raised`) is measured ≥ 4.5:1 for every brand ×
36
+ mode. No non-text/interactive boundary to measure — the bubble has no border.
37
+ - **The bubble is hidden from the accessibility tree** (`accessibilityElementsHidden` +
38
+ `importantForAccessibility="no-hide-descendants"`) once visible — its content already reached
39
+ assistive tech via the merged hint above, so exposing it too would double-announce the same
40
+ text (the same pattern as Button hiding its spinner from AT).
41
+ - **2.3.3** — the fade-in is skipped (`duration: 0`) when `useReducedMotion()` is true; the bubble
42
+ still appears immediately, so reduced motion never means "no tip."
43
+ - **Touch target** — Tooltip renders no interactive control of its own; the trigger child owns its
44
+ own touch target (e.g. an icon `Button` already enforces ≥ 44dp via `hitSlop`).
45
+
46
+ ## Patterns copied from Button (the reference module)
47
+
48
+ 1. **Structure vs colour split** — the bubble's padding/radius/placement offset live in
49
+ `tooltipBubbleStructure` (`createThemedVariants`); colour is resolved from `RoleColors` inline.
50
+ 2. **Pure, testable resolvers** in `Tooltip.variants.ts` — no React/lucide, so the WCAG measurement
51
+ and the hint-merge contract are unit-tested against real palettes, never eyeballed.
52
+ 3. **No `{...rest}`** — composition is `React.cloneElement` on the single child (explicitly
53
+ sanctioned as composition, not a rest spread), injecting three named props only.
54
+ 4. **Reduced motion respected**, same `useReducedMotion()` seam as Button's press fade.
55
+
56
+ ## Design decisions specific to this module
57
+
58
+ - **`onLongPress`/`onPressOut` chain, `accessibilityHint` merges.** The two gesture callbacks call
59
+ the child's own handler first (if any) before doing their job, so Tooltip never silently breaks
60
+ a trigger that already used them. `accessibilityHint` is different: it is a single string, not a
61
+ callback, so "never clobber" means composing the two strings via `mergeAccessibilityHint`, not
62
+ chaining.
63
+ - **No measurement library (v1).** The bubble anchors to the trigger's **left edge** with a fixed
64
+ `theme.space[1]` gap above/below (`left: 0`, `top`/`bottom: 100%`), rather than centering under
65
+ the trigger's actual measured width. This is the sanctioned v1 simplification; it can read
66
+ slightly off-center under a wide trigger. A `Popover`-style measured-anchor module would be the
67
+ place to fix that, not a prop added here.
68
+ - **`sizes["3xs"]`** (the smallest step of the shared `sizes` primitive, 224dp) caps the bubble's
69
+ width instead of a newly-invented magic number.
70
+ - **Auto-hide fallback** (`TOOLTIP_TIMING.autoHideMs`, 2.5s) — guards against the tip staying open
71
+ forever if `onPressOut` never fires (a cancelled gesture, or assistive tech invoking
72
+ `onLongPress` directly without a matching press-out).
73
+
74
+ ## Known gaps
75
+
76
+ - **Requires a trigger that forwards `onLongPress`/`onPressOut`/`accessibilityHint`.** A library
77
+ component with a closed prop contract that doesn't expose those props (e.g. this library's own
78
+ `Button` today) won't actually receive the gesture or the hint merge — `cloneElement` sets the
79
+ props on the element, but a component that destructures its own explicit prop list and ignores
80
+ unknown ones will simply drop them. Works today with a raw RN `Pressable`/`TouchableOpacity`, or
81
+ any future library component that adds these to its explicit prop list.
82
+ - No collision/viewport-edge detection — a bubble near a screen edge is not repositioned inward.
83
+
84
+ ## Performance
85
+
86
+ Wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`). `clearHideTimer`/`hide`/`show` are `useCallback`'d, and the `onLongPress`/`onPressOut` handlers `cloneElement` injects into the consumer-supplied `children` trigger are extracted to `handleLongPress`/`handlePressOut` (`useCallback`) instead of inline lambdas — same idiom `Menu.tsx` uses for its own trigger, since a fresh closure there would defeat a memoized trigger (e.g. this library's own `Button`).
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Tooltip — wraps a single trigger element and reveals a short themed tip on long-press, without
5
+ * requiring the trigger to know anything about it. No `style` prop: unlike the other modules,
6
+ * Tooltip renders no sized node of its own for an app to place — the trigger child keeps whatever
7
+ * layout it already has, and the wrapping host below exists only to anchor the bubble.
8
+ *
9
+ * Composition is `React.cloneElement` on the single child, never `{...rest}`: `onLongPress` and
10
+ * `onPressOut` are injected (chaining any handler the child already defined, so Tooltip never
11
+ * silently breaks a trigger that already used them), and `accessibilityHint` is MERGED via
12
+ * `mergeAccessibilityHint` — the one prop that must never be clobbered, since it is how a
13
+ * screen-reader user gets the tip's content without performing the gesture at all.
14
+ */
15
+
16
+ import { cloneElement, memo, useCallback, useEffect, useRef, useState } from "react";
17
+ import { Animated, StyleSheet, Text, View } from "react-native";
18
+ import { useReducedMotion } from "../../core/a11y/index.js";
19
+ import { useTheme } from "../../theme/index.js";
20
+ import { mergeAccessibilityHint, TOOLTIP_TIMING, tooltipBubbleStructure } from "./Tooltip.variants.js";
21
+
22
+ /** The subset of props Tooltip reads from / injects into its trigger child. */
23
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
+ export const Tooltip = /*#__PURE__*/memo(function Tooltip({
25
+ label,
26
+ children,
27
+ placement = "bottom",
28
+ testID
29
+ }) {
30
+ const theme = useTheme();
31
+ const reducedMotion = useReducedMotion();
32
+ const [visible, setVisible] = useState(false);
33
+ const opacity = useRef(new Animated.Value(0)).current;
34
+ const hideTimer = useRef(null);
35
+ const clearHideTimer = useCallback(() => {
36
+ if (hideTimer.current !== null) {
37
+ clearTimeout(hideTimer.current);
38
+ hideTimer.current = null;
39
+ }
40
+ }, []);
41
+ const hide = useCallback(() => {
42
+ clearHideTimer();
43
+ setVisible(false);
44
+ }, [clearHideTimer]);
45
+ const show = useCallback(() => {
46
+ clearHideTimer();
47
+ setVisible(true);
48
+ opacity.setValue(reducedMotion ? 1 : 0);
49
+ Animated.timing(opacity, {
50
+ toValue: 1,
51
+ duration: reducedMotion ? 0 : TOOLTIP_TIMING.fadeInMs,
52
+ useNativeDriver: true
53
+ }).start();
54
+ // Fallback dismiss: guarantees the tip can't get stuck open if `onPressOut` never fires (e.g.
55
+ // the gesture is cancelled by a scroll, or assistive tech triggers `onLongPress` directly).
56
+ hideTimer.current = setTimeout(hide, TOOLTIP_TIMING.autoHideMs);
57
+ }, [clearHideTimer, hide, opacity, reducedMotion]);
58
+ useEffect(() => clearHideTimer, [clearHideTimer]);
59
+
60
+ // Passed to `children` — a consumer-supplied CHILD component (typically this library's own
61
+ // Pressable/Button) — via cloneElement, so it is memoized like any other child-bound callback
62
+ // (same idiom `Menu.tsx` uses for its own trigger).
63
+ const handleLongPress = useCallback(event => {
64
+ children.props.onLongPress?.(event);
65
+ show();
66
+ }, [children, show]);
67
+ const handlePressOut = useCallback(event => {
68
+ children.props.onPressOut?.(event);
69
+ hide();
70
+ }, [children, hide]);
71
+ const trigger = /*#__PURE__*/cloneElement(children, {
72
+ onLongPress: handleLongPress,
73
+ onPressOut: handlePressOut,
74
+ accessibilityHint: mergeAccessibilityHint(children.props.accessibilityHint, label)
75
+ });
76
+ return /*#__PURE__*/_jsxs(View, {
77
+ style: styles.host,
78
+ testID: testID,
79
+ children: [trigger, visible &&
80
+ /*#__PURE__*/
81
+ // Hidden from the accessibility tree on purpose: the tip's content already reached
82
+ // screen-reader users via the merged `accessibilityHint` above, so surfacing this bubble
83
+ // too would announce the same text twice (the same "hide the sighted-only echo" pattern
84
+ // as Button's spinner).
85
+ _jsx(Animated.View, {
86
+ testID: testID ? `${testID}-bubble` : undefined,
87
+ pointerEvents: "none",
88
+ accessibilityElementsHidden: true,
89
+ importantForAccessibility: "no-hide-descendants",
90
+ style: [tooltipBubbleStructure(theme, {
91
+ placement
92
+ }), {
93
+ backgroundColor: theme.colors.bg.raised,
94
+ opacity,
95
+ zIndex: theme.zIndices.tooltip
96
+ }],
97
+ children: /*#__PURE__*/_jsx(Text, {
98
+ style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
99
+ fontSize: theme.fontSizes.sm,
100
+ color: theme.colors.fg.default
101
+ }],
102
+ children: label
103
+ })
104
+ })]
105
+ });
106
+ });
107
+ const styles = StyleSheet.create({
108
+ // `flex-start`: hugs the trigger's own size instead of stretching cross-axis in a flex parent,
109
+ // so wrapping a child in Tooltip changes its layout as little as possible.
110
+ host: {
111
+ position: "relative",
112
+ alignSelf: "flex-start"
113
+ }
114
+ });
115
+ //# sourceMappingURL=Tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["cloneElement","memo","useCallback","useEffect","useRef","useState","Animated","StyleSheet","Text","View","useReducedMotion","useTheme","mergeAccessibilityHint","TOOLTIP_TIMING","tooltipBubbleStructure","jsx","_jsx","jsxs","_jsxs","Tooltip","label","children","placement","testID","theme","reducedMotion","visible","setVisible","opacity","Value","current","hideTimer","clearHideTimer","clearTimeout","hide","show","setValue","timing","toValue","duration","fadeInMs","useNativeDriver","start","setTimeout","autoHideMs","handleLongPress","event","props","onLongPress","handlePressOut","onPressOut","trigger","accessibilityHint","style","styles","host","undefined","pointerEvents","accessibilityElementsHidden","importantForAccessibility","backgroundColor","colors","bg","raised","zIndex","zIndices","tooltip","fontStyleForWeight","fontWeights","regular","fontSize","fontSizes","sm","color","fg","default","create","position","alignSelf"],"sourceRoot":"../../../../src","sources":["modules/tooltip/Tooltip.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Tooltip's pure resolvers + the themed structural variant resolver — same split as Button:
5
+ *
6
+ * - STRUCTURE (padding, radius, the placement offset) lives in `tooltipBubbleStructure`, a
7
+ * `createThemedVariants` resolver, static per (brand, mode), registered once.
8
+ * - COLOUR is not tone-driven here — the bubble always reads `bg.raised` / `fg.default`, so it is
9
+ * resolved inline in the component from `theme.colors`, never a hardcoded hex.
10
+ * - The accessibility-hint MERGE is `mergeAccessibilityHint`, kept pure so "never clobber the
11
+ * child's existing hint" is unit-testable without mounting React.
12
+ *
13
+ * Free of `lucide` and of any React tree, so the WCAG + behaviour tests import it directly
14
+ * (mocking only `react-native`'s `StyleSheet`, as `core/style` does).
15
+ */
16
+
17
+ import { sizes } from "../../theme/tokens/index.js";
18
+ import { createThemedVariants } from "../../core/style/index.js";
19
+ /**
20
+ * Design constants, not theme tokens — this module's own timing, not a scale other components
21
+ * share.
22
+ */
23
+ export const TOOLTIP_TIMING = {
24
+ /** Fade-in duration; skipped (duration 0) when the OS reduce-motion setting is on (WCAG 2.3.3). */
25
+ fadeInMs: 150,
26
+ /** Fallback auto-dismiss so a tip can't stay stuck open if `onPressOut` never fires. */
27
+ autoHideMs: 2500
28
+ };
29
+
30
+ /**
31
+ * Appends `label` to any `accessibilityHint` the trigger already carries, so screen-reader users
32
+ * get the tip's content without needing the long-press gesture — the child's own hint is
33
+ * preserved, never overwritten. Reuses the existing sentence's terminal punctuation if there is
34
+ * one, so the merged hint reads as two sentences rather than a run-on.
35
+ */
36
+ export function mergeAccessibilityHint(existing, label) {
37
+ const trimmed = existing?.trim();
38
+ if (!trimmed) return label;
39
+ const separator = /[.!?]$/.test(trimmed) ? " " : ". ";
40
+ return `${trimmed}${separator}${label}`;
41
+ }
42
+
43
+ /**
44
+ * Structural styles only — no colour (the bubble's fill/label are resolved from `RoleColors` in
45
+ * the component). `left: 0` anchors the bubble to the trigger's left edge rather than stretching
46
+ * it to the trigger's full width: a v1 simplification (no measurement library) that reads better
47
+ * for small icon-sized triggers than forcing the tip's width to match them. `maxWidth` reuses the
48
+ * shared `sizes` primitive's smallest step rather than a new hardcoded number.
49
+ */
50
+ export const tooltipBubbleStructure = createThemedVariants(theme => ({
51
+ base: {
52
+ position: "absolute",
53
+ left: 0,
54
+ maxWidth: sizes["3xs"],
55
+ paddingHorizontal: theme.space[3],
56
+ paddingVertical: theme.space[2],
57
+ borderRadius: theme.radii.sm
58
+ },
59
+ variants: {
60
+ placement: {
61
+ bottom: {
62
+ top: "100%",
63
+ marginTop: theme.space[1]
64
+ },
65
+ top: {
66
+ bottom: "100%",
67
+ marginBottom: theme.space[1]
68
+ }
69
+ }
70
+ },
71
+ defaultVariants: {
72
+ placement: "bottom"
73
+ }
74
+ }));
75
+ //# sourceMappingURL=Tooltip.variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sizes","createThemedVariants","TOOLTIP_TIMING","fadeInMs","autoHideMs","mergeAccessibilityHint","existing","label","trimmed","trim","separator","test","tooltipBubbleStructure","theme","base","position","left","maxWidth","paddingHorizontal","space","paddingVertical","borderRadius","radii","sm","variants","placement","bottom","top","marginTop","marginBottom","defaultVariants"],"sourceRoot":"../../../../src","sources":["modules/tooltip/Tooltip.variants.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,KAAK,QAAQ,6BAAoB;AAC1C,SAASC,oBAAoB,QAAQ,2BAAkB;AAIvD;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GAAG;EAC5B;EACAC,QAAQ,EAAE,GAAG;EACb;EACAC,UAAU,EAAE;AACd,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,QAA4B,EAAEC,KAAa,EAAU;EAC1F,MAAMC,OAAO,GAAGF,QAAQ,EAAEG,IAAI,CAAC,CAAC;EAChC,IAAI,CAACD,OAAO,EAAE,OAAOD,KAAK;EAC1B,MAAMG,SAAS,GAAG,QAAQ,CAACC,IAAI,CAACH,OAAO,CAAC,GAAG,GAAG,GAAG,IAAI;EACrD,OAAO,GAAGA,OAAO,GAAGE,SAAS,GAAGH,KAAK,EAAE;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMK,sBAAsB,GAAGX,oBAAoB,CAAEY,KAAY,KAAM;EAC5EC,IAAI,EAAE;IACJC,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAEjB,KAAK,CAAC,KAAK,CAAC;IACtBkB,iBAAiB,EAAEL,KAAK,CAACM,KAAK,CAAC,CAAC,CAAC;IACjCC,eAAe,EAAEP,KAAK,CAACM,KAAK,CAAC,CAAC,CAAC;IAC/BE,YAAY,EAAER,KAAK,CAACS,KAAK,CAACC;EAC5B,CAAC;EACDC,QAAQ,EAAE;IACRC,SAAS,EAAE;MACTC,MAAM,EAAE;QAAEC,GAAG,EAAE,MAAM;QAAEC,SAAS,EAAEf,KAAK,CAACM,KAAK,CAAC,CAAC;MAAE,CAAC;MAClDQ,GAAG,EAAE;QAAED,MAAM,EAAE,MAAM;QAAEG,YAAY,EAAEhB,KAAK,CAACM,KAAK,CAAC,CAAC;MAAE;IACtD;EACF,CAAC;EACDW,eAAe,EAAE;IAAEL,SAAS,EAAE;EAAS;AACzC,CAAC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Public surface of `pixelize-native-library/tooltip`. Value exports and type exports are split for
5
+ * `verbatimModuleSyntax`. The pure resolvers (`mergeAccessibilityHint`, `tooltipBubbleStructure`,
6
+ * `TOOLTIP_TIMING`) stay internal — a consumer configures a Tooltip through its props only.
7
+ */
8
+
9
+ export { Tooltip } from "./Tooltip.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Tooltip"],"sourceRoot":"../../../../src","sources":["modules/tooltip/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,QAAQ,cAAW","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}