@astryxdesign/core 0.2.0-canary.e0de50f → 0.2.0-canary.e37aae7
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/AppShell/AppShell.d.ts.map +1 -1
- package/dist/AppShell/AppShell.js +24 -4
- package/dist/Calendar/index.d.ts +1 -1
- package/dist/Calendar/index.d.ts.map +1 -1
- package/dist/Calendar/index.js +1 -1
- package/dist/Calendar/utils.d.ts +0 -4
- package/dist/Calendar/utils.d.ts.map +1 -1
- package/dist/Calendar/utils.js +1 -8
- package/dist/Dialog/Dialog.d.ts +4 -18
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +7 -19
- package/dist/Grid/Grid.d.ts +1 -9
- package/dist/Grid/Grid.d.ts.map +1 -1
- package/dist/Grid/Grid.js +0 -9
- package/dist/Icon/defaultIcons.d.ts.map +1 -1
- package/dist/Icon/defaultIcons.js +14 -0
- package/dist/Icon/globalIconRegistry.d.ts +1 -1
- package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.d.ts +5 -3
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +101 -23
- package/dist/MetadataList/MetadataList.d.ts.map +1 -1
- package/dist/MetadataList/MetadataList.js +33 -9
- package/dist/NavMenu/index.d.ts +0 -2
- package/dist/NavMenu/index.d.ts.map +1 -1
- package/dist/NavMenu/index.js +1 -3
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +15 -4
- package/dist/Pagination/Pagination.d.ts +25 -1
- package/dist/Pagination/Pagination.d.ts.map +1 -1
- package/dist/Pagination/Pagination.js +155 -12
- package/dist/Pagination/index.d.ts +1 -0
- package/dist/Pagination/index.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBar.d.ts +48 -2
- package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBar.js +79 -8
- package/dist/ProgressBar/ProgressBarMarkTooltip.d.ts +27 -0
- package/dist/ProgressBar/ProgressBarMarkTooltip.d.ts.map +1 -0
- package/dist/ProgressBar/ProgressBarMarkTooltip.js +35 -0
- package/dist/ProgressBar/index.d.ts +1 -1
- package/dist/ProgressBar/index.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +12 -1
- package/dist/Switch/Switch.d.ts +1 -5
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +2 -5
- package/dist/TabList/TabMenu.d.ts.map +1 -1
- package/dist/TabList/TabMenu.js +10 -2
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +3 -6
- package/dist/Table/TableCell.js +3 -1
- package/dist/Table/TableHeaderCell.js +3 -1
- package/dist/Table/index.d.ts +1 -1
- package/dist/Table/index.d.ts.map +1 -1
- package/dist/Table/index.js +1 -1
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +1 -1
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +1 -1
- package/dist/Table/types.d.ts +0 -9
- package/dist/Table/types.d.ts.map +1 -1
- package/dist/Timestamp/Timestamp.d.ts +23 -12
- package/dist/Timestamp/Timestamp.d.ts.map +1 -1
- package/dist/Timestamp/Timestamp.js +51 -59
- package/dist/Timestamp/TimestampHoverCard.d.ts +45 -0
- package/dist/Timestamp/TimestampHoverCard.d.ts.map +1 -0
- package/dist/Timestamp/TimestampHoverCard.js +228 -0
- package/dist/Timestamp/formatInstant.d.ts.map +1 -1
- package/dist/Timestamp/formatInstant.js +5 -0
- package/dist/Timestamp/tooltipEntries.d.ts +14 -0
- package/dist/Timestamp/tooltipEntries.d.ts.map +1 -1
- package/dist/Timestamp/tooltipEntries.js +1 -0
- package/dist/TopNav/TopNavHeading.d.ts +1 -7
- package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
- package/dist/TopNav/TopNavHeading.js +1 -4
- package/dist/astryx.css +8 -8
- package/dist/astryx.umd.js +46 -50
- 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 +1 -6
- package/dist/theme/contrast.d.ts +45 -0
- package/dist/theme/contrast.d.ts.map +1 -0
- package/dist/theme/contrast.js +88 -0
- package/dist/theme/defineTheme.d.ts +3 -3
- package/dist/theme/defineTheme.d.ts.map +1 -1
- package/dist/theme/defineTheme.js +2 -3
- package/dist/theme/expandColorScale.d.ts +10 -0
- package/dist/theme/expandColorScale.d.ts.map +1 -1
- package/dist/theme/expandColorScale.js +53 -2
- package/dist/theme/generateThemeRules.d.ts +0 -6
- package/dist/theme/generateThemeRules.d.ts.map +1 -1
- package/dist/theme/generateThemeRules.js +0 -15
- package/dist/theme/index.d.ts +3 -3
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +2 -2
- package/dist/theme/tokens.stylex.d.ts +0 -17
- package/dist/theme/tokens.stylex.d.ts.map +1 -1
- package/dist/theme/tokens.stylex.js +0 -22
- package/locales/en.json +84 -0
- package/locales/pseudo.json +63 -0
- package/package.json +2 -2
- package/src/AppShell/AppShell.test.tsx +55 -0
- package/src/AppShell/AppShell.tsx +25 -2
- package/src/Calendar/Calendar.test.tsx +7 -3
- package/src/Calendar/index.ts +1 -6
- package/src/Calendar/utils.ts +0 -11
- package/src/CommandPalette/CommandPaletteGroup.test.tsx +6 -2
- package/src/DateInput/DateInput.test.tsx +7 -3
- package/src/DateRangeInput/DateRangeInput.test.tsx +7 -2
- package/src/DateTimeInput/DateTimeInput.test.tsx +6 -2
- package/src/Dialog/Dialog.doc.mjs +1 -3
- package/src/Dialog/Dialog.test.tsx +4 -44
- package/src/Dialog/Dialog.tsx +9 -34
- package/src/Grid/Grid.doc.mjs +0 -5
- package/src/Grid/Grid.tsx +0 -24
- package/src/Icon/Icon.doc.mjs +3 -3
- package/src/Icon/defaultIcons.tsx +14 -0
- package/src/Icon/globalIconRegistry.tsx +2 -0
- package/src/Lightbox/Lightbox.doc.mjs +2 -2
- package/src/Lightbox/Lightbox.test.tsx +178 -0
- package/src/Lightbox/Lightbox.tsx +93 -18
- package/src/MetadataList/MetadataList.test.tsx +58 -0
- package/src/MetadataList/MetadataList.tsx +38 -17
- package/src/MultiSelector/MultiSelector.test.tsx +7 -3
- package/src/NavMenu/NavHeadingMenu.test.tsx +0 -16
- package/src/NavMenu/index.ts +0 -4
- package/src/NumberInput/NumberInput.doc.mjs +0 -3
- package/src/NumberInput/NumberInput.test.tsx +38 -3
- package/src/NumberInput/NumberInput.tsx +23 -0
- package/src/Pagination/Pagination.doc.mjs +52 -5
- package/src/Pagination/Pagination.test.tsx +567 -0
- package/src/Pagination/Pagination.tsx +209 -9
- package/src/Pagination/index.ts +1 -0
- package/src/ProgressBar/ProgressBar.doc.mjs +15 -0
- package/src/ProgressBar/ProgressBar.test.tsx +340 -2
- package/src/ProgressBar/ProgressBar.tsx +152 -4
- package/src/ProgressBar/ProgressBarMarkTooltip.tsx +43 -0
- package/src/ProgressBar/index.ts +5 -1
- package/src/Resizable/ResizeHandle.test.tsx +49 -1
- package/src/Resizable/ResizeHandle.tsx +17 -1
- package/src/Selector/Selector.test.tsx +7 -3
- package/src/Switch/Switch.doc.mjs +2 -2
- package/src/Switch/Switch.test.tsx +0 -25
- package/src/Switch/Switch.tsx +3 -14
- package/src/TabList/TabList.test.tsx +21 -18
- package/src/TabList/TabMenu.tsx +10 -2
- package/src/Table/BaseTable.tsx +3 -4
- package/src/Table/Table.doc.mjs +2 -2
- package/src/Table/Table.test.tsx +27 -49
- package/src/Table/TableCell.tsx +1 -1
- package/src/Table/TableHeaderCell.tsx +1 -1
- package/src/Table/index.ts +1 -1
- package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +1 -1
- package/src/Table/types.ts +0 -9
- package/src/Table/useTableRowStatus.doc.mjs +1 -1
- package/src/Timestamp/Timestamp.doc.mjs +26 -21
- package/src/Timestamp/Timestamp.test.tsx +307 -107
- package/src/Timestamp/Timestamp.tsx +75 -94
- package/src/Timestamp/TimestampHoverCard.tsx +283 -0
- package/src/Timestamp/formatInstant.ts +6 -0
- package/src/Timestamp/tooltipEntries.test.ts +9 -0
- package/src/Timestamp/tooltipEntries.ts +15 -0
- package/src/TopNav/TopNav.test.tsx +2 -2
- package/src/TopNav/TopNavHeading.doc.mjs +0 -11
- package/src/TopNav/TopNavHeading.tsx +1 -10
- package/src/TreeList/TreeList.test.tsx +10 -6
- package/src/index.ts +0 -21
- package/src/theme/contrast.test.ts +94 -0
- package/src/theme/contrast.ts +99 -0
- package/src/theme/defineTheme.test.ts +29 -30
- package/src/theme/defineTheme.ts +0 -4
- package/src/theme/expandColorScale.test.ts +243 -1
- package/src/theme/expandColorScale.ts +73 -2
- package/src/theme/generateThemeRules.ts +0 -15
- package/src/theme/index.ts +0 -4
- package/src/theme/tokens.stylex.ts +0 -19
- package/dist/NavMenu/NavMenuItem.d.ts +0 -13
- package/dist/NavMenu/NavMenuItem.d.ts.map +0 -1
- package/dist/NavMenu/NavMenuItem.js +0 -16
- package/src/NavMenu/NavMenuItem.tsx +0 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../src/AppShell/AppShell.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAmBf,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAM5C,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AA8BhD;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAE7D;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzC;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;;OAGG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAEhC;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC9D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAE1B;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC;IAE7B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,eAAe,GAAG,SAAS,CAAC;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../src/AppShell/AppShell.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAmBf,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAM5C,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AA8BhD;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAE7D;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzC;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;;OAGG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAEhC;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC9D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAE1B;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC;IAE7B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,eAAe,GAAG,SAAS,CAAC;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AA2KD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,OAAoB,EACpB,MAAM,EACN,QAAQ,EACR,cAAc,EACd,aAAa,EAAE,UAAU,EACzB,MAAe,EACf,SAAS,EACT,OAAO,EACP,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,aAAa,qBAoYf;yBAnZe,QAAQ"}
|
|
@@ -129,6 +129,10 @@ const styles = {
|
|
|
129
129
|
kAzted: "x1ov3xa9",
|
|
130
130
|
$$css: true
|
|
131
131
|
},
|
|
132
|
+
mainFocusTarget: {
|
|
133
|
+
kI3sdo: "x1uvtmcs",
|
|
134
|
+
$$css: true
|
|
135
|
+
},
|
|
132
136
|
contentBgSurface: {
|
|
133
137
|
kWkggS: "x10xzikg",
|
|
134
138
|
$$css: true
|
|
@@ -242,6 +246,13 @@ export function AppShell({
|
|
|
242
246
|
}
|
|
243
247
|
mobileNavConfig?.onOpenChange?.(open);
|
|
244
248
|
}, [mobileNavIsControlled, mobileNavConfig]);
|
|
249
|
+
|
|
250
|
+
// Move focus to the main content container when the skip link is activated.
|
|
251
|
+
// Hash navigation alone doesn't reliably move focus in every browser, so
|
|
252
|
+
// focus the target explicitly (it's focusable via tabIndex={-1}).
|
|
253
|
+
const handleSkipLinkClick = useCallback(() => {
|
|
254
|
+
document.getElementById(MAIN_CONTENT_ID)?.focus();
|
|
255
|
+
}, []);
|
|
245
256
|
const isFill = height === 'fill';
|
|
246
257
|
const isAuto = height === 'auto';
|
|
247
258
|
|
|
@@ -348,7 +359,11 @@ export function AppShell({
|
|
|
348
359
|
}), hasTopNav && topNavContent]
|
|
349
360
|
}) : undefined;
|
|
350
361
|
const headerContent = headerInner != null ? /*#__PURE__*/_jsx("div", {
|
|
351
|
-
ref: headerRef
|
|
362
|
+
ref: headerRef
|
|
363
|
+
// Top-level banner landmark for the header region (topNav + banner).
|
|
364
|
+
// Safe here: the wrapper is never nested inside main/nav/other landmarks.
|
|
365
|
+
,
|
|
366
|
+
role: "banner",
|
|
352
367
|
...mergeProps(themeProps('app-shell-header', {
|
|
353
368
|
variant
|
|
354
369
|
}), stylex.props(navAreaStyle, isAuto && styles.headerSticky)),
|
|
@@ -387,9 +402,13 @@ export function AppShell({
|
|
|
387
402
|
const mainInner = /*#__PURE__*/_jsx(LayoutContent, {
|
|
388
403
|
padding: contentPadding ?? 0,
|
|
389
404
|
role: "main",
|
|
390
|
-
id: MAIN_CONTENT_ID
|
|
405
|
+
id: MAIN_CONTENT_ID
|
|
406
|
+
// Focusable skip-link target (WCAG 2.4.1) — without tabIndex, several
|
|
407
|
+
// browsers won't move focus to the div when the skip link is activated.
|
|
408
|
+
,
|
|
409
|
+
tabIndex: -1,
|
|
391
410
|
isScrollable: isFill,
|
|
392
|
-
xstyle: contentAreaStyle,
|
|
411
|
+
xstyle: [contentAreaStyle, styles.mainFocusTarget],
|
|
393
412
|
children: children
|
|
394
413
|
});
|
|
395
414
|
const mainContent = shouldElevateWithCorner ? /*#__PURE__*/_jsxs("div", {
|
|
@@ -448,11 +467,12 @@ export function AppShell({
|
|
|
448
467
|
}), stylex.props(styles.root, variant === 'wash' ? styles.variantWash : variant === 'surface' ? styles.variantSurface : variant === 'section' ? styles.variantSection : styles.variantElevated, isFill ? styles.rootFill : styles.rootAuto, xstyle), className, style),
|
|
449
468
|
children: [/*#__PURE__*/_jsx("a", {
|
|
450
469
|
href: `#${MAIN_CONTENT_ID}`,
|
|
470
|
+
onClick: handleSkipLinkClick,
|
|
451
471
|
...{
|
|
452
472
|
className: "x10l6tqk x1xrnuwo x1i1rx1s x1jqxupm xjm9jq1 x15cytp8 xt970qd xh2mrf5 xnjsko4 x1cf3d6k xkdpibf x1y5lnwp xb3r6kr xomzh7y x1hyvwdk x1rsz1da xuxw1ft x1hbpcn8 xc342km x13vifvy x1rw3289 x1o0tod xodanix x10xzikg xjse4m1 x1q2oy4v x1hl2dhg x2mo6ok xjm74w1"
|
|
453
473
|
},
|
|
454
474
|
"data-testid": "skip-to-content",
|
|
455
|
-
children:
|
|
475
|
+
children: t('@astryx.appShell.skipToContent')
|
|
456
476
|
}), /*#__PURE__*/_jsx(Layout, {
|
|
457
477
|
height: height,
|
|
458
478
|
padding: 0,
|
package/dist/Calendar/index.d.ts
CHANGED
|
@@ -10,5 +10,5 @@ export { Calendar } from './Calendar';
|
|
|
10
10
|
export type { CalendarProps, CalendarHandle, ISODateString, DayOfWeek, DayOfWeekName, DateRange, } from './Calendar';
|
|
11
11
|
export { useCalendarDays, useCalendarConstraints, useCalendarNavigation, } from './hooks';
|
|
12
12
|
export type { CalendarDay, UseCalendarDaysOptions, UseCalendarDaysReturn, UseCalendarConstraintsOptions, UseCalendarConstraintsReturn, UseCalendarNavigationOptions, UseCalendarNavigationReturn, } from './hooks';
|
|
13
|
-
export { isSameDay, isDateInRange, getWeekNumber
|
|
13
|
+
export { isSameDay, isDateInRange, getWeekNumber } from './utils';
|
|
14
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Calendar/index.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,YAAY,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,GACV,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,WAAW,EACX,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,SAAS,CAAC;AAGjB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Calendar/index.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,YAAY,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,GACV,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,WAAW,EACX,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAC,SAAS,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC"}
|
package/dist/Calendar/index.js
CHANGED
|
@@ -14,6 +14,6 @@ export { Calendar } from "./Calendar.js";
|
|
|
14
14
|
// Re-export hooks for advanced usage
|
|
15
15
|
export { useCalendarDays, useCalendarConstraints, useCalendarNavigation } from "./hooks/index.js";
|
|
16
16
|
// Re-export calendar-specific utilities for advanced usage
|
|
17
|
-
export { isSameDay, isDateInRange, getWeekNumber
|
|
17
|
+
export { isSameDay, isDateInRange, getWeekNumber } from "./utils.js";
|
|
18
18
|
|
|
19
19
|
// Re-export theme styles for customization
|
package/dist/Calendar/utils.d.ts
CHANGED
|
@@ -4,9 +4,5 @@
|
|
|
4
4
|
* @output Re-exports shared date utility functions for calendar components
|
|
5
5
|
* @position Shared utilities; used by Calendar, CalendarMonthGrid, CalendarDayCell
|
|
6
6
|
*/
|
|
7
|
-
import { plainDateFormat, DATE_FORMAT_WITH_WEEKDAY } from '../utils/plainDate';
|
|
8
7
|
export { type PlainDate, plainDateFromISO as parseISO, plainDateToISO as dateToISO, plainDateIsEqual as isSameDay, plainDateIsInRange as isDateInRange, plainDateGetWeekNumber as getWeekNumber, } from '../utils/plainDate';
|
|
9
|
-
export { plainDateFormat, DATE_FORMAT_WITH_WEEKDAY };
|
|
10
|
-
/** @deprecated Use `plainDateFormat(pd, DATE_FORMAT_WITH_WEEKDAY)` instead. */
|
|
11
|
-
export declare function formatAccessibleDate(...args: Parameters<typeof plainDateFormat>): string;
|
|
12
8
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/Calendar/utils.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/Calendar/utils.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,SAAS,EACd,gBAAgB,IAAI,QAAQ,EAC5B,cAAc,IAAI,SAAS,EAC3B,gBAAgB,IAAI,SAAS,EAC7B,kBAAkB,IAAI,aAAa,EACnC,sBAAsB,IAAI,aAAa,GACxC,MAAM,oBAAoB,CAAC"}
|
package/dist/Calendar/utils.js
CHANGED
|
@@ -7,11 +7,4 @@
|
|
|
7
7
|
* @position Shared utilities; used by Calendar, CalendarMonthGrid, CalendarDayCell
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
export { plainDateFromISO as parseISO, plainDateToISO as dateToISO, plainDateIsEqual as isSameDay, plainDateIsInRange as isDateInRange, plainDateGetWeekNumber as getWeekNumber } from "../utils/plainDate.js";
|
|
12
|
-
export { plainDateFormat, DATE_FORMAT_WITH_WEEKDAY };
|
|
13
|
-
|
|
14
|
-
/** @deprecated Use `plainDateFormat(pd, DATE_FORMAT_WITH_WEEKDAY)` instead. */
|
|
15
|
-
export function formatAccessibleDate(...args) {
|
|
16
|
-
return plainDateFormat(args[0], DATE_FORMAT_WITH_WEEKDAY);
|
|
17
|
-
}
|
|
10
|
+
export { plainDateFromISO as parseISO, plainDateToISO as dateToISO, plainDateIsEqual as isSameDay, plainDateIsInRange as isDateInRange, plainDateGetWeekNumber as getWeekNumber } from "../utils/plainDate.js";
|
package/dist/Dialog/Dialog.d.ts
CHANGED
|
@@ -39,30 +39,18 @@ interface DialogBlockPosition {
|
|
|
39
39
|
* Static position for a dialog. The inline axis is logical XOR physical — the
|
|
40
40
|
* type forbids mixing the two, so a single dialog can't be positioned both ways:
|
|
41
41
|
* - Logical `start`/`end` map to `inset-inline-*` and mirror under RTL (preferred).
|
|
42
|
-
* - Physical `left`/`right` are deprecated, do not mirror, and are removed in a
|
|
43
|
-
* future major.
|
|
44
42
|
* Block-axis `top`/`bottom` may be combined with either.
|
|
45
43
|
*/
|
|
46
|
-
export
|
|
44
|
+
export interface DialogPosition extends DialogBlockPosition {
|
|
47
45
|
/** Logical inline-start offset (`inset-inline-start`); mirrors under RTL. */
|
|
48
46
|
start?: number | string;
|
|
49
47
|
/** Logical inline-end offset (`inset-inline-end`); mirrors under RTL. */
|
|
50
48
|
end?: number | string;
|
|
51
|
-
|
|
52
|
-
right?: never;
|
|
53
|
-
}) | (DialogBlockPosition & {
|
|
54
|
-
/** @deprecated Use `start`. Physical (never mirrors); removed in a future major. */
|
|
55
|
-
left?: number | string;
|
|
56
|
-
/** @deprecated Use `end`. Physical (never mirrors); removed in a future major. */
|
|
57
|
-
right?: number | string;
|
|
58
|
-
start?: never;
|
|
59
|
-
end?: never;
|
|
60
|
-
});
|
|
49
|
+
}
|
|
61
50
|
/**
|
|
62
51
|
* Map a {@link DialogPosition} to resolved CSS offsets. Logical `start`/`end`
|
|
63
|
-
* become `inset-inline-*` (mirror under RTL);
|
|
64
|
-
*
|
|
65
|
-
* precedence is needed — each unset offset falls back to `auto`.
|
|
52
|
+
* become `inset-inline-*` (mirror under RTL); each unset offset falls back to
|
|
53
|
+
* `auto`.
|
|
66
54
|
*
|
|
67
55
|
* Not re-exported from the package; internal to Dialog. Directly unit-tested
|
|
68
56
|
* so the mapping is verified without StyleX class compilation.
|
|
@@ -74,8 +62,6 @@ export declare function resolveDialogPositionOffsets(position: DialogPosition):
|
|
|
74
62
|
bottom: string;
|
|
75
63
|
insetInlineStart: string;
|
|
76
64
|
insetInlineEnd: string;
|
|
77
|
-
left: string;
|
|
78
|
-
right: string;
|
|
79
65
|
};
|
|
80
66
|
export interface DialogProps extends BaseProps<HTMLDialogElement> {
|
|
81
67
|
/** Ref forwarded to the root element */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/Dialog.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAoB5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAKhD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAqB9C;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD,4EAA4E;AAC5E,UAAU,mBAAmB;IAC3B,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/Dialog.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAoB5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAKhD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAqB9C;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD,4EAA4E;AAC5E,UAAU,mBAAmB;IAC3B,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AA+HD;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,cAAc;;;;;EAUpE;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC/D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;OAOG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;IAE3C;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAEpC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,MAAM,CAAC,EACrB,MAAM,EACN,QAAgB,EAChB,YAAY,EACZ,KAAW,EACX,SAAkB,EAClB,QAAQ,EACR,OAAoB,EACpB,OAAgB,EAChB,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,sCA2Sb;yBA3Te,MAAM"}
|
package/dist/Dialog/Dialog.js
CHANGED
|
@@ -65,8 +65,6 @@ function getDialogDirection(triggerEl, distance = 16) {
|
|
|
65
65
|
* Static position for a dialog. The inline axis is logical XOR physical — the
|
|
66
66
|
* type forbids mixing the two, so a single dialog can't be positioned both ways:
|
|
67
67
|
* - Logical `start`/`end` map to `inset-inline-*` and mirror under RTL (preferred).
|
|
68
|
-
* - Physical `left`/`right` are deprecated, do not mirror, and are removed in a
|
|
69
|
-
* future major.
|
|
70
68
|
* Block-axis `top`/`bottom` may be combined with either.
|
|
71
69
|
*/
|
|
72
70
|
|
|
@@ -159,21 +157,17 @@ const dynamicStyles = {
|
|
|
159
157
|
"--x-width": (val => typeof val === "number" ? val + "px" : val != null ? val : undefined)(typeof width === 'number' ? `${width}px` : width),
|
|
160
158
|
"--x-maxHeight": (val => typeof val === "number" ? val + "px" : val != null ? val : undefined)(typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight)
|
|
161
159
|
}],
|
|
162
|
-
position: (top, insetInlineStart, insetInlineEnd,
|
|
160
|
+
position: (top, insetInlineStart, insetInlineEnd, bottom) => [_temp2, {
|
|
163
161
|
k87sOh: top != null ? "xjbys53" : top,
|
|
164
162
|
kLqNvP: insetInlineStart != null ? "x1lxsm33" : insetInlineStart,
|
|
165
163
|
kt4wiu: insetInlineEnd != null ? "xqxgn94" : insetInlineEnd,
|
|
166
|
-
kCIrl2: right != null ? "x7ok3n0" : right,
|
|
167
164
|
krVfgx: bottom != null ? "x1nqzi6q" : bottom,
|
|
168
|
-
kbCHJM: left != null ? "xgq9j65" : left,
|
|
169
165
|
$$css: true
|
|
170
166
|
}, {
|
|
171
167
|
"--x-top": (val => typeof val === "number" ? val + "px" : val != null ? val : undefined)(top),
|
|
172
168
|
"--x-insetInlineStart": (val => typeof val === "number" ? val + "px" : val != null ? val : undefined)(insetInlineStart),
|
|
173
169
|
"--x-insetInlineEnd": (val => typeof val === "number" ? val + "px" : val != null ? val : undefined)(insetInlineEnd),
|
|
174
|
-
"--x-
|
|
175
|
-
"--x-bottom": (val => typeof val === "number" ? val + "px" : val != null ? val : undefined)(bottom),
|
|
176
|
-
"--x-left": (val => typeof val === "number" ? val + "px" : val != null ? val : undefined)(left)
|
|
170
|
+
"--x-bottom": (val => typeof val === "number" ? val + "px" : val != null ? val : undefined)(bottom)
|
|
177
171
|
}]
|
|
178
172
|
};
|
|
179
173
|
|
|
@@ -186,9 +180,8 @@ function formatPosition(value) {
|
|
|
186
180
|
|
|
187
181
|
/**
|
|
188
182
|
* Map a {@link DialogPosition} to resolved CSS offsets. Logical `start`/`end`
|
|
189
|
-
* become `inset-inline-*` (mirror under RTL);
|
|
190
|
-
*
|
|
191
|
-
* precedence is needed — each unset offset falls back to `auto`.
|
|
183
|
+
* become `inset-inline-*` (mirror under RTL); each unset offset falls back to
|
|
184
|
+
* `auto`.
|
|
192
185
|
*
|
|
193
186
|
* Not re-exported from the package; internal to Dialog. Directly unit-tested
|
|
194
187
|
* so the mapping is verified without StyleX class compilation.
|
|
@@ -200,19 +193,14 @@ export function resolveDialogPositionOffsets(position) {
|
|
|
200
193
|
top,
|
|
201
194
|
bottom,
|
|
202
195
|
start,
|
|
203
|
-
end
|
|
204
|
-
left,
|
|
205
|
-
right
|
|
196
|
+
end
|
|
206
197
|
} = position;
|
|
207
198
|
return {
|
|
208
199
|
top: top !== undefined ? formatPosition(top) : 'auto',
|
|
209
200
|
bottom: bottom !== undefined ? formatPosition(bottom) : 'auto',
|
|
210
201
|
// Logical offsets mirror under RTL (preferred replacements).
|
|
211
202
|
insetInlineStart: start !== undefined ? formatPosition(start) : 'auto',
|
|
212
|
-
insetInlineEnd: end !== undefined ? formatPosition(end) : 'auto'
|
|
213
|
-
// Deprecated physical offsets never mirror.
|
|
214
|
-
left: left !== undefined ? formatPosition(left) : 'auto',
|
|
215
|
-
right: right !== undefined ? formatPosition(right) : 'auto'
|
|
203
|
+
insetInlineEnd: end !== undefined ? formatPosition(end) : 'auto'
|
|
216
204
|
};
|
|
217
205
|
}
|
|
218
206
|
/**
|
|
@@ -461,7 +449,7 @@ export function Dialog({
|
|
|
461
449
|
variant
|
|
462
450
|
}), stylex.props(styles.dialog, isOpen && styles.open, styles.backdrop, !isFullscreen && dynamicStyles.sizing(width, maxHeight), hasPosition && (() => {
|
|
463
451
|
const o = resolveDialogPositionOffsets(position);
|
|
464
|
-
return dynamicStyles.position(o.top, o.insetInlineStart, o.insetInlineEnd, o.
|
|
452
|
+
return dynamicStyles.position(o.top, o.insetInlineStart, o.insetInlineEnd, o.bottom);
|
|
465
453
|
})(), isFullscreen && styles.fullscreen, xstyle), className, style),
|
|
466
454
|
onClick: handleClick,
|
|
467
455
|
onCancel: handleCancel,
|
package/dist/Grid/Grid.d.ts
CHANGED
|
@@ -47,14 +47,6 @@ export interface GridProps extends BaseProps<HTMLDivElement> {
|
|
|
47
47
|
* @see GridColumns
|
|
48
48
|
*/
|
|
49
49
|
columns?: GridColumns;
|
|
50
|
-
/**
|
|
51
|
-
* Minimum width of each grid item in pixels.
|
|
52
|
-
* Enables responsive auto-fit behavior.
|
|
53
|
-
*
|
|
54
|
-
* @deprecated Use `columns={{minWidth: 280}}` instead.
|
|
55
|
-
* @default 0 (disabled)
|
|
56
|
-
*/
|
|
57
|
-
minChildWidth?: number;
|
|
58
50
|
/**
|
|
59
51
|
* Width of the grid container.
|
|
60
52
|
* Numbers are treated as pixels, strings are used as-is (e.g., '100%').
|
|
@@ -137,7 +129,7 @@ export interface GridProps extends BaseProps<HTMLDivElement> {
|
|
|
137
129
|
* </Grid>
|
|
138
130
|
* ```
|
|
139
131
|
*/
|
|
140
|
-
export declare function Grid({ columns,
|
|
132
|
+
export declare function Grid({ columns, rowHeight, width, height, maxWidth, minHeight, gap, rowGap, columnGap, align, justify, xstyle, className, style, children, ref, ...props }: GridProps): import("react").JSX.Element;
|
|
141
133
|
export declare namespace Grid {
|
|
142
134
|
var displayName: string;
|
|
143
135
|
}
|
package/dist/Grid/Grid.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../src/Grid/Grid.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAI9C;;GAEG;AAEH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,GACnB,MAAM,GACN;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACzB,CAAC;AAEN,MAAM,WAAW,SAAU,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC1D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB
|
|
1
|
+
{"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../src/Grid/Grid.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAI9C;;GAEG;AAEH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,GACnB,MAAM,GACN;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACzB,CAAC;AAEN,MAAM,WAAW,SAAU,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC1D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;OAGG;IACH,GAAG,CAAC,EAAE,WAAW,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA2ND;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,IAAI,CAAC,EACnB,OAAO,EACP,SAAS,EACT,KAAK,EACL,MAAM,EACN,QAAQ,EACR,SAAS,EACT,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EACP,MAAM,EACN,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,SAAS,+BA6EX;yBA/Fe,IAAI"}
|
package/dist/Grid/Grid.js
CHANGED
|
@@ -305,7 +305,6 @@ function buildCappedTemplate(minWidth, maxCols, repeatMode, gap, columnGap) {
|
|
|
305
305
|
*/
|
|
306
306
|
export function Grid({
|
|
307
307
|
columns,
|
|
308
|
-
minChildWidth = 0,
|
|
309
308
|
rowHeight,
|
|
310
309
|
width,
|
|
311
310
|
height,
|
|
@@ -334,14 +333,6 @@ export function Grid({
|
|
|
334
333
|
} else {
|
|
335
334
|
gridTemplateColumns = `repeat(${repeatMode}, minmax(${columns.minWidth}px, 1fr))`;
|
|
336
335
|
}
|
|
337
|
-
} else if (minChildWidth > 0) {
|
|
338
|
-
// Deprecated path: minChildWidth uses auto-fit for backward compat
|
|
339
|
-
const numColumns = typeof columns === 'number' ? columns : 0;
|
|
340
|
-
if (numColumns > 0) {
|
|
341
|
-
gridTemplateColumns = buildCappedTemplate(minChildWidth, numColumns, 'auto-fit', gap, columnGap);
|
|
342
|
-
} else {
|
|
343
|
-
gridTemplateColumns = `repeat(auto-fit, minmax(${minChildWidth}px, 1fr))`;
|
|
344
|
-
}
|
|
345
336
|
} else if (typeof columns === 'number' && columns > 0) {
|
|
346
337
|
// Fixed columns mode
|
|
347
338
|
gridTemplateColumns = `repeat(${columns}, 1fr)`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultIcons.d.ts","sourceRoot":"","sources":["../../src/Icon/defaultIcons.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AA8BvD,eAAO,MAAM,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"defaultIcons.d.ts","sourceRoot":"","sources":["../../src/Icon/defaultIcons.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AA8BvD,eAAO,MAAM,YAAY,EAAE,YA8N1B,CAAC"}
|
|
@@ -80,6 +80,20 @@ export const defaultIcons = {
|
|
|
80
80
|
d: "M9 6l6 6-6 6"
|
|
81
81
|
})
|
|
82
82
|
}),
|
|
83
|
+
/** « — double left chevron (first / jump to start) */
|
|
84
|
+
chevronsLeft: /*#__PURE__*/_jsx("svg", {
|
|
85
|
+
...svgProps,
|
|
86
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
87
|
+
d: "M18 6l-6 6 6 6M11 6l-6 6 6 6"
|
|
88
|
+
})
|
|
89
|
+
}),
|
|
90
|
+
/** » — double right chevron (last / jump to end) */
|
|
91
|
+
chevronsRight: /*#__PURE__*/_jsx("svg", {
|
|
92
|
+
...svgProps,
|
|
93
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
94
|
+
d: "M6 6l6 6-6 6M13 6l6 6-6 6"
|
|
95
|
+
})
|
|
96
|
+
}),
|
|
83
97
|
/** ✓ — checkmark */
|
|
84
98
|
check: /*#__PURE__*/_jsx("svg", {
|
|
85
99
|
...svgProps,
|
|
@@ -15,7 +15,7 @@ import type { DefinedTheme } from '../theme/defineTheme';
|
|
|
15
15
|
* These represent the functional purpose of each icon, not a specific
|
|
16
16
|
* visual representation. Themes provide the actual icon components.
|
|
17
17
|
*/
|
|
18
|
-
export type IconName = 'close' | 'chevronDown' | 'chevronLeft' | 'chevronRight' | 'check' | 'success' | 'error' | 'warning' | 'info' | 'calendar' | 'clock' | 'externalLink' | 'menu' | 'moreHorizontal' | 'search' | 'arrowUp' | 'arrowDown' | 'arrowsUpDown' | 'funnel' | 'eyeSlash' | 'viewColumns' | 'copy' | 'checkDouble' | 'wrench' | 'stop' | 'microphone';
|
|
18
|
+
export type IconName = 'close' | 'chevronDown' | 'chevronLeft' | 'chevronRight' | 'chevronsLeft' | 'chevronsRight' | 'check' | 'success' | 'error' | 'warning' | 'info' | 'calendar' | 'clock' | 'externalLink' | 'menu' | 'moreHorizontal' | 'search' | 'arrowUp' | 'arrowDown' | 'arrowsUpDown' | 'funnel' | 'eyeSlash' | 'viewColumns' | 'copy' | 'checkDouble' | 'wrench' | 'stop' | 'microphone';
|
|
19
19
|
/**
|
|
20
20
|
* A semantic icon name — either one of the built-in {@link IconName}s or an
|
|
21
21
|
* arbitrary string key contributed by a library/app.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalIconRegistry.d.ts","sourceRoot":"","sources":["../../src/Icon/globalIconRegistry.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAErC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAQvD;;;;;GAKG;AAEH,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,aAAa,GACb,aAAa,GACb,cAAc,GACd,OAAO,GACP,SAAS,GACT,OAAO,GACP,SAAS,GACT,MAAM,GACN,UAAU,GACV,OAAO,GACP,cAAc,GACd,MAAM,GACN,gBAAgB,GAChB,QAAQ,GACR,SAAS,GACT,WAAW,GACX,cAAc,GACd,QAAQ,GACR,UAAU,GACV,aAAa,GACb,MAAM,GACN,aAAa,GACb,QAAQ,GACR,MAAM,GACN,YAAY,CAAC;AAEjB;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAEvD,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAsB1E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,GAClD,IAAI,CAON;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,QAAQ,CAAC,YAAY,CAAC,CAkBxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,gBAAgB,EACtB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,SAAS,CAOX;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,gBAAgB,EACtB,QAAQ,CAAC,EAAE,SAAS,EACpB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,SAAS,CAQX;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC"}
|
|
1
|
+
{"version":3,"file":"globalIconRegistry.d.ts","sourceRoot":"","sources":["../../src/Icon/globalIconRegistry.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAErC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAQvD;;;;;GAKG;AAEH,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,aAAa,GACb,aAAa,GACb,cAAc,GACd,cAAc,GACd,eAAe,GACf,OAAO,GACP,SAAS,GACT,OAAO,GACP,SAAS,GACT,MAAM,GACN,UAAU,GACV,OAAO,GACP,cAAc,GACd,MAAM,GACN,gBAAgB,GAChB,QAAQ,GACR,SAAS,GACT,WAAW,GACX,cAAc,GACd,QAAQ,GACR,UAAU,GACV,aAAa,GACb,MAAM,GACN,aAAa,GACb,QAAQ,GACR,MAAM,GACN,YAAY,CAAC;AAEjB;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAEvD,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAsB1E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,GAClD,IAAI,CAON;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,QAAQ,CAAC,YAAY,CAAC,CAkBxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,gBAAgB,EACtB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,SAAS,CAOX;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,gBAAgB,EACtB,QAAQ,CAAC,EAAE,SAAS,EACpB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,SAAS,CAQX;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC"}
|
|
@@ -65,8 +65,8 @@ export interface LightboxProps extends BaseProps<HTMLDialogElement> {
|
|
|
65
65
|
*/
|
|
66
66
|
onIndexChange?: (index: number) => void;
|
|
67
67
|
/**
|
|
68
|
-
* Enable zoom on double-click
|
|
69
|
-
* When zoomed, drag to pan.
|
|
68
|
+
* Enable zoom on double-click, or Enter/Space/`+`/`-` via keyboard
|
|
69
|
+
* (images only). When zoomed, drag or use arrow keys to pan.
|
|
70
70
|
* @default false
|
|
71
71
|
*/
|
|
72
72
|
hasZoom?: boolean;
|
|
@@ -81,7 +81,9 @@ export interface LightboxProps extends BaseProps<HTMLDialogElement> {
|
|
|
81
81
|
*
|
|
82
82
|
* Supports single image and gallery modes. In gallery mode, provides
|
|
83
83
|
* prev/next navigation via buttons and arrow keys. Optionally supports
|
|
84
|
-
* zoom (double-click
|
|
84
|
+
* zoom (double-click, Enter/Space on the image, or `+`/`-` to toggle 2x)
|
|
85
|
+
* and pan (drag or arrow keys when zoomed; arrows navigate the gallery
|
|
86
|
+
* when not zoomed).
|
|
85
87
|
*
|
|
86
88
|
* Uses the native `<dialog>` element with `showModal()` for focus
|
|
87
89
|
* trapping and top-layer placement. Dismiss via Escape, close button,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lightbox.d.ts","sourceRoot":"","sources":["../../src/Lightbox/Lightbox.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AASf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAI5C;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,OAAO,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,gEAAgE;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IACjE,+CAA+C;IAC/C,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC;;;OAGG;IACH,KAAK,EAAE,aAAa,GAAG,aAAa,EAAE,CAAC;IACvC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"Lightbox.d.ts","sourceRoot":"","sources":["../../src/Lightbox/Lightbox.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AASf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAI5C;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,OAAO,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,gEAAgE;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IACjE,+CAA+C;IAC/C,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC;;;OAGG;IACH,KAAK,EAAE,aAAa,GAAG,aAAa,EAAE,CAAC;IACvC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA6JD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,QAAQ,CAAC,EACvB,MAAM,EACN,YAAY,EACZ,KAAK,EACL,KAAK,EAAE,eAAe,EACtB,YAAgB,EAChB,aAAa,EACb,OAAe,EACf,WAAmB,EACnB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,GAAG,KAAK,EACT,EAAE,aAAa,sCAyYf;yBAzZe,QAAQ"}
|
|
@@ -85,12 +85,28 @@ const dynamicStyles = {
|
|
|
85
85
|
}]
|
|
86
86
|
};
|
|
87
87
|
|
|
88
|
+
/**
|
|
89
|
+
* Pan distance (px) per arrow-key press while zoomed. Offsets move the
|
|
90
|
+
* viewport in the arrow's direction — pressing ArrowRight reveals content to
|
|
91
|
+
* the right, so the image itself shifts left (negative x), matching how
|
|
92
|
+
* scrolling and pointer-drag panning feel.
|
|
93
|
+
*/
|
|
94
|
+
const KEYBOARD_PAN_STEP = 50;
|
|
95
|
+
const KEYBOARD_PAN_OFFSETS = {
|
|
96
|
+
ArrowLeft: [KEYBOARD_PAN_STEP, 0],
|
|
97
|
+
ArrowRight: [-KEYBOARD_PAN_STEP, 0],
|
|
98
|
+
ArrowUp: [0, KEYBOARD_PAN_STEP],
|
|
99
|
+
ArrowDown: [0, -KEYBOARD_PAN_STEP]
|
|
100
|
+
};
|
|
101
|
+
|
|
88
102
|
/**
|
|
89
103
|
* A fullscreen overlay for viewing images at full resolution.
|
|
90
104
|
*
|
|
91
105
|
* Supports single image and gallery modes. In gallery mode, provides
|
|
92
106
|
* prev/next navigation via buttons and arrow keys. Optionally supports
|
|
93
|
-
* zoom (double-click
|
|
107
|
+
* zoom (double-click, Enter/Space on the image, or `+`/`-` to toggle 2x)
|
|
108
|
+
* and pan (drag or arrow keys when zoomed; arrows navigate the gallery
|
|
109
|
+
* when not zoomed).
|
|
94
110
|
*
|
|
95
111
|
* Uses the native `<dialog>` element with `showModal()` for focus
|
|
96
112
|
* trapping and top-layer placement. Dismiss via Escape, close button,
|
|
@@ -266,8 +282,49 @@ export function Lightbox({
|
|
|
266
282
|
}
|
|
267
283
|
}, [canNext, index, setIndex]);
|
|
268
284
|
|
|
269
|
-
//
|
|
285
|
+
// Zoom: double-click, Enter/Space on the image, or +/- keys toggle 1x ↔ 2x.
|
|
286
|
+
// Zoom changes are silent to assistive tech (only the transform changes), so
|
|
287
|
+
// mirror them in the polite live region, including a hint that arrow keys
|
|
288
|
+
// pan while zoomed.
|
|
289
|
+
const applyZoom = useCallback(next => {
|
|
290
|
+
if (!hasZoom || isVideo || next === zoom) {
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
setZoom(next);
|
|
294
|
+
setPan({
|
|
295
|
+
x: 0,
|
|
296
|
+
y: 0
|
|
297
|
+
});
|
|
298
|
+
announce(next > 1 ? t('@astryx.lightbox.zoomedIn') : t('@astryx.lightbox.zoomedOut'));
|
|
299
|
+
}, [hasZoom, isVideo, zoom, announce, t]);
|
|
300
|
+
const handleDoubleClick = useCallback(() => {
|
|
301
|
+
applyZoom(zoom === 1 ? 2 : 1);
|
|
302
|
+
}, [applyZoom, zoom]);
|
|
303
|
+
|
|
304
|
+
// Keyboard navigation. While zoomed, arrows pan the image (matching common
|
|
305
|
+
// lightbox conventions); when not zoomed they navigate the gallery.
|
|
270
306
|
const handleKeyDown = useCallback(e => {
|
|
307
|
+
if (hasZoom && !isVideo) {
|
|
308
|
+
if (e.key === '+' || e.key === '=') {
|
|
309
|
+
e.preventDefault();
|
|
310
|
+
applyZoom(2);
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
if (e.key === '-') {
|
|
314
|
+
e.preventDefault();
|
|
315
|
+
applyZoom(1);
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
if (zoom > 1 && KEYBOARD_PAN_OFFSETS[e.key] !== undefined) {
|
|
319
|
+
e.preventDefault();
|
|
320
|
+
const [dx, dy] = KEYBOARD_PAN_OFFSETS[e.key];
|
|
321
|
+
setPan(prev => ({
|
|
322
|
+
x: prev.x + dx,
|
|
323
|
+
y: prev.y + dy
|
|
324
|
+
}));
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
271
328
|
if (e.key === 'ArrowLeft') {
|
|
272
329
|
e.preventDefault();
|
|
273
330
|
goToPrev();
|
|
@@ -275,27 +332,15 @@ export function Lightbox({
|
|
|
275
332
|
e.preventDefault();
|
|
276
333
|
goToNext();
|
|
277
334
|
}
|
|
278
|
-
}, [goToPrev, goToNext]);
|
|
335
|
+
}, [hasZoom, isVideo, zoom, applyZoom, goToPrev, goToNext]);
|
|
279
336
|
|
|
280
|
-
//
|
|
281
|
-
const
|
|
282
|
-
if (
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
if (zoom === 1) {
|
|
286
|
-
setZoom(2);
|
|
287
|
-
setPan({
|
|
288
|
-
x: 0,
|
|
289
|
-
y: 0
|
|
290
|
-
});
|
|
291
|
-
} else {
|
|
292
|
-
setZoom(1);
|
|
293
|
-
setPan({
|
|
294
|
-
x: 0,
|
|
295
|
-
y: 0
|
|
296
|
-
});
|
|
337
|
+
// Enter/Space on the focused image wrapper (role="button") toggles zoom.
|
|
338
|
+
const handleImageKeyDown = useCallback(e => {
|
|
339
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
340
|
+
e.preventDefault();
|
|
341
|
+
handleDoubleClick();
|
|
297
342
|
}
|
|
298
|
-
}, [
|
|
343
|
+
}, [handleDoubleClick]);
|
|
299
344
|
|
|
300
345
|
// Pan: mouse drag when zoomed
|
|
301
346
|
const handlePointerDown = useCallback(e => {
|
|
@@ -335,6 +380,7 @@ export function Lightbox({
|
|
|
335
380
|
};
|
|
336
381
|
}, [isDragging]);
|
|
337
382
|
const isZoomed = zoom > 1;
|
|
383
|
+
const isZoomTarget = hasZoom && !isVideo;
|
|
338
384
|
const imageTransform = zoom === 1 ? null : `scale(${zoom}) translate(${pan.x / zoom}px, ${pan.y / zoom}px)`;
|
|
339
385
|
if (!currentItem) {
|
|
340
386
|
return null;
|
|
@@ -397,34 +443,66 @@ export function Lightbox({
|
|
|
397
443
|
className: "x78zum5 xdt5ytf x6s0dn4 x193iq5w xmz0i5r xb3r6kr"
|
|
398
444
|
},
|
|
399
445
|
children: [/*#__PURE__*/_jsx("div", {
|
|
400
|
-
ref: imageWrapperRef
|
|
446
|
+
ref: imageWrapperRef
|
|
447
|
+
// The wrapper is a keyboard-operable zoom toggle when zoom is
|
|
448
|
+
// enabled: Enter/Space toggles, aria-pressed reflects state.
|
|
449
|
+
,
|
|
450
|
+
role: isZoomTarget ? 'button' : undefined,
|
|
451
|
+
tabIndex: isZoomTarget ? 0 : undefined,
|
|
452
|
+
"aria-pressed": isZoomTarget ? isZoomed : undefined,
|
|
453
|
+
"aria-label": isZoomTarget ? t('@astryx.lightbox.zoom') : undefined,
|
|
401
454
|
...{
|
|
402
455
|
0: {
|
|
403
456
|
className: "x78zum5 x6s0dn4 xl56j7k xb3r6kr xt0e3qv x87ps6o x2lwn1j"
|
|
404
457
|
},
|
|
458
|
+
8: {
|
|
459
|
+
className: "x78zum5 x6s0dn4 xl56j7k xb3r6kr xt0e3qv x87ps6o x2lwn1j x1a2a7pz x17nn4n9 x1wfwxd8 x7s97pk"
|
|
460
|
+
},
|
|
405
461
|
4: {
|
|
406
462
|
className: "x78zum5 x6s0dn4 xl56j7k xb3r6kr x87ps6o x2lwn1j x1huxd7x x2dt3px"
|
|
407
463
|
},
|
|
464
|
+
12: {
|
|
465
|
+
className: "x78zum5 x6s0dn4 xl56j7k xb3r6kr x87ps6o x2lwn1j x1a2a7pz x17nn4n9 x1wfwxd8 x7s97pk x1huxd7x x2dt3px"
|
|
466
|
+
},
|
|
408
467
|
2: {
|
|
409
468
|
className: "x78zum5 x6s0dn4 xl56j7k xb3r6kr x87ps6o x2lwn1j x1jm3nie"
|
|
410
469
|
},
|
|
470
|
+
10: {
|
|
471
|
+
className: "x78zum5 x6s0dn4 xl56j7k xb3r6kr x87ps6o x2lwn1j x1a2a7pz x17nn4n9 x1wfwxd8 x7s97pk x1jm3nie"
|
|
472
|
+
},
|
|
411
473
|
6: {
|
|
412
474
|
className: "x78zum5 x6s0dn4 xl56j7k xb3r6kr x87ps6o x2lwn1j x1jm3nie"
|
|
413
475
|
},
|
|
476
|
+
14: {
|
|
477
|
+
className: "x78zum5 x6s0dn4 xl56j7k xb3r6kr x87ps6o x2lwn1j x1a2a7pz x17nn4n9 x1wfwxd8 x7s97pk x1jm3nie"
|
|
478
|
+
},
|
|
414
479
|
1: {
|
|
415
480
|
className: "x78zum5 x6s0dn4 xl56j7k xb3r6kr x87ps6o x2lwn1j xi9pz9s"
|
|
416
481
|
},
|
|
482
|
+
9: {
|
|
483
|
+
className: "x78zum5 x6s0dn4 xl56j7k xb3r6kr x87ps6o x2lwn1j x1a2a7pz x17nn4n9 x1wfwxd8 x7s97pk xi9pz9s"
|
|
484
|
+
},
|
|
417
485
|
5: {
|
|
418
486
|
className: "x78zum5 x6s0dn4 xl56j7k xb3r6kr x87ps6o x2lwn1j xi9pz9s"
|
|
419
487
|
},
|
|
488
|
+
13: {
|
|
489
|
+
className: "x78zum5 x6s0dn4 xl56j7k xb3r6kr x87ps6o x2lwn1j x1a2a7pz x17nn4n9 x1wfwxd8 x7s97pk xi9pz9s"
|
|
490
|
+
},
|
|
420
491
|
3: {
|
|
421
492
|
className: "x78zum5 x6s0dn4 xl56j7k xb3r6kr x87ps6o x2lwn1j xi9pz9s"
|
|
422
493
|
},
|
|
494
|
+
11: {
|
|
495
|
+
className: "x78zum5 x6s0dn4 xl56j7k xb3r6kr x87ps6o x2lwn1j x1a2a7pz x17nn4n9 x1wfwxd8 x7s97pk xi9pz9s"
|
|
496
|
+
},
|
|
423
497
|
7: {
|
|
424
498
|
className: "x78zum5 x6s0dn4 xl56j7k xb3r6kr x87ps6o x2lwn1j xi9pz9s"
|
|
499
|
+
},
|
|
500
|
+
15: {
|
|
501
|
+
className: "x78zum5 x6s0dn4 xl56j7k xb3r6kr x87ps6o x2lwn1j x1a2a7pz x17nn4n9 x1wfwxd8 x7s97pk xi9pz9s"
|
|
425
502
|
}
|
|
426
|
-
}[!!(!isVideo && hasZoom && !isZoomed) << 2 | !!(!isVideo && isZoomed) << 1 | !!(!isVideo && isDragging) << 0],
|
|
503
|
+
}[!!isZoomTarget << 3 | !!(!isVideo && hasZoom && !isZoomed) << 2 | !!(!isVideo && isZoomed) << 1 | !!(!isVideo && isDragging) << 0],
|
|
427
504
|
onDoubleClick: isVideo ? undefined : handleDoubleClick,
|
|
505
|
+
onKeyDown: isZoomTarget ? handleImageKeyDown : undefined,
|
|
428
506
|
onPointerDown: isVideo ? undefined : handlePointerDown,
|
|
429
507
|
children: isVideo ? /*#__PURE__*/_jsx("video", {
|
|
430
508
|
src: currentItem.src,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetadataList.d.ts","sourceRoot":"","sources":["../../src/MetadataList/MetadataList.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAqC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAQzE,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAS5C,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9D,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAC7C,SAAS,CAAC,cAAc,CAAC,EACzB,OAAO,CACR;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,uBAAuB,CAAC;IAChC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"MetadataList.d.ts","sourceRoot":"","sources":["../../src/MetadataList/MetadataList.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAqC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAQzE,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAS5C,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9D,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAC7C,SAAS,CAAC,cAAc,CAAC,EACzB,OAAO,CACR;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,uBAAuB,CAAC;IAChC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA6FD,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,OAAkB,EAClB,KAAK,EACL,aAAa,EACb,WAAwB,EACxB,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,GACJ,EAAE,iBAAiB,+BAsHnB;yBAlIe,YAAY"}
|