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,75 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Card's style resolution — same split as Button.variants:
5
+ * - STRUCTURE (padding, radius, border WIDTH) lives in the themed `cardStructure` resolver, static
6
+ * per (brand, mode), registered once via `StyleSheet.create`.
7
+ * - COLOUR is variant-driven and resolved from the theme's ROLE colours by `resolveCardVariant`,
8
+ * never a raw ramp and never a hardcoded hex. Elevation (a shadow, not a role colour) is applied
9
+ * directly by the component from `theme.elevation.md` — nothing to resolve here.
10
+ *
11
+ * Free of React, so the WCAG test imports this directly (mocking only `react-native`'s
12
+ * `StyleSheet`, as `core/style` does).
13
+ */
14
+
15
+ import { createThemedVariants } from "../../core/style/index.js";
16
+ /**
17
+ * Maps `variant` onto the theme's role colours. The whole reason the prop is a closed union and not
18
+ * `color?: string`: every colour a Card can show is one of these role lookups, so it inverts
19
+ * light↔dark for free and can never be an off-palette value an app invented.
20
+ *
21
+ * The outline border deliberately reads `colors.border.interactive`, NOT `colors.border.default`:
22
+ * `default` is the decorative divider rung and measures ~1.0–1.4:1 against `bg.surface`/`bg.raised`
23
+ * on every brand × mode — nowhere near WCAG 1.4.11's 3:1 floor for a rendered UI boundary.
24
+ * `interactive` is the token proven ≥ 3:1 everywhere (see `Card.test.ts`) — the identical
25
+ * substitution `Button`'s outline variant makes, for the identical reason.
26
+ */
27
+ export function resolveCardVariant(colors, variant) {
28
+ switch (variant) {
29
+ case "flat":
30
+ return {
31
+ background: colors.bg.surface,
32
+ border: undefined
33
+ };
34
+ case "outline":
35
+ return {
36
+ background: colors.bg.surface,
37
+ border: colors.border.interactive
38
+ };
39
+ case "elevated":
40
+ return {
41
+ background: colors.bg.raised,
42
+ border: undefined
43
+ };
44
+ }
45
+ }
46
+
47
+ /**
48
+ * Structural styles only — padding, radius, border WIDTH. No colours (those are variant-driven and
49
+ * applied inline over this) and no shadow (elevation is applied directly from `theme.elevation.md`,
50
+ * already rendered per-platform — never re-derived here), so this compiles once per theme identity
51
+ * via the `WeakMap`-cached themed resolver and never rebuilds per render.
52
+ */
53
+ export const cardStructure = createThemedVariants(theme => ({
54
+ base: {
55
+ borderRadius: theme.radii.lg,
56
+ padding: theme.space[4]
57
+ },
58
+ variants: {
59
+ variant: {
60
+ flat: {
61
+ borderWidth: 0
62
+ },
63
+ outline: {
64
+ borderWidth: theme.borderWidths.thin
65
+ },
66
+ elevated: {
67
+ borderWidth: 0
68
+ }
69
+ }
70
+ },
71
+ defaultVariants: {
72
+ variant: "elevated"
73
+ }
74
+ }));
75
+ //# sourceMappingURL=Card.variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createThemedVariants","resolveCardVariant","colors","variant","background","bg","surface","border","undefined","interactive","raised","cardStructure","theme","base","borderRadius","radii","lg","padding","space","variants","flat","borderWidth","outline","borderWidths","thin","elevated","defaultVariants"],"sourceRoot":"../../../../src","sources":["modules/card/Card.variants.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,SAASA,oBAAoB,QAAQ,2BAAkB;AAUvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACC,MAAkB,EAAEC,OAAoB,EAAqB;EAC9F,QAAQA,OAAO;IACb,KAAK,MAAM;MACT,OAAO;QAAEC,UAAU,EAAEF,MAAM,CAACG,EAAE,CAACC,OAAO;QAAEC,MAAM,EAAEC;MAAU,CAAC;IAC7D,KAAK,SAAS;MACZ,OAAO;QAAEJ,UAAU,EAAEF,MAAM,CAACG,EAAE,CAACC,OAAO;QAAEC,MAAM,EAAEL,MAAM,CAACK,MAAM,CAACE;MAAY,CAAC;IAC7E,KAAK,UAAU;MACb,OAAO;QAAEL,UAAU,EAAEF,MAAM,CAACG,EAAE,CAACK,MAAM;QAAEH,MAAM,EAAEC;MAAU,CAAC;EAC9D;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMG,aAAa,GAAGX,oBAAoB,CAAEY,KAAY,KAAM;EACnEC,IAAI,EAAE;IACJC,YAAY,EAAEF,KAAK,CAACG,KAAK,CAACC,EAAE;IAC5BC,OAAO,EAAEL,KAAK,CAACM,KAAK,CAAC,CAAC;EACxB,CAAC;EACDC,QAAQ,EAAE;IACRhB,OAAO,EAAE;MACPiB,IAAI,EAAE;QAAEC,WAAW,EAAE;MAAE,CAAC;MACxBC,OAAO,EAAE;QAAED,WAAW,EAAET,KAAK,CAACW,YAAY,CAACC;MAAK,CAAC;MACjDC,QAAQ,EAAE;QAAEJ,WAAW,EAAE;MAAE;IAC7B;EACF,CAAC;EACDK,eAAe,EAAE;IAAEvB,OAAO,EAAE;EAAW;AACzC,CAAC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,81 @@
1
+ # card/ — a plain, variant-driven container
2
+
3
+ `Card` groups content with a themed background, optional border, and optional elevation. It takes
4
+ no icon, no press handler, and renders no text of its own — `children` is ordinary composition.
5
+
6
+ ## Files
7
+
8
+ | File | Role |
9
+ |------|------|
10
+ | `Card.tsx` | The component. Resolves the variant's colours + elevation, applies them inline over the structural style, in that order, `style` last. |
11
+ | `Card.variants.ts` | Pure resolver (`resolveCardVariant`) + the themed structural variant resolver `cardStructure`. No React. |
12
+ | `index.ts` | Public surface: `Card`, `CardProps`, `CardVariant`. |
13
+ | `__tests__/Card.test.ts` | Pure: WCAG 1.4.11 (outline border, all brands × modes) + variant→colour resolution. |
14
+ | `__tests__/Card.render.test.tsx` | Render: children compose, `testID` forwards, each variant resolves the theme-correct background/border, only `elevated` carries a shadow, consumer `style` applies last. |
15
+
16
+ ## Props
17
+
18
+ | Prop | Type | Default | Notes |
19
+ |------|------|---------|-------|
20
+ | `variant` | `elevated \| outline \| flat` | `elevated` | Closed union — see below. |
21
+ | `children` | `ReactNode` | — | Ordinary composition, not a prop spread. |
22
+ | `style` | `LayoutStyle` | — | Layout-only, outermost, applied exactly once, last. |
23
+ | `testID` | `string` | — | Forwarded to the outermost `View`. |
24
+
25
+ ## Variant → appearance
26
+
27
+ | Variant | Background | Border | Elevation |
28
+ |---------|-----------|--------|-----------|
29
+ | `flat` | `bg.surface` | none | none |
30
+ | `outline` | `bg.surface` | `border.interactive`, `borderWidths.thin` | none |
31
+ | `elevated` (default) | `bg.raised` | none | `theme.elevation.md` (already-rendered `ElevationStyle`, spread as-is — never re-derived) |
32
+
33
+ Padding (`theme.space[4]`) and radius (`theme.radii.lg`) are shared across all three variants via
34
+ `cardStructure`; only border WIDTH varies by variant there (colour is resolved separately and
35
+ applied inline, same split as every other module).
36
+
37
+ ## Why the outline border is `border.interactive`, not `border.default`
38
+
39
+ `colors.border.default` is the decorative divider rung — measured at ~1.0–1.4:1 against
40
+ `bg.surface`/`bg.raised` on every brand × mode, nowhere near WCAG 1.4.11's 3:1 floor for a rendered
41
+ UI boundary. `border.interactive` is the token proven ≥ 3:1 everywhere (`Card.test.ts` measures all
42
+ 8 brands × both modes). This is the identical substitution `Button`'s outline variant makes, for the
43
+ identical reason — see `resolveCardVariant`'s doc comment.
44
+
45
+ `flat` and `elevated` render no border at all, so their near-identical background vs. `bg.canvas`
46
+ (also ~1.0–1.4:1) is not a WCAG 1.4.11 concern: there is no boundary being asserted, and this
47
+ matches the shadcn aesthetic where an un-bordered surface reads as a subtle grouping, not a hard
48
+ edge. `elevated` additionally separates itself with a shadow, not a colour jump.
49
+
50
+ ## Accessibility contract (WCAG)
51
+
52
+ - **No `accessibilityRole`.** `Card` is a plain grouping container with no interaction and no text
53
+ of its own — there is nothing here for assistive tech to announce beyond its children, so the
54
+ *correct* role (rule 8) is none, exactly like an unstyled `View`. Children carry their own
55
+ semantics.
56
+ - **1.4.11** — the only rendered non-text boundary (`outline`'s border) clears ≥ 3:1 against
57
+ `bg.canvas`, measured for all 8 brands × both modes (`Card.test.ts`).
58
+ - **1.4.3** — N/A. Card renders no text; contrast for whatever a consumer places in `children` is
59
+ that content's own responsibility, same as `Button.test.ts` only measures what Button itself
60
+ renders.
61
+ - **2.3.3 (reduced motion)** — N/A. Card has no animation.
62
+ - **Touch target (2.5.x)** — N/A. Card is not interactive; it has no press handler to reach 44dp.
63
+
64
+ ## Patterns copied from `button/` (the reference module)
65
+
66
+ 1. **Structure vs colour split.** Static/theme-numeric structure (padding, radius, border *width*)
67
+ → `createThemedVariants` (registered once per theme). Colour → resolved from role tokens per
68
+ `variant`, applied inline. Elevation (a shadow, not a role colour) is applied directly from
69
+ `theme.elevation.md` — spread as-is, never re-derived.
70
+ 2. **Pure, testable resolver** in `Card.variants.ts` (no React) so the WCAG contract is
71
+ unit-tested by measuring real palettes — never eyeballed.
72
+ 3. **Closed union only** (`variant`), `style: LayoutStyle` last and once, no `{...rest}`, no
73
+ internals receiving consumer style.
74
+
75
+ ## Known gaps
76
+
77
+ None — no icon, no new theme token, no new core helper needed for this component.
78
+
79
+ ## Performance
80
+
81
+ Wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`) — renamed to `CardImpl` internally, exported as `Card = memo(CardImpl)`. Renders only a `View` around consumer-supplied `children` — no library child component, nothing to memoize.
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Public surface of `pixelize-native-library/card`. Value exports and type exports are split for
5
+ * `verbatimModuleSyntax`. The variant resolver (`resolveCardVariant`, `cardStructure`) stays
6
+ * internal — a consumer configures a Card through its props, never by importing its internals.
7
+ */
8
+
9
+ export { Card } from "./Card.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Card"],"sourceRoot":"../../../../src","sources":["modules/card/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,QAAQ,WAAQ","ignoreList":[]}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Checkbox — a Pressable custom box (React Native ships no native `Checkbox`/`Switch` equivalent
5
+ * with tri-state support). Every state — unchecked, checked, indeterminate, disabled — maps to a
6
+ * role-coloured pairing proven ≥ 3:1 / ≥ 4.5:1 across every brand × mode, same discipline as
7
+ * `Button`.
8
+ */
9
+
10
+ import { memo, useState } from "react";
11
+ import { Pressable, StyleSheet, Text, View } from "react-native";
12
+ import { Icon } from "../../core/icon/index.js";
13
+ import { useTheme } from "../../theme/index.js";
14
+ import { CHECKBOX_SIZES, checkboxBoxStructure, checkboxRowStructure, resolveCheckboxAccessibility, resolveCheckboxColors } from "./Checkbox.variants.js";
15
+
16
+ /** A checkbox with a visible label. `accessibilityLabel` defaults to `label`. Pressing the label
17
+ * toggles too — it lives inside the same `Pressable` row as the box. */
18
+
19
+ /**
20
+ * A checkbox with no visible label (e.g. a table row's select-all box). It has no visible text, so
21
+ * `accessibilityLabel` is REQUIRED at the type level — the same trap `Button`'s icon-only shape
22
+ * closes. `label?: never` makes the two shapes mutually exclusive.
23
+ */
24
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
25
+ const ICON_STROKE = 2;
26
+ // The focus ring sits a small gap OUTSIDE the box, because `border.focus` is the role token proven
27
+ // ≥ 3:1 against the canvas (WCAG 2.4.11) — drawn over the filled box its contrast isn't guaranteed.
28
+ const FOCUS_RING_WIDTH = 2;
29
+ const FOCUS_RING_GAP = 2;
30
+ function CheckboxImpl(props) {
31
+ const {
32
+ checked,
33
+ onCheckedChange,
34
+ indeterminate = false,
35
+ disabled = false,
36
+ size = "md",
37
+ style,
38
+ testID,
39
+ label,
40
+ accessibilityLabel
41
+ } = props;
42
+ const theme = useTheme();
43
+ // Keyboard / external-keyboard / assistive-tech focus (no-op on pure touch, correct everywhere else).
44
+ const [focused, setFocused] = useState(false);
45
+ const spec = CHECKBOX_SIZES[size];
46
+ const colors = resolveCheckboxColors(theme.colors);
47
+ const a11y = resolveCheckboxAccessibility({
48
+ label,
49
+ accessibilityLabel,
50
+ checked,
51
+ indeterminate,
52
+ disabled
53
+ });
54
+ const filled = checked || indeterminate;
55
+ const handlePress = () => {
56
+ if (disabled) return;
57
+ onCheckedChange(!checked);
58
+ };
59
+ return /*#__PURE__*/_jsxs(Pressable, {
60
+ testID: testID,
61
+ accessibilityRole: a11y.accessibilityRole,
62
+ accessibilityLabel: a11y.accessibilityLabel,
63
+ accessibilityState: a11y.accessibilityState,
64
+ disabled: a11y.disabled,
65
+ onPress: handlePress,
66
+ onFocus: () => setFocused(true),
67
+ onBlur: () => setFocused(false),
68
+ hitSlop: spec.hitSlop,
69
+ style: [checkboxRowStructure(theme), disabled && styles.dimmed, style],
70
+ children: [/*#__PURE__*/_jsxs(View, {
71
+ style: [checkboxBoxStructure(theme, {
72
+ size
73
+ }), {
74
+ borderColor: filled ? colors.fill : colors.border,
75
+ backgroundColor: filled ? colors.fill : "transparent"
76
+ }],
77
+ children: [focused && /*#__PURE__*/_jsx(View, {
78
+ pointerEvents: "none",
79
+ testID: "checkbox-focus-ring",
80
+ style: {
81
+ position: "absolute",
82
+ top: -(FOCUS_RING_GAP + FOCUS_RING_WIDTH),
83
+ left: -(FOCUS_RING_GAP + FOCUS_RING_WIDTH),
84
+ right: -(FOCUS_RING_GAP + FOCUS_RING_WIDTH),
85
+ bottom: -(FOCUS_RING_GAP + FOCUS_RING_WIDTH),
86
+ borderWidth: FOCUS_RING_WIDTH,
87
+ borderColor: theme.colors.border.focus,
88
+ borderRadius: theme.radii.sm + FOCUS_RING_GAP + FOCUS_RING_WIDTH
89
+ }
90
+ }), filled && /*#__PURE__*/_jsx(Icon, {
91
+ name: indeterminate ? "minus" : "check",
92
+ size: spec.iconSize,
93
+ color: colors.icon,
94
+ strokeWidth: ICON_STROKE
95
+ })]
96
+ }), label !== undefined && /*#__PURE__*/_jsx(Text, {
97
+ style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
98
+ fontSize: spec.fontSize,
99
+ color: colors.label
100
+ }],
101
+ children: label
102
+ })]
103
+ });
104
+ }
105
+ const styles = StyleSheet.create({
106
+ // A disabled control is exempt from the contrast minimum (WCAG 1.4.3), so a uniform dim is correct.
107
+ dimmed: {
108
+ opacity: 0.5
109
+ }
110
+ });
111
+
112
+ // A consumer's screen re-renders far more often than Checkbox's own props change — memo is near-free
113
+ // insurance for a design-system primitive (see CLAUDE.md "Performance" section).
114
+ export const Checkbox = /*#__PURE__*/memo(CheckboxImpl);
115
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","useState","Pressable","StyleSheet","Text","View","Icon","useTheme","CHECKBOX_SIZES","checkboxBoxStructure","checkboxRowStructure","resolveCheckboxAccessibility","resolveCheckboxColors","jsx","_jsx","jsxs","_jsxs","ICON_STROKE","FOCUS_RING_WIDTH","FOCUS_RING_GAP","CheckboxImpl","props","checked","onCheckedChange","indeterminate","disabled","size","style","testID","label","accessibilityLabel","theme","focused","setFocused","spec","colors","a11y","filled","handlePress","accessibilityRole","accessibilityState","onPress","onFocus","onBlur","hitSlop","styles","dimmed","children","borderColor","fill","border","backgroundColor","pointerEvents","position","top","left","right","bottom","borderWidth","focus","borderRadius","radii","sm","name","iconSize","color","icon","strokeWidth","undefined","fontStyleForWeight","fontWeights","regular","fontSize","create","opacity","Checkbox"],"sourceRoot":"../../../../src","sources":["modules/checkbox/Checkbox.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Checkbox's style + behaviour resolution — the pure functions the component (and its tests) depend
5
+ * on, plus the themed structural variant resolvers.
6
+ *
7
+ * The split every sibling module copies (see `Button.variants.ts`):
8
+ * - STRUCTURE (box size, radius, border WIDTH, row gap) lives in the two `createThemedVariants`
9
+ * resolvers below — static per (brand, mode), registered once via `StyleSheet.create`.
10
+ * - COLOUR is resolved from the theme's ROLE colours (`resolveCheckboxColors`), never a raw ramp,
11
+ * never a hardcoded hex. Unlike Button's `tone`, a checkbox has no per-instance colour choice —
12
+ * every state (unchecked / checked / indeterminate) maps to exactly one role pairing, so the
13
+ * resolver takes no selector argument.
14
+ * - ACCESSIBILITY prop derivation is `resolveCheckboxAccessibility`, kept pure so the
15
+ * "indeterminate reports mixed / disabled blocks the toggle" contract is unit-testable without
16
+ * rendering React Native.
17
+ *
18
+ * Free of `lucide` and of any React tree, so the WCAG + behaviour tests import it directly (mocking
19
+ * only `react-native`'s `StyleSheet`, as `core/style` and `Button.variants.ts` do).
20
+ */
21
+
22
+ import { createThemedVariants } from "../../core/style/index.js";
23
+ /**
24
+ * Same touch-target floor as `Button` (44dp, WCAG 2.5.5 AAA). Duplicated rather than imported —
25
+ * modules never import across `src/modules/*` — so this is the component's own copy.
26
+ */
27
+ export const MIN_TOUCH_TARGET = 44;
28
+ const slopFor = dimension => Math.max(0, Math.ceil((MIN_TOUCH_TARGET - dimension) / 2));
29
+ /**
30
+ * Checkbox-specific dimensions. Kept a plain constant — no theme dependency — so the hit-target
31
+ * test can assert `boxSize + 2·hitSlop ≥ 44` without a provider, same as `BUTTON_SIZES`.
32
+ */
33
+ export const CHECKBOX_SIZES = {
34
+ sm: {
35
+ boxSize: 16,
36
+ iconSize: 12,
37
+ fontSize: 14,
38
+ hitSlop: slopFor(16)
39
+ },
40
+ md: {
41
+ boxSize: 20,
42
+ iconSize: 14,
43
+ fontSize: 16,
44
+ hitSlop: slopFor(20)
45
+ }
46
+ };
47
+ /**
48
+ * Maps the checkbox's states onto role colours. There is no `tone`/`color` prop to widen — every
49
+ * colour a checkbox can show is one of these role lookups, guaranteed legible in both modes and
50
+ * never an off-palette value an app invented (same reasoning as `resolveButtonTone`, minus the
51
+ * selector: a checkbox has exactly one accent identity, not a closed union of them).
52
+ */
53
+ export function resolveCheckboxColors(colors) {
54
+ return {
55
+ border: colors.border.interactive,
56
+ fill: colors.accent.solid,
57
+ icon: colors.accent.onSolid,
58
+ label: colors.fg.default
59
+ };
60
+ }
61
+ /**
62
+ * Derives the accessibility surface once, purely, so the contract is testable without a renderer:
63
+ * - `indeterminate` reports `"mixed"` over the literal `checked` value — regardless of `checked` —
64
+ * because a screen reader must hear the tri-state, not a stale boolean (matches the visual: the
65
+ * "minus" glyph also wins over "check" whenever `indeterminate` is true).
66
+ * - `disabled` blocks the toggle (the `Pressable disabled` prop), so `accessibilityState.disabled`
67
+ * always matches what actually renders.
68
+ */
69
+ export function resolveCheckboxAccessibility(input) {
70
+ const isDisabled = input.disabled === true;
71
+ return {
72
+ accessibilityRole: "checkbox",
73
+ accessibilityLabel: input.accessibilityLabel ?? input.label,
74
+ accessibilityState: {
75
+ checked: input.indeterminate === true ? "mixed" : input.checked,
76
+ disabled: isDisabled
77
+ },
78
+ disabled: isDisabled
79
+ };
80
+ }
81
+
82
+ /**
83
+ * Structural row styles — layout only, no colour. Applied to the outermost `Pressable`, before the
84
+ * consumer's own `style` (last, once). Fixed regardless of `size`: the box (below) is what scales.
85
+ */
86
+ export const checkboxRowStructure = createThemedVariants(theme => ({
87
+ base: {
88
+ flexDirection: "row",
89
+ alignItems: "center",
90
+ columnGap: theme.space[2]
91
+ }
92
+ }));
93
+
94
+ /**
95
+ * Structural box styles — size, radius, border WIDTH. No colours: border/fill colour is
96
+ * checked-state-driven and applied inline over this, same split as `buttonStructure`. Compiles once
97
+ * per theme identity via the `WeakMap`-cached themed resolver, never rebuilds per render.
98
+ */
99
+ export const checkboxBoxStructure = createThemedVariants(theme => ({
100
+ base: {
101
+ alignItems: "center",
102
+ justifyContent: "center",
103
+ borderRadius: theme.radii.sm,
104
+ borderWidth: theme.borderWidths.thick
105
+ },
106
+ variants: {
107
+ size: {
108
+ sm: {
109
+ width: CHECKBOX_SIZES.sm.boxSize,
110
+ height: CHECKBOX_SIZES.sm.boxSize
111
+ },
112
+ md: {
113
+ width: CHECKBOX_SIZES.md.boxSize,
114
+ height: CHECKBOX_SIZES.md.boxSize
115
+ }
116
+ }
117
+ },
118
+ defaultVariants: {
119
+ size: "md"
120
+ }
121
+ }));
122
+ //# sourceMappingURL=Checkbox.variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createThemedVariants","MIN_TOUCH_TARGET","slopFor","dimension","Math","max","ceil","CHECKBOX_SIZES","sm","boxSize","iconSize","fontSize","hitSlop","md","resolveCheckboxColors","colors","border","interactive","fill","accent","solid","icon","onSolid","label","fg","default","resolveCheckboxAccessibility","input","isDisabled","disabled","accessibilityRole","accessibilityLabel","accessibilityState","checked","indeterminate","checkboxRowStructure","theme","base","flexDirection","alignItems","columnGap","space","checkboxBoxStructure","justifyContent","borderRadius","radii","borderWidth","borderWidths","thick","variants","size","width","height","defaultVariants"],"sourceRoot":"../../../../src","sources":["modules/checkbox/Checkbox.variants.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,76 @@
1
+ # checkbox/ — a Pressable tri-state checkbox (checked / unchecked / indeterminate)
2
+
3
+ React Native ships no native `Checkbox`. `Checkbox` is a custom `Pressable` box that follows the same
4
+ structure/colour/accessibility split as the reference module, `Button` — see `button/MODULE.md` for
5
+ the pattern rationale.
6
+
7
+ ## Files
8
+
9
+ | File | Role |
10
+ |------|------|
11
+ | `Checkbox.tsx` | The component. Composition, a11y wiring, focus ring, label press-through, disabled. |
12
+ | `Checkbox.variants.ts` | Pure resolvers (`CHECKBOX_SIZES`, `resolveCheckboxColors`, `resolveCheckboxAccessibility`) + the themed structural resolvers `checkboxRowStructure` / `checkboxBoxStructure`. No React, no lucide. |
13
+ | `index.ts` | Public surface: `Checkbox`, `CheckboxProps`, `CheckboxSize`. |
14
+ | `__tests__/Checkbox.test.ts` | Pure: WCAG contrast (all brands × modes) + touch target + a11y contract. |
15
+ | `__tests__/Checkbox.render.test.tsx` | Render: states, press-toggle (box and label), disabled, indeterminate, focus ring. |
16
+
17
+ ## Props
18
+
19
+ | Prop | Type | Default | Notes |
20
+ |------|------|---------|-------|
21
+ | `checked` | `boolean` | — | Controlled; the component holds no state of its own. |
22
+ | `onCheckedChange` | `(checked: boolean) => void` | — | Called with `!checked` on press. Not called while `disabled`. |
23
+ | `indeterminate` | `boolean` | `false` | Renders "minus" instead of "check" and reports `accessibilityState.checked` as `"mixed"` — **regardless of `checked`**. The usual pairing is `checked={false}`, but indeterminate always wins the glyph/state either way. |
24
+ | `label` | `string` | — | Rendered beside the box, inside the same `Pressable` row — pressing the label toggles too. Required unless unlabelled (see below). |
25
+ | `disabled` | `boolean` | `false` | Dimmed; blocks the toggle. |
26
+ | `size` | `sm \| md` | `md` | 16 / 20 dp box; both reach 44dp via `hitSlop`. |
27
+ | `accessibilityLabel` | `string` | `label` | **Required** when there is no visible `label` (type-enforced). |
28
+ | `style` | `LayoutStyle` | — | Layout-only, outermost, applied exactly once, last. |
29
+ | `testID` | `string` | — | |
30
+
31
+ `CheckboxProps` is a discriminated union: a labelled checkbox OR an unlabelled one (`label?: never` +
32
+ required `accessibilityLabel`) — the same shape `Button` uses for icon-only buttons, so an
33
+ unlabelled checkbox (e.g. a table row's select-all box) can never ship without an accessible name.
34
+
35
+ There is no `variant`/`tone` prop: unlike Button, a checkbox has exactly one accent identity, not a
36
+ closed union of them — `resolveCheckboxColors` takes no selector argument.
37
+
38
+ ## Accessibility contract (WCAG)
39
+
40
+ - `accessibilityRole="checkbox"`, `accessibilityState.checked` is `true | false | "mixed"`,
41
+ `accessibilityState.disabled` mirrors the `disabled` prop.
42
+ - **2.5.5 / 2.5.8 target size** — both sizes reach ≥ 44 dp via `hitSlop` on the `Pressable` row (the
43
+ box stays 16/20dp; the touch area grows around it).
44
+ - **1.4.11** — the unchecked box boundary is `border.interactive` (≥ 3:1 on the canvas, every
45
+ brand × mode); the checked/indeterminate fill (`accent.solid`) is its own boundary against the
46
+ canvas, also measured ≥ 3:1.
47
+ - **Non-text contrast** — the check/minus glyph (`accent.onSolid`) on the fill clears ≥ 3:1 (in
48
+ practice it clears the stronger 4.5:1 text minimum too, since it's the same derived on-fill colour
49
+ `Button` uses for labels).
50
+ - **1.4.3** — the label reads `fg.default` on the canvas, ≥ 4.5:1.
51
+ - **2.4.7 / 2.4.11** — a visible focus ring (`border.focus`) appears around the box on keyboard /
52
+ external-keyboard / AT focus (`onFocus`/`onBlur`), offset outside the box for the same reason
53
+ Button's ring sits outside its fill: `border.focus`'s ≥ 3:1 proof is against the canvas, not a
54
+ solid fill.
55
+ - Pressing the box **or** the label toggles — both live inside one `Pressable` row, not two
56
+ separate touch targets.
57
+
58
+ ## Patterns copied from `Button` (the reference module)
59
+
60
+ 1. **Structure vs colour split.** Static/theme-numeric structure (box size, radius, border *width*,
61
+ row gap) → `createThemedVariants`, registered once per theme. Colour → resolved from role tokens,
62
+ applied inline. Focus → one `border.focus` ring offset onto the canvas.
63
+ 2. **Pure, testable resolvers** in `Checkbox.variants.ts` (no React/lucide) so the WCAG + behaviour
64
+ contract is unit-tested by measuring real palettes — never eyeballed.
65
+ 3. **Closed shape, no `{...rest}`**, `style: LayoutStyle` last and once, icon selection is a NAME
66
+ (`"check" | "minus"`) from the shared `core/icon` registry, never a new glyph.
67
+ 4. **Type-enforced a11y** — make the unlabelled-with-no-accessible-name state unrepresentable.
68
+
69
+ ## Known gaps
70
+
71
+ - No animation (press scrim, checked transition) — a checkbox's state change is instant, so no
72
+ `useReducedMotion` handling is needed (WCAG 2.3.3 doesn't apply: there's nothing that moves).
73
+
74
+ ## Performance
75
+
76
+ Wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`) — renamed to `CheckboxImpl` internally, exported as `Checkbox = memo(CheckboxImpl)`. Its one child, `Icon`, only ever receives primitives — nothing to memoize.
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Public surface of `pixelize-native-library/checkbox`. Value exports and type exports are split for
5
+ * `verbatimModuleSyntax`. The visual/behaviour resolvers (`resolveCheckboxColors`, `CHECKBOX_SIZES`,
6
+ * …) stay internal — a consumer configures a Checkbox through its props, never by importing its
7
+ * internals.
8
+ */
9
+
10
+ export { Checkbox } from "./Checkbox.js";
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Checkbox"],"sourceRoot":"../../../../src","sources":["modules/checkbox/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,QAAQ,eAAY","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Divider — a single hairline separator between sections of content. Purely decorative: it carries
5
+ * no information of its own, so `accessibilityRole="none"` keeps it out of the accessibility tree
6
+ * (the same "no role" conclusion `Card` documents for its own plain-`View` container — see
7
+ * `Card.tsx` — made explicit here since, unlike `Card`, a divider has no children to carry meaning).
8
+ */
9
+
10
+ import { memo } from "react";
11
+ import { View } from "react-native";
12
+ import { useTheme } from "../../theme/index.js";
13
+ import { dividerStructure, resolveDividerColor } from "./Divider.variants.js";
14
+ import { jsx as _jsx } from "react/jsx-runtime";
15
+ function DividerImpl({
16
+ orientation = "horizontal",
17
+ style,
18
+ testID
19
+ }) {
20
+ const theme = useTheme();
21
+ return /*#__PURE__*/_jsx(View, {
22
+ testID: testID,
23
+ accessibilityRole: "none",
24
+ style: [dividerStructure(theme, {
25
+ orientation
26
+ }), {
27
+ backgroundColor: resolveDividerColor(theme.colors)
28
+ }, style]
29
+ });
30
+ }
31
+
32
+ // A consumer's screen re-renders far more often than Divider's own props change — memo is near-free
33
+ // insurance for a design-system primitive (see CLAUDE.md "Performance" section).
34
+ export const Divider = /*#__PURE__*/memo(DividerImpl);
35
+ //# sourceMappingURL=Divider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","View","useTheme","dividerStructure","resolveDividerColor","jsx","_jsx","DividerImpl","orientation","style","testID","theme","accessibilityRole","backgroundColor","colors","Divider"],"sourceRoot":"../../../../src","sources":["modules/divider/Divider.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,IAAI,QAAQ,cAAc;AAGnC,SAASC,QAAQ,QAAQ,sBAAa;AAEtC,SAASC,gBAAgB,EAAEC,mBAAmB,QAAQ,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAU3E,SAASC,WAAWA,CAAC;EAAEC,WAAW,GAAG,YAAY;EAAEC,KAAK;EAAEC;AAAqB,CAAC,EAAE;EAChF,MAAMC,KAAK,GAAGT,QAAQ,CAAC,CAAC;EAExB,oBACEI,IAAA,CAACL,IAAI;IACHS,MAAM,EAAEA,MAAO;IACfE,iBAAiB,EAAC,MAAM;IACxBH,KAAK,EAAE,CACLN,gBAAgB,CAACQ,KAAK,EAAE;MAAEH;IAAY,CAAC,CAAC,EACxC;MAAEK,eAAe,EAAET,mBAAmB,CAACO,KAAK,CAACG,MAAM;IAAE,CAAC,EACtDL,KAAK;EACL,CACH,CAAC;AAEN;;AAEA;AACA;AACA,OAAO,MAAMM,OAAO,gBAAGf,IAAI,CAACO,WAAW,CAAC","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Divider's style resolution — same split as `Card.variants` / `Button.variants`:
5
+ * - STRUCTURE (the hairline's thickness on the cross axis) lives in the themed `dividerStructure`
6
+ * resolver, static per (brand, mode), registered once via `StyleSheet.create`.
7
+ * - COLOUR is resolved from the theme's ROLE colours by `resolveDividerColor`, never a raw ramp
8
+ * and never a hardcoded hex.
9
+ *
10
+ * Free of React, so the colour-resolution test imports this directly (mocking only `react-native`'s
11
+ * `StyleSheet`, as `core/style` and every sibling module's tests do).
12
+ */
13
+
14
+ import { createThemedVariants } from "../../core/style/index.js";
15
+ /**
16
+ * Maps the divider onto the theme's role colours. `colors.border.default` — the decorative rung,
17
+ * deliberately NOT `colors.border.interactive` — is the correct choice here: a divider draws no
18
+ * interactive boundary and conveys no information of its own (removing it changes spacing, not
19
+ * meaning), and WCAG 1.4.11 binds only a "User Interface Component" or a "Graphical Object …
20
+ * required to understand the content" — neither of which a decorative separator is. It measures
21
+ * ~1.0–1.4:1 against `bg.canvas` on every brand × mode (see `Card.variants.ts`'s identical note for
22
+ * its own un-bordered variants) — that is the intended subtle shadcn-style rule, not an oversight,
23
+ * which is why this module's tests assert the mapping rather than gating it at 3:1.
24
+ */
25
+ export function resolveDividerColor(colors) {
26
+ return colors.border.default;
27
+ }
28
+
29
+ /**
30
+ * Structural styles only — the hairline's thickness on the theme's `borderWidths` scale, spanning
31
+ * the full cross axis. No colour (resolved separately, applied inline over this), so this compiles
32
+ * once per theme identity via the `WeakMap`-cached themed resolver and never rebuilds per render.
33
+ */
34
+ export const dividerStructure = createThemedVariants(theme => ({
35
+ variants: {
36
+ orientation: {
37
+ horizontal: {
38
+ height: theme.borderWidths.thin,
39
+ width: "100%"
40
+ },
41
+ vertical: {
42
+ width: theme.borderWidths.thin,
43
+ alignSelf: "stretch"
44
+ }
45
+ }
46
+ },
47
+ defaultVariants: {
48
+ orientation: "horizontal"
49
+ }
50
+ }));
51
+ //# sourceMappingURL=Divider.variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createThemedVariants","resolveDividerColor","colors","border","default","dividerStructure","theme","variants","orientation","horizontal","height","borderWidths","thin","width","vertical","alignSelf","defaultVariants"],"sourceRoot":"../../../../src","sources":["modules/divider/Divider.variants.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,SAASA,oBAAoB,QAAQ,2BAAkB;AAIvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAACC,MAAkB,EAAU;EAC9D,OAAOA,MAAM,CAACC,MAAM,CAACC,OAAO;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAGL,oBAAoB,CAAEM,KAAY,KAAM;EACtEC,QAAQ,EAAE;IACRC,WAAW,EAAE;MACXC,UAAU,EAAE;QAAEC,MAAM,EAAEJ,KAAK,CAACK,YAAY,CAACC,IAAI;QAAEC,KAAK,EAAE;MAAO,CAAC;MAC9DC,QAAQ,EAAE;QAAED,KAAK,EAAEP,KAAK,CAACK,YAAY,CAACC,IAAI;QAAEG,SAAS,EAAE;MAAU;IACnE;EACF,CAAC;EACDC,eAAe,EAAE;IAAER,WAAW,EAAE;EAAa;AAC/C,CAAC,CAAC,CAAC","ignoreList":[]}