@multiplatform.one/components 6.4.3 → 6.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/dist/cjs/Avatar/index.cjs +4 -0
  2. package/dist/cjs/Avatar/index.native.js +4 -0
  3. package/dist/cjs/Avatar/index.native.js.map +1 -1
  4. package/dist/cjs/Badge/index.cjs +3 -0
  5. package/dist/cjs/Badge/index.native.js +3 -0
  6. package/dist/cjs/Badge/index.native.js.map +1 -1
  7. package/dist/cjs/Carousel/index.cjs +28 -15
  8. package/dist/cjs/Carousel/index.native.js +34 -17
  9. package/dist/cjs/Carousel/index.native.js.map +1 -1
  10. package/dist/cjs/DotIndicator/index.cjs +92 -35
  11. package/dist/cjs/DotIndicator/index.native.js +93 -35
  12. package/dist/cjs/DotIndicator/index.native.js.map +1 -1
  13. package/dist/cjs/Pagination.cjs +112 -167
  14. package/dist/cjs/Pagination.native.js +125 -180
  15. package/dist/cjs/Pagination.native.js.map +1 -1
  16. package/dist/cjs/ProgressSteps/index.cjs +2 -1
  17. package/dist/cjs/ProgressSteps/index.native.js +2 -1
  18. package/dist/cjs/ProgressSteps/index.native.js.map +1 -1
  19. package/dist/cjs/charts/PieChart.cjs +1 -1
  20. package/dist/cjs/charts/PieChart.native.js +7 -2
  21. package/dist/cjs/charts/PieChart.native.js.map +1 -1
  22. package/dist/cjs/feedback/ConfirmDialog.cjs +1 -3
  23. package/dist/cjs/feedback/ConfirmDialog.native.js +1 -3
  24. package/dist/cjs/feedback/ConfirmDialog.native.js.map +1 -1
  25. package/dist/cjs/index.cjs +1 -0
  26. package/dist/cjs/index.native.js +1 -0
  27. package/dist/cjs/index.native.js.map +1 -1
  28. package/dist/cjs/layouts/ViewSwitcher.cjs +4 -5
  29. package/dist/cjs/layouts/ViewSwitcher.native.js +13 -7
  30. package/dist/cjs/layouts/ViewSwitcher.native.js.map +1 -1
  31. package/dist/cjs/layouts/attachments.cjs +4 -8
  32. package/dist/cjs/layouts/attachments.native.js +5 -8
  33. package/dist/cjs/layouts/attachments.native.js.map +1 -1
  34. package/dist/cjs/layouts/page.cjs +1 -0
  35. package/dist/cjs/layouts/page.native.js +4 -1
  36. package/dist/cjs/layouts/page.native.js.map +1 -1
  37. package/dist/cjs/layouts/tags.cjs +1 -0
  38. package/dist/cjs/layouts/tags.native.js +2 -0
  39. package/dist/cjs/layouts/tags.native.js.map +1 -1
  40. package/dist/cjs/layouts/timeline.cjs +0 -6
  41. package/dist/cjs/layouts/timeline.native.js +0 -6
  42. package/dist/cjs/layouts/timeline.native.js.map +1 -1
  43. package/dist/cjs/surfaces.cjs +21 -0
  44. package/dist/cjs/surfaces.native.js +22 -0
  45. package/dist/cjs/surfaces.native.js.map +1 -1
  46. package/dist/cjs/views/Calendar.cjs +2 -0
  47. package/dist/cjs/views/Calendar.native.js +8 -2
  48. package/dist/cjs/views/Calendar.native.js.map +1 -1
  49. package/dist/cjs/views/Kanban.cjs +22 -13
  50. package/dist/cjs/views/Kanban.native.js +1 -0
  51. package/dist/cjs/views/Kanban.native.js.map +1 -1
  52. package/dist/cjs/views/ReportBuilder.cjs +12 -2
  53. package/dist/cjs/views/ReportBuilder.native.js +12 -2
  54. package/dist/cjs/views/ReportBuilder.native.js.map +1 -1
  55. package/dist/esm/Avatar/index.mjs +5 -1
  56. package/dist/esm/Avatar/index.mjs.map +1 -1
  57. package/dist/esm/Avatar/index.native.js +5 -1
  58. package/dist/esm/Avatar/index.native.js.map +1 -1
  59. package/dist/esm/Badge/index.mjs +4 -1
  60. package/dist/esm/Badge/index.mjs.map +1 -1
  61. package/dist/esm/Badge/index.native.js +4 -1
  62. package/dist/esm/Badge/index.native.js.map +1 -1
  63. package/dist/esm/Carousel/index.mjs +28 -15
  64. package/dist/esm/Carousel/index.mjs.map +1 -1
  65. package/dist/esm/Carousel/index.native.js +34 -17
  66. package/dist/esm/Carousel/index.native.js.map +1 -1
  67. package/dist/esm/DotIndicator/index.mjs +93 -36
  68. package/dist/esm/DotIndicator/index.mjs.map +1 -1
  69. package/dist/esm/DotIndicator/index.native.js +94 -36
  70. package/dist/esm/DotIndicator/index.native.js.map +1 -1
  71. package/dist/esm/Pagination.mjs +113 -168
  72. package/dist/esm/Pagination.mjs.map +1 -1
  73. package/dist/esm/Pagination.native.js +126 -181
  74. package/dist/esm/Pagination.native.js.map +1 -1
  75. package/dist/esm/ProgressSteps/index.mjs +2 -1
  76. package/dist/esm/ProgressSteps/index.mjs.map +1 -1
  77. package/dist/esm/ProgressSteps/index.native.js +2 -1
  78. package/dist/esm/ProgressSteps/index.native.js.map +1 -1
  79. package/dist/esm/charts/PieChart.mjs +1 -1
  80. package/dist/esm/charts/PieChart.mjs.map +1 -1
  81. package/dist/esm/charts/PieChart.native.js +7 -2
  82. package/dist/esm/charts/PieChart.native.js.map +1 -1
  83. package/dist/esm/feedback/ConfirmDialog.mjs +2 -4
  84. package/dist/esm/feedback/ConfirmDialog.mjs.map +1 -1
  85. package/dist/esm/feedback/ConfirmDialog.native.js +2 -4
  86. package/dist/esm/feedback/ConfirmDialog.native.js.map +1 -1
  87. package/dist/esm/index.mjs +2 -2
  88. package/dist/esm/index.mjs.map +1 -1
  89. package/dist/esm/index.native.js +2 -2
  90. package/dist/esm/index.native.js.map +1 -1
  91. package/dist/esm/layouts/ViewSwitcher.mjs +4 -5
  92. package/dist/esm/layouts/ViewSwitcher.mjs.map +1 -1
  93. package/dist/esm/layouts/ViewSwitcher.native.js +13 -7
  94. package/dist/esm/layouts/ViewSwitcher.native.js.map +1 -1
  95. package/dist/esm/layouts/attachments.mjs +4 -8
  96. package/dist/esm/layouts/attachments.mjs.map +1 -1
  97. package/dist/esm/layouts/attachments.native.js +5 -8
  98. package/dist/esm/layouts/attachments.native.js.map +1 -1
  99. package/dist/esm/layouts/page.mjs +2 -1
  100. package/dist/esm/layouts/page.mjs.map +1 -1
  101. package/dist/esm/layouts/page.native.js +5 -2
  102. package/dist/esm/layouts/page.native.js.map +1 -1
  103. package/dist/esm/layouts/tags.mjs +1 -0
  104. package/dist/esm/layouts/tags.mjs.map +1 -1
  105. package/dist/esm/layouts/tags.native.js +2 -0
  106. package/dist/esm/layouts/tags.native.js.map +1 -1
  107. package/dist/esm/layouts/timeline.mjs +0 -6
  108. package/dist/esm/layouts/timeline.mjs.map +1 -1
  109. package/dist/esm/layouts/timeline.native.js +0 -6
  110. package/dist/esm/layouts/timeline.native.js.map +1 -1
  111. package/dist/esm/surfaces.mjs +21 -1
  112. package/dist/esm/surfaces.mjs.map +1 -1
  113. package/dist/esm/surfaces.native.js +22 -1
  114. package/dist/esm/surfaces.native.js.map +1 -1
  115. package/dist/esm/views/Calendar.mjs +3 -1
  116. package/dist/esm/views/Calendar.mjs.map +1 -1
  117. package/dist/esm/views/Calendar.native.js +9 -3
  118. package/dist/esm/views/Calendar.native.js.map +1 -1
  119. package/dist/esm/views/Kanban.mjs +23 -14
  120. package/dist/esm/views/Kanban.mjs.map +1 -1
  121. package/dist/esm/views/Kanban.native.js +2 -1
  122. package/dist/esm/views/Kanban.native.js.map +1 -1
  123. package/dist/esm/views/ReportBuilder.mjs +13 -3
  124. package/dist/esm/views/ReportBuilder.mjs.map +1 -1
  125. package/dist/esm/views/ReportBuilder.native.js +13 -3
  126. package/dist/esm/views/ReportBuilder.native.js.map +1 -1
  127. package/dist/jsx/Avatar/index.mjs +5 -1
  128. package/dist/jsx/Avatar/index.mjs.map +1 -1
  129. package/dist/jsx/Avatar/index.native.js +4 -0
  130. package/dist/jsx/Avatar/index.native.js.map +1 -1
  131. package/dist/jsx/Badge/index.mjs +4 -1
  132. package/dist/jsx/Badge/index.mjs.map +1 -1
  133. package/dist/jsx/Badge/index.native.js +3 -0
  134. package/dist/jsx/Badge/index.native.js.map +1 -1
  135. package/dist/jsx/Carousel/index.mjs +28 -15
  136. package/dist/jsx/Carousel/index.mjs.map +1 -1
  137. package/dist/jsx/Carousel/index.native.js +34 -17
  138. package/dist/jsx/Carousel/index.native.js.map +1 -1
  139. package/dist/jsx/DotIndicator/index.mjs +93 -36
  140. package/dist/jsx/DotIndicator/index.mjs.map +1 -1
  141. package/dist/jsx/DotIndicator/index.native.js +93 -35
  142. package/dist/jsx/DotIndicator/index.native.js.map +1 -1
  143. package/dist/jsx/Pagination.mjs +113 -168
  144. package/dist/jsx/Pagination.mjs.map +1 -1
  145. package/dist/jsx/Pagination.native.js +125 -180
  146. package/dist/jsx/Pagination.native.js.map +1 -1
  147. package/dist/jsx/ProgressSteps/index.mjs +2 -1
  148. package/dist/jsx/ProgressSteps/index.mjs.map +1 -1
  149. package/dist/jsx/ProgressSteps/index.native.js +2 -1
  150. package/dist/jsx/ProgressSteps/index.native.js.map +1 -1
  151. package/dist/jsx/charts/PieChart.mjs +1 -1
  152. package/dist/jsx/charts/PieChart.mjs.map +1 -1
  153. package/dist/jsx/charts/PieChart.native.js +7 -2
  154. package/dist/jsx/charts/PieChart.native.js.map +1 -1
  155. package/dist/jsx/feedback/ConfirmDialog.mjs +2 -4
  156. package/dist/jsx/feedback/ConfirmDialog.mjs.map +1 -1
  157. package/dist/jsx/feedback/ConfirmDialog.native.js +1 -3
  158. package/dist/jsx/feedback/ConfirmDialog.native.js.map +1 -1
  159. package/dist/jsx/index.js +2 -2
  160. package/dist/jsx/index.js.map +1 -1
  161. package/dist/jsx/index.mjs +2 -2
  162. package/dist/jsx/index.mjs.map +1 -1
  163. package/dist/jsx/index.native.js +1 -0
  164. package/dist/jsx/index.native.js.map +1 -1
  165. package/dist/jsx/layouts/ViewSwitcher.mjs +4 -5
  166. package/dist/jsx/layouts/ViewSwitcher.mjs.map +1 -1
  167. package/dist/jsx/layouts/ViewSwitcher.native.js +13 -7
  168. package/dist/jsx/layouts/ViewSwitcher.native.js.map +1 -1
  169. package/dist/jsx/layouts/attachments.mjs +4 -8
  170. package/dist/jsx/layouts/attachments.mjs.map +1 -1
  171. package/dist/jsx/layouts/attachments.native.js +5 -8
  172. package/dist/jsx/layouts/attachments.native.js.map +1 -1
  173. package/dist/jsx/layouts/page.mjs +2 -1
  174. package/dist/jsx/layouts/page.mjs.map +1 -1
  175. package/dist/jsx/layouts/page.native.js +4 -1
  176. package/dist/jsx/layouts/page.native.js.map +1 -1
  177. package/dist/jsx/layouts/tags.mjs +1 -0
  178. package/dist/jsx/layouts/tags.mjs.map +1 -1
  179. package/dist/jsx/layouts/tags.native.js +2 -0
  180. package/dist/jsx/layouts/tags.native.js.map +1 -1
  181. package/dist/jsx/layouts/timeline.mjs +0 -6
  182. package/dist/jsx/layouts/timeline.mjs.map +1 -1
  183. package/dist/jsx/layouts/timeline.native.js +0 -6
  184. package/dist/jsx/layouts/timeline.native.js.map +1 -1
  185. package/dist/jsx/surfaces.mjs +21 -1
  186. package/dist/jsx/surfaces.mjs.map +1 -1
  187. package/dist/jsx/surfaces.native.js +22 -0
  188. package/dist/jsx/surfaces.native.js.map +1 -1
  189. package/dist/jsx/views/Calendar.mjs +3 -1
  190. package/dist/jsx/views/Calendar.mjs.map +1 -1
  191. package/dist/jsx/views/Calendar.native.js +8 -2
  192. package/dist/jsx/views/Calendar.native.js.map +1 -1
  193. package/dist/jsx/views/Kanban.mjs +23 -14
  194. package/dist/jsx/views/Kanban.mjs.map +1 -1
  195. package/dist/jsx/views/Kanban.native.js +1 -0
  196. package/dist/jsx/views/Kanban.native.js.map +1 -1
  197. package/dist/jsx/views/ReportBuilder.mjs +13 -3
  198. package/dist/jsx/views/ReportBuilder.mjs.map +1 -1
  199. package/dist/jsx/views/ReportBuilder.native.js +12 -2
  200. package/dist/jsx/views/ReportBuilder.native.js.map +1 -1
  201. package/package.json +9 -9
  202. package/src/Accordion/Accordion.stories.tsx +7 -2
  203. package/src/Avatar/Avatar.spec.tsx +31 -0
  204. package/src/Avatar/index.tsx +19 -1
  205. package/src/Badge/Badge.stories.tsx +3 -1
  206. package/src/Badge/index.tsx +4 -1
  207. package/src/Carousel/Carousel.spec.tsx +271 -0
  208. package/src/Carousel/Carousel.stories.tsx +35 -0
  209. package/src/Carousel/index.tsx +45 -20
  210. package/src/DialogContent.stories.tsx +2 -2
  211. package/src/DotIndicator/dotIndicator.spec.tsx +43 -1
  212. package/src/DotIndicator/index.tsx +169 -35
  213. package/src/Pagination.api.spec.tsx +345 -0
  214. package/src/Pagination.tsx +138 -176
  215. package/src/Panel.stories.tsx +4 -4
  216. package/src/ProgressSteps/ProgressSteps.spec.tsx +40 -1
  217. package/src/ProgressSteps/ProgressSteps.stories.tsx +3 -1
  218. package/src/ProgressSteps/index.tsx +6 -1
  219. package/src/charts/PieChart.tsx +4 -1
  220. package/src/feedback/ConfirmDialog.tsx +2 -2
  221. package/src/index.ts +1 -0
  222. package/src/layouts/PageHeader.stories.tsx +21 -3
  223. package/src/layouts/ScreenToolbar.stories.tsx +12 -5
  224. package/src/layouts/ViewSwitcher.tsx +25 -6
  225. package/src/layouts/attachments.tsx +4 -1
  226. package/src/layouts/layouts.spec.tsx +77 -1
  227. package/src/layouts/page.tsx +5 -1
  228. package/src/layouts/pageTitleScale.spec.tsx +70 -0
  229. package/src/layouts/tags.tsx +2 -0
  230. package/src/layouts/timeline-radius.spec.tsx +21 -0
  231. package/src/layouts/timeline.tsx +7 -18
  232. package/src/shared/t.spec.ts +47 -0
  233. package/src/surfaces.tsx +33 -0
  234. package/src/views/Calendar.stories.tsx +4 -2
  235. package/src/views/Calendar.tsx +6 -1
  236. package/src/views/Gantt.stories.tsx +2 -2
  237. package/src/views/Kanban.native.tsx +8 -2
  238. package/src/views/Kanban.stories.tsx +3 -1
  239. package/src/views/Kanban.tsx +42 -13
  240. package/src/views/ReportBuilder.tsx +15 -2
  241. package/types/Avatar/index.d.ts.map +1 -1
  242. package/types/Badge/index.d.ts.map +1 -1
  243. package/types/Carousel/index.d.ts.map +1 -1
  244. package/types/DotIndicator/index.d.ts +44 -3
  245. package/types/DotIndicator/index.d.ts.map +1 -1
  246. package/types/Pagination.d.ts +6 -1
  247. package/types/Pagination.d.ts.map +1 -1
  248. package/types/ProgressSteps/index.d.ts.map +1 -1
  249. package/types/charts/PieChart.d.ts.map +1 -1
  250. package/types/index.d.ts +1 -1
  251. package/types/index.d.ts.map +1 -1
  252. package/types/layouts/ViewSwitcher.d.ts.map +1 -1
  253. package/types/layouts/attachments.d.ts.map +1 -1
  254. package/types/layouts/page.d.ts.map +1 -1
  255. package/types/layouts/tags.d.ts.map +1 -1
  256. package/types/layouts/timeline.d.ts.map +1 -1
  257. package/types/surfaces.d.ts +17 -0
  258. package/types/surfaces.d.ts.map +1 -1
  259. package/types/views/Calendar.d.ts.map +1 -1
  260. package/types/views/Kanban.d.ts +13 -1
  261. package/types/views/Kanban.d.ts.map +1 -1
  262. package/types/views/ReportBuilder.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","ReportBuilder_exports","ReportBuilder","module","exports","import_jsx_runtime","require","import_BarChart","import_componentColors","import_AsyncBoundary","import_page","import_theme","import_forms","import_react","import_react_i18next","import_tamagui","numericFieldTypes","Set","reportTextSizeMap","$3","$4","$5","aggregationLabels","count","sum","avg","min","max","isNumericFieldType","fieldtype","has","formatCellValue","formatCurrency","formatNumber","maximumFractionDigits","formatPercent","precision","Number","String","SimpleBarChart","param","data","height","knobProps","useResolvedKnobs","length","jsx","Card","size","sizeToken","backgroundColor","componentColors","surface","background","padding","overflow","children","BarChart","columns","groupBy","groupByProp","onGroupByChange","onColumnsChange","onExport","onRowPress","showChart","isLoading","error","onRetry","hasActiveFilters","stackProps","_reportTextSizeMap_knobProps_sizeToken","t","useTranslation","reportFontSize","hasError","resolveAsyncStatus","isInitialLoading","enabledColumnSet","setEnabledColumnSet","useState","filter","c","enabled","map","fieldname","enabledColumns","useMemo","_numericColumns","_toggleColumn","useCallback","prev","next","delete","add","Array","internalGroupBy","setInternalGroupBy","_handleGroupByChange","config","collapsedGroups","setCollapsedGroups","groupedData","groups","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","row","_row_groupBy_field","field","rows","aggregationValue","push","err","return","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","group","_step1","aggregation","aggregationField","reduce","acc","row2","field1","field2","Math","field3","_iterator1","values","chartData","entries","param2","label","chartVisible","setChartVisible","toggleGroup","groupKey","handleExport","exportData","filtered","col","renderHeaderRow","renderHeaderRow2","XStack","borderBottomWidth","borderBottomColor","Text","flex","fontWeight","fontSize","color","paddingHorizontal","numberOfLines","renderDataRow","renderDataRow2","index","isGrouped","arguments","_row_name","divider","hoverStyle","paddingInlineStart","panelPadding","cursor","onPress"],"sources":["../../../src/views/ReportBuilder.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","ReportBuilder_exports","ReportBuilder","module","exports","import_jsx_runtime","require","import_BarChart","import_componentColors","import_AsyncBoundary","import_page","import_theme","import_forms","import_react","import_react_i18next","import_tamagui","numericFieldTypes","Set","reportTextSizeMap","$3","$4","$5","aggregationLabels","count","sum","avg","min","max","isNumericFieldType","fieldtype","has","formatCellValue","formatCurrency","formatNumber","maximumFractionDigits","formatPercent","precision","Number","formatAbsoluteDate","formatAbsoluteDateTime","formatTimeOfDay","String","SimpleBarChart","param","data","height","knobProps","useResolvedKnobs","length","jsx","Card","size","sizeToken","backgroundColor","componentColors","surface","background","padding","overflow","children","BarChart","columns","groupBy","groupByProp","onGroupByChange","onColumnsChange","onExport","onRowPress","showChart","isLoading","error","onRetry","hasActiveFilters","stackProps","_reportTextSizeMap_knobProps_sizeToken","t","useTranslation","reportFontSize","hasError","resolveAsyncStatus","isInitialLoading","enabledColumnSet","setEnabledColumnSet","useState","filter","c","enabled","map","fieldname","enabledColumns","useMemo","_numericColumns","_toggleColumn","useCallback","prev","next","delete","add","Array","internalGroupBy","setInternalGroupBy","_handleGroupByChange","config","collapsedGroups","setCollapsedGroups","groupedData","groups","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","row","_row_groupBy_field","field","rows","aggregationValue","push","err","return","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","group","_step1","aggregation","aggregationField","reduce","acc","row2","field1","field2","Math","field3","_iterator1","values","chartData","entries","param2","label","chartVisible","setChartVisible","toggleGroup","groupKey","handleExport","exportData","filtered","col","renderHeaderRow","renderHeaderRow2","XStack","borderBottomWidth","borderBottomColor","Text","flex","fontWeight","fontSize","color","paddingHorizontal","numberOfLines","renderDataRow","renderDataRow2","index","isGrouped","arguments","_row_name","divider","hoverStyle","paddingInlineStart","panelPadding","cursor","onPress"],"sources":["../../../src/views/ReportBuilder.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplatform.one/components",
