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,291 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Reorder — a drag-to-reorder list built on plain `PanResponder` + `Animated` (Wave 3: no new
5
+ * dependency). Each row's drag handle is a hand-built three-bar "grip" glyph (no `IconName` in the
6
+ * closed 22-name set represents a drag handle, and that set is never extended for one component) —
7
+ * the `PanResponder` lives on the grip ONLY, not the whole row, so the label text never fights the
8
+ * gesture.
9
+ *
10
+ * The list is FULLY CONTROLLED: `items`/`onReorder` are the only source of truth. While a drag is
11
+ * live, the component tracks purely EPHEMERAL state — which row grabbed the gesture (`startIndex`)
12
+ * and which slot it is over now (`targetIndex`), both cleared on release — and previews the reorder
13
+ * by shifting the OTHER rows out of the way with `resolveRowShift` (see `Reorder.variants.ts`); the
14
+ * underlying `items` array is never mutated mid-drag, only on release, via `onReorder`. Because the
15
+ * shift preview and the final `moveItem` commit share the exact same splice semantics, the row that
16
+ * was being dragged lands in the same visual slot its shifted neighbours already vacated — no jump.
17
+ *
18
+ * WCAG 2.5.7 (Dragging Movements) requires a non-dragging way to perform the same function: every
19
+ * row also renders two `Button` icon-only presses ("Move X up" / "Move X down", reusing the shipped
20
+ * `chevron-up`/`chevron-down` names), disabled at the list's own start/end via
21
+ * `resolveReorderMoveState`. This is the REQUIRED accessible path, not optional polish — it is a
22
+ * real `accessibilityRole="button"` each (Button's own contract), fully operable without any touch
23
+ * gesture, and it shares `moveItem` with the drag path so both always agree.
24
+ *
25
+ * The grip itself carries no accessible action of its own — `PanResponder` gestures are invisible to
26
+ * assistive tech, and exposing it as a fake, non-operable "button" would be misleading — so it is
27
+ * hidden from the accessibility tree (`accessibilityElementsHidden` + `no-hide-descendants`, the same
28
+ * pairing `Timeline`'s decorative connector uses), leaving the up/down `Button`s as the one real
29
+ * accessible affordance for reordering.
30
+ */
31
+
32
+ import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
33
+ import { Animated, PanResponder, Text, View } from "react-native";
34
+ import { useReducedMotion } from "../../core/a11y/index.js";
35
+ import { useTheme } from "../../theme/index.js";
36
+ import { Button } from "../button/index.js";
37
+ import { GRIP_HIT_SLOP, moveItem, reorderGripBarStructure, reorderGripStructure, reorderListStructure, reorderRowStructure, resolveDragTargetIndex, resolveReorderColors, resolveReorderMoveState, resolveRowPitch, resolveRowShift } from "./Reorder.variants.js";
38
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
39
+ const SHIFT_DURATION_MS = 200;
40
+ export const Reorder = /*#__PURE__*/memo(function Reorder({
41
+ items,
42
+ onReorder,
43
+ disabled = false,
44
+ style,
45
+ testID
46
+ }) {
47
+ const theme = useTheme();
48
+ const reducedMotion = useReducedMotion();
49
+ // Memoized so every row (see `ReorderRow` below) gets the same `colors` reference across renders
50
+ // that don't change the theme — a fresh object here would defeat `ReorderRow`'s own `React.memo`.
51
+ const colors = useMemo(() => resolveReorderColors(theme.colors), [theme.colors]);
52
+ const [dragState, setDragState] = useState(null);
53
+ // Mirrors `dragState` for `handleDragEnd` to read without depending on it directly — depending on
54
+ // `dragState` there would recreate that callback (and its `onDragEnd` prop reference on every row)
55
+ // on each drag-target transition, defeating every `ReorderRow`'s memo mid-drag, the exact hot path
56
+ // this component's memoization is for.
57
+ const dragStateRef = useRef(dragState);
58
+ dragStateRef.current = dragState;
59
+ const dragY = useRef(new Animated.Value(0)).current;
60
+ const rowPitch = resolveRowPitch(theme.space[2]);
61
+
62
+ // Each row's own preview-shift `Animated.Value`, keyed by the item's stable id (not array index)
63
+ // so `handleDragEnd` below can reach every row and snap it back to 0 synchronously — see there for
64
+ // why that reset can't be left to each row's own effect.
65
+ const shiftValues = useRef(new Map()).current;
66
+ const getShiftValue = id => {
67
+ let value = shiftValues.get(id);
68
+ if (value === undefined) {
69
+ value = new Animated.Value(0);
70
+ shiftValues.set(id, value);
71
+ }
72
+ return value;
73
+ };
74
+ useEffect(() => {
75
+ const liveIds = new Set(items.map(item => item.id));
76
+ shiftValues.forEach((_value, id) => {
77
+ if (!liveIds.has(id)) shiftValues.delete(id);
78
+ });
79
+ }, [items, shiftValues]);
80
+ const handleDragStart = useCallback(index => {
81
+ dragY.setValue(0);
82
+ setDragState({
83
+ startIndex: index,
84
+ targetIndex: index
85
+ });
86
+ }, [dragY]);
87
+ const handleDragMove = useCallback((index, dy) => {
88
+ dragY.setValue(dy);
89
+ const targetIndex = resolveDragTargetIndex(index, dy, rowPitch, items.length);
90
+ setDragState(prev => prev !== null && prev.targetIndex === targetIndex ? prev : {
91
+ startIndex: index,
92
+ targetIndex
93
+ });
94
+ }, [dragY, rowPitch, items.length]);
95
+ const handleDragEnd = useCallback(() => {
96
+ // Every row's own `shift` must already read 0 in the SAME tick the array commits. React
97
+ // relocates a reordered row instantly via its stable `item.id` key, so a row that was previewed
98
+ // mid-drag would otherwise keep animating its stale offset toward 0 AFTER already landing in its
99
+ // new (correct) slot — a visible jump-then-slide. Resetting here, synchronously and before the
100
+ // `dragState` update below flips every row's `shiftTarget` prop to 0, means that prop-driven
101
+ // effect (in `ReorderRow`) only ever animates 0 → 0 — a no-op, not a stale-value correction.
102
+ shiftValues.forEach(value => value.setValue(0));
103
+ // `onReorder` (the consumer's own state setter, e.g. `setItems`) must NOT be called from inside
104
+ // a `setDragState` updater function — React requires updater functions to be pure, and may
105
+ // invoke them while processing `Reorder`'s own render, which is exactly what produced "Cannot
106
+ // update a component (…) while rendering a different component (Reorder)". Read via
107
+ // `dragStateRef` (kept in sync above on every render) rather than closing over `dragState`
108
+ // directly, so this callback's identity stays stable across a drag instead of churning on every
109
+ // target-row transition — see the ref's own comment for why that stability matters.
110
+ const currentDragState = dragStateRef.current;
111
+ if (currentDragState !== null && currentDragState.startIndex !== currentDragState.targetIndex) {
112
+ onReorder(moveItem(items, currentDragState.startIndex, currentDragState.targetIndex));
113
+ }
114
+ setDragState(null);
115
+ dragY.setValue(0);
116
+ }, [shiftValues, items, onReorder, dragY]);
117
+ const handleMove = useCallback((fromIndex, toIndex) => {
118
+ onReorder(moveItem(items, fromIndex, toIndex));
119
+ }, [items, onReorder]);
120
+
121
+ // `onMoveUp`/`onMoveDown` are handed to every row (see `ReorderRow` below); binding `index` here
122
+ // via one stable per-list callback (rather than a fresh `() => handleMove(index, index ± 1)`
123
+ // closure per row per render) keeps their identity stable across renders that don't touch
124
+ // `handleMove`, so a row's own `React.memo` isn't defeated by these two props alone.
125
+ const handleMoveUp = useCallback(index => handleMove(index, index - 1), [handleMove]);
126
+ const handleMoveDown = useCallback(index => handleMove(index, index + 1), [handleMove]);
127
+ return /*#__PURE__*/_jsx(View, {
128
+ testID: testID,
129
+ style: [reorderListStructure(theme), style],
130
+ children: items.map((item, index) => {
131
+ const rowTestID = testID === undefined ? undefined : `${testID}-item-${index}`;
132
+ const moveState = resolveReorderMoveState(index, items.length, disabled);
133
+ const isDragging = dragState !== null && dragState.startIndex === index;
134
+ const shiftTarget = dragState === null ? 0 : resolveRowShift(index, dragState.startIndex, dragState.targetIndex, rowPitch);
135
+ return /*#__PURE__*/_jsx(ReorderRow, {
136
+ item: item,
137
+ index: index,
138
+ disabled: disabled,
139
+ isDragging: isDragging,
140
+ shiftTarget: shiftTarget,
141
+ shift: getShiftValue(item.id),
142
+ dragY: dragY,
143
+ reducedMotion: reducedMotion,
144
+ colors: colors,
145
+ theme: theme,
146
+ upDisabled: moveState.upDisabled,
147
+ downDisabled: moveState.downDisabled,
148
+ onDragStart: handleDragStart,
149
+ onDragMove: handleDragMove,
150
+ onDragEnd: handleDragEnd,
151
+ onMoveUp: handleMoveUp,
152
+ onMoveDown: handleMoveDown,
153
+ testID: rowTestID
154
+ }, item.id);
155
+ })
156
+ });
157
+ });
158
+ /**
159
+ * One row. Split out as its own component (rather than inlined in `Reorder`'s `.map()`) because
160
+ * its shift-settle effect needs a per-row hook instance — Rules of Hooks forbid calling `useEffect`
161
+ * inside a loop body. `shift` itself is now passed in (owned by `Reorder`, keyed by `item.id`), not
162
+ * a locally-owned ref, so `handleDragEnd` can reset it synchronously on drop — see there for why.
163
+ * Wrapped in `React.memo`: `Reorder` re-renders every row on each drag-move tick, so only a row
164
+ * whose own props actually changed (its `shiftTarget`/`isDragging`, primarily) should re-render.
165
+ */
166
+ const ReorderRow = /*#__PURE__*/memo(function ReorderRow({
167
+ item,
168
+ index,
169
+ disabled,
170
+ isDragging,
171
+ shiftTarget,
172
+ shift,
173
+ dragY,
174
+ reducedMotion,
175
+ colors,
176
+ theme,
177
+ upDisabled,
178
+ downDisabled,
179
+ onDragStart,
180
+ onDragMove,
181
+ onDragEnd,
182
+ onMoveUp,
183
+ onMoveDown,
184
+ testID
185
+ }) {
186
+ useEffect(() => {
187
+ if (reducedMotion) {
188
+ shift.setValue(shiftTarget);
189
+ return;
190
+ }
191
+ Animated.timing(shift, {
192
+ toValue: shiftTarget,
193
+ duration: SHIFT_DURATION_MS,
194
+ useNativeDriver: true
195
+ }).start();
196
+ }, [shift, shiftTarget, reducedMotion]);
197
+
198
+ // Recreated every render — a fresh closure over this render's `disabled`/index means there is no
199
+ // stale-closure risk to manage via refs (the same trade Button/Select make for their own inline
200
+ // `onPress` closures).
201
+ const panResponder = PanResponder.create({
202
+ onStartShouldSetPanResponder: () => !disabled,
203
+ onMoveShouldSetPanResponder: () => !disabled,
204
+ onPanResponderGrant: () => onDragStart(index),
205
+ onPanResponderMove: (_event, gestureState) => onDragMove(index, gestureState.dy),
206
+ onPanResponderRelease: () => onDragEnd(index),
207
+ onPanResponderTerminate: () => onDragEnd(index)
208
+ });
209
+ const {
210
+ onStartShouldSetResponder,
211
+ onMoveShouldSetResponder,
212
+ onResponderGrant,
213
+ onResponderMove,
214
+ onResponderRelease,
215
+ onResponderTerminate,
216
+ onResponderTerminationRequest
217
+ } = panResponder.panHandlers;
218
+ const gripColor = disabled ? colors.gripDisabled : colors.grip;
219
+ const gripTestID = testID === undefined ? undefined : `${testID}-grip`;
220
+
221
+ // Bind this row's own `index` into `onMoveUp`/`onMoveDown` once per render, rather than handing
222
+ // `Button` (this library's own component) a fresh inline closure on every render regardless of
223
+ // whether `index` or the handler actually changed.
224
+ const handlePressUp = useCallback(() => onMoveUp(index), [onMoveUp, index]);
225
+ const handlePressDown = useCallback(() => onMoveDown(index), [onMoveDown, index]);
226
+ return /*#__PURE__*/_jsxs(Animated.View, {
227
+ testID: testID,
228
+ style: [reorderRowStructure(theme), {
229
+ backgroundColor: isDragging ? colors.draggingRowBackground : colors.rowBackground
230
+ }, isDragging && theme.elevation.md, {
231
+ transform: [{
232
+ translateY: isDragging ? dragY : shift
233
+ }],
234
+ zIndex: isDragging ? 1 : 0
235
+ }],
236
+ children: [/*#__PURE__*/_jsxs(View, {
237
+ testID: gripTestID,
238
+ accessibilityElementsHidden: true,
239
+ importantForAccessibility: "no-hide-descendants",
240
+ hitSlop: GRIP_HIT_SLOP,
241
+ onStartShouldSetResponder: onStartShouldSetResponder,
242
+ onMoveShouldSetResponder: onMoveShouldSetResponder,
243
+ onResponderGrant: onResponderGrant,
244
+ onResponderMove: onResponderMove,
245
+ onResponderRelease: onResponderRelease,
246
+ onResponderTerminate: onResponderTerminate,
247
+ onResponderTerminationRequest: onResponderTerminationRequest,
248
+ style: reorderGripStructure(),
249
+ children: [/*#__PURE__*/_jsx(View, {
250
+ style: [reorderGripBarStructure(theme), {
251
+ backgroundColor: gripColor
252
+ }]
253
+ }), /*#__PURE__*/_jsx(View, {
254
+ style: [reorderGripBarStructure(theme), {
255
+ backgroundColor: gripColor
256
+ }]
257
+ }), /*#__PURE__*/_jsx(View, {
258
+ style: [reorderGripBarStructure(theme), {
259
+ backgroundColor: gripColor
260
+ }]
261
+ })]
262
+ }), /*#__PURE__*/_jsx(Text, {
263
+ numberOfLines: 1,
264
+ style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
265
+ flex: 1,
266
+ fontSize: theme.fontSizes.md,
267
+ color: colors.label
268
+ }],
269
+ children: item.label
270
+ }), /*#__PURE__*/_jsx(Button, {
271
+ icon: "chevron-up",
272
+ variant: "ghost",
273
+ tone: "neutral",
274
+ size: "sm",
275
+ disabled: upDisabled,
276
+ accessibilityLabel: `Move ${item.label} up`,
277
+ onPress: handlePressUp,
278
+ testID: testID === undefined ? undefined : `${testID}-move-up`
279
+ }), /*#__PURE__*/_jsx(Button, {
280
+ icon: "chevron-down",
281
+ variant: "ghost",
282
+ tone: "neutral",
283
+ size: "sm",
284
+ disabled: downDisabled,
285
+ accessibilityLabel: `Move ${item.label} down`,
286
+ onPress: handlePressDown,
287
+ testID: testID === undefined ? undefined : `${testID}-move-down`
288
+ })]
289
+ });
290
+ });
291
+ //# sourceMappingURL=Reorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","useCallback","useEffect","useMemo","useRef","useState","Animated","PanResponder","Text","View","useReducedMotion","useTheme","Button","GRIP_HIT_SLOP","moveItem","reorderGripBarStructure","reorderGripStructure","reorderListStructure","reorderRowStructure","resolveDragTargetIndex","resolveReorderColors","resolveReorderMoveState","resolveRowPitch","resolveRowShift","jsx","_jsx","jsxs","_jsxs","SHIFT_DURATION_MS","Reorder","items","onReorder","disabled","style","testID","theme","reducedMotion","colors","dragState","setDragState","dragStateRef","current","dragY","Value","rowPitch","space","shiftValues","Map","getShiftValue","id","value","get","undefined","set","liveIds","Set","map","item","forEach","_value","has","delete","handleDragStart","index","setValue","startIndex","targetIndex","handleDragMove","dy","length","prev","handleDragEnd","currentDragState","handleMove","fromIndex","toIndex","handleMoveUp","handleMoveDown","children","rowTestID","moveState","isDragging","shiftTarget","ReorderRow","shift","upDisabled","downDisabled","onDragStart","onDragMove","onDragEnd","onMoveUp","onMoveDown","timing","toValue","duration","useNativeDriver","start","panResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderGrant","onPanResponderMove","_event","gestureState","onPanResponderRelease","onPanResponderTerminate","onStartShouldSetResponder","onMoveShouldSetResponder","onResponderGrant","onResponderMove","onResponderRelease","onResponderTerminate","onResponderTerminationRequest","panHandlers","gripColor","gripDisabled","grip","gripTestID","handlePressUp","handlePressDown","backgroundColor","draggingRowBackground","rowBackground","elevation","md","transform","translateY","zIndex","accessibilityElementsHidden","importantForAccessibility","hitSlop","numberOfLines","fontStyleForWeight","fontWeights","regular","flex","fontSize","fontSizes","color","label","icon","variant","tone","size","accessibilityLabel","onPress"],"sourceRoot":"../../../../src","sources":["modules/reorder/Reorder.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Reorder's style + behaviour resolution — the pure functions the component (and its tests) depend
5
+ * on, plus the themed structural variant resolvers. Same split as `Button.variants.ts`:
6
+ * - STRUCTURE (row height, grip bar size, radius, spacing) lives in the `createThemedVariants`
7
+ * resolvers below, registered once per theme identity.
8
+ * - COLOUR is resolved from the theme's ROLE colours (`resolveReorderColors`), never a raw ramp.
9
+ * - The drag MATH (`resolveDragTargetIndex`, `resolveRowShift`) and the array mutation
10
+ * (`moveItem`) are pure and shared by BOTH interaction paths — the live drag gesture and the
11
+ * WCAG 2.5.7 accessible up/down alternative — so the two paths are guaranteed to agree.
12
+ * - `resolveReorderMoveState` gates that alternative: the first row can't move up, the last can't
13
+ * move down, and the whole pair is gated by the list's own `disabled` prop.
14
+ *
15
+ * Free of React and of any lucide import, so the WCAG + behaviour tests import it directly (mocking
16
+ * only `react-native`'s `StyleSheet`, as `core/style` and every sibling module's tests do).
17
+ */
18
+
19
+ import { createThemedVariants, createVariants } from "../../core/style/index.js";
20
+
21
+ /**
22
+ * Fixed row height, in dp. A fixed height — rather than per-row `onLayout` measurement — is what
23
+ * lets the drag math below be a closed-form `dy ÷ rowHeight`, never an async-measured guess (the
24
+ * build brief's own preference: "a fixed height is simpler and more robust here").
25
+ */
26
+ export const REORDER_ROW_HEIGHT = 56;
27
+
28
+ /** The 44dp floor every touch target holds itself to (WCAG 2.5.5 AAA; comfortably clears 2.5.8). */
29
+ export const MIN_TOUCH_TARGET = 44;
30
+ const slopFor = dimension => Math.max(0, Math.ceil((MIN_TOUCH_TARGET - dimension) / 2));
31
+
32
+ /** Grip bar glyph — three of these stacked make the drag-handle affordance. No `IconName` in the
33
+ * closed 22-name set represents a drag handle, and that set is never extended for one component
34
+ * (per the build brief), so the grip is hand-built from plain themed bars instead. */
35
+ export const GRIP_BAR_WIDTH = 20;
36
+ export const GRIP_BAR_HEIGHT = 3;
37
+ export const GRIP_BAR_GAP = 4;
38
+
39
+ /** The grip's visual footprint: three bars plus the two gaps between them. */
40
+ export const GRIP_BOX = {
41
+ width: GRIP_BAR_WIDTH,
42
+ height: GRIP_BAR_HEIGHT * 3 + GRIP_BAR_GAP * 2
43
+ };
44
+
45
+ /** Symmetric touch expansion on both axes so the grip reaches 44dp without growing the glyph —
46
+ * same discipline as `Button`'s `hitSlop`, just computed on two axes instead of one. */
47
+ export const GRIP_HIT_SLOP = {
48
+ top: slopFor(GRIP_BOX.height),
49
+ bottom: slopFor(GRIP_BOX.height),
50
+ left: slopFor(GRIP_BOX.width),
51
+ right: slopFor(GRIP_BOX.width)
52
+ };
53
+ /**
54
+ * Maps Reorder's fixed visual roles onto ROLE colours — never a hardcoded hex. There is no
55
+ * `tone`/`variant` prop to widen: every row reads identically, so every colour Reorder can show is
56
+ * one of these role lookups, guaranteed legible in both modes (same reasoning `resolveTimelineColors`
57
+ * documents for its own tone-less component).
58
+ */
59
+ export function resolveReorderColors(colors) {
60
+ return {
61
+ rowBackground: colors.bg.surface,
62
+ draggingRowBackground: colors.bg.raised,
63
+ label: colors.fg.default,
64
+ grip: colors.fg.muted,
65
+ gripDisabled: colors.fg.disabled
66
+ };
67
+ }
68
+ /**
69
+ * Gates the accessible up/down alternative (WCAG 2.5.7 — Dragging Movements REQUIRES a non-dragging
70
+ * way to perform the same function): the first row can't move up, the last can't move down, and the
71
+ * list's own `disabled` prop gates every row regardless of position.
72
+ */
73
+ export function resolveReorderMoveState(index, count, disabled) {
74
+ return {
75
+ upDisabled: disabled || index <= 0,
76
+ downDisabled: disabled || index >= count - 1
77
+ };
78
+ }
79
+
80
+ /**
81
+ * Pure array move: `fromIndex` → `toIndex` (clamped into range). Used by BOTH the drag gesture and
82
+ * the accessible up/down buttons, so both interaction paths are guaranteed to produce the same
83
+ * result for the same intent. Out-of-range `fromIndex` returns an unmodified shallow copy.
84
+ */
85
+ export function moveItem(items, fromIndex, toIndex) {
86
+ if (fromIndex < 0 || fromIndex >= items.length) return [...items];
87
+ const target = Math.max(0, Math.min(items.length - 1, toIndex));
88
+ const next = [...items];
89
+ const [moved] = next.splice(fromIndex, 1);
90
+ next.splice(target, 0, moved);
91
+ return next;
92
+ }
93
+
94
+ /**
95
+ * The REAL on-screen distance between two rows' tops: the row's own height plus the `rowGap` the
96
+ * list container applies between rows (the same `theme.space[2]` `reorderListStructure` uses below)
97
+ * — NOT `REORDER_ROW_HEIGHT` alone, which is how tall a row is, not how far apart two rows sit.
98
+ * `resolveDragTargetIndex`/`resolveRowShift` must be given THIS distance (call with
99
+ * `theme.space[2]`, never a hardcoded gap), or the target-row flip fires one `rowGap` early and the
100
+ * preview shift undershoots the vacated slot by `rowGap` per row, compounding on multi-row shifts.
101
+ */
102
+ export function resolveRowPitch(rowGap) {
103
+ return REORDER_ROW_HEIGHT + rowGap;
104
+ }
105
+
106
+ /**
107
+ * The row a drag gesture is over right now, from the accumulated `dy` since the gesture grabbed
108
+ * `startIndex` — a closed-form step count against the REAL row pitch (see `resolveRowPitch`),
109
+ * clamped into the list's bounds. Rounds to the nearest row, so a drag must cross half a row's
110
+ * PITCH to advance a step.
111
+ */
112
+ export function resolveDragTargetIndex(startIndex, dy, rowPitch, itemCount) {
113
+ const steps = Math.round(dy / rowPitch);
114
+ return Math.max(0, Math.min(itemCount - 1, startIndex + steps));
115
+ }
116
+
117
+ /**
118
+ * The vertical offset a NON-dragged row animates to, to open the gap the dragged row is passing
119
+ * over — `-rowPitch` (slides up) for rows between `startIndex` (exclusive) and `targetIndex`
120
+ * (inclusive) when the drag is moving down, `+rowPitch` (slides down) for the mirrored case moving
121
+ * up, `0` otherwise. `rowPitch` must be the REAL on-screen distance between row tops (see
122
+ * `resolveRowPitch`) — row height alone undershoots by `rowGap` per row. Symmetric with `moveItem`'s
123
+ * splice semantics: on drop, the dragged row's array position becomes `targetIndex` and every
124
+ * shifted row's array position is unchanged — only its on-screen slot moved — so this is exactly the
125
+ * visual preview of what `moveItem` will commit.
126
+ */
127
+ export function resolveRowShift(rowIndex, startIndex, targetIndex, rowPitch) {
128
+ if (startIndex === targetIndex) return 0;
129
+ if (startIndex < targetIndex && rowIndex > startIndex && rowIndex <= targetIndex) return -rowPitch;
130
+ if (startIndex > targetIndex && rowIndex < startIndex && rowIndex >= targetIndex) return rowPitch;
131
+ return 0;
132
+ }
133
+
134
+ /** The list container: rows are laid out as plain flex children, spaced by `rowGap`. */
135
+ export const reorderListStructure = createThemedVariants(theme => ({
136
+ base: {
137
+ rowGap: theme.space[2]
138
+ }
139
+ }));
140
+
141
+ /** The whole row: fixed height (see `REORDER_ROW_HEIGHT`), grip/label/buttons spaced by `columnGap`. */
142
+ export const reorderRowStructure = createThemedVariants(theme => ({
143
+ base: {
144
+ flexDirection: "row",
145
+ alignItems: "center",
146
+ height: REORDER_ROW_HEIGHT,
147
+ paddingHorizontal: theme.space[3],
148
+ borderRadius: theme.radii.base,
149
+ columnGap: theme.space[3]
150
+ }
151
+ }));
152
+
153
+ /** The grip's touch box — no theme dependency (a fixed design constant, same reasoning `BUTTON_SIZES`
154
+ * documents for its own plain-constant sizing), so this uses the untethered `createVariants`. */
155
+ export const reorderGripStructure = createVariants({
156
+ base: {
157
+ flexDirection: "column",
158
+ alignItems: "center",
159
+ justifyContent: "center",
160
+ rowGap: GRIP_BAR_GAP
161
+ }
162
+ });
163
+
164
+ /** One grip bar — pill-shaped via the theme's `radii.full`, so this needs the themed resolver. */
165
+ export const reorderGripBarStructure = createThemedVariants(theme => ({
166
+ base: {
167
+ width: GRIP_BAR_WIDTH,
168
+ height: GRIP_BAR_HEIGHT,
169
+ borderRadius: theme.radii.full
170
+ }
171
+ }));
172
+ //# sourceMappingURL=Reorder.variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createThemedVariants","createVariants","REORDER_ROW_HEIGHT","MIN_TOUCH_TARGET","slopFor","dimension","Math","max","ceil","GRIP_BAR_WIDTH","GRIP_BAR_HEIGHT","GRIP_BAR_GAP","GRIP_BOX","width","height","GRIP_HIT_SLOP","top","bottom","left","right","resolveReorderColors","colors","rowBackground","bg","surface","draggingRowBackground","raised","label","fg","default","grip","muted","gripDisabled","disabled","resolveReorderMoveState","index","count","upDisabled","downDisabled","moveItem","items","fromIndex","toIndex","length","target","min","next","moved","splice","resolveRowPitch","rowGap","resolveDragTargetIndex","startIndex","dy","rowPitch","itemCount","steps","round","resolveRowShift","rowIndex","targetIndex","reorderListStructure","theme","base","space","reorderRowStructure","flexDirection","alignItems","paddingHorizontal","borderRadius","radii","columnGap","reorderGripStructure","justifyContent","reorderGripBarStructure","full"],"sourceRoot":"../../../../src","sources":["modules/reorder/Reorder.variants.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Public surface of `pixelize-native-library/reorder`. Value exports and type exports are split for
5
+ * `verbatimModuleSyntax`. The drag/shift math (`moveItem`, `resolveDragTargetIndex`, …) and the
6
+ * colour/structure resolvers stay internal — a consumer configures a Reorder through its props,
7
+ * never by importing its internals.
8
+ */
9
+
10
+ export { Reorder } from "./Reorder.js";
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Reorder"],"sourceRoot":"../../../../src","sources":["modules/reorder/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,QAAQ,cAAW","ignoreList":[]}
@@ -0,0 +1,91 @@
1
+ # select/ — a trigger + native-Modal option list, styled like an Input box
2
+
3
+ `Select` is a `Pressable` trigger (sized/bordered like an Input) that opens its options in React
4
+ Native's OWN `Modal` — imported directly from `"react-native"`, never the library's own `Modal`
5
+ COMPONENT (its rendered output/behaviour): Select still owns its option list's markup outright.
6
+
7
+ The one deliberate exception: on web, Select reads `../modal/ModalPortalContext` +
8
+ `../modal/renderWebPortal` — the same web-portal-containment mechanism `Modal` uses — so opening a
9
+ `ModalPortalProvider` containing an app also contains Select's option sheet. See
10
+ `../modal/MODULE.md`'s "Web portal mechanism" section for the full explanation; this is a plain
11
+ context + a stateless helper with no React-tree footprint of its own, not a dependency on the
12
+ `Modal` component.
13
+
14
+ ## Files
15
+
16
+ | File | Role |
17
+ |------|------|
18
+ | `Select.tsx` | The component. Trigger + `Modal` composition, open/close state, focus handling. |
19
+ | `Select.variants.ts` | Pure resolvers (`SELECT_SIZES`, `resolveSelectTriggerColors`, `resolveSelectRowColors`, `resolveSelectAccessibility`) + the themed structural resolvers (`selectTriggerStructure`, `selectOverlayStructure`, `selectSheetStructure`, `selectRowStructure`). No React, no lucide. |
20
+ | `index.ts` | Public surface: `Select`, `SelectProps`, `SelectOption`, `SelectSize`. |
21
+ | `__tests__/Select.test.ts` | Pure: WCAG contrast (all brands × modes) + touch target + a11y contract. |
22
+ | `__tests__/Select.render.test.tsx` | Render: display, open/close, disabled gating, selection, backdrop dismiss, and the web-portal opt-in branch (mocking `renderWebPortal`). |
23
+
24
+ ## Props
25
+
26
+ | Prop | Type | Default | Notes |
27
+ |------|------|---------|-------|
28
+ | `options` | `{ label: string; value: string }[]` | — | Required. |
29
+ | `value` | `string` | — | The currently selected option's `value`. |
30
+ | `onValueChange` | `(value: string) => void` | — | Required. Fired on row press; the menu closes right after. |
31
+ | `placeholder` | `string` | — | Shown when `value` matches no option. |
32
+ | `label` | `string` | — | Field label above the trigger; also folded into its accessible name. |
33
+ | `disabled` | `boolean` | `false` | Blocks opening the menu; dimmed like Button's disabled state. |
34
+ | `size` | `sm \| md \| lg` | `md` | 32 / 40 / 48 dp; short sizes reach 44 via `hitSlop`. |
35
+ | `containerStyle` | `LayoutStyle` | — | Layout-only, outermost, applied exactly once, last. |
36
+ | `testID` | `string` | — | Also seeds `${testID}-backdrop` and `${testID}-option-${value}`. |
37
+
38
+ No `icon` prop — the chevron/check glyphs are fixed to the component's own semantics, not
39
+ caller-configurable.
40
+
41
+ ## Accessibility contract (WCAG)
42
+
43
+ - **2.5.x target size** — every trigger size reaches ≥ 44dp via `hitSlop`; option rows have a
44
+ 44dp `minHeight` directly (they're list items, not a single control that can grow with slop).
45
+ - **4.1.2** — the trigger is `accessibilityRole="button"` with `accessibilityState.expanded`
46
+ tracking whether the option list is showing.
47
+ - **1.4.3** — trigger value/placeholder text, the field label, and option-row labels are measured
48
+ ≥ 4.5:1 against their own fill (`bg.canvas` for the label, `bg.surface` for the trigger and every
49
+ row — row fill is constant across selection, see below).
50
+ - **1.4.11** — the trigger boundary (`border.interactive`, `border.focus` while focused/open) and
51
+ the active row's "check" glyph are measured ≥ 3:1.
52
+ - Selection is conveyed by the "check" glyph + `accessibilityState.selected`, never by a row
53
+ background swap: `bg.selected` isn't proven ≥ 4.5:1 against `fg.default` on every brand
54
+ (measured: fails on radiant/rosewood light), so `resolveSelectRowColors` keeps the row fill at
55
+ `bg.surface` for every row, selected or not.
56
+ - Each option row is `accessibilityRole="menuitem"` with `accessibilityState={{ selected }}`; the
57
+ "check" icon is the sighted echo of the same state, never the only signal.
58
+ - **2.3.3** — the menu's `animationType` is `"none"` instead of `"fade"` when
59
+ `useReducedMotion()` is true.
60
+ - Disabled is exempt from the contrast minimum (WCAG 1.4.3) — like Button, it's signalled by a
61
+ uniform `opacity: 0.5` dim rather than a separate, still-must-pass colour pair.
62
+
63
+ ## Patterns copied from Button (the reference module)
64
+
65
+ 1. **Structure vs colour split** — sizing/spacing/radius/border-width via `createThemedVariants`;
66
+ colour resolved from `RoleColors` per state, applied inline.
67
+ 2. **Pure, testable resolvers** in `Select.variants.ts` — the WCAG + behaviour contract is
68
+ unit-tested against real palettes, never eyeballed.
69
+ 3. **Closed-ish surface** — `size` is a closed union; `options`/`value`/`onValueChange` are the
70
+ data contract a select inherently needs, not a colour escape hatch.
71
+ 4. `style` exception — Select exposes `containerStyle` (the documented exception for a component
72
+ wrapping a native primitive's outer box), not a second `style` prop.
73
+
74
+ ## Known gaps
75
+
76
+ - No search/filter or multi-select — v1 is a single-select list, matching the spec this module
77
+ was built against. A future `Combobox`/`MultiSelect` would be a separate module, not a prop
78
+ added here (closed-prop-contract).
79
+ - The trigger's focus ring is a border-colour swap (`border.focus`), not Button's offset ring —
80
+ intentional: Select mimics Input-style focus conventions, which this library has not built an
81
+ `Input` module to confirm against yet (parallel build). Revisit if `Input` lands a different
82
+ convention and the two should be reconciled.
83
+ - No measured anchor position — the overlay always centers within its container, regardless of
84
+ where the trigger sits on screen, same as Menu's identical `justifyContent: "center"` overlay
85
+ (see `menu/MODULE.md`'s Known gaps). A real anchor would need `Button` to forward refs (it
86
+ doesn't today) plus per-platform measurement — a future `Popover`-style module, not a prop
87
+ added here.
88
+
89
+ ## Performance
90
+
91
+ Wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`). The option rows use host `Pressable`/`Text` plus this library's `Icon`, which only ever receives primitive props — nothing to memoize.