@cratis/components 4.17.0 → 4.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/compat-manifest.json +11 -11
  2. package/dist/esm/Canvas/CanvasMinimap.js +2 -2
  3. package/dist/esm/Canvas/CanvasMinimap.js.map +1 -1
  4. package/dist/esm/Common/ActionMenubar.d.ts +4 -1
  5. package/dist/esm/Common/ActionMenubar.js +10 -5
  6. package/dist/esm/Common/ActionMenubar.js.map +1 -1
  7. package/dist/esm/Common/CratisComponentsProvider.d.ts +13 -0
  8. package/dist/esm/Common/CratisComponentsProvider.js.map +1 -1
  9. package/dist/esm/Common/ToolbarFocusMode.d.ts +8 -0
  10. package/dist/esm/Common/ToolbarFocusMode.d.ts.map +1 -0
  11. package/dist/esm/Common/ToolbarFocusMode.js +8 -0
  12. package/dist/esm/Common/ToolbarFocusMode.js.map +1 -0
  13. package/dist/esm/Common/index.d.ts +1 -0
  14. package/dist/esm/Common/index.js +1 -0
  15. package/dist/esm/Common/index.js.map +1 -1
  16. package/dist/esm/Common/useToolbarKeyboardNavigation.d.ts +9 -0
  17. package/dist/esm/Common/useToolbarKeyboardNavigation.js +76 -0
  18. package/dist/esm/Common/useToolbarKeyboardNavigation.js.map +1 -0
  19. package/dist/esm/Filter/CheckboxListFilter.d.ts +1 -1
  20. package/dist/esm/Filter/CheckboxListFilter.js +3 -1
  21. package/dist/esm/Filter/CheckboxListFilter.js.map +1 -1
  22. package/dist/esm/Filter/FilterPanel.d.ts +2 -2
  23. package/dist/esm/Filter/FilterPanel.js +161 -19
  24. package/dist/esm/Filter/FilterPanel.js.map +1 -1
  25. package/dist/esm/Filter/types.d.ts +1 -1
  26. package/dist/esm/Filter/types.d.ts.map +1 -1
  27. package/dist/esm/Filter/utils.d.ts +1 -1
  28. package/dist/esm/Filter/utils.js +2 -2
  29. package/dist/esm/Filter/utils.js.map +1 -1
  30. package/dist/esm/PivotViewer/PivotViewer.js +1 -1
  31. package/dist/esm/PivotViewer/PivotViewer.js.map +1 -1
  32. package/dist/esm/PivotViewer/PivotViewerLabels.d.ts +3 -1
  33. package/dist/esm/PivotViewer/PivotViewerLabels.d.ts.map +1 -1
  34. package/dist/esm/PivotViewer/components/FilterPanel.js +1 -1
  35. package/dist/esm/PivotViewer/components/FilterPanel.js.map +1 -1
  36. package/dist/esm/PivotViewer/components/PivotCanvas.js +2 -1
  37. package/dist/esm/PivotViewer/components/PivotCanvas.js.map +1 -1
  38. package/dist/esm/PivotViewer/components/PivotViewerMain.d.ts +3 -1
  39. package/dist/esm/PivotViewer/components/PivotViewerMain.js +2 -2
  40. package/dist/esm/PivotViewer/components/PivotViewerMain.js.map +1 -1
  41. package/dist/esm/PivotViewer/components/Toolbar.js +6 -2
  42. package/dist/esm/PivotViewer/components/Toolbar.js.map +1 -1
  43. package/dist/esm/PivotViewer/components/pivot/sprites.d.ts +1 -0
  44. package/dist/esm/PivotViewer/components/pivot/sprites.js +15 -1
  45. package/dist/esm/PivotViewer/components/pivot/sprites.js.map +1 -1
  46. package/dist/esm/PivotViewer/types.d.ts +1 -1
  47. package/dist/esm/Toolbar/Toolbar.d.ts +4 -2
  48. package/dist/esm/Toolbar/Toolbar.js +6 -2
  49. package/dist/esm/Toolbar/Toolbar.js.map +1 -1
  50. package/dist/esm/Toolbar/index.d.ts +1 -0
  51. package/dist/esm/Toolbar/index.js +1 -0
  52. package/dist/esm/Toolbar/index.js.map +1 -1
  53. package/dist/esm/configuration/CratisComponentsDefaults.js +3 -0
  54. package/dist/esm/configuration/CratisComponentsDefaults.js.map +1 -1
  55. package/dist/esm/index.d.ts +1 -1
  56. package/dist/esm/styles.Filter.css +1 -0
  57. package/dist/esm/styles.PivotViewer.css +30 -0
  58. package/dist/esm/styles.css +30 -0
  59. package/package.json +1 -1
  60. package/dist/esm/Toolbar/Toolbar.d.ts.map +0 -1
