@astryxdesign/core 0.5.0-canary.d1807b8 → 0.5.0-canary.d4d4fc5

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 (40) hide show
  1. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +26 -0
  2. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -1
  3. package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +34 -3
  4. package/dist/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
  5. package/dist/Table/plugins/selection/useTableSelection.js +25 -1
  6. package/dist/astryx.css +1 -0
  7. package/locales/af-ZA.json +6 -6
  8. package/locales/ar-SA.json +6 -6
  9. package/locales/ca-ES.json +5 -5
  10. package/locales/cs-CZ.json +6 -6
  11. package/locales/da-DK.json +6 -6
  12. package/locales/de-DE.json +6 -6
  13. package/locales/el-GR.json +6 -6
  14. package/locales/es-ES.json +5 -5
  15. package/locales/fi-FI.json +6 -6
  16. package/locales/fr-FR.json +6 -6
  17. package/locales/he-IL.json +6 -6
  18. package/locales/hu-HU.json +6 -6
  19. package/locales/it-IT.json +6 -6
  20. package/locales/ja-JP.json +6 -6
  21. package/locales/ko-KR.json +6 -6
  22. package/locales/nl-NL.json +6 -6
  23. package/locales/no-NO.json +6 -6
  24. package/locales/pl-PL.json +6 -6
  25. package/locales/pt-BR.json +6 -6
  26. package/locales/pt-PT.json +6 -6
  27. package/locales/ro-RO.json +6 -6
  28. package/locales/ru-RU.json +6 -6
  29. package/locales/sr-SP.json +6 -6
  30. package/locales/sv-SE.json +6 -6
  31. package/locales/tr-TR.json +6 -6
  32. package/locales/uk-UA.json +6 -6
  33. package/locales/vi-VN.json +6 -6
  34. package/locales/zh-CN.json +6 -6
  35. package/locales/zh-TW.json +6 -6
  36. package/package.json +2 -2
  37. package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +50 -4
  38. package/src/Table/plugins/selection/useTableSelection.test.tsx +62 -0
  39. package/src/Table/plugins/selection/useTableSelection.tsx +25 -2
  40. package/src/Table/useTableGroupedRows.doc.mjs +3 -3