3
- "version": "6.4.3",
3
+ "version": "6.6.0",
4
4
  "description": "multiplatform.one ui components",
5
5
  "keywords": [
6
6
  "components",
@@ -74,11 +74,11 @@
74
74
  "link": "^2.1.2",
75
75
  "shiki": "^4.0.2",
76
76
  "tamagui": "2.0.0-rc.41",
77
- "@multiplatform.one/forms": "6.4.3",
78
- "@multiplatform.one/i18n": "6.4.3",
79
- "@multiplatform.one/platform": "6.4.3",
80
- "@multiplatform.one/theme": "6.4.3",
81
- "@multiplatform.one/router": "6.4.3"
77
+ "@multiplatform.one/i18n": "6.6.0",
78
+ "@multiplatform.one/forms": "6.6.0",
79
+ "@multiplatform.one/router": "6.6.0",
80
+ "@multiplatform.one/theme": "6.6.0",
81
+ "@multiplatform.one/platform": "6.6.0"
82
82
  },
83
83
  "devDependencies": {
84
84
  "@tamagui/build": "2.0.0-rc.41",
@@ -96,9 +96,9 @@
96
96
  "react-native-svg": "15.15.4",
97
97
  "react-native-web": "^0.21.2",
98
98
  "vitest": "^4.1.5",
99
- "@multiplatform.one/config": "6.4.3",
100
- "@multiplatform.one/test-utils": "6.4.3",
101
- "@multiplatform.one/storybook": "6.4.3"
99
+ "@multiplatform.one/config": "6.6.0",
100
+ "@multiplatform.one/test-utils": "6.6.0",
101
+ "@multiplatform.one/storybook": "6.6.0"
102
102
  },