@@ -68,7 +68,7 @@
68
68
  {
69
69
  "name": "@cratis/components",
70
70
  "role": "core",
71
- "version": "4.17.0",
71
+ "version": "4.19.0",
72
72
  "releaseMajorRange": ">=4 <5",
73
73
  "independentRelease": false,
74
74
  "private": false,
@@ -92,7 +92,7 @@
92
92
  {
93
93
  "name": "@cratis/eslint-plugin-components",
94
94
  "role": "eslint",
95
- "version": "4.17.0",
95
+ "version": "4.19.0",
96
96
  "releaseMajorRange": ">=4 <5",
97
97
  "independentRelease": false,
98
98
  "private": false,
@@ -105,7 +105,7 @@
105
105
  {
106
106
  "name": "@cratis/components.migrator",
107
107
  "role": "migrator",
108
- "version": "4.17.0",
108
+ "version": "4.19.0",
109
109
  "releaseMajorRange": ">=4 <5",
110
110
  "independentRelease": false,
111
111
  "private": false,
@@ -116,13 +116,13 @@
116
116
  {
117
117
  "name": "@cratis/components.conformance",
118
118
  "role": "conformance",
119
- "version": "4.17.0",
119
+ "version": "4.19.0",
120
120
  "releaseMajorRange": ">=4 <5",
121
121
  "independentRelease": false,
122
122
  "private": false,
123
123
  "packageAccess": "public",
124
124
  "peerDependencies": {
125
- "@cratis/components": "4.17.0",
125
+ "@cratis/components": "4.19.0",
126
126
  "react": "^19.0.0",
127
127
  "react-dom": "^19.0.0"
128
128
  },
@@ -132,13 +132,13 @@
132
132
  {
133
133
  "name": "@cratis/components.mui",
134
134
  "role": "renderer-adapter",
135
- "version": "4.17.0",
135
+ "version": "4.19.0",
136
136
  "releaseMajorRange": ">=4 <5",
137
137
  "independentRelease": false,
138
138
  "private": false,
139
139
  "packageAccess": "public",
140
140
  "peerDependencies": {
141
- "@cratis/components": "4.17.0",
141
+ "@cratis/components": "4.19.0",
142
142
  "@emotion/react": ">=11.5 <12",
143
143
  "@emotion/styled": ">=11.11 <12",
144
144
  "@mui/material": ">=9 <10",
@@ -188,13 +188,13 @@
188
188
  {
189
189
  "name": "@cratis/components.primereact",
190
190
  "role": "renderer-adapter",
191
- "version": "4.17.0",
191
+ "version": "4.19.0",
192
192
  "releaseMajorRange": ">=4 <5",
193
193
  "independentRelease": false,
194
194
  "private": false,
195
195
  "packageAccess": "public",
196
196
  "peerDependencies": {
197
- "@cratis/components": "4.17.0",
197
+ "@cratis/components": "4.19.0",
198
198
  "@primereact/core": ">=11 <12",
199
199
  "@primereact/ui": ">=11 <12",
200
200
  "@primeuix/themes": ">=3 <4",
@@ -256,13 +256,13 @@
256
256
  {
257
257
  "name": "@cratis/components.primereact10",
258
258
  "role": "renderer-adapter",
259
- "version": "4.17.0",
259
+ "version": "4.19.0",
260
260
  "releaseMajorRange": ">=4 <5",
261
261
  "independentRelease": false,
262
262
  "private": false,
263
263
  "packageAccess": "public",
264
264
  "peerDependencies": {
265
- "@cratis/components": "4.17.0",
265
+ "@cratis/components": "4.19.0",
266
266
  "primereact": ">=10.9.9 <11",
267
267
  "react": "^19.0.0",
268
268
  "react-dom": "^19.0.0"
@@ -77,7 +77,7 @@ const CanvasMinimap = forwardRef(({ worldWidth = DEFAULT_WORLD_WIDTH, worldHeigh
77
77
  }, onPointerDown: handlePointerDown, children: [jsx("div", { style: {
78
78
  position: 'absolute',
79
79
  inset: 0,
80
- backgroundImage: 'radial-gradient(circle, var(--cratis-surface-border) 1px, transparent 1px)',
80
+ backgroundImage: 'radial-gradient(circle, var(--cratis-canvas-minimap-grid-color, var(--cratis-surface-border)) 1px, transparent 1px)',
81
81
  backgroundSize: '10px 10px',
82
82
  pointerEvents: 'none',
83
83
  } }), items.map((item, index) => (jsx("div", { className: 'canvas-minimap-item', style: {
@@ -87,7 +87,7 @@ const CanvasMinimap = forwardRef(({ worldWidth = DEFAULT_WORLD_WIDTH, worldHeigh
87
87
  width: Math.max(2, item.width * scaleXConst),
88
88
  height: Math.max(2, item.height * scaleYConst),
89
89
  background: item.color ??
90
- 'color-mix(in srgb, var(--cratis-text-color) 25%, transparent)',
90
+ 'var(--cratis-canvas-minimap-item-color, color-mix(in srgb, var(--cratis-text-color) 25%, transparent))',
91
91
  borderRadius: 2,
92
92
  pointerEvents: 'none',
93
93
  } }, index))), jsx("div", { ref: viewportRectRef, className: 'canvas-minimap-viewport', style: {
@@ -1 +1 @@
1
- {"version":3,"file":"CanvasMinimap.js","sources":["../../../Canvas/CanvasMinimap.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"CanvasMinimap.js","sources":["../../../Canvas/CanvasMinimap.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import { type ButtonParts, type ButtonSeverity } from './Button.js';
3
+ import { ToolbarFocusMode } from './ToolbarFocusMode.js';
3
4
  /** A single action in an {@link ActionMenubar}. */
4
5
  export interface ActionMenuItem {
5
6
  /** The visible label. */
@@ -19,6 +20,8 @@ export interface ActionMenuItem {
19
20
  }
20
21
  /** Props for {@link ActionMenubar}. */
21
22
  export interface ActionMenubarProps {
23
+ /** Keyboard focus behavior (default: {@link ToolbarFocusMode.Arrows}). */
24
+ focusMode?: ToolbarFocusMode;
22
25
  /** Actions to render from left to right. */
23
26
  model: ActionMenuItem[];
24
27
  /** Extra class name for the toolbar container. */
@@ -37,4 +40,4 @@ export interface ActionMenubarProps {
37
40
  unstyled?: boolean;
38
41
  }
39
42
  /** A horizontal, accessible toolbar of command actions. */
40
- export declare const ActionMenubar: ({ model, className, pt, 'aria-label': ariaLabel, }: ActionMenubarProps) => import("react").JSX.Element;
43
+ export declare const ActionMenubar: ({ model, focusMode, className, pt, 'aria-label': ariaLabel, }: ActionMenubarProps) => import("react").JSX.Element;
@@ -1,6 +1,8 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { Fragment } from 'react';
3
3
  import { Button } from './Button.js';
4
+ import { ToolbarFocusMode } from './ToolbarFocusMode.js';
5
+ import { useToolbarKeyboardNavigation } from './useToolbarKeyboardNavigation.js';
4
6
 
5
7
  const buttonToneForSeverity = {
6
8
  secondary: 'neutral',
@@ -11,11 +13,14 @@ const buttonToneForSeverity = {
11
13
  danger: 'critical',
12
14
  contrast: 'neutral',
13
15
  };
14
- const ActionMenubar = ({ model, className, pt, 'aria-label': ariaLabel, }) => (jsx("div", { role: 'toolbar', className: ['cratis-action-menubar', className].filter(Boolean).join(' '), "data-cratis-part": 'root', "aria-label": ariaLabel, children: model.map((item, index) => {
15
- if (item.template)
16
- return jsx(Fragment, { children: item.template(item) }, index);
17
- return (jsx(Button, { variant: 'ghost', tone: item.severity ? buttonToneForSeverity[item.severity] : undefined, onClick: item.command, disabled: item.disabled, className: item.className, icon: item.icon, label: item.label, pt: pt }, index));
18
- }) }));
16
+ const ActionMenubar = ({ model, focusMode = ToolbarFocusMode.Arrows, className, pt, 'aria-label': ariaLabel, }) => {
17
+ const { rootRef, onKeyDown } = useToolbarKeyboardNavigation('horizontal', focusMode);
18
+ return jsx("div", { ref: rootRef, onKeyDown: onKeyDown, role: 'toolbar', className: ['cratis-action-menubar', className].filter(Boolean).join(' '), "data-cratis-part": 'root', "aria-label": ariaLabel, children: model.map((item, index) => {
19
+ if (item.template)
20
+ return jsx(Fragment, { children: item.template(item) }, index);
21
+ return (jsx(Button, { variant: 'ghost', tone: item.severity ? buttonToneForSeverity[item.severity] : undefined, onClick: item.command, disabled: item.disabled, className: item.className, icon: item.icon, label: item.label, pt: pt }, index));
22
+ }) });
23
+ };
19
24
 
20
25
  export { ActionMenubar };
21
26
  //# sourceMappingURL=ActionMenubar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionMenubar.js","sources":["../../../Common/ActionMenubar.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;AA4CA,MAAM,qBAAqB,GAAuC;AAC9D,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,MAAM,EAAE,UAAU;AAClB,IAAA,QAAQ,EAAE,SAAS;CACtB;AAGM,MAAM,aAAa,GAAG,CAAC,EAC1B,KAAK,EACL,SAAS,EACT,EAAE,EACF,YAAY,EAAE,SAAS,GACN,MACjBA,GAAA,CAAA,KAAA,EAAA,EACI,IAAI,EAAC,SAAS,EACd,SAAS,EAAE,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA,kBAAA,EACxD,MAAM,EAAA,YAAA,EACX,SAAS,EAAA,QAAA,EAEpB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;QACvB,IAAI,IAAI,CAAC,QAAQ;AACb,YAAA,OAAOA,GAAA,CAAC,QAAQ,EAAA,EAAA,QAAA,EAAc,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAA,EAA3B,KAAK,CAAkC;AAEjE,QAAA,QACIA,GAAA,CAAC,MAAM,EAAA,EAEH,OAAO,EAAC,OAAO,EACf,IAAI,EACA,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,SAAS,EAEpE,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,EAAE,EAAE,EAAE,EAAA,EAVD,KAAK,CAWZ;IAEV,CAAC,CAAC,EAAA,CACA;;"}
1
+ {"version":3,"file":"ActionMenubar.js","sources":["../../../Common/ActionMenubar.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;;;AAgDA,MAAM,qBAAqB,GAAuC;AAC9D,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,MAAM,EAAE,UAAU;AAClB,IAAA,QAAQ,EAAE,SAAS;CACtB;MAGY,aAAa,GAAG,CAAC,EAC1B,KAAK,EACL,SAAS,GAAG,gBAAgB,CAAC,MAAM,EACnC,SAAS,EACT,EAAE,EACF,YAAY,EAAE,SAAS,GACN,KAAI;AACrB,IAAA,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,4BAA4B,CAAC,YAAY,EAAE,SAAS,CAAC;IACpF,OAAOA,GAAA,CAAA,KAAA,EAAA,EACH,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,SAAS,EACpB,IAAI,EAAC,SAAS,EACd,SAAS,EAAE,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA,kBAAA,EACxD,MAAM,EAAA,YAAA,EACX,SAAS,YAEpB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;YACvB,IAAI,IAAI,CAAC,QAAQ;AACb,gBAAA,OAAOA,GAAA,CAAC,QAAQ,EAAA,EAAA,QAAA,EAAc,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAA,EAA3B,KAAK,CAAkC;AAEjE,YAAA,QACIA,GAAA,CAAC,MAAM,EAAA,EAEH,OAAO,EAAC,OAAO,EACf,IAAI,EACA,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,SAAS,EAEpE,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,EAAE,EAAE,EAAE,EAAA,EAVD,KAAK,CAWZ;QAEV,CAAC,CAAC,GACA;AACV;;"}
@@ -92,6 +92,17 @@ export interface CratisDataTableMessages {
92
92
  /** Message shown when a query denies access. */
93
93
  unauthorized?: string;
94
94
  }
95
+ /** Localizable accessible names for the Cratis filter panel and its searches. */
96
+ export interface CratisFilterMessages {
97
+ /** FilterPanel dialog name. Defaults to 'Filters'. */
98
+ label?: string;
99
+ /**
100
+ * Search-input name for FilterPanel, its option groups, and standalone CheckboxListFilter.
101
+ * Unset by default so an effective search placeholder retains precedence over 'Search'.
102
+ * PivotViewer supplies group-specific names instead of using this shared name for its groups.
103
+ */
104
+ searchAriaLabel?: string;
105
+ }
95
106
  /** Localizable labels owned by the Cratis column-filter popup. */
96
107
  export interface CratisColumnFilterMessages {
97
108
  /** Builds the filter-trigger accessible name from the effective field. */
@@ -132,6 +143,8 @@ export interface CratisComponentsMessages {
132
143
  notifications?: CratisNotificationsMessages;
133
144
  /** DataTable search, selection, and query-state messages. */
134
145
  dataTable?: CratisDataTableMessages;
146
+ /** FilterPanel dialog and search-input accessible names. */
147
+ filter?: CratisFilterMessages;
135
148
  /** Column-filter popup labels and match-mode copy. */
136
149
  columnFilter?: CratisColumnFilterMessages;
137
150
  /** Toolbar accessible-name fallback. */
@@ -1 +1 @@
1
- {"version":3,"file":"CratisComponentsProvider.js","sources":["../../../Common/CratisComponentsProvider.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"CratisComponentsProvider.js","sources":["../../../Common/CratisComponentsProvider.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /** Keyboard focus behavior for Toolbar and ActionMenubar. A single-Tab-stop mode is planned for #353. */
2
+ export declare enum ToolbarFocusMode {
3
+ /** Navigate with arrows and Home/End while retaining every tool's Tab stop (default). */
4
+ Arrows = "arrows",
5
+ /** Keep native focus behavior with no toolbar keyboard handling. */
6
+ None = "none"
7
+ }
8
+ //# sourceMappingURL=ToolbarFocusMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarFocusMode.d.ts","sourceRoot":"","sources":["../../../Common/ToolbarFocusMode.ts"],"names":[],"mappings":"AAGA,yGAAyG;AACzG,oBAAY,gBAAgB;IACxB,yFAAyF;IACzF,MAAM,WAAW;IACjB,oEAAoE;IACpE,IAAI,SAAS;CAChB"}
@@ -0,0 +1,8 @@
1
+ var ToolbarFocusMode;
2
+ (function (ToolbarFocusMode) {
3
+ ToolbarFocusMode["Arrows"] = "arrows";
4
+ ToolbarFocusMode["None"] = "none";
5
+ })(ToolbarFocusMode || (ToolbarFocusMode = {}));
6
+
7
+ export { ToolbarFocusMode };
8
+ //# sourceMappingURL=ToolbarFocusMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarFocusMode.js","sources":["../../../Common/ToolbarFocusMode.ts"],"sourcesContent":[null],"names":[],"mappings":"IAIY;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AAExB,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AAEjB,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACjB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,GAAA,EAAA,CAAA,CAAA;;"}
@@ -1,4 +1,5 @@
1
1
  export * from './ActionMenubar.js';
2
+ export { ToolbarFocusMode } from './ToolbarFocusMode.js';
2
3
  export * from './CratisComponentsProvider.js';
3
4
  export * from './DatePickerInput.js';
4
5
  export * from './ErrorBoundary.js';
@@ -1,4 +1,5 @@
1
1
  export { ActionMenubar } from './ActionMenubar.js';
2
+ export { ToolbarFocusMode } from './ToolbarFocusMode.js';
2
3
  export { CratisComponentsProvider, mergeCratisComponentsConfig } from './CratisComponentsProvider.js';
3
4
  export { DatePickerInput } from './DatePickerInput.js';
4
5
  export { ErrorBoundary } from './ErrorBoundary.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,9 @@
1
+ import { type KeyboardEvent } from 'react';
2
+ import { ToolbarFocusMode } from './ToolbarFocusMode.js';
3
+ type Orientation = 'horizontal' | 'vertical';
4
+ /** Components-owned toolbar focus behavior; never captures keys from child widgets. */
5
+ export declare const useToolbarKeyboardNavigation: (orientation: Orientation, focusMode: ToolbarFocusMode) => {
6
+ rootRef: import("react").RefObject<HTMLDivElement | null>;
7
+ onKeyDown: (event: KeyboardEvent<HTMLDivElement>) => void;
8
+ };
9
+ export {};
@@ -0,0 +1,76 @@
1
+ import { useRef, useCallback } from 'react';
2
+ import { ToolbarFocusMode } from './ToolbarFocusMode.js';
3
+
4
+ const toolSelector = 'button, a[href], input, select, textarea, [tabindex]';
5
+ const widgetSelector = 'input:not([type="button"]):not([type="submit"]):not([type="reset"]), textarea, select, [contenteditable]:not([contenteditable="false"]), [role="slider"], [role="spinbutton"], [role="textbox"], [role="combobox"], [role="listbox"], [role="menu"], [role="menubar"], [role="tree"], [role="grid"], [role="application"]';
6
+ const useToolbarKeyboardNavigation = (orientation, focusMode) => {
7
+ const rootRef = useRef(null);
8
+ const tools = useCallback(() => {
9
+ const root = rootRef.current;
10
+ if (!root)
11
+ return [];
12
+ return Array.from(root.querySelectorAll(toolSelector)).filter(tool => {
13
+ if (tool.closest('[role="toolbar"]') !== root || tool.matches(':disabled, [disabled], [aria-disabled="true"]'))
14
+ return false;
15
+ if (tool.getAttribute('tabindex') === '-1')
16
+ return false;
17
+ for (let element = tool; element && element !== root; element = element.parentElement) {
18
+ if (element.hidden || element.hasAttribute('inert') || element.getAttribute('aria-hidden') === 'true')
19
+ return false;
20
+ const style = getComputedStyle(element);
21
+ if (style.display === 'none' || style.visibility === 'hidden' || style.visibility === 'collapse')
22
+ return false;
23
+ }
24
+ return true;
25
+ });
26
+ }, []);
27
+ const onKeyDown = (event) => {
28
+ if (focusMode === ToolbarFocusMode.None || event.defaultPrevented || event.isPropagationStopped() ||
29
+ event.altKey || event.ctrlKey || event.metaKey || event.shiftKey || event.nativeEvent.isComposing)
30
+ return;
31
+ const root = rootRef.current;
32
+ const target = event.target;
33
+ if (!(target instanceof Element) || !root?.contains(target) ||
34
+ target.closest('[role="toolbar"]') !== root)
35
+ return;
36
+ for (let element = target; element && element !== root; element = element.parentElement) {
37
+ if (element.matches(widgetSelector))
38
+ return;
39
+ }
40
+ const available = tools();
41
+ const current = target.closest(toolSelector);
42
+ if (!current || current === root || current.closest('[role="toolbar"]') !== root)
43
+ return;
44
+ const index = available.indexOf(current);
45
+ const directionElement = root.closest('[dir]');
46
+ const direction = getComputedStyle(root).direction || directionElement?.dir || 'ltr';
47
+ const forward = direction === 'rtl' ? 'ArrowLeft' : 'ArrowRight';
48
+ const backward = direction === 'rtl' ? 'ArrowRight' : 'ArrowLeft';
49
+ let candidates = [];
50
+ if (event.key === 'Home')
51
+ candidates = available;
52
+ else if (event.key === 'End')
53
+ candidates = available.slice().reverse();
54
+ else if (event.key === (orientation === 'vertical' ? 'ArrowDown' : forward))
55
+ candidates = index >= 0
56
+ ? available.slice(index + 1)
57
+ : available.filter(tool => !!(current.compareDocumentPosition(tool) & Node.DOCUMENT_POSITION_FOLLOWING));
58
+ else if (event.key === (orientation === 'vertical' ? 'ArrowUp' : backward))
59
+ candidates = index >= 0
60
+ ? available.slice(0, index).reverse()
61
+ : available.slice().reverse().filter(tool => !!(current.compareDocumentPosition(tool) & Node.DOCUMENT_POSITION_PRECEDING));
62
+ for (const candidate of candidates) {
63
+ if (candidate === current)
64
+ return;
65
+ candidate.focus();
66
+ if (candidate.getRootNode().activeElement === candidate || candidate.matches(':focus')) {
67
+ event.preventDefault();
68
+ return;
69
+ }
70
+ }
71
+ };
72
+ return { rootRef, onKeyDown };
73
+ };
74
+
75
+ export { useToolbarKeyboardNavigation };
76
+ //# sourceMappingURL=useToolbarKeyboardNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useToolbarKeyboardNavigation.js","sources":["../../../Common/useToolbarKeyboardNavigation.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export interface CheckboxListFilterProps {
23
23
  searchable?: boolean;
24
24
  /** Placeholder text for the search input. Defaults to 'Search…'. */
25
25
  searchPlaceholder?: string;
26
- /** Accessible name for the search input. Falls back to its placeholder, then 'Search'. */
26
+ /** Accessible name for the search input. Falls back to `messages.filter.searchAriaLabel`, its placeholder, then 'Search'. */
27
27
  searchAriaLabel?: string;
28
28
  /** Focus the search when visible. FilterPanel enables this only for expanded groups. Defaults to false. */
29
29
  autoFocusSearch?: boolean;
@@ -1,11 +1,13 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { useState, useRef, useId, useEffect, useMemo } from 'react';
3
3
  import { useOptionListOverflow } from './useOptionListOverflow.js';
4
+ import { useCratisComponentsConfig } from '../configuration/CratisComponentsContext.js';
4
5
 
5
6
  function renderOptionCount(count) {
6
7
  return typeof count === 'number' ? count : '';
7
8
  }
8
9
  function CheckboxListFilter({ options, selected, multi = false, onToggle, searchable, searchPlaceholder = 'Search…', searchAriaLabel, autoFocusSearch = false, emptyMessage = 'Nothing to choose from.', noMatchesMessage = 'No matches.', name, }) {
10
+ const { messages } = useCratisComponentsConfig();
9
11
  const [search, setSearch] = useState('');
10
12
  const containerRef = useRef(null);
11
13
  const mirrorRef = useRef(null);
@@ -33,7 +35,7 @@ function CheckboxListFilter({ options, selected, multi = false, onToggle, search
33
35
  if (!hasOptions) {
34
36
  return jsx("p", { className: 'pv-option-list-empty', children: emptyMessage });
35
37
  }
36
- return (jsxs("div", { className: 'pv-option-list', ref: containerRef, children: [showSearch && (jsx("div", { className: 'pv-filter-group-search pv-option-list-search', children: jsx("input", { ref: searchInputRef, type: 'search', placeholder: searchPlaceholder, "aria-label": (searchAriaLabel ?? searchPlaceholder) || 'Search', value: search, onChange: (event) => setSearch(event.target.value) }) })), jsxs("ul", { className: 'pv-option-list-options', children: [visibleOptions.map((option) => {
38
+ return (jsxs("div", { className: 'pv-option-list', ref: containerRef, children: [showSearch && (jsx("div", { className: 'pv-filter-group-search pv-option-list-search', children: jsx("input", { ref: searchInputRef, type: 'search', placeholder: searchPlaceholder, "aria-label": (searchAriaLabel ?? messages?.filter?.searchAriaLabel ?? searchPlaceholder) || 'Search', value: search, onChange: (event) => setSearch(event.target.value) }) })), jsxs("ul", { className: 'pv-option-list-options', children: [visibleOptions.map((option) => {
37
39
  const checked = selected.has(option.key);
38
40
  return (jsx("li", { "data-selected": checked || undefined, children: jsxs("label", { "data-selected": checked || undefined, children: [jsx("input", { type: multi ? 'checkbox' : 'radio', "data-selected": checked || undefined, name: groupName, checked: checked, onChange: () => onToggle(option.key) }), jsx("span", { children: option.label }), jsx("span", { className: 'pv-option-count', children: renderOptionCount(option.count) })] }) }, option.key));
39
41
  }), visibleOptions.length === 0 && (jsx("li", { className: 'pv-option-list-empty', children: jsx("span", { children: noMatchesMessage }) }))] }), autoDetect && (jsx("ul", { className: 'pv-option-list-mirror', ref: mirrorRef, "aria-hidden": 'true', children: options.map((option) => (jsx("li", { children: jsxs("label", { children: [jsx("input", { type: multi ? 'checkbox' : 'radio', disabled: true, tabIndex: -1 }), jsx("span", { className: 'pv-option-mirror-label', "data-label": option.label }), jsx("span", { className: 'pv-option-count pv-option-mirror-label', "data-label": renderOptionCount(option.count) })] }) }, option.key))) }))] }));
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxListFilter.js","sources":["../../../Filter/CheckboxListFilter.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"CheckboxListFilter.js","sources":["../../../Filter/CheckboxListFilter.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -22,9 +22,9 @@ export interface FilterPanelProps {
22
22
  search?: string;
23
23
  /** Placeholder text for the search input. Defaults to 'Search…'. */
24
24
  searchPlaceholder?: string;
25
- /** Accessible name for the non-modal dialog. Defaults to 'Filters'. */
25
+ /** Accessible name for the non-modal dialog. Overrides `messages.filter.label`, then 'Filters'. */
26
26
  'aria-label'?: string;
27
- /** Accessible name for the panel search. Falls back to its placeholder, then 'Search'. */
27
+ /** Accessible name for the panel search. Falls back to `messages.filter.searchAriaLabel`, its placeholder, then 'Search'. */
28
28
  searchAriaLabel?: string;
29
29
  /** Accessible name for a clear-filter button. Override to localize. Defaults to 'Clear filter'. */
30
30
  clearFilterAriaLabel?: string;