@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":["MIN_PRESS_TARGET","useResolvedKnobs","useTranslation","View","XStack","getTokens","styled","componentColors","withInterp","jsx","dotGapMap","small","medium","large","dotGeometryMap","$3","dot","bar","active","$4","$5","DotsContainer","name","alignItems","justifyContent","gap","DotTarget","backgroundColor","focusVisibleStyle","outlineColor","outlineWidth","outlineStyle","outlineOffset","Dot","borderRadius","indicator","inactive","hoverStyle","hover","variants","true","selected","variant","dots","width","height","bars","pills","activeVariant","disabled","opacity","DotIndicator","total","activeIndex","onChange","gapProp","t","knobProps","space","geometry","sizeToken","itemSize","gapPx","val","slopX","Math","max","floor","outsetY","ceil","interactive","children","Array","from","length","map","_","index","isActive","dotWidth","minHeight","marginHorizontal","marginVertical","cursor","onPress","number","role","tabIndex","onKeyDown","e","key","preventDefault"],"sources":["../../../src/DotIndicator/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MIN_PRESS_TARGET","radiusClassProps","useResolvedKnobs","CheckIcon","useTranslation","View","XStack","getTokens","styled","componentColors","withInterp","jsx","dotGapMap","small","medium","large","dotGeometryMap","$3","dot","bar","active","$4","$5","CHECK_MIN_DOT","sizePx","value","fallback","token","size","val","DotsContainer","name","alignItems","justifyContent","gap","variants","rail","true","backgroundColor","interactive","background","borderRadius","DotTarget","focusVisibleStyle","outlineColor","outlineWidth","outlineStyle","outlineOffset","Dot","indicator","inactive","hoverStyle","hover","selected","disabled","opacity","DotIndicator","total","activeIndex","onChange","variant","gapProp","completedSteps","idiom","dotSize","activeDotSize","transition","dotStateAttribute","t","knobProps","space","geometry","sizeToken","isTick","itemSize","activeSize","gapPx","slopX","Math","max","floor","outsetY","ceil","isStep","label","currentValue","motionStyle","paddingHorizontal","panelPadding","padding","height","children","Array","from","length","map","_","index","isActive","isCompleted","has","dotWidth","restingFill","completed","track","width","minHeight","marginHorizontal","marginVertical","cursor","onPress","number","role","tabIndex","onKeyDown","e","key","preventDefault","style","color","weight"],"sources":["../../../src/DotIndicator/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -29,6 +29,7 @@ __export(DotIndicator_exports, {
29
29
  module.exports = __toCommonJS(DotIndicator_exports);
30
30
  var import_jsx_runtime = require("react/jsx-runtime");
31
31
  var import_theme = require("@multiplatform.one/theme");
32
+ var import_react = require("@phosphor-icons/react");
32
33
  var import_react_i18next = require("react-i18next");
33
34
  var import_tamagui = require("tamagui");
34
35
  var import_componentColors = require("../componentColors.native.js");
@@ -55,11 +56,37 @@ var dotGeometryMap = {
55
56
  active: 30
56
57
  }
57
58
  };
59
+ var CHECK_MIN_DOT = 8;
60
+ function sizePx(value, fallback) {
61
+ if (typeof value === "number") return value;
62
+ if (typeof value === "string") {
63
+ var _getTokens_size_value, _getTokens_size;
64
+ var token = (_getTokens_size = (0, import_tamagui.getTokens)().size) === null || _getTokens_size === void 0 ? void 0 : (_getTokens_size_value = _getTokens_size[value]) === null || _getTokens_size_value === void 0 ? void 0 : _getTokens_size_value.val;
65
+ if (typeof token === "number") return token;
66
+ }
67
+ return fallback;
68
+ }
58
69
  var DotsContainer = (0, import_tamagui.styled)(import_tamagui.XStack, {
59
70
  name: "DotIndicator",
60
71
  alignItems: "center",
61
72
  justifyContent: "center",
62
- gap: "$2"
73
+ gap: "$2",
74
+ variants: {
75
+ // A rail seats the strip on a filled capsule instead of the page. It is a
76
+ // variant of the strip rather than host chrome because the rail and the
77
+ // idle dot color are ONE decision: idle dots have to step up the ramp to
78
+ // stay visible on the rail's fill, and split across two files that pairing
79
+ // drifts (LC-16).
80
+ rail: {
81
+ true: {
82
+ backgroundColor: import_componentColors.componentColors.interactive.background,
83
+ // R-PILL (D-09 / LC-60): the rail is a capsule at every radius value,
84
+ // like the dots it holds.
85
+ ...(0, import_theme.radiusClassProps)("R-PILL", "DotIndicator rail"),
86
+ borderRadius: "$10"
87
+ }
88
+ }
89
+ }
63
90
  });
64
91
  var DotTarget = (0, import_tamagui.styled)(import_tamagui.View, {
65
92
  name: "DotTarget",
@@ -75,6 +102,13 @@ var DotTarget = (0, import_tamagui.styled)(import_tamagui.View, {
75
102
  });
76
103
  var Dot = (0, import_tamagui.styled)(import_tamagui.View, {
77
104
  name: "Dot",
105
+ // R-PILL (D-09 / LC-60): an ornamental dot is a circle at every radius
106
+ // value — the knob moves its size, never its shape — so it declares the
107
+ // class the `radius:none` sweep licenses it under.
108
+ ...(0, import_theme.radiusClassProps)("R-PILL", "DotIndicator dot"),
109
+ // Centers the completion checkmark; inert for the empty dots.
110
+ alignItems: "center",
111
+ justifyContent: "center",
78
112
  borderRadius: 1e3,
79
113
  backgroundColor: import_componentColors.componentColors.indicator.inactive,
80
114
  hoverStyle: {
@@ -88,31 +122,11 @@ var Dot = (0, import_tamagui.styled)(import_tamagui.View, {
88
122
  backgroundColor: import_componentColors.componentColors.indicator.selected
89
123
  }
90
124
  },
91
- variant: {
92
- dots: {
93
- width: 8,
94
- height: 8
95
- },
96
- bars: {
97
- width: 6,
98
- height: 6
99
- },
100
- pills: {
101
- width: 8,
102
- height: 8
103
- }
104
- },
105
- activeVariant: {
106
- dots: {
107
- width: 24
108
- },
109
- bars: {
110
- width: 24
111
- },
112
- pills: {
113
- width: 24
114
- }
115
- },
125
+ // No `variant` geometry here: the mark's width/height are always passed
126
+ // explicitly from the one size channel below, so a per-variant pixel table
127
+ // on the styled component could only ever be a second, silently-losing
128
+ // definition of the same thing (it already disagreed with the scale at
129
+ // size knob `$3`, where a tick is 5px, not 6).
116
130
  disabled: {
117
131
  true: {
118
132
  opacity: 0.5
@@ -127,7 +141,14 @@ function DotIndicator(param) {
127
141
  onChange,
128
142
  variant = "dots",
129
143
  gap: gapProp,
130
- disabled = false
144
+ disabled = false,
145
+ completedSteps,
146
+ idiom = "item",
147
+ rail = false,
148
+ dotSize,
149
+ activeDotSize,
150
+ transition,
151
+ dotStateAttribute = "data-dot-state"
131
152
  } = param;
132
153
  var _ref, _dotGeometryMap_knobProps_sizeToken, _ref1;
133
154
  var _getTokens_space_gap, _getTokens_space;
@@ -139,18 +160,36 @@ function DotIndicator(param) {
139
160
  } = (0, import_theme.useResolvedKnobs)();
140
161
  var gap = (_ref = gapProp !== null && gapProp !== void 0 ? gapProp : dotGapMap[knobProps.space]) !== null && _ref !== void 0 ? _ref : "$2";
141
162
  var geometry = (_dotGeometryMap_knobProps_sizeToken = dotGeometryMap[knobProps.sizeToken]) !== null && _dotGeometryMap_knobProps_sizeToken !== void 0 ? _dotGeometryMap_knobProps_sizeToken : dotGeometryMap.$4;
142
- var itemSize = variant === "bars" ? geometry.bar : geometry.dot;
163
+ var isTick = variant === "bars";
164
+ var itemSize = sizePx(dotSize, isTick ? geometry.bar : geometry.dot);
165
+ var activeSize = sizePx(activeDotSize, geometry.active);
143
166
  var gapPx = typeof gap === "number" ? gap : (_ref1 = (_getTokens_space = (0, import_tamagui.getTokens)().space) === null || _getTokens_space === void 0 ? void 0 : (_getTokens_space_gap = _getTokens_space[gap]) === null || _getTokens_space_gap === void 0 ? void 0 : _getTokens_space_gap.val) !== null && _ref1 !== void 0 ? _ref1 : 7;
144
167
  var slopX = Math.max(0, Math.floor((gapPx - 1) / 2));
145
- var outsetY = Math.ceil((import_theme.MIN_PRESS_TARGET - itemSize) / 2);
168
+ var outsetY = Math.max(0, Math.ceil((import_theme.MIN_PRESS_TARGET - itemSize) / 2));
146
169
  var interactive = !disabled && !!onChange;
170
+ var isStep = idiom === "step";
171
+ var label = isStep ? t("Go to step {{number}}") : t("Go to item {{number}}");
172
+ var currentValue = isStep ? "step" : "true";
173
+ var motionStyle = transition ? {
174
+ transition: "width var(--mp-transition, 100ms) ease, height var(--mp-transition, 100ms) ease, background-color var(--mp-transition, 100ms) ease"
175
+ } : void 0;
147
176
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(DotsContainer, {
148
177
  gap,
178
+ rail,
179
+ ...(rail ? {
180
+ paddingHorizontal: knobProps.panelPadding.padding,
181
+ height: knobProps.sizeToken
182
+ } : void 0),
149
183
  children: Array.from({
150
184
  length: total
151
185
  }).map(function (_, index) {
152
186
  var isActive = index === activeIndex;
153
- var dotWidth = isActive ? geometry.active : itemSize;
187
+ var isCompleted = !isActive && !!(completedSteps === null || completedSteps === void 0 ? void 0 : completedSteps.has(index));
188
+ var dotWidth = isActive ? activeSize : itemSize;
189
+ var restingFill = isCompleted ? import_componentColors.componentColors.indicator.completed : rail ?
190
+ // Idle chrome steps up the ramp on a rail so the dot still
191
+ // separates from the capsule fill it sits on.
192
+ import_componentColors.componentColors.indicator.track : import_componentColors.componentColors.indicator.inactive;
154
193
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(DotTarget, {
155
194
  width: dotWidth + slopX * 2,
156
195
  minHeight: import_theme.MIN_PRESS_TARGET,
@@ -160,11 +199,11 @@ function DotIndicator(param) {
160
199
  onPress: interactive ? function () {
161
200
  return onChange === null || onChange === void 0 ? void 0 : onChange(index);
162
201
  } : void 0,
163
- "aria-label": (0, import_t.withInterp)(t("Go to item {{number}}"), {
202
+ "aria-label": (0, import_t.withInterp)(label, {
164
203
  number: index + 1
165
204
  }),
166
205
  ...(isActive ? {
167
- "aria-current": "true"
206
+ "aria-current": currentValue
168
207
  } : void 0),
169
208
  ...(interactive ? {
170
209
  role: "button",
@@ -179,12 +218,31 @@ function DotIndicator(param) {
179
218
  role: "button"
180
219
  } : void 0),
181
220
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(Dot, {
182
- variant,
183
221
  active: isActive,
184
- activeVariant: isActive ? variant : void 0,
222
+ ...(isActive ? void 0 : {
223
+ backgroundColor: restingFill,
224
+ // A completed dot and a rail dot both hold their fill on
225
+ // hover: the neutral hover step is PALER than either, so
226
+ // the page-level hover would read as a dim.
227
+ ...(isCompleted || rail ? {
228
+ hoverStyle: {
229
+ backgroundColor: restingFill
230
+ }
231
+ } : void 0)
232
+ }),
185
233
  width: dotWidth,
186
234
  height: itemSize,
187
- disabled
235
+ disabled,
236
+ transition,
237
+ style: motionStyle,
238
+ ...{
239
+ [dotStateAttribute]: isActive ? "active" : "idle"
240
+ },
241
+ children: isCompleted && !isTick && itemSize >= CHECK_MIN_DOT && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.CheckIcon, {
242
+ size: 8,
243
+ color: "white",
244
+ weight: "bold"
245
+ })
188
246
  })
189
247
  }, index);
190
248
  })
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","DotIndicator_exports","DotIndicator","module","exports","import_jsx_runtime","require","import_theme","import_react_i18next","import_tamagui","import_componentColors","import_t","dotGapMap","small","medium","large","dotGeometryMap","$3","dot","bar","active","$4","$5","DotsContainer","styled","XStack","alignItems","justifyContent","gap","DotTarget","View","backgroundColor","focusVisibleStyle","outlineColor","outlineWidth","outlineStyle","outlineOffset","Dot","borderRadius","componentColors","indicator","inactive","hoverStyle","hover","variants","true","selected","variant","dots","width","height","bars","pills","activeVariant","disabled","opacity","param","total","activeIndex","onChange","gapProp","_ref","_dotGeometryMap_knobProps_sizeToken","_ref1","_getTokens_space_gap","_getTokens_space","t","useTranslation","knobProps","useResolvedKnobs","space","geometry","sizeToken","itemSize","gapPx","getTokens","val","slopX","Math","max","floor","outsetY","ceil","MIN_PRESS_TARGET","interactive","jsx","children","Array","length","map","_","index","isActive","dotWidth"],"sources":["../../../src/DotIndicator/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","DotIndicator_exports","DotIndicator","module","exports","import_jsx_runtime","require","import_theme","import_react","import_react_i18next","import_tamagui","import_componentColors","import_t","dotGapMap","small","medium","large","dotGeometryMap","$3","dot","bar","active","$4","$5","CHECK_MIN_DOT","sizePx","fallback","_getTokens_size_value","_getTokens_size","token","getTokens","size","val","DotsContainer","styled","XStack","alignItems","justifyContent","gap","variants","rail","true","backgroundColor","componentColors","interactive","background","radiusClassProps","borderRadius","DotTarget","View","focusVisibleStyle","outlineColor","outlineWidth","outlineStyle","outlineOffset","Dot","indicator","inactive","hoverStyle","hover","selected","disabled","opacity","param","total","activeIndex","onChange","variant","gapProp","completedSteps","idiom","dotSize","activeDotSize","transition","dotStateAttribute","_ref","_dotGeometryMap_knobProps_sizeToken","_ref1","_getTokens_space_gap","_getTokens_space","t","useTranslation","knobProps","useResolvedKnobs","space","geometry","sizeToken","isTick","itemSize","activeSize","gapPx","slopX","Math","max","floor","outsetY","ceil","MIN_PRESS_TARGET","isStep","label","currentValue","motionStyle","jsx","paddingHorizontal","panelPadding","padding","height","children","Array","length","map","_","index","isActive","isCompleted","has","dotWidth","restingFill","completed","track","width","minHeight","marginHorizontal","marginVertical","cursor","onPress","withInterp","number","role","tabIndex","onKeyDown","e"],"sources":["../../../src/DotIndicator/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,8 @@ import { ArrowLeftIcon, ArrowRightIcon, CaretDoubleLeftIcon, CaretDoubleRightIco
3
3
  import { useCallback, useState } from "react";
4
4
  import { useTranslation } from "react-i18next";
5
5
  import { Button } from "@multiplatform.one/forms";
6
- import { Text, View, XStack } from "tamagui";
6
+ import { Text, XStack } from "tamagui";
7
+ import { DotIndicator } from "./DotIndicator/index.mjs";
7
8
  import { componentColors } from "./componentColors.mjs";
8
9
  import { useDirection } from "./hooks/useDirection.mjs";
9
10
  import { bidiIsolate, withInterp } from "./shared/t.mjs";
@@ -32,6 +33,16 @@ function getPaginationItems(total, page, siblingCount = 1, boundaryCount = 1) {
32
33
  items.push(...endPages);
33
34
  return items;
34
35
  }
36
+ const stripSteps = {
37
+ base: {
38
+ mark: "$0.75",
39
+ active: "$2"
40
+ },
41
+ large: {
42
+ mark: "$1.5",
43
+ active: "$3"
44
+ }
45
+ };
35
46
  function Pagination({
36
47
  total,
37
48
  activeIndex,
@@ -93,185 +104,119 @@ function Pagination({
93
104
  if (enabled) fn();
94
105
  }
95
106
  };
96
- if (variant === "numbered") {
97
- const items = getPaginationItems(total, currentPage, siblingCount, boundaryCount);
98
- const canPrev = !disabled && currentPage > 1;
99
- const canNext = !disabled && currentPage < total;
100
- const summary = showSummary && totalItems != null && pageSize != null ? bidiIsolate(totalItems === 0 ? t("0 of 0") : withInterp(t("{{start}}\u2013{{end}} of {{total}}"), {
101
- start: (currentPage - 1) * pageSize + 1,
102
- end: Math.min(currentPage * pageSize, totalItems),
103
- total: totalItems
104
- })) : void 0;
105
- return /* @__PURE__ */jsxs(XStack, {
106
- alignItems: "center",
107
- justifyContent: "center",
108
- role: "navigation",
109
- "aria-label": t("Pagination"),
110
- ...knobProps.gap,
111
- ...stackProps,
112
- children: [showFirstLast && /* @__PURE__ */jsx(Button, {
113
- size: knobProps.sizeToken,
114
- variant: "outlined",
115
- icon: FirstIcon,
116
- onPress: () => goTo(0),
117
- disabled: !canPrev,
118
- "aria-label": t("Go to first page"),
119
- onKeyDown: activateOnEnterSpace(() => goTo(0), canPrev)
120
- }), /* @__PURE__ */jsx(Button, {
121
- size: knobProps.sizeToken,
122
- variant: "outlined",
123
- icon: PrevIcon,
124
- onPress: handlePrev,
125
- disabled: !canPrev,
126
- "aria-label": t("Go to previous page"),
127
- onKeyDown: activateOnEnterSpace(handlePrev, canPrev)
128
- }), /* @__PURE__ */jsx(XStack, {
129
- alignItems: "center",
130
- gap: "$1",
131
- children: items.map(item => {
132
- if (typeof item !== "number") {
133
- return /* @__PURE__ */jsx(Text, {
134
- "aria-hidden": true,
135
- userSelect: "none",
136
- textAlign: "center",
137
- minWidth: "$2",
138
- ...knobProps.body,
139
- color: componentColors.text.muted,
140
- children: "\u2026"
141
- }, item);
142
- }
143
- const isCurrent = item === currentPage;
144
- return /* @__PURE__ */jsx(Button, {
145
- size: knobProps.sizeToken,
146
- minWidth: knobProps.sizeToken,
147
- paddingHorizontal: "$2",
148
- accent: isCurrent,
149
- chromeless: !isCurrent,
150
- disabled,
151
- onPress: () => goTo(item - 1),
152
- "aria-label": withInterp(t("Page {{number}}"), {
153
- number: item
154
- }),
155
- "aria-current": isCurrent ? "page" : void 0,
156
- onKeyDown: activateOnEnterSpace(() => goTo(item - 1), !disabled),
157
- children: String(item)
158
- }, item);
159
- })
160
- }), /* @__PURE__ */jsx(Button, {
161
- size: knobProps.sizeToken,
162
- variant: "outlined",
163
- icon: NextIcon,
164
- onPress: handleNext,
165
- disabled: !canNext,
166
- "aria-label": t("Go to next page"),
167
- onKeyDown: activateOnEnterSpace(handleNext, canNext)
168
- }), showFirstLast && /* @__PURE__ */jsx(Button, {
169
- size: knobProps.sizeToken,
170
- variant: "outlined",
171
- icon: LastIcon,
172
- onPress: () => goTo(total - 1),
173
- disabled: !canNext,
174
- "aria-label": t("Go to last page"),
175
- onKeyDown: activateOnEnterSpace(() => goTo(total - 1), canNext)
176
- }), summary && /* @__PURE__ */jsx(Text, {
177
- ...knobProps.body,
178
- color: componentColors.text.muted,
179
- "aria-live": "polite",
180
- userSelect: "none",
181
- children: summary
182
- })]
183
- });
184
- }
185
- const dotSize = variant === "bars" ? "$1.5" : "$0.75";
186
- const activeDotSize = variant === "bars" ? "$3" : "$2";
107
+ const isNumbered = variant === "numbered";
108
+ const canPrev = !disabled && index > 0;
109
+ const canNext = isNumbered ? !disabled && currentPage < total :
110
+ // dots/bars: an onSubmit makes the last step actionable, so the forward
111
+ // control is not dead there.
112
+ !(disabled || !isLastStep && index >= total - 1 && !onSubmit);
113
+ const submits = !isNumbered && isLastStep;
114
+ const items = isNumbered ? getPaginationItems(total, currentPage, siblingCount, boundaryCount) : [];
115
+ const summary = isNumbered && showSummary && totalItems != null && pageSize != null ? bidiIsolate(totalItems === 0 ? t("0 of 0") : withInterp(t("{{start}}\u2013{{end}} of {{total}}"), {
116
+ start: (currentPage - 1) * pageSize + 1,
117
+ end: Math.min(currentPage * pageSize, totalItems),
118
+ total: totalItems
119
+ })) : void 0;
120
+ const step = variant === "bars" ? stripSteps.large : stripSteps.base;
187
121
  return /* @__PURE__ */jsxs(XStack, {
188
122
  alignItems: "center",
189
123
  justifyContent: "center",
124
+ role: "navigation",
125
+ "aria-label": t("Pagination"),
190
126
  ...knobProps.gap,
191
127
  ...stackProps,
192
- children: [/* @__PURE__ */jsx(Button, {
128
+ children: [isNumbered && showFirstLast && /* @__PURE__ */jsx(Button, {
193
129
  size: knobProps.sizeToken,
194
- circular: true,
195
- icon: PrevArrowIcon,
196
- onPress: handlePrev,
197
- disabled: disabled || index === 0,
198
130
  variant: "outlined",
199
- "aria-label": t("Previous page"),
200
- onKeyDown: activateOnEnterSpace(handlePrev, !(disabled || index === 0))
201
- }), /* @__PURE__ */jsx(XStack, {
131
+ icon: FirstIcon,
132
+ onPress: () => goTo(0),
133
+ disabled: !canPrev,
134
+ "aria-label": t("Go to first page"),
135
+ onKeyDown: activateOnEnterSpace(() => goTo(0), canPrev)
136
+ }), /* @__PURE__ */jsx(Button, {
137
+ size: knobProps.sizeToken,
138
+ circular: !isNumbered,
139
+ variant: "outlined",
140
+ icon: isNumbered ? PrevIcon : PrevArrowIcon,
141
+ onPress: handlePrev,
142
+ disabled: !canPrev,
143
+ "aria-label": isNumbered ? t("Go to previous page") : t("Previous page"),
144
+ onKeyDown: activateOnEnterSpace(handlePrev, canPrev)
145
+ }), isNumbered ? /* @__PURE__ */jsx(XStack, {
202
146
  alignItems: "center",
203
- justifyContent: "center",
204
- gap: "$2",
205
- backgroundColor: componentColors.interactive.background,
206
- paddingHorizontal: knobProps.panelPadding.padding,
207
- height: knobProps.sizeToken,
208
- borderRadius: "$10",
209
- children: Array.from({
210
- length: total
211
- }).map((_, dotIndex) => {
212
- const isActive = dotIndex === index;
213
- const isCompleted = completedSteps?.has(dotIndex);
214
- const canJump = allowJumpTo && !disabled;
215
- const dotProps = {
216
- width: isActive ? activeDotSize : dotSize,
217
- height: dotSize,
218
- borderRadius: "$10",
219
- // LC-05 / D-01 rider (a): the current dot speaks the SAME selected
220
- // language as this component's numbered body (accent) — it used to
221
- // paint ink while the numbered page button painted accent, so one
222
- // component taught two meanings for "current".
223
- backgroundColor: isCompleted && !isActive ? componentColors.indicator.completed : isActive ? componentColors.indicator.selected : componentColors.indicator.track,
224
- transition: motionTransition,
225
- cursor: canJump ? "pointer" : void 0,
226
- alignItems: "center",
227
- justifyContent: "center",
228
- "aria-current": isActive ? "step" : void 0,
229
- "data-pagination-dot": isActive ? "active" : "idle",
230
- // Belt-and-suspenders for the CSS driver: named `transition` covers
231
- // Tamagui layout props; explicit width/bg ensures measurable intermediates.
232
- style: {
233
- transition: `width var(--mp-transition, 100ms) ease, height var(--mp-transition, 100ms) ease, background-color var(--mp-transition, 100ms) ease`
234
- },
235
- ...(canJump ? {
236
- onPress: () => goTo(dotIndex),
237
- role: "button",
238
- "aria-label": withInterp(t("Go to step {{number}}"), {
239
- number: dotIndex + 1
240
- }),
241
- tabIndex: 0,
242
- focusVisibleStyle: {
243
- outlineColor: "$outlineColor",
244
- outlineWidth: 2,
245
- outlineStyle: "solid",
246
- outlineOffset: 1
247
- },
248
- onKeyDown: e => {
249
- if (e.key === "Enter" || e.key === " ") {
250
- e.preventDefault();
251
- goTo(dotIndex);
252
- }
253
- }
254
- } : {})
255
- };
256
- return /* @__PURE__ */jsx(View, {
257
- ...dotProps,
258
- children: isCompleted && !isActive && variant === "dots" && /* @__PURE__ */jsx(CheckIcon, {
259
- size: 8,
260
- color: "white",
261
- weight: "bold"
262
- })
263
- }, dotIndex);
147
+ gap: "$1",
148
+ children: items.map(item => {
149
+ if (typeof item !== "number") {
150
+ return /* @__PURE__ */jsx(Text, {
151
+ "aria-hidden": true,
152
+ userSelect: "none",
153
+ textAlign: "center",
154
+ minWidth: "$2",
155
+ ...knobProps.body,
156
+ color: componentColors.text.muted,
157
+ children: "\u2026"
158
+ }, item);
159
+ }
160
+ const isCurrent = item === currentPage;
161
+ return /* @__PURE__ */jsx(Button, {
162
+ size: knobProps.sizeToken,
163
+ minWidth: knobProps.sizeToken,
164
+ paddingHorizontal: "$2",
165
+ accent: isCurrent,
166
+ chromeless: !isCurrent,
167
+ disabled,
168
+ onPress: () => goTo(item - 1),
169
+ "aria-label": withInterp(t("Page {{number}}"), {
170
+ number: item
171
+ }),
172
+ "aria-current": isCurrent ? "page" : void 0,
173
+ onKeyDown: activateOnEnterSpace(() => goTo(item - 1), !disabled),
174
+ children: String(item)
175
+ }, item);
264
176
  })
177
+ }) :
178
+ // LC-16: the dot strip IS `DotIndicator` — this component owns the
179
+ // pager frame around it, not a second strip. `completedSteps`, the
180
+ // wizard a11y idiom and the rail all ride the primitive, so the two
181
+ // strips in the catalog cannot drift apart again.
182
+ /* @__PURE__ */
183
+ jsx(DotIndicator, {
184
+ total,
185
+ activeIndex: index,
186
+ variant,
187
+ idiom: "step",
188
+ rail: true,
189
+ completedSteps,
190
+ dotSize: step.mark,
191
+ activeDotSize: step.active,
192
+ transition: motionTransition,
193
+ dotStateAttribute: "data-pagination-dot",
194
+ onChange: allowJumpTo && !disabled ? goTo : void 0,
195
+ disabled: allowJumpTo && disabled
265
196
  }), /* @__PURE__ */jsx(Button, {
266
197
  size: knobProps.sizeToken,
267
- circular: true,
268
- icon: isLastStep ? CheckIcon : NextArrowIcon,
198
+ circular: !isNumbered,
199
+ variant: submits ? void 0 : "outlined",
200
+ theme: submits ? "active" : void 0,
201
+ icon: isNumbered ? NextIcon : submits ? CheckIcon : NextArrowIcon,
269
202
  onPress: handleNext,
270
- disabled: disabled || !isLastStep && index >= total - 1 && !onSubmit,
271
- variant: isLastStep ? void 0 : "outlined",
272
- theme: isLastStep ? "active" : void 0,
273
- "aria-label": isLastStep ? t("Submit") : t("Next page"),
274
- onKeyDown: activateOnEnterSpace(handleNext, !(disabled || !isLastStep && index >= total - 1 && !onSubmit))
203
+ disabled: !canNext,
204
+ "aria-label": isNumbered ? t("Go to next page") : submits ? t("Submit") : t("Next page"),
205
+ onKeyDown: activateOnEnterSpace(handleNext, canNext)
206
+ }), isNumbered && showFirstLast && /* @__PURE__ */jsx(Button, {
207
+ size: knobProps.sizeToken,
208
+ variant: "outlined",
209
+ icon: LastIcon,
210
+ onPress: () => goTo(total - 1),
211
+ disabled: !canNext,
212
+ "aria-label": t("Go to last page"),
213
+ onKeyDown: activateOnEnterSpace(() => goTo(total - 1), canNext)
214
+ }), summary && /* @__PURE__ */jsx(Text, {
215
+ ...knobProps.body,
216
+ color: componentColors.text.muted,
217
+ "aria-live": "polite",
218
+ userSelect: "none",
219
+ children: summary
275
220
  })]
276
221
  });
277
222
  }