@@ -73,6 +73,32 @@ export interface UseTableGroupedRowsResult<T extends Record<string, unknown>> {
73
73
  * plugins={{grouped: grouped.plugin}}
74
74
  * />;
75
75
  * ```
76
+ *
77
+ * ## Pairing with pagination
78
+ *
79
+ * Grouping runs on the rows it is handed, so the order is filter, sort, slice,
80
+ * then group. Sort by the group key first and the reader's own keys second —
81
+ * the same `ORDER BY group, sort` a backend would run. That keeps a section's
82
+ * rows contiguous in the result set, so pages fill sections in order and new
83
+ * rows always land at the bottom of the table. Slice a differently-ordered
84
+ * list and every page holds a scatter of sections instead, so loading more
85
+ * splices rows into the middle and new headings appear above the fold.
86
+ *
87
+ * @example
88
+ * ```
89
+ * const ordered = useMemo(
90
+ * () => [...filtered].sort((a, b) => byTeam(a, b) || bySortKeys(a, b)),
91
+ * [filtered, sortKeys],
92
+ * );
93
+ * const page = ordered.slice(0, loadedCount);
94
+ *
95
+ * const grouped = useTableGroupedRows({
96
+ * data: page,
97
+ * groupBy: r => r.team,
98
+ * collapsedGroups,
99
+ * onToggleGroup,
100
+ * });
101
+ * ```
76
102
  */
77
103
  export declare function useTableGroupedRows<T extends Record<string, unknown>>(config: UseTableGroupedRowsConfig<T>): UseTableGroupedRowsResult<T>;
78
104
  //# sourceMappingURL=useTableGroupedRows.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTableGroupedRows.d.ts","sourceRoot":"","sources":["../../../../src/Table/plugins/groupedRows/useTableGroupedRows.tsx"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,EAAuB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAQ3D,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAqD7C,qDAAqD;AACrD,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1E,8BAA8B;IAC9B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,8EAA8E;IAC9E,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC7B,6CAA6C;IAC7C,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,0DAA0D;IAC1D,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,KACf,SAAS,CAAC;IACf,8EAA8E;IAC9E,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAChC,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1E,iDAAiD;IACjD,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB,0EAA0E;IAC1E,IAAI,EAAE,CAAC,EAAE,CAAC;IACV;;;;OAIG;IACH,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;CAC5B;AAiFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnE,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,GACnC,yBAAyB,CAAC,CAAC,CAAC,CAkK9B"}
1
+ {"version":3,"file":"useTableGroupedRows.d.ts","sourceRoot":"","sources":["../../../../src/Table/plugins/groupedRows/useTableGroupedRows.tsx"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,EAAuB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAQ3D,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAqD7C,qDAAqD;AACrD,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1E,8BAA8B;IAC9B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,8EAA8E;IAC9E,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC7B,6CAA6C;IAC7C,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,0DAA0D;IAC1D,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,KACf,SAAS,CAAC;IACf,8EAA8E;IAC9E,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAChC,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1E,iDAAiD;IACjD,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB,0EAA0E;IAC1E,IAAI,EAAE,CAAC,EAAE,CAAC;IACV;;;;OAIG;IACH,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;CAC5B;AAiGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnE,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,GACnC,yBAAyB,CAAC,CAAC,CAAC,CAsK9B"}
@@ -114,6 +114,32 @@ const styles = {
114
114
  * plugins={{grouped: grouped.plugin}}
115
115
  * />;
116
116
  * ```
117
+ *
118
+ * ## Pairing with pagination
119
+ *
120
+ * Grouping runs on the rows it is handed, so the order is filter, sort, slice,
121
+ * then group. Sort by the group key first and the reader's own keys second —
122
+ * the same `ORDER BY group, sort` a backend would run. That keeps a section's
123
+ * rows contiguous in the result set, so pages fill sections in order and new
124
+ * rows always land at the bottom of the table. Slice a differently-ordered
125
+ * list and every page holds a scatter of sections instead, so loading more
126
+ * splices rows into the middle and new headings appear above the fold.
127
+ *
128
+ * @example
129
+ * ```
130
+ * const ordered = useMemo(
131
+ * () => [...filtered].sort((a, b) => byTeam(a, b) || bySortKeys(a, b)),
132
+ * [filtered, sortKeys],
133
+ * );
134
+ * const page = ordered.slice(0, loadedCount);
135
+ *
136
+ * const grouped = useTableGroupedRows({
137
+ * data: page,
138
+ * groupBy: r => r.team,
139
+ * collapsedGroups,
140
+ * onToggleGroup,
141
+ * });
142
+ * ```
117
143
  */
118
144
  export function useTableGroupedRows(config) {
119
145
  const t = useTranslator();
@@ -233,12 +259,17 @@ export function useTableGroupedRows(config) {
233
259
  _jsx("td", {
234
260
  colSpan: 999,
235
261
  ...{
236
- className: "xce4md1 x1vsv5vr x1t818jl"
262
+ className: "xce4md1 x1c1uobl x1t818jl"
237
263
  },
238
264
  children: /*#__PURE__*/_jsxs("span", {
239
265
  ...{
240
- className: "x78zum5 x6s0dn4 xzye2dw"
241
- },
266
+ 0: {
267
+ className: "x78zum5 x6s0dn4 xzye2dw x1o0tod x7wzq59 x1vsv5vr"
268
+ },
269
+ 1: {
270
+ className: "x78zum5 x6s0dn4 xzye2dw x1o0tod x7wzq59 x1vsv5vr xeq5yr9"
271
+ }
272
+ }[!!!renderGroupHeader << 0],
242
273
  children: [/*#__PURE__*/_jsx("button", {
243
274
  type: "button",
244
275
  ...{
@@ -1 +1 @@
1
- {"version":3,"file":"useTableSelection.d.ts","sourceRoot":"","sources":["../../../../src/Table/plugins/selection/useTableSelection.tsx"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EAAC,WAAW,EAAkC,MAAM,aAAa,CAAC;AAQ9E,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxE,uCAAuC;IACvC,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IACxC,6EAA6E;IAC7E,YAAY,EAAE,CAAC,KAAK,EAAE;QAAC,IAAI,EAAE,CAAC,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,CAAC;IAC9D,kDAAkD;IAClD,WAAW,EAAE,CAAC,KAAK,EAAE;QAAC,aAAa,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,CAAC;IACvD,mDAAmD;IACnD,gBAAgB,EAAE,MAAM,OAAO,CAAC;IAChC,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC;IACnC,+FAA+F;IAC/F,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IAC3C,oGAAoG;IACpG,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IACxC;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAClC;;;;;;;;;;;;;;OAcG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA6ND,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC,GACjC,WAAW,CAAC,CAAC,CAAC,CA2FhB"}
1
+ {"version":3,"file":"useTableSelection.d.ts","sourceRoot":"","sources":["../../../../src/Table/plugins/selection/useTableSelection.tsx"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EAAC,WAAW,EAAkC,MAAM,aAAa,CAAC;AAQ9E,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxE,uCAAuC;IACvC,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IACxC,6EAA6E;IAC7E,YAAY,EAAE,CAAC,KAAK,EAAE;QAAC,IAAI,EAAE,CAAC,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,CAAC;IAC9D,kDAAkD;IAClD,WAAW,EAAE,CAAC,KAAK,EAAE;QAAC,aAAa,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,CAAC;IACvD,mDAAmD;IACnD,gBAAgB,EAAE,MAAM,OAAO,CAAC;IAChC,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC;IACnC,+FAA+F;IAC/F,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IAC3C,oGAAoG;IACpG,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IACxC;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAClC;;;;;;;;;;;;;;OAcG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAoPD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC,GACjC,WAAW,CAAC,CAAC,CAAC,CA2FhB"}
@@ -90,7 +90,24 @@ function applyRowSelectionStyle(el, isSelected, hasRowHighlight) {
90
90
  }
91
91
  // Written on every pass, not just when painting: the flag can flip while a
92
92
  // row is already selected, and the wash has to come back off.
93
- el.style.backgroundColor = isSelected && hasRowHighlight ? selectedBgColor : '';
93
+ const wash = isSelected && hasRowHighlight ? selectedBgColor : '';
94
+ if (el.style.backgroundColor !== wash) {
95
+ el.style.backgroundColor = wash;
96
+ }
97
+ // A pinned column paints its own opaque background over the row, so the
98
+ // wash alone stops at the freeze line. Publishing it as the row overlay is
99
+ // what lets useTableStickyColumns replay it on those cells — the same
100
+ // contract TableRow honours for striping and hover.
101
+ const currentOverlay = el.style.getPropertyValue(ROW_OVERLAY_VAR);
102
+ if (wash === '') {
103
+ if (currentOverlay !== '') {
104
+ el.style.removeProperty(ROW_OVERLAY_VAR);
105
+ }
106
+ } else {
107
+ if (currentOverlay !== wash) {
108
+ el.style.setProperty(ROW_OVERLAY_VAR, wash);
109
+ }
110
+ }
94
111
  }
95
112
 
96
113
  // =============================================================================
@@ -214,6 +231,13 @@ function SelectionCellContentInner({
214
231
  // =============================================================================
215
232
 
216
233
  const selectedBgColor = colorVars['--color-accent-muted'];
234
+
235
+ /**
236
+ * The row's current fill, republished for pinned cells to read. Declared as a
237
+ * literal rather than imported because StyleX needs the same name as a static
238
+ * key on the reading side, so there is no one constant both ends can share.
239
+ */
240
+ const ROW_OVERLAY_VAR = '--table-row-overlay';
217
241
  /** Selection column key — prefixed to avoid collisions with user columns. */
218
242
  const SELECTION_COLUMN_KEY = '__xds_selection';
219
243
 
package/dist/astryx.css CHANGED
@@ -1721,6 +1721,7 @@
1721
1721
  .x14atkfc:not(#\#):not(#\#):not(#\#):not(#\#){width:auto}
1722
1722
  .xx6qvi6:not(#\#):not(#\#):not(#\#):not(#\#){width:calc(100% + var(--container-padding-inline-start,0px) + var(--container-padding-inline-end,0px))}
1723
1723
  .x1y2t9nm:not(#\#):not(#\#):not(#\#):not(#\#){width:calc(44px - 8px)}
1724
+ .xeq5yr9:not(#\#):not(#\#):not(#\#):not(#\#){width:fit-content}
1724
1725
  .x63cpjl:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--_progressbar-mark-width,2px)}
1725
1726
  .xjk4fl7:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--border-width)}
1726
1727
  .xkhob8h:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--resize-handle-hit-area,16px)}
@@ -673,7 +673,7 @@
673
673
  },
674
674
  "@astryx.table.pagination.label": {
675
675
  "defaultMessage": "Tabelbladsynommering",
676
- "description": "Screen-reader-only accessible name for the pagination `<nav>` appended below a data table. Kept separate from `@astryx.pagination.label` so translations may diverge."
676
+ "description": "Screen-reader-only accessible name for a table's pagination `<nav>` (rendered below and/or above the table per the plugin's position config). Kept separate from `@astryx.pagination.label` so translations may diverge. When position='both', this string is interpolated as the {label} value into `@astryx.table.pagination.labelAbove`/`labelBelow` — keep it compatible with those suffix templates."
677
677
  },
678
678
  "@astryx.timeInput.placeholder": {
679
679
  "defaultMessage": "Kies 'n tyd",
@@ -873,23 +873,23 @@
873
873
  },
874
874
  "@astryx.step.goToStep": {
875
875
  "defaultMessage": "Gaan na stap {stepNumber, number}: {label}",
876
- "description": "Accessible name for a clickable step in the lab Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
876
+ "description": "Accessible name for a clickable step in the Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
877
877
  },
878
878
  "@astryx.step.goToStepWithStatus": {
879
879
  "defaultMessage": "Gaan na stap {stepNumber, number}: {label}, {status}",
880
- "description": "Accessible name for a clickable lab Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
880
+ "description": "Accessible name for a clickable Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
881
881
  },
882
882
  "@astryx.step.status.completed": {
883
883
  "defaultMessage": "voltooi",
884
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
884
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
885
885
  },
886
886
  "@astryx.step.status.warning": {
887
887
  "defaultMessage": "waarskuwing",
888
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
888
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
889
889
  },
890
890
  "@astryx.step.status.error": {
891
891
  "defaultMessage": "fout",
892
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=error. Lowercase noun; read mid-sentence after the step label."
892
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=error. Lowercase noun; read mid-sentence after the step label."
893
893
  },
894
894
  "@astryx.tableTree.collapseRow": {
895
895
  "defaultMessage": "Vou ry in",
@@ -701,7 +701,7 @@
701
701
  },
702
702
  "@astryx.table.pagination.label": {
703
703
  "defaultMessage": "تنقل الجدول بين الصفحات",
704
- "description": "Screen-reader-only accessible name for the pagination `<nav>` appended below a data table. Kept separate from `@astryx.pagination.label` so translations may diverge."
704
+ "description": "Screen-reader-only accessible name for a table's pagination `<nav>` (rendered below and/or above the table per the plugin's position config). Kept separate from `@astryx.pagination.label` so translations may diverge. When position='both', this string is interpolated as the {label} value into `@astryx.table.pagination.labelAbove`/`labelBelow` — keep it compatible with those suffix templates."
705
705
  },
706
706
  "@astryx.timeInput.placeholder": {
707
707
  "defaultMessage": "حدّد وقتًا",
@@ -913,23 +913,23 @@
913
913
  },
914
914
  "@astryx.step.goToStep": {
915
915
  "defaultMessage": "الانتقال إلى الخطوة {stepNumber, number}: {label}",
916
- "description": "Accessible name for a clickable step in the lab Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
916
+ "description": "Accessible name for a clickable step in the Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
917
917
  },
918
918
  "@astryx.step.goToStepWithStatus": {
919
919
  "defaultMessage": "الانتقال إلى الخطوة {stepNumber, number}: {label}، {status}",
920
- "description": "Accessible name for a clickable lab Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
920
+ "description": "Accessible name for a clickable Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
921
921
  },
922
922
  "@astryx.step.status.completed": {
923
923
  "defaultMessage": "مكتملة",
924
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
924
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
925
925
  },
926
926
  "@astryx.step.status.warning": {
927
927
  "defaultMessage": "تحذير",
928
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
928
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
929
929
  },
930
930
  "@astryx.step.status.error": {
931
931
  "defaultMessage": "خطأ",
932
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=error. Lowercase noun; read mid-sentence after the step label."
932
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=error. Lowercase noun; read mid-sentence after the step label."
933
933
  },
934
934
  "@astryx.tableTree.collapseRow": {
935
935
  "defaultMessage": "طيّ الصف",
@@ -693,7 +693,7 @@
693
693
  },
694
694
  "@astryx.table.pagination.label": {
695
695
  "defaultMessage": "Paginació de la taula",
696
- "description": "Screen-reader-only accessible name for the pagination `<nav>` appended below a data table. Kept separate from `@astryx.pagination.label` so translations may diverge."
696
+ "description": "Screen-reader-only accessible name for a table's pagination `<nav>` (rendered below and/or above the table per the plugin's position config). Kept separate from `@astryx.pagination.label` so translations may diverge. When position='both', this string is interpolated as the {label} value into `@astryx.table.pagination.labelAbove`/`labelBelow` — keep it compatible with those suffix templates."
697
697
  },
698
698
  "@astryx.timeInput.placeholder": {
699
699
  "defaultMessage": "Selecciona una hora",
@@ -893,19 +893,19 @@
893
893
  },
894
894
  "@astryx.step.goToStep": {
895
895
  "defaultMessage": "Ves al pas {stepNumber, number}: {label}",
896
- "description": "Accessible name for a clickable step in the lab Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
896
+ "description": "Accessible name for a clickable step in the Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
897
897
  },
898
898
  "@astryx.step.goToStepWithStatus": {
899
899
  "defaultMessage": "Ves al pas {stepNumber, number}: {label}, {status}",
900
- "description": "Accessible name for a clickable lab Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
900
+ "description": "Accessible name for a clickable Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
901
901
  },
902
902
  "@astryx.step.status.completed": {
903
903
  "defaultMessage": "completat",
904
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
904
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
905
905
  },
906
906
  "@astryx.step.status.warning": {
907
907
  "defaultMessage": "advertiment",
908
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
908
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
909
909
  },
910
910
  "@astryx.tableTree.collapseRow": {
911
911
  "defaultMessage": "Redueix la fila",
@@ -697,7 +697,7 @@
697
697
  },
698
698
  "@astryx.table.pagination.label": {
699
699
  "defaultMessage": "Stránkování tabulky",
700
- "description": "Screen-reader-only accessible name for the pagination `<nav>` appended below a data table. Kept separate from `@astryx.pagination.label` so translations may diverge."
700
+ "description": "Screen-reader-only accessible name for a table's pagination `<nav>` (rendered below and/or above the table per the plugin's position config). Kept separate from `@astryx.pagination.label` so translations may diverge. When position='both', this string is interpolated as the {label} value into `@astryx.table.pagination.labelAbove`/`labelBelow` — keep it compatible with those suffix templates."
701
701
  },
702
702
  "@astryx.timeInput.placeholder": {
703
703
  "defaultMessage": "Vyberte čas",
@@ -905,23 +905,23 @@
905
905
  },
906
906
  "@astryx.step.goToStep": {
907
907
  "defaultMessage": "Přejít na krok {stepNumber, number}: {label}",
908
- "description": "Accessible name for a clickable step in the lab Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
908
+ "description": "Accessible name for a clickable step in the Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
909
909
  },
910
910
  "@astryx.step.goToStepWithStatus": {
911
911
  "defaultMessage": "Přejít na krok {stepNumber, number}: {label}, {status}",
912
- "description": "Accessible name for a clickable lab Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
912
+ "description": "Accessible name for a clickable Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
913
913
  },
914
914
  "@astryx.step.status.completed": {
915
915
  "defaultMessage": "dokončeno",
916
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
916
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
917
917
  },
918
918
  "@astryx.step.status.warning": {
919
919
  "defaultMessage": "varování",
920
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
920
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
921
921
  },
922
922
  "@astryx.step.status.error": {
923
923
  "defaultMessage": "chyba",
924
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=error. Lowercase noun; read mid-sentence after the step label."
924
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=error. Lowercase noun; read mid-sentence after the step label."
925
925
  },
926
926
  "@astryx.tableTree.collapseRow": {
927
927
  "defaultMessage": "Sbalit řádek",
@@ -689,7 +689,7 @@
689
689
  },
690
690
  "@astryx.table.pagination.label": {
691
691
  "defaultMessage": "Tabelsideinddeling",
692
- "description": "Screen-reader-only accessible name for the pagination `<nav>` appended below a data table. Kept separate from `@astryx.pagination.label` so translations may diverge."
692
+ "description": "Screen-reader-only accessible name for a table's pagination `<nav>` (rendered below and/or above the table per the plugin's position config). Kept separate from `@astryx.pagination.label` so translations may diverge. When position='both', this string is interpolated as the {label} value into `@astryx.table.pagination.labelAbove`/`labelBelow` — keep it compatible with those suffix templates."
693
693
  },
694
694
  "@astryx.timeInput.placeholder": {
695
695
  "defaultMessage": "Vælg et tidspunkt",
@@ -881,23 +881,23 @@
881
881
  },
882
882
  "@astryx.step.goToStep": {
883
883
  "defaultMessage": "Gå til trin {stepNumber, number}: {label}",
884
- "description": "Accessible name for a clickable step in the lab Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
884
+ "description": "Accessible name for a clickable step in the Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
885
885
  },
886
886
  "@astryx.step.goToStepWithStatus": {
887
887
  "defaultMessage": "Gå til trin {stepNumber, number}: {label}, {status}",
888
- "description": "Accessible name for a clickable lab Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
888
+ "description": "Accessible name for a clickable Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
889
889
  },
890
890
  "@astryx.step.status.completed": {
891
891
  "defaultMessage": "fuldført",
892
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
892
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
893
893
  },
894
894
  "@astryx.step.status.warning": {
895
895
  "defaultMessage": "advarsel",
896
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
896
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
897
897
  },
898
898
  "@astryx.step.status.error": {
899
899
  "defaultMessage": "fejl",
900
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=error. Lowercase noun; read mid-sentence after the step label."
900
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=error. Lowercase noun; read mid-sentence after the step label."
901
901
  },
902
902
  "@astryx.tableTree.collapseRow": {
903
903
  "defaultMessage": "Skjul række",
@@ -689,7 +689,7 @@
689
689
  },
690
690
  "@astryx.table.pagination.label": {
691
691
  "defaultMessage": "Tabellennummerierung",
692
- "description": "Screen-reader-only accessible name for the pagination `<nav>` appended below a data table. Kept separate from `@astryx.pagination.label` so translations may diverge."
692
+ "description": "Screen-reader-only accessible name for a table's pagination `<nav>` (rendered below and/or above the table per the plugin's position config). Kept separate from `@astryx.pagination.label` so translations may diverge. When position='both', this string is interpolated as the {label} value into `@astryx.table.pagination.labelAbove`/`labelBelow` — keep it compatible with those suffix templates."
693
693
  },
694
694
  "@astryx.timeInput.placeholder": {
695
695
  "defaultMessage": "Uhrzeit auswählen",
@@ -881,23 +881,23 @@
881
881
  },
882
882
  "@astryx.step.goToStep": {
883
883
  "defaultMessage": "Zu Schritt {stepNumber, number}: {label}",
884
- "description": "Accessible name for a clickable step in the lab Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
884
+ "description": "Accessible name for a clickable step in the Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
885
885
  },
886
886
  "@astryx.step.goToStepWithStatus": {
887
887
  "defaultMessage": "Zu Schritt {stepNumber, number}: {label}, {status}",
888
- "description": "Accessible name for a clickable lab Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
888
+ "description": "Accessible name for a clickable Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
889
889
  },
890
890
  "@astryx.step.status.completed": {
891
891
  "defaultMessage": "abgeschlossen",
892
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
892
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
893
893
  },
894
894
  "@astryx.step.status.warning": {
895
895
  "defaultMessage": "Warnung",
896
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
896
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
897
897
  },
898
898
  "@astryx.step.status.error": {
899
899
  "defaultMessage": "Fehler",
900
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=error. Lowercase noun; read mid-sentence after the step label."
900
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=error. Lowercase noun; read mid-sentence after the step label."
901
901
  },
902
902
  "@astryx.tableTree.collapseRow": {
903
903
  "defaultMessage": "Zeile einklappen",
@@ -697,7 +697,7 @@
697
697
  },
698
698
  "@astryx.table.pagination.label": {
699
699
  "defaultMessage": "Σελιδοποίηση πίνακα",
700
- "description": "Screen-reader-only accessible name for the pagination `<nav>` appended below a data table. Kept separate from `@astryx.pagination.label` so translations may diverge."
700
+ "description": "Screen-reader-only accessible name for a table's pagination `<nav>` (rendered below and/or above the table per the plugin's position config). Kept separate from `@astryx.pagination.label` so translations may diverge. When position='both', this string is interpolated as the {label} value into `@astryx.table.pagination.labelAbove`/`labelBelow` — keep it compatible with those suffix templates."
701
701
  },
702
702
  "@astryx.timeInput.placeholder": {
703
703
  "defaultMessage": "Επιλέξτε ώρα",
@@ -905,23 +905,23 @@
905
905
  },
906
906
  "@astryx.step.goToStep": {
907
907
  "defaultMessage": "Μετάβαση στο βήμα {stepNumber, number}: {label}",
908
- "description": "Accessible name for a clickable step in the lab Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
908
+ "description": "Accessible name for a clickable step in the Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
909
909
  },
910
910
  "@astryx.step.goToStepWithStatus": {
911
911
  "defaultMessage": "Μετάβαση στο βήμα {stepNumber, number}: {label}, {status}",
912
- "description": "Accessible name for a clickable lab Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
912
+ "description": "Accessible name for a clickable Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
913
913
  },
914
914
  "@astryx.step.status.completed": {
915
915
  "defaultMessage": "ολοκληρώθηκε",
916
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
916
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
917
917
  },
918
918
  "@astryx.step.status.warning": {
919
919
  "defaultMessage": "προειδοποίηση",
920
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
920
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
921
921
  },
922
922
  "@astryx.step.status.error": {
923
923
  "defaultMessage": "σφάλμα",
924
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=error. Lowercase noun; read mid-sentence after the step label."
924
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=error. Lowercase noun; read mid-sentence after the step label."
925
925
  },
926
926
  "@astryx.tableTree.collapseRow": {
927
927
  "defaultMessage": "Σύμπτυξη γραμμής",
@@ -697,7 +697,7 @@
697
697
  },
698
698
  "@astryx.table.pagination.label": {
699
699
  "defaultMessage": "Paginación de la tabla",
700
- "description": "Screen-reader-only accessible name for the pagination `<nav>` appended below a data table. Kept separate from `@astryx.pagination.label` so translations may diverge."
700
+ "description": "Screen-reader-only accessible name for a table's pagination `<nav>` (rendered below and/or above the table per the plugin's position config). Kept separate from `@astryx.pagination.label` so translations may diverge. When position='both', this string is interpolated as the {label} value into `@astryx.table.pagination.labelAbove`/`labelBelow` — keep it compatible with those suffix templates."
701
701
  },
702
702
  "@astryx.timeInput.placeholder": {
703
703
  "defaultMessage": "Selecciona una hora",
@@ -897,19 +897,19 @@
897
897
  },
898
898
  "@astryx.step.goToStep": {
899
899
  "defaultMessage": "Ir al paso {stepNumber, number}: {label}",
900
- "description": "Accessible name for a clickable step in the lab Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
900
+ "description": "Accessible name for a clickable step in the Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
901
901
  },
902
902
  "@astryx.step.goToStepWithStatus": {
903
903
  "defaultMessage": "Ir al paso {stepNumber, number}: {label}, {status}",
904
- "description": "Accessible name for a clickable lab Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
904
+ "description": "Accessible name for a clickable Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
905
905
  },
906
906
  "@astryx.step.status.completed": {
907
907
  "defaultMessage": "completado",
908
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
908
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
909
909
  },
910
910
  "@astryx.step.status.warning": {
911
911
  "defaultMessage": "advertencia",
912
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
912
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
913
913
  },
914
914
  "@astryx.tableTree.collapseRow": {
915
915
  "defaultMessage": "Contraer la fila",
@@ -697,7 +697,7 @@
697
697
  },
698
698
  "@astryx.table.pagination.label": {
699
699
  "defaultMessage": "Taulukon sivutus",
700
- "description": "Screen-reader-only accessible name for the pagination `<nav>` appended below a data table. Kept separate from `@astryx.pagination.label` so translations may diverge."
700
+ "description": "Screen-reader-only accessible name for a table's pagination `<nav>` (rendered below and/or above the table per the plugin's position config). Kept separate from `@astryx.pagination.label` so translations may diverge. When position='both', this string is interpolated as the {label} value into `@astryx.table.pagination.labelAbove`/`labelBelow` — keep it compatible with those suffix templates."
701
701
  },
702
702
  "@astryx.timeInput.placeholder": {
703
703
  "defaultMessage": "Valitse aika",
@@ -905,23 +905,23 @@
905
905
  },
906
906
  "@astryx.step.goToStep": {
907
907
  "defaultMessage": "Siirry vaiheeseen {stepNumber, number}: {label}",
908
- "description": "Accessible name for a clickable step in the lab Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
908
+ "description": "Accessible name for a clickable step in the Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
909
909
  },
910
910
  "@astryx.step.goToStepWithStatus": {
911
911
  "defaultMessage": "Siirry vaiheeseen {stepNumber, number}: {label}, {status}",
912
- "description": "Accessible name for a clickable lab Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
912
+ "description": "Accessible name for a clickable Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
913
913
  },
914
914
  "@astryx.step.status.completed": {
915
915
  "defaultMessage": "valmis",
916
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
916
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
917
917
  },
918
918
  "@astryx.step.status.warning": {
919
919
  "defaultMessage": "varoitus",
920
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
920
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
921
921
  },
922
922
  "@astryx.step.status.error": {
923
923
  "defaultMessage": "virhe",
924
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=error. Lowercase noun; read mid-sentence after the step label."
924
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=error. Lowercase noun; read mid-sentence after the step label."
925
925
  },
926
926
  "@astryx.tableTree.collapseRow": {
927
927
  "defaultMessage": "Tiivistä rivi",
@@ -665,7 +665,7 @@
665
665
  },
666
666
  "@astryx.table.pagination.label": {
667
667
  "defaultMessage": "Pagination du tableau",
668
- "description": "Screen-reader-only accessible name for the pagination `<nav>` appended below a data table. Kept separate from `@astryx.pagination.label` so translations may diverge."
668
+ "description": "Screen-reader-only accessible name for a table's pagination `<nav>` (rendered below and/or above the table per the plugin's position config). Kept separate from `@astryx.pagination.label` so translations may diverge. When position='both', this string is interpolated as the {label} value into `@astryx.table.pagination.labelAbove`/`labelBelow` — keep it compatible with those suffix templates."
669
669
  },
670
670
  "@astryx.timeInput.placeholder": {
671
671
  "defaultMessage": "Sélectionner une heure",
@@ -857,23 +857,23 @@
857
857
  },
858
858
  "@astryx.step.goToStep": {
859
859
  "defaultMessage": "Aller à l’étape {stepNumber, number} : {label}",
860
- "description": "Accessible name for a clickable step in the lab Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
860
+ "description": "Accessible name for a clickable step in the Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
861
861
  },
862
862
  "@astryx.step.goToStepWithStatus": {
863
863
  "defaultMessage": "Aller à l’étape {stepNumber, number} : {label}, {status}",
864
- "description": "Accessible name for a clickable lab Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
864
+ "description": "Accessible name for a clickable Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
865
865
  },
866
866
  "@astryx.step.status.completed": {
867
867
  "defaultMessage": "terminé",
868
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
868
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
869
869
  },
870
870
  "@astryx.step.status.warning": {
871
871
  "defaultMessage": "avertissement",
872
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
872
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
873
873
  },
874
874
  "@astryx.step.status.error": {
875
875
  "defaultMessage": "erreur",
876
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=error. Lowercase noun; read mid-sentence after the step label."
876
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=error. Lowercase noun; read mid-sentence after the step label."
877
877
  },
878
878
  "@astryx.tableTree.collapseRow": {
879
879
  "defaultMessage": "Réduire la ligne",
@@ -697,7 +697,7 @@
697
697
  },
698
698
  "@astryx.table.pagination.label": {
699
699
  "defaultMessage": "עימוד הטבלה",
700
- "description": "Screen-reader-only accessible name for the pagination `<nav>` appended below a data table. Kept separate from `@astryx.pagination.label` so translations may diverge."
700
+ "description": "Screen-reader-only accessible name for a table's pagination `<nav>` (rendered below and/or above the table per the plugin's position config). Kept separate from `@astryx.pagination.label` so translations may diverge. When position='both', this string is interpolated as the {label} value into `@astryx.table.pagination.labelAbove`/`labelBelow` — keep it compatible with those suffix templates."
701
701
  },
702
702
  "@astryx.timeInput.placeholder": {
703
703
  "defaultMessage": "בחירת שעה",
@@ -905,23 +905,23 @@
905
905
  },
906
906
  "@astryx.step.goToStep": {
907
907
  "defaultMessage": "מעבר לשלב {stepNumber, number}: {label}",
908
- "description": "Accessible name for a clickable step in the lab Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
908
+ "description": "Accessible name for a clickable step in the Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
909
909
  },
910
910
  "@astryx.step.goToStepWithStatus": {
911
911
  "defaultMessage": "מעבר לשלב {stepNumber, number}: {label}, {status}",
912
- "description": "Accessible name for a clickable lab Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
912
+ "description": "Accessible name for a clickable Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
913
913
  },
914
914
  "@astryx.step.status.completed": {
915
915
  "defaultMessage": "הושלם",
916
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
916
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
917
917
  },
918
918
  "@astryx.step.status.warning": {
919
919
  "defaultMessage": "אזהרה",
920
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
920
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=warning. Lowercase noun/adjective; read mid-sentence after the step label."
921
921
  },
922
922
  "@astryx.step.status.error": {
923
923
  "defaultMessage": "שגיאה",
924
- "description": "Screen-reader-only status word rendered next to a lab Stepper step label when status=error. Lowercase noun; read mid-sentence after the step label."
924
+ "description": "Screen-reader-only status word rendered next to a Stepper step label when status=error. Lowercase noun; read mid-sentence after the step label."
925
925
  },
926
926
  "@astryx.tableTree.collapseRow": {
927
927
  "defaultMessage": "כווץ את השורה",