103
103
  "peerDependencies": {
104
104
  "@mdx-js/mdx": "^3.1.1",
@@ -1,8 +1,9 @@
1
1
  import { action } from "@multiplatform.one/storybook";
2
- import { Checkbox, FormGrid, Input, Select, TextArea } from "@multiplatform.one/forms";
2
+ // Catalog Button (LC-56 story honesty): stories compose catalog controls, never raw tamagui ones.
3
+ import { Button, Checkbox, FormGrid, Input, Select, TextArea } from "@multiplatform.one/forms";
3
4
  import type { Meta, StoryObj } from "@storybook/react-native-web-vite";
4
5
  import { useState } from "react";
5
- import { Text, XStack, YStack, Button } from "tamagui";
6
+ import { Text, XStack, YStack } from "tamagui";
6
7
  import { Accordion, type AccordionProps } from "./index";
7
8
 
8
9
  const meta: Meta<typeof Accordion> = {
@@ -130,10 +131,14 @@ export const WithFormContent: Story = {
130
131
  name="country"
131
132
  label="Country"
132
133
  placeholder="Select country"
134
+ // >5 options: shorter single-select lists trip `select-too-few-options` (DG-CTRL-01).
133
135
  options={[
134
136
  { label: "United States", value: "us" },
135
137
  { label: "India", value: "in" },
136
138
  { label: "Germany", value: "de" },
139
+ { label: "Japan", value: "jp" },
140
+ { label: "Brazil", value: "br" },
141
+ { label: "Australia", value: "au" },
137
142
  ]}
138
143
  />
139
144
  </FormGrid>
@@ -43,3 +43,34 @@ describe("Avatar", () => {
43
43
  expect(container.textContent).toContain("OK");
44
44
  });
45
45
  });
46
+
47
+ // D-09 / LC-60: Avatar is the spec's declared R-IDENTITY part. Knob immunity
48
+ // is only legitimate when it is declared, so the declaration is part of the
49
+ // contract — the `radius:none` sweep reads it off the DOM and matches it
50
+ // against the registry generated from the spec's radius-class table.
51
+ describe("Avatar identity-shape declaration (LC-60)", () => {
52
+ const declaration = (container: HTMLElement) => container.querySelector("[data-radius-class]");
53
+
54
+ it("declares R-IDENTITY / Avatar while it is a circle", () => {
55
+ const { container } = renderWithProviders(<Avatar name="Ada Lovelace" />);
56
+ const el = declaration(container);
57
+ expect(el?.getAttribute("data-radius-class")).toBe("R-IDENTITY");
58
+ expect(el?.getAttribute("data-radius-part")).toBe("Avatar");
59
+ });
60
+
61
+ it("declares on the compound branch too", () => {
62
+ const { container } = renderWithProviders(
63
+ <Avatar size="$3">
64
+ <Avatar.Fallback>
65
+ <span>OK</span>
66
+ </Avatar.Fallback>
67
+ </Avatar>,
68
+ );
69
+ expect(declaration(container)?.getAttribute("data-radius-class")).toBe("R-IDENTITY");
70
+ });
71
+
72
+ it("drops the declaration when a consumer ejects to circular={false}", () => {
73
+ const { container } = renderWithProviders(<Avatar name="Ada Lovelace" circular={false} />);
74
+ expect(declaration(container)).toBeNull();
75
+ });
76
+ });
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode } from "react";
2
- import { useReadableTextOn, useResolvedKnobs } from "@multiplatform.one/theme";
2
+ import { radiusClassProps, useReadableTextOn, useResolvedKnobs } from "@multiplatform.one/theme";
3
3
  import type { GetProps, SizeTokens } from "tamagui";
4
4
  import { Avatar as TamaguiAvatar, SizableText, withStaticProperties } from "tamagui";
5
5
  import { componentColors } from "../componentColors";
@@ -43,6 +43,21 @@ const avatarSizeMap: Record<string, SizeTokens> = {
43
43
  $5: "$4",
44
44
  };
45
45
 
46
+ // ── Identity-shape declaration (D-09 / LC-60) ─────────────────
47
+
48
+ /**
49
+ * Avatar is declared R-IDENTITY in the spec's radius-class table: a circular
50
+ * avatar is a recognized object class, not a styled box, so it keeps its
51
+ * circle at `borderRadius:none`. Knob immunity is only legitimate when it is
52
+ * DECLARED — the `radius:none` sweep generates its allowlist from that table
53
+ * and reads this declaration off the DOM, so an undeclared knob-immune shape
54
+ * stays an LC-18 KNOB-TOTALITY defect.
55
+ *
56
+ * The declaration rides `circular`: a consumer that ejects to `circular=false`
57
+ * has opted the part back onto the radius channel and must not be exempt.
58
+ */
59
+ const identityShapeProps = radiusClassProps("R-IDENTITY", "Avatar");
60
+
46
61
  // ── Size → font mapping ───────────────────────────────────────
47
62
 
48
63
  function initialsFontSize(size: AvatarSize | undefined): SizeTokens {
@@ -94,12 +109,14 @@ function AvatarRoot({
94
109
  // dark; paper/ink-on-fill lands the readable anchor (dark ink → 4.02+).
95
110
  const onAccentInitials = useReadableTextOn("$accentBackground");
96
111
  const size = sizeProp ?? avatarSizeMap[knobProps.sizeToken] ?? "$3";
112
+ const identityProps = circular ? identityShapeProps : null;
97
113
  if (children != null) {
98
114
  return (
99
115
  <TamaguiAvatar
100
116
  circular={circular}
101
117
  size={size}
102
118
  backgroundColor={backgroundColor ?? fallbackBackgroundColor}
119
+ {...identityProps}
103
120
  {...props}
104
121
  >
105
122
  {children}
@@ -118,6 +135,7 @@ function AvatarRoot({
118
135
  size={size}
119
136
  backgroundColor={backgroundColor ?? fallbackBackgroundColor}
120
137
  aria-label={label}
138
+ {...identityProps}
121
139
  {...props}
122
140
  >
123
141
  {src ? <TamaguiAvatar.Image src={src} alt={label} /> : null}
@@ -1,6 +1,8 @@
1
1
  import type { Meta, StoryObj } from "@storybook/react-native-web-vite";
2
2
  import { BellIcon, EnvelopeIcon, ShoppingCartIcon, UserIcon } from "@phosphor-icons/react";
3
- import { Button, XStack, YStack, Text, View } from "tamagui";
3
+ // Catalog Button (LC-56 story honesty): stories compose catalog controls, never raw tamagui ones.
4
+ import { Button } from "@multiplatform.one/forms";
5
+ import { XStack, YStack, Text, View } from "tamagui";
4
6
  import { Badge, type BadgeColor, type BadgePosition } from "./index";
5
7
 
6
8
  const meta: Meta<typeof Badge> = {
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode } from "react";
2
- import { useResolvedKnobs } from "@multiplatform.one/theme";
2
+ import { radiusClassProps, useResolvedKnobs } from "@multiplatform.one/theme";
3
3
  import type { ColorTokens, GetProps } from "tamagui";
4
4
  import { Text, View, styled } from "tamagui";
5
5
  import { componentColors } from "../componentColors";
@@ -76,6 +76,9 @@ const BadgeWrapper = styled(View, {
76
76
 
77
77
  const BadgeIndicator = styled(View, {
78
78
  name: "BadgeIndicator",
79
+ // R-PILL (D-09 / LC-60): the count/dot indicator is a pill at every radius
80
+ // value; the knob moves its size and padding, never its shape.
81
+ ...radiusClassProps("R-PILL", "Badge count/dot"),
79
82
  position: "absolute",
80
83
  alignItems: "center",
81
84
  justifyContent: "center",
@@ -0,0 +1,271 @@
1
+ /**
2
+ * Carousel geometry contract specs (LC-62 SLIDE-VIEWPORT-WIDTH): slides size
3
+ * from the MEASURED scroll viewport — never percent-of-track — and every
4
+ * paging offset is index × (slideWidth + gap), so slide N is actually
5
+ * reachable at the offset the dots promise. Also locks the re-anchor on
6
+ * re-measure (resize) and the scroll → active-dot mapping at the same pitch.
7
+ */
8
+
9
+ import { act, fireEvent } from "@testing-library/react";
10
+ import { renderWithProviders } from "@multiplatform.one/test-utils";
11
+ import { beforeEach, describe, expect, it, vi } from "vitest";
12
+ import { Text, View, getTokens } from "tamagui";
13
+ import { Carousel } from "./index";
14
+
15
+ // ── happy-dom layout plumbing ─────────────────────────────────
16
+ // react-native-web's onLayout rides a module-level ResizeObserver singleton
17
+ // captured on first use, so the stub must exist before the first render and
18
+ // stay installed for the whole file. `observe` fires immediately (mount
19
+ // measure); `fireResize` re-fires for every observed node (resize). The
20
+ // measure callback itself reads offsetWidth via a setTimeout(0), hence the
21
+ // prototype getter and the flushMeasure() helper.
22
+
23
+ let layoutWidth = 400;
24
+
25
+ type ObserverRecord = { cb: ResizeObserverCallback; targets: Set<Element> };
26
+ const observerRecords: ObserverRecord[] = [];
27
+
28
+ function makeEntry(target: Element): ResizeObserverEntry {
29
+ return {
30
+ target,
31
+ contentRect: { width: layoutWidth, height: 240 } as DOMRectReadOnly,
32
+ borderBoxSize: [],
33
+ contentBoxSize: [],
34
+ devicePixelContentBoxSize: [],
35
+ } as unknown as ResizeObserverEntry;
36
+ }
37
+
38
+ vi.stubGlobal(
39
+ "ResizeObserver",
40
+ class {
41
+ record: ObserverRecord;
42
+ constructor(cb: ResizeObserverCallback) {
43
+ this.record = { cb, targets: new Set() };
44
+ observerRecords.push(this.record);
45
+ }
46
+ observe(target: Element) {
47
+ this.record.targets.add(target);
48
+ this.record.cb([makeEntry(target)], this as unknown as ResizeObserver);
49
+ }
50
+ unobserve(target: Element) {
51
+ this.record.targets.delete(target);
52
+ }
53
+ disconnect() {
54
+ this.record.targets.clear();
55
+ }
56
+ },
57
+ );
58
+
59
+ Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
60
+ configurable: true,
61
+ get() {
62
+ return layoutWidth;
63
+ },
64
+ });
65
+ Object.defineProperty(HTMLElement.prototype, "offsetHeight", {
66
+ configurable: true,
67
+ get() {
68
+ return 240;
69
+ },
70
+ });
71
+
72
+ // react-native-web's scrollTo lands on the DOM node's scroll(); capture it.
73
+ const scrollCalls: Array<{ left?: number; top?: number; behavior?: string }> = [];
74
+ Object.defineProperty(HTMLElement.prototype, "scroll", {
75
+ configurable: true,
76
+ writable: true,
77
+ value(options: { left?: number; top?: number; behavior?: string }) {
78
+ scrollCalls.push(options);
79
+ },
80
+ });
81
+
82
+ /** Flush UIManager.measure's setTimeout(0) so onLayout commits. */
83
+ async function flushMeasure() {
84
+ await act(async () => {
85
+ await new Promise((resolve) => setTimeout(resolve, 0));
86
+ });
87
+ }
88
+
89
+ function fireResize(width: number) {
90
+ layoutWidth = width;
91
+ for (const record of observerRecords) {
92
+ for (const target of record.targets) {
93
+ record.cb([makeEntry(target)], undefined as unknown as ResizeObserver);
94
+ }
95
+ }
96
+ }
97
+
98
+ function slides(container: HTMLElement) {
99
+ return container.querySelectorAll("[data-carousel-slide]");
100
+ }
101
+
102
+ /**
103
+ * Tamagui materializes dynamic numeric widths as atomic CSS classes, not
104
+ * inline style — resolve whether any class on the node carries the width, in
105
+ * inline style, <style> text, CSSOM rules, or adopted sheets.
106
+ */
107
+ function elementCarriesWidth(node: HTMLElement, widthPx: number): boolean {
108
+ const needle = `${widthPx}px`;
109
+ const inline = node.getAttribute("style") ?? "";
110
+ if (inline.includes(needle)) return true;
111
+ const ruleTexts: string[] = [];
112
+ for (const styleTag of Array.from(document.querySelectorAll("style"))) {
113
+ ruleTexts.push(styleTag.textContent ?? "");
114
+ }
115
+ const sheets = [
116
+ ...Array.from(document.styleSheets),
117
+ ...Array.from(
118
+ (document as unknown as { adoptedStyleSheets?: CSSStyleSheet[] }).adoptedStyleSheets ?? [],
119
+ ),
120
+ ];
121
+ for (const sheet of sheets) {
122
+ try {
123
+ for (const rule of Array.from((sheet as CSSStyleSheet).cssRules)) {
124
+ ruleTexts.push(rule.cssText);
125
+ }
126
+ } catch {
127
+ // Unreadable sheet — nothing Tamagui inserts is.
128
+ }
129
+ }
130
+ return Array.from(node.classList).some((className) =>
131
+ ruleTexts.some((text) => text.includes(`.${className}`) && text.includes(needle)),
132
+ );
133
+ }
134
+
135
+ function dots(container: HTMLElement) {
136
+ return container.querySelectorAll("[role='button'][aria-label^='Go to item']");
137
+ }
138
+
139
+ beforeEach(() => {
140
+ layoutWidth = 400;
141
+ scrollCalls.length = 0;
142
+ });
143
+
144
+ const Slide = ({ index }: { index: number }) => (
145
+ <View height={100}>
146
+ <Text>Slide {index + 1}</Text>
147
+ </View>
148
+ );
149
+
150
+ describe("Carousel geometry (LC-62)", () => {
151
+ it("sizes each slide from the measured viewport, never percent-of-track", async () => {
152
+ const { container } = renderWithProviders(
153
+ <Carousel gap={0}>
154
+ {[0, 1, 2].map((index) => (
155
+ <Slide key={index} index={index} />
156
+ ))}
157
+ </Carousel>,
158
+ );
159
+ await flushMeasure();
160
+ const slideNodes = slides(container);
161
+ expect(slideNodes).toHaveLength(3);
162
+ for (const node of slideNodes) {
163
+ expect(elementCarriesWidth(node as HTMLElement, 400)).toBe(true);
164
+ expect((node as HTMLElement).getAttribute("style") ?? "").not.toContain("100%");
165
+ }
166
+ });
167
+
168
+ it("pages to index × slideWidth when gap is 0", async () => {
169
+ const { container } = renderWithProviders(
170
+ <Carousel gap={0}>
171
+ {[0, 1, 2].map((index) => (
172
+ <Slide key={index} index={index} />
173
+ ))}
174
+ </Carousel>,
175
+ );
176
+ await flushMeasure();
177
+ // First measure anchors the initial slide without animating.
178
+ expect(scrollCalls[0]).toMatchObject({ left: 0, behavior: "auto" });
179
+ fireEvent.click(dots(container)[2]);
180
+ expect(scrollCalls.at(-1)).toMatchObject({ left: 800, behavior: "smooth" });
181
+ fireEvent.click(dots(container)[1]);
182
+ expect(scrollCalls.at(-1)).toMatchObject({ left: 400, behavior: "smooth" });
183
+ });
184
+
185
+ it("includes the inter-slide gap in the pitch: index × (slideWidth + gap)", async () => {
186
+ const { container } = renderWithProviders(
187
+ <Carousel gap={16}>
188
+ {[0, 1, 2, 3, 4].map((index) => (
189
+ <Slide key={index} index={index} />
190
+ ))}
191
+ </Carousel>,
192
+ );
193
+ await flushMeasure();
194
+ fireEvent.click(dots(container)[4]);
195
+ expect(scrollCalls.at(-1)).toMatchObject({ left: 4 * (400 + 16), behavior: "smooth" });
196
+ });
197
+
198
+ it("resolves token gaps into the offset math", async () => {
199
+ const tokenGap = (getTokens().space as Record<string, { val?: number } | undefined>)?.$4?.val;
200
+ expect(typeof tokenGap).toBe("number");
201
+ expect(tokenGap!).toBeGreaterThan(0);
202
+ const { container } = renderWithProviders(
203
+ <Carousel gap="$4">
204
+ {[0, 1, 2].map((index) => (
205
+ <Slide key={index} index={index} />
206
+ ))}
207
+ </Carousel>,
208
+ );
209
+ await flushMeasure();
210
+ fireEvent.click(dots(container)[2]);
211
+ expect(scrollCalls.at(-1)).toMatchObject({ left: 2 * (400 + tokenGap!), behavior: "smooth" });
212
+ });
213
+
214
+ it("re-anchors the active slide when the viewport re-measures", async () => {
215
+ const { container } = renderWithProviders(
216
+ <Carousel gap={16}>
217
+ {[0, 1, 2].map((index) => (
218
+ <Slide key={index} index={index} />
219
+ ))}
220
+ </Carousel>,
221
+ );
222
+ await flushMeasure();
223
+ fireEvent.click(dots(container)[2]);
224
+ expect(scrollCalls.at(-1)).toMatchObject({ left: 2 * (400 + 16), behavior: "smooth" });
225
+ fireResize(600);
226
+ await flushMeasure();
227
+ // Same slide, new pitch, no animation.
228
+ expect(scrollCalls.at(-1)).toMatchObject({ left: 2 * (600 + 16), behavior: "auto" });
229
+ expect(elementCarriesWidth(slides(container)[0] as HTMLElement, 600)).toBe(true);
230
+ });
231
+
232
+ it("maps scroll offsets back to the active dot at the same pitch", async () => {
233
+ const { container } = renderWithProviders(
234
+ <Carousel gap={16}>
235
+ {[0, 1, 2].map((index) => (
236
+ <Slide key={index} index={index} />
237
+ ))}
238
+ </Carousel>,
239
+ );
240
+ await flushMeasure();
241
+ const track = container.querySelector("[data-carousel-track]") as HTMLElement;
242
+ expect(track).toBeTruthy();
243
+ Object.defineProperty(track, "scrollLeft", { configurable: true, value: 2 * (400 + 16) });
244
+ fireEvent.scroll(track);
245
+ expect(dots(container)[2].getAttribute("aria-current")).toBe("true");
246
+ });
247
+
248
+ it("renders a single slide without dots or arrows (N=1)", async () => {
249
+ const { container } = renderWithProviders(
250
+ <Carousel gap={0}>
251
+ <Slide index={0} />
252
+ </Carousel>,
253
+ );
254
+ await flushMeasure();
255
+ expect(slides(container)).toHaveLength(1);
256
+ expect(dots(container)).toHaveLength(0);
257
+ expect(container.querySelector("[aria-label='Next slide']")).toBeNull();
258
+ });
259
+
260
+ it("lands initialSlide at its pitch offset on first measure", async () => {
261
+ renderWithProviders(
262
+ <Carousel gap={0} initialSlide={2}>
263
+ {[0, 1, 2, 3].map((index) => (
264
+ <Slide key={index} index={index} />
265
+ ))}
266
+ </Carousel>,
267
+ );
268
+ await flushMeasure();
269
+ expect(scrollCalls.at(-1)).toMatchObject({ left: 2 * 400, behavior: "auto" });
270
+ });
271
+ });
@@ -207,6 +207,41 @@ export const SingleSlide: Story = {
207
207
  ),
208
208
  };
209
209
 
210
+ /**
211
+ * LC-62 SLIDE-VIEWPORT-WIDTH VERIFY arm. The failure this locks against:
212
+ * percent-of-track slide sizing inflates N fixed-width slides to N×W each, so
213
+ * every slide past the first lands beyond max scroll while the dots animate
214
+ * at nothing — dots alone can never catch it, only the geometry check can.
215
+ */
216
+ export const SlideGeometry: Story = {
217
+ parameters: {
218
+ docs: {
219
+ description: {
220
+ story:
221
+ "LC-62 VERIFY: fixed 400px viewport, four fixed-width slides, default (non-zero) " +
222
+ "gap. Probe: for every N, click the dot `[aria-label='Go to item N']`, wait for " +
223
+ "the smooth scroll to settle, and assert `[data-carousel-slide]` N's bounding box " +
224
+ "intersects the `[data-carousel-track]` viewport box by ≥90% — the pitch must be " +
225
+ "index × (slideWidth + gap), sized from the MEASURED viewport, never " +
226
+ "percent-of-track.",
227
+ },
228
+ },
229
+ },
230
+ render: () => (
231
+ <View width={400}>
232
+ <Carousel onSlideChange={action("onSlideChange")}>
233
+ {colors.slice(0, 4).map((color, i) => (
234
+ // Fixed-width slide content (the pokemon-gallery shape that exposed
235
+ // the inflation): content exactly as wide as the viewport.
236
+ <View key={i} width={400}>
237
+ <SlideContent index={i} color={color} />
238
+ </View>
239
+ ))}
240
+ </Carousel>
241
+ </View>
242
+ ),
243
+ };
244
+
210
245
  export const AllStates: Story = {
211
246
  render: () => (
212
247
  <YStack gap="$6">