@astryxdesign/core 0.1.6-canary.acd4fe3 → 0.1.6-canary.aeb5ee6
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.
- package/dist/EmptyState/EmptyState.d.ts +1 -4
- package/dist/EmptyState/EmptyState.d.ts.map +1 -1
- package/dist/Pagination/Pagination.d.ts +1 -1
- package/dist/Pagination/Pagination.d.ts.map +1 -1
- package/dist/Pagination/Pagination.js +11 -38
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +1 -1
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +1 -1
- package/dist/Table/plugins/rowIndex/useTableRowIndex.d.ts +1 -1
- package/dist/Table/plugins/rowIndex/useTableRowIndex.js +1 -1
- package/dist/astryx.umd.js +55 -57
- package/dist/astryx.umd.js.map +4 -4
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -3
- package/package.json +2 -13
- package/src/AlertDialog/AlertDialog.doc.mjs +0 -5
- package/src/CheckboxList/CheckboxList.doc.mjs +0 -5
- package/src/EmptyState/EmptyState.doc.mjs +3 -3
- package/src/EmptyState/EmptyState.tsx +1 -4
- package/src/Layer/useLayer.doc.mjs +2 -2
- package/src/Pagination/Pagination.tsx +12 -35
- package/src/PowerSearch/PowerSearch.doc.mjs +0 -5
- package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +1 -1
- package/src/Table/plugins/rowIndex/useTableRowIndex.tsx +1 -1
- package/src/Table/useTableGroupedRows.doc.mjs +3 -3
- package/src/index.ts +0 -3
- package/dist/i18n/InternationalizationContext.d.ts +0 -12
- package/dist/i18n/InternationalizationContext.d.ts.map +0 -1
- package/dist/i18n/InternationalizationContext.js +0 -29
- package/dist/i18n/InternationalizationProvider.d.ts +0 -62
- package/dist/i18n/InternationalizationProvider.d.ts.map +0 -1
- package/dist/i18n/InternationalizationProvider.js +0 -44
- package/dist/i18n/index.d.ts +0 -24
- package/dist/i18n/index.d.ts.map +0 -1
- package/dist/i18n/index.js +0 -21
- package/dist/i18n/resolve.d.ts +0 -22
- package/dist/i18n/resolve.d.ts.map +0 -1
- package/dist/i18n/resolve.js +0 -141
- package/dist/i18n/translator.d.ts +0 -25
- package/dist/i18n/translator.d.ts.map +0 -1
- package/dist/i18n/translator.js +0 -1
- package/dist/i18n/types.d.ts +0 -47
- package/dist/i18n/types.d.ts.map +0 -1
- package/dist/i18n/types.js +0 -1
- package/dist/i18n/useTranslator.d.ts +0 -15
- package/dist/i18n/useTranslator.d.ts.map +0 -1
- package/dist/i18n/useTranslator.js +0 -39
- package/locales/en.json +0 -38
- package/locales/pseudo.json +0 -29
- package/src/i18n/InternationalizationContext.ts +0 -39
- package/src/i18n/InternationalizationProvider.doc.mjs +0 -72
- package/src/i18n/InternationalizationProvider.tsx +0 -83
- package/src/i18n/__tests__/e2e-pagination.test.tsx +0 -172
- package/src/i18n/__tests__/resolve.test.ts +0 -284
- package/src/i18n/index.ts +0 -32
- package/src/i18n/resolve.ts +0 -165
- package/src/i18n/translator.ts +0 -31
- package/src/i18n/types.ts +0 -53
- package/src/i18n/useTranslator.doc.mjs +0 -42
- package/src/i18n/useTranslator.ts +0 -50
|
@@ -36,10 +36,7 @@ export interface EmptyStateProps extends BaseProps<HTMLDivElement> {
|
|
|
36
36
|
actions?: ReactNode;
|
|
37
37
|
/**
|
|
38
38
|
* Semantic heading level for the title element.
|
|
39
|
-
* Controls
|
|
40
|
-
* document outline. This is a semantic change for accessibility and does
|
|
41
|
-
* not change the visual size of the title, which stays fixed regardless
|
|
42
|
-
* of level.
|
|
39
|
+
* Controls the rendered HTML tag (h1–h6) to fit the document outline.
|
|
43
40
|
* @default 3
|
|
44
41
|
*/
|
|
45
42
|
headingLevel?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../src/EmptyState/EmptyState.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAC,KAAK,SAAS,EAAgB,MAAM,OAAO,CAAC;AAQpD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA4D5C,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAChE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB
|
|
1
|
+
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../src/EmptyState/EmptyState.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAC,KAAK,SAAS,EAAgB,MAAM,OAAO,CAAC;AAQpD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA4D5C,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAChE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,OAAO,EACP,YAAgB,EAChB,SAAiB,EACjB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,eAAe,+BA8CjB;yBA1De,UAAU"}
|
|
@@ -116,7 +116,7 @@ export declare function generatePageRange(currentPage: number, totalPages: numbe
|
|
|
116
116
|
* />
|
|
117
117
|
* ```
|
|
118
118
|
*/
|
|
119
|
-
export declare function Pagination({ page, onChange, changeAction, totalItems, totalPages: totalPagesProp, hasMore, pageSize: pageSizeProp, pageSizeOptions, onPageSizeChange, variant, siblingCount, size, isDisabled, label
|
|
119
|
+
export declare function Pagination({ page, onChange, changeAction, totalItems, totalPages: totalPagesProp, hasMore, pageSize: pageSizeProp, pageSizeOptions, onPageSizeChange, variant, siblingCount, size, isDisabled, label, 'data-testid': testId, xstyle, className, style, ref, ...rest }: PaginationProps): import("react").JSX.Element | null;
|
|
120
120
|
export declare namespace Pagination {
|
|
121
121
|
var displayName: string;
|
|
122
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../src/Pagination/Pagination.tsx"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../src/Pagination/Pagination.tsx"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAO5C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,IAAI,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC;IACZ,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC;AAE3D,uCAAuC;AACvC,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzC,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,SAAS,CAAC,WAAW,CAAC,EACtB,UAAU,CACX;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE7B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGtD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAG9C;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IAGtB,wDAAwD;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAiGD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CA6CpB;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,UAAU,EAAE,cAAc,EAC1B,OAAO,EACP,QAAQ,EAAE,YAAiB,EAC3B,eAAe,EACf,gBAAgB,EAChB,OAAiB,EACjB,YAAgB,EAChB,IAAW,EACX,UAAkB,EAClB,KAAoB,EACpB,aAAa,EAAE,MAAM,EACrB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,eAAe,sCAqTjB;yBA1Ue,UAAU"}
|
|
@@ -30,7 +30,6 @@ import { useAnnounce } from "../hooks/useAnnounce.js";
|
|
|
30
30
|
import { useListFocus } from "../hooks/useListFocus.js";
|
|
31
31
|
import { mergeProps } from "../utils/index.js";
|
|
32
32
|
import { themeProps } from "../utils/themeProps.js";
|
|
33
|
-
import { useTranslator } from "../i18n/useTranslator.js";
|
|
34
33
|
|
|
35
34
|
// =============================================================================
|
|
36
35
|
// Types
|
|
@@ -169,7 +168,7 @@ export function Pagination({
|
|
|
169
168
|
siblingCount = 1,
|
|
170
169
|
size = 'md',
|
|
171
170
|
isDisabled = false,
|
|
172
|
-
label
|
|
171
|
+
label = 'Pagination',
|
|
173
172
|
'data-testid': testId,
|
|
174
173
|
xstyle,
|
|
175
174
|
className,
|
|
@@ -179,14 +178,6 @@ export function Pagination({
|
|
|
179
178
|
}) {
|
|
180
179
|
const [, startTransition] = useTransition();
|
|
181
180
|
|
|
182
|
-
// Resolve system strings once per render. Prop overrides win.
|
|
183
|
-
const t = useTranslator();
|
|
184
|
-
const label = labelFromProps ?? t('@astryx.pagination.label');
|
|
185
|
-
const previousLabel = t('@astryx.pagination.previous');
|
|
186
|
-
const nextLabel = t('@astryx.pagination.next');
|
|
187
|
-
const pageIndicatorsLabel = t('@astryx.pagination.pageIndicators');
|
|
188
|
-
const itemsPerPageLabel = t('@astryx.pagination.itemsPerPage');
|
|
189
|
-
|
|
190
181
|
// pageSize is typed as number, so 0, NaN, and negatives are valid at the
|
|
191
182
|
// type level but yield Infinity/NaN page counts, and
|
|
192
183
|
// Array.from({length: Infinity}) crashes the dots variant. Coerce to a
|
|
@@ -241,12 +232,7 @@ export function Pagination({
|
|
|
241
232
|
// Keep onChange urgent so controlled page state updates in the same commit
|
|
242
233
|
// as the click; only the optimistic indicator and changeAction defer.
|
|
243
234
|
onChange(newPage);
|
|
244
|
-
announce(computedTotalPages != null ?
|
|
245
|
-
current: newPage,
|
|
246
|
-
total: computedTotalPages
|
|
247
|
-
}) : t('@astryx.pagination.pageAnnounce', {
|
|
248
|
-
current: newPage
|
|
249
|
-
}));
|
|
235
|
+
announce(computedTotalPages != null ? `Page ${newPage} of ${computedTotalPages}` : `Page ${newPage}`);
|
|
250
236
|
startTransition(async () => {
|
|
251
237
|
setOptimisticPage(newPage);
|
|
252
238
|
await changeAction?.(newPage);
|
|
@@ -322,12 +308,8 @@ export function Pagination({
|
|
|
322
308
|
}
|
|
323
309
|
const isActive = item === optimisticPage;
|
|
324
310
|
return /*#__PURE__*/_jsx(Button, {
|
|
325
|
-
label:
|
|
326
|
-
|
|
327
|
-
}),
|
|
328
|
-
"aria-label": t('@astryx.pagination.goToPage', {
|
|
329
|
-
page: item
|
|
330
|
-
}),
|
|
311
|
+
label: `Go to page ${item}`,
|
|
312
|
+
"aria-label": `Go to page ${item}`,
|
|
331
313
|
variant: "ghost",
|
|
332
314
|
size: buttonSize,
|
|
333
315
|
onClick: () => handlePageChange(item),
|
|
@@ -352,11 +334,7 @@ export function Pagination({
|
|
|
352
334
|
type: "body",
|
|
353
335
|
size: "sm",
|
|
354
336
|
color: "secondary",
|
|
355
|
-
children:
|
|
356
|
-
from: rangeStart,
|
|
357
|
-
to: rangeEnd,
|
|
358
|
-
total: totalItems
|
|
359
|
-
})
|
|
337
|
+
children: `${rangeStart}\u2013${rangeEnd} of ${totalItems}`
|
|
360
338
|
})
|
|
361
339
|
});
|
|
362
340
|
}
|
|
@@ -373,10 +351,7 @@ export function Pagination({
|
|
|
373
351
|
type: "body",
|
|
374
352
|
size: "sm",
|
|
375
353
|
color: "secondary",
|
|
376
|
-
children:
|
|
377
|
-
current: optimisticPage,
|
|
378
|
-
total: computedTotalPages
|
|
379
|
-
})
|
|
354
|
+
children: `Page ${optimisticPage} of ${computedTotalPages}`
|
|
380
355
|
})
|
|
381
356
|
});
|
|
382
357
|
}
|
|
@@ -391,7 +366,7 @@ export function Pagination({
|
|
|
391
366
|
className: "x78zum5 x6s0dn4 xzye2dw"
|
|
392
367
|
},
|
|
393
368
|
role: "group",
|
|
394
|
-
"aria-label":
|
|
369
|
+
"aria-label": "Page indicators",
|
|
395
370
|
onKeyDown: handleDotsKeyDown,
|
|
396
371
|
onFocus: handleDotsFocus,
|
|
397
372
|
children: Array.from({
|
|
@@ -401,9 +376,7 @@ export function Pagination({
|
|
|
401
376
|
return /*#__PURE__*/_jsx("button", {
|
|
402
377
|
type: "button",
|
|
403
378
|
"data-page": i + 1,
|
|
404
|
-
"aria-label":
|
|
405
|
-
page: i + 1
|
|
406
|
-
}),
|
|
379
|
+
"aria-label": `Go to page ${i + 1}`,
|
|
407
380
|
"aria-current": isActive ? 'page' : undefined
|
|
408
381
|
// The active dot is the single roving tab stop; useListFocus
|
|
409
382
|
// maintains it as focus and the active page move.
|
|
@@ -471,7 +444,7 @@ export function Pagination({
|
|
|
471
444
|
className: "x1dmp6jm"
|
|
472
445
|
},
|
|
473
446
|
children: /*#__PURE__*/_jsx(Selector, {
|
|
474
|
-
label:
|
|
447
|
+
label: "Items per page",
|
|
475
448
|
isLabelHidden: true,
|
|
476
449
|
options: pageSizeOptions.map(opt => String(opt)),
|
|
477
450
|
value: String(pageSize),
|
|
@@ -485,7 +458,7 @@ export function Pagination({
|
|
|
485
458
|
className: "x78zum5 x6s0dn4 xzye2dw"
|
|
486
459
|
},
|
|
487
460
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
488
|
-
label:
|
|
461
|
+
label: "Go to previous page",
|
|
489
462
|
variant: "ghost",
|
|
490
463
|
size: buttonSize,
|
|
491
464
|
icon: /*#__PURE__*/_jsx(Icon, {
|
|
@@ -496,7 +469,7 @@ export function Pagination({
|
|
|
496
469
|
isDisabled: isDisabled || !hasPrevious,
|
|
497
470
|
isIconOnly: true
|
|
498
471
|
}), renderIndicator(), /*#__PURE__*/_jsx(Button, {
|
|
499
|
-
label:
|
|
472
|
+
label: "Go to next page",
|
|
500
473
|
variant: "ghost",
|
|
501
474
|
size: buttonSize,
|
|
502
475
|
icon: /*#__PURE__*/_jsx(Icon, {
|
|
@@ -52,7 +52,7 @@ export interface UseTableGroupedRowsResult<T extends Record<string, unknown>> {
|
|
|
52
52
|
* pass all three to `<Table>`.
|
|
53
53
|
*
|
|
54
54
|
* @example
|
|
55
|
-
* ```
|
|
55
|
+
* ```tsx
|
|
56
56
|
* const [collapsed, setCollapsed] = useState<Set<string>>(new Set());
|
|
57
57
|
* const grouped = useTableGroupedRows({
|
|
58
58
|
* data: rows,
|
|
@@ -41,7 +41,7 @@ export interface UseTableRowIndexConfig<T extends Record<string, unknown>> {
|
|
|
41
41
|
* so it reflects the current sort / filter / pagination view.
|
|
42
42
|
*
|
|
43
43
|
* @example
|
|
44
|
-
* ```
|
|
44
|
+
* ```tsx
|
|
45
45
|
* const rowIndex = useTableRowIndex({data});
|
|
46
46
|
* <Table data={data} columns={columns} idKey="id" plugins={{rowIndex}} />;
|
|
47
47
|
* ```
|
|
@@ -37,7 +37,7 @@ const INDEX_COLUMN_WIDTH = {
|
|
|
37
37
|
* so it reflects the current sort / filter / pagination view.
|
|
38
38
|
*
|
|
39
39
|
* @example
|
|
40
|
-
* ```
|
|
40
|
+
* ```tsx
|
|
41
41
|
* const rowIndex = useTableRowIndex({data});
|
|
42
42
|
* <Table data={data} columns={columns} idKey="id" plugins={{rowIndex}} />;
|
|
43
43
|
* ```
|