@qoretechnologies/reqore 0.78.5-pr.708.gbe112f0 → 0.78.5-pr.708.gfe16b52

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 (95) hide show
  1. package/.claude/CLAUDE.md +6 -0
  2. package/dist/components/Breadcrumbs/index.d.ts.map +1 -1
  3. package/dist/components/Breadcrumbs/index.js +79 -8
  4. package/dist/components/Breadcrumbs/index.js.map +1 -1
  5. package/dist/components/Breadcrumbs/item.d.ts +10 -0
  6. package/dist/components/Breadcrumbs/item.d.ts.map +1 -1
  7. package/dist/components/Breadcrumbs/item.js +24 -3
  8. package/dist/components/Breadcrumbs/item.js.map +1 -1
  9. package/dist/components/Drawer/index.d.ts +172 -0
  10. package/dist/components/Drawer/index.d.ts.map +1 -1
  11. package/dist/components/Drawer/index.js +260 -14
  12. package/dist/components/Drawer/index.js.map +1 -1
  13. package/dist/components/EntityRow/index.d.ts +11 -0
  14. package/dist/components/EntityRow/index.d.ts.map +1 -1
  15. package/dist/components/EntityRow/index.js +25 -8
  16. package/dist/components/EntityRow/index.js.map +1 -1
  17. package/dist/components/FadeScroller/index.d.ts.map +1 -1
  18. package/dist/components/FadeScroller/index.js +47 -17
  19. package/dist/components/FadeScroller/index.js.map +1 -1
  20. package/dist/components/Modal/index.d.ts +12 -2
  21. package/dist/components/Modal/index.d.ts.map +1 -1
  22. package/dist/components/Modal/index.js +2 -2
  23. package/dist/components/Modal/index.js.map +1 -1
  24. package/dist/components/Notifications/notification.d.ts +11 -1
  25. package/dist/components/Notifications/notification.d.ts.map +1 -1
  26. package/dist/components/Notifications/notification.js +96 -19
  27. package/dist/components/Notifications/notification.js.map +1 -1
  28. package/dist/components/Panel/index.d.ts.map +1 -1
  29. package/dist/components/Panel/index.js +22 -1
  30. package/dist/components/Panel/index.js.map +1 -1
  31. package/dist/components/RichTextEditor/index.d.ts.map +1 -1
  32. package/dist/components/RichTextEditor/index.js +26 -2
  33. package/dist/components/RichTextEditor/index.js.map +1 -1
  34. package/dist/components/RowActionsMenu/index.d.ts +53 -0
  35. package/dist/components/RowActionsMenu/index.d.ts.map +1 -0
  36. package/dist/components/RowActionsMenu/index.js +93 -0
  37. package/dist/components/RowActionsMenu/index.js.map +1 -0
  38. package/dist/components/SeverityRow/index.d.ts +12 -0
  39. package/dist/components/SeverityRow/index.d.ts.map +1 -1
  40. package/dist/components/SeverityRow/index.js +14 -8
  41. package/dist/components/SeverityRow/index.js.map +1 -1
  42. package/dist/components/Statistic/index.d.ts.map +1 -1
  43. package/dist/components/Statistic/index.js +1 -1
  44. package/dist/components/Statistic/index.js.map +1 -1
  45. package/dist/components/Table/helpers.d.ts +20 -0
  46. package/dist/components/Table/helpers.d.ts.map +1 -1
  47. package/dist/components/Table/helpers.js +53 -1
  48. package/dist/components/Table/helpers.js.map +1 -1
  49. package/dist/components/Table/index.d.ts +37 -2
  50. package/dist/components/Table/index.d.ts.map +1 -1
  51. package/dist/components/Table/index.js +101 -23
  52. package/dist/components/Table/index.js.map +1 -1
  53. package/dist/components/Table/row.d.ts +3 -1
  54. package/dist/components/Table/row.d.ts.map +1 -1
  55. package/dist/components/Table/row.js +25 -7
  56. package/dist/components/Table/row.js.map +1 -1
  57. package/dist/components/Tag/index.d.ts.map +1 -1
  58. package/dist/components/Tag/index.js +7 -4
  59. package/dist/components/Tag/index.js.map +1 -1
  60. package/dist/components/Textarea/index.d.ts.map +1 -1
  61. package/dist/components/Textarea/index.js +37 -1
  62. package/dist/components/Textarea/index.js.map +1 -1
  63. package/dist/components/Tier/group.d.ts +5 -4
  64. package/dist/components/Tier/group.d.ts.map +1 -1
  65. package/dist/components/Tier/group.js +43 -122
  66. package/dist/components/Tier/group.js.map +1 -1
  67. package/dist/constants/sizes.d.ts +5 -0
  68. package/dist/constants/sizes.d.ts.map +1 -1
  69. package/dist/constants/sizes.js +6 -1
  70. package/dist/constants/sizes.js.map +1 -1
  71. package/dist/containers/ReqoreProvider.d.ts.map +1 -1
  72. package/dist/containers/ReqoreProvider.js +6 -8
  73. package/dist/containers/ReqoreProvider.js.map +1 -1
  74. package/dist/helpers/gestures.d.ts +30 -0
  75. package/dist/helpers/gestures.d.ts.map +1 -0
  76. package/dist/helpers/gestures.js +36 -0
  77. package/dist/helpers/gestures.js.map +1 -0
  78. package/dist/hooks/useDragToScroll.d.ts +6 -3
  79. package/dist/hooks/useDragToScroll.d.ts.map +1 -1
  80. package/dist/hooks/useDragToScroll.js +6 -3
  81. package/dist/hooks/useDragToScroll.js.map +1 -1
  82. package/dist/hooks/usePointerDrag.d.ts +77 -0
  83. package/dist/hooks/usePointerDrag.d.ts.map +1 -0
  84. package/dist/hooks/usePointerDrag.js +202 -0
  85. package/dist/hooks/usePointerDrag.js.map +1 -0
  86. package/dist/hooks/useReqoreMedia.d.ts +24 -0
  87. package/dist/hooks/useReqoreMedia.d.ts.map +1 -0
  88. package/dist/hooks/useReqoreMedia.js +32 -0
  89. package/dist/hooks/useReqoreMedia.js.map +1 -0
  90. package/dist/index.d.ts +4 -0
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +17 -3
  93. package/dist/index.js.map +1 -1
  94. package/package.json +2 -2
  95. package/vitest.config.ts +88 -31
package/.claude/CLAUDE.md CHANGED
@@ -184,6 +184,12 @@ release on npm.
184
184
  - **Location:** `src/stories/` (e.g. `Collection.stories.tsx`).
185
185
  - **Pattern:** ArgTypes for props, canvas controls, visual testing via Chromatic.
186
186
  - **Command:** `yarn build-storybook` builds the static site.
187
+ - **Touch stories:** a story whose play calls `withTouchScreen` (`src/stories/utils/touchScreen.ts`)
188
+ carries `tags: ['touch']`. `yarn test:stories` runs those stories in their own Vitest project
189
+ (`storybook-touch`), and so their own browser page, after the others; an untagged one fails with
190
+ the reason. Chromium cannot give a page its mouse back after touch emulation: it takes the
191
+ machine's hover and pointer, and a Linux CI runner has no mouse, so every later story in the
192
+ same page would find `(hover: none)`. This never shows on a Mac, which always reports a mouse.
187
193
 
188
194
  ### Verifying a visual fix locally with Qlip — reqore mechanics
189
195
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Breadcrumbs/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAuC,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAgB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAK9C,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAC5B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,GAAG,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,aAAa,CAAC;CACjC;AAED,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,yBAAyB,CAAC;CACtC;AAED,MAAM,WAAW,uBACf,SAAQ,gBAAgB,EACtB,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACtC,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAG3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;CAC7C;AAoID,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAyMxD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Breadcrumbs/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAM1E,OAAO,EAAuC,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAgB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAK9C,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAC5B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,GAAG,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,aAAa,CAAC;CACjC;AAED,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,yBAAyB,CAAC;CACtC;AAED,MAAM,WAAW,uBACf,SAAQ,gBAAgB,EACtB,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACtC,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAG3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;CAC7C;AAoID,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAyRxD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -58,13 +58,22 @@ var __rest = (this && this.__rest) || function (s, e) {
58
58
  }
59
59
  return t;
60
60
  };
61
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
62
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
63
+ if (ar || !(i in from)) {
64
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
65
+ ar[i] = from[i];
66
+ }
67
+ }
68
+ return to.concat(ar || Array.prototype.slice.call(from));
69
+ };
61
70
  var __importDefault = (this && this.__importDefault) || function (mod) {
62
71
  return (mod && mod.__esModule) ? mod : { "default": mod };
63
72
  };
64
73
  Object.defineProperty(exports, "__esModule", { value: true });
65
74
  var jsx_runtime_1 = require("react/jsx-runtime");
66
75
  var lodash_1 = require("lodash");
67
- var react_1 = __importDefault(require("react"));
76
+ var react_1 = __importStar(require("react"));
68
77
  var react_overflow_list_1 = require("react-overflow-list");
69
78
  var styled_components_1 = require("styled-components");
70
79
  var styled_1 = __importDefault(require("../../helpers/styled"));
@@ -156,6 +165,65 @@ var ReqoreBreadcrumbs = function (_a) {
156
165
  ? (0, colors_2.getReadableColorFrom)(theme.breadcrumbs.main, true)
157
166
  : (0, colors_2.getReadableColor)(theme, undefined, undefined, true));
158
167
  var leafItem = items[items.length - 1];
168
+ /* What fits is measured from the crumbs' widths, and `OverflowList` measures again only when the trail
169
+ itself changes width. A crumb can change width after that: its size changes, a badge arrives, or its
170
+ padding animates (`transition: all`) after its page has loaded - measured at the start of that, the
171
+ crumb grew from 151 to 160px and the last crumb stayed clipped (qorus#646). So every crumb is
172
+ observed while it is drawn, and a crumb that grows past the trail, or narrows (a folded crumb may
173
+ fit again), has the trail measured again, from all its crumbs - a new `items` array is how
174
+ `OverflowList` is told to. A crumb's width is taken when it starts being observed - the width the
175
+ trail was measured with - not from the observer's first report, which can come after the crumb has
176
+ already changed. */
177
+ var trailRef = (0, react_1.useRef)(null);
178
+ var _g = (0, react_1.useState)(0), measurement = _g[0], setMeasurement = _g[1];
179
+ var _h = (0, react_1.useState)(), crumbSizeObserver = _h[0], setCrumbSizeObserver = _h[1];
180
+ (0, react_1.useLayoutEffect)(function () {
181
+ if (!responsive || typeof ResizeObserver === 'undefined') {
182
+ return undefined;
183
+ }
184
+ var widths = new WeakMap();
185
+ var observer = new ResizeObserver(function (entries) {
186
+ var _a, _b, _c, _d;
187
+ var list = (_a = trailRef.current) === null || _a === void 0 ? void 0 : _a.querySelector('.reqore-breadcrumbs-overflow-list');
188
+ var overflowing = !!list && list.scrollWidth > list.clientWidth + 0.5;
189
+ var measureAgain = false;
190
+ for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {
191
+ var entry = entries_1[_i];
192
+ var width = (_d = (_c = (_b = entry.borderBoxSize) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.inlineSize) !== null && _d !== void 0 ? _d : entry.contentRect.width;
193
+ var was = widths.get(entry.target);
194
+ widths.set(entry.target, width);
195
+ if (was !== undefined && Math.abs(width - was) >= 0.5 && (overflowing || width < was)) {
196
+ measureAgain = true;
197
+ }
198
+ }
199
+ if (measureAgain) {
200
+ setMeasurement(function (times) { return times + 1; });
201
+ }
202
+ });
203
+ setCrumbSizeObserver({
204
+ observe: function (element) {
205
+ widths.set(element, element.getBoundingClientRect().width);
206
+ // the border box: a crumb that grows by its padding keeps its content box
207
+ observer.observe(element, { box: 'border-box' });
208
+ },
209
+ unobserve: function (element) {
210
+ widths.delete(element);
211
+ observer.unobserve(element);
212
+ },
213
+ });
214
+ return function () {
215
+ observer.disconnect();
216
+ setCrumbSizeObserver(undefined);
217
+ };
218
+ }, [responsive]);
219
+ // A new array for each measurement (`measurement` is read for that alone): `OverflowList` partitions
220
+ // the crumbs again when its items change.
221
+ var trailItems = (0, react_1.useMemo)(function () { return (measurement >= 0 ? __spreadArray([], items, true) : items); }, [items, measurement]);
222
+ /* How many crumbs are folded into the menu, as `OverflowList` last drew it: its overflow is drawn
223
+ before its visible crumbs, so a crumb's key is its place in the whole trail. A key by its place among
224
+ the VISIBLE crumbs gave a folded crumb's element to the next crumb along, which then animated from
225
+ that crumb's look to its own - and was measured while it did. */
226
+ var foldedCount = (0, react_1.useRef)(0);
159
227
  var renderArrow = function (key) { return ((0, jsx_runtime_1.jsx)(Icon_1.default, { icon: 'ArrowRightSLine', size: size, margin: 'both', effect: { opacity: 0.5 } }, key)); };
160
228
  // `OverflowList` calls this for every VISIBLE crumb (collapsed ancestors go to
161
229
  // `renderOverflow` instead), passing the crumb's POSITION. Both the React key
@@ -170,8 +238,8 @@ var ReqoreBreadcrumbs = function (_a) {
170
238
  // ancestors collapse, `renderOverflow` emits the "…" group followed by its own
171
239
  // trailing "›", so the first visible crumb (position 0, no leading separator)
172
240
  // still connects to it.
173
- var renderItem = function (item, index) {
174
- var key = "crumb-".concat(index);
241
+ var renderItem = function (item, index, folded) {
242
+ var key = "crumb-".concat(folded + index);
175
243
  if (item.withTabs) {
176
244
  return ((0, jsx_runtime_1.jsxs)(StyledBreadcrumbsTabsWrapper, { children: [index !== 0 && renderArrow("".concat(key, "-arrow")), (0, jsx_runtime_1.jsx)(list_1.default, { tabs: item.withTabs.tabs, onTabChange: item.withTabs.onTabChange, activeTab: item.withTabs.activeTab, activeTabIntent: item.withTabs.activeTabIntent, customTheme: customTheme, flat: flat, size: size })] }, key));
177
245
  }
@@ -181,7 +249,7 @@ var ReqoreBreadcrumbs = function (_a) {
181
249
  // squeezed down to an unreadable icon + single letter. When even the current
182
250
  // page can't fit, `renderOverflow` folds the whole trail into one dropdown
183
251
  // labelled with it (see below), so it's always legible somewhere.
184
- return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [index !== 0 && renderArrow("".concat(key, "-arrow")), (0, jsx_runtime_1.jsx)(item_2.default, __assign({ customTheme: customTheme }, item, { size: size }))] }, key));
252
+ return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [index !== 0 && renderArrow("".concat(key, "-arrow")), (0, jsx_runtime_1.jsx)(item_2.default, __assign({ customTheme: customTheme }, item, { size: size, sizeObserver: crumbSizeObserver }))] }, key));
185
253
  };
186
254
  // The collapsed crumbs, folded into a dropdown at the start of the trail.
187
255
  // Two shapes, because collapse happens from the start (`collapseFrom:'start'`):
@@ -194,7 +262,8 @@ var ReqoreBreadcrumbs = function (_a) {
194
262
  // "one button that reads as the current page instead of just …" behaviour,
195
263
  // and it guarantees the current page is always legible however tight it gets.
196
264
  var renderOverflow = function (overflowItems) {
197
- var _a, _b, _c;
265
+ var _a, _b, _c, _d, _e;
266
+ foldedCount.current = (0, lodash_1.size)(overflowItems);
198
267
  if (!(0, lodash_1.size)(overflowItems)) {
199
268
  return null;
200
269
  }
@@ -216,7 +285,7 @@ var ReqoreBreadcrumbs = function (_a) {
216
285
  // collapsed button IS that same solid chip; a minimal leaf stays
217
286
  // minimal. Mirrors ReqoreBreadcrumbsItem (minimal + flat defaults,
218
287
  // overridden by the item's own active/minimal/flat).
219
- active: leafItem === null || leafItem === void 0 ? void 0 : leafItem.active, minimal: (_b = leafItem === null || leafItem === void 0 ? void 0 : leafItem.minimal) !== null && _b !== void 0 ? _b : true, flat: (_c = leafItem === null || leafItem === void 0 ? void 0 : leafItem.flat) !== null && _c !== void 0 ? _c : true, raised: leafItem === null || leafItem === void 0 ? void 0 : leafItem.raised, showCaret: false, icon: leafItem === null || leafItem === void 0 ? void 0 : leafItem.icon, rightIcon: 'ArrowDownSLine', intent: leafItem === null || leafItem === void 0 ? void 0 : leafItem.intent, label: leafItem === null || leafItem === void 0 ? void 0 : leafItem.label, badge: leafItem === null || leafItem === void 0 ? void 0 : leafItem.badge,
288
+ active: leafItem === null || leafItem === void 0 ? void 0 : leafItem.active, minimal: (_b = leafItem === null || leafItem === void 0 ? void 0 : leafItem.minimal) !== null && _b !== void 0 ? _b : true, flat: (_c = leafItem === null || leafItem === void 0 ? void 0 : leafItem.flat) !== null && _c !== void 0 ? _c : true, raised: leafItem === null || leafItem === void 0 ? void 0 : leafItem.raised, showCaret: false, icon: leafItem === null || leafItem === void 0 ? void 0 : leafItem.icon, rightIcon: 'ArrowDownSLine', intent: leafItem === null || leafItem === void 0 ? void 0 : leafItem.intent, label: leafItem === null || leafItem === void 0 ? void 0 : leafItem.label, badge: leafItem === null || leafItem === void 0 ? void 0 : leafItem.badge, "aria-label": (_d = leafItem === null || leafItem === void 0 ? void 0 : leafItem['aria-label']) !== null && _d !== void 0 ? _d : leafItem === null || leafItem === void 0 ? void 0 : leafItem.label, title: (_e = leafItem === null || leafItem === void 0 ? void 0 : leafItem.title) !== null && _e !== void 0 ? _e : leafItem === null || leafItem === void 0 ? void 0 : leafItem.label,
220
289
  // A floor so the current page always keeps a few readable characters —
221
290
  // never just an icon — however tight the bar gets. This can't cause an
222
291
  // overlap: the trail is `min-width: 0; overflow: hidden`, so it clips
@@ -228,12 +297,14 @@ var ReqoreBreadcrumbs = function (_a) {
228
297
  // separator) connects to it as "… › current page".
229
298
  return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)(__1.ReqoreDropdown, { handler: 'hoverStay', delay: 500, size: size, customTheme: customTheme, showCaret: false, badge: (0, lodash_1.size)(overflowItems), items: toMenuItems(overflowItems), children: (0, jsx_runtime_1.jsx)(Icon_1.default, { icon: 'MoreLine', effect: { opacity: colors_1.CONTROL_ICON_OPACITY } }) }, 'reqore-breadcrumbs-overflow-menu'), renderArrow('reqore-breadcrumbs-overflow-arrow')] }, 'reqore-breadcrumbs-overflow'));
230
299
  };
231
- return ((0, jsx_runtime_1.jsx)(__1.ReqoreErrorBoundary, __assign({}, errorBoundaryOptions, { children: (0, jsx_runtime_1.jsxs)(StyledReqoreBreadcrumbs, __assign({}, rest, { className: "".concat(rest.className || '', " reqore-breadcrumbs-wrapper"), flat: flat, theme: theme, size: size, responsive: responsive, children: [(0, jsx_runtime_1.jsx)(StyledTrail, { className: 'reqore-breadcrumbs-trail', "$color": itemColor, children: responsive ? ((0, jsx_runtime_1.jsx)(react_overflow_list_1.OverflowList, { className: 'reqore-breadcrumbs-overflow-list', items: items, collapseFrom: 'start',
300
+ return ((0, jsx_runtime_1.jsx)(__1.ReqoreErrorBoundary, __assign({}, errorBoundaryOptions, { children: (0, jsx_runtime_1.jsxs)(StyledReqoreBreadcrumbs, __assign({}, rest, { className: "".concat(rest.className || '', " reqore-breadcrumbs-wrapper"), flat: flat, theme: theme, size: size, responsive: responsive, children: [(0, jsx_runtime_1.jsx)(StyledTrail, { ref: trailRef, className: 'reqore-breadcrumbs-trail', "$color": itemColor, children: responsive ? ((0, jsx_runtime_1.jsx)(react_overflow_list_1.OverflowList, { className: 'reqore-breadcrumbs-overflow-list', items: trailItems,
301
+ // drawn every time, folded crumbs or not, so `foldedCount` is always current
302
+ alwaysRenderOverflow: true, collapseFrom: 'start',
232
303
  // 0, not 1: when even the current page can't fit, it must be
233
304
  // allowed to collapse too so `renderOverflow` can fold the trail
234
305
  // into the single current-page-labelled dropdown. Keeping 1 here is
235
306
  // what forced the leaf to stay and shrink to an unreadable stub.
236
- minVisibleItems: 0, itemRenderer: renderItem, overflowRenderer: renderOverflow })) : ((0, jsx_runtime_1.jsx)(StyledStaticTrail, { children: items.map(renderItem) })) }), rightElement && ((0, jsx_runtime_1.jsx)(StyledRight, { className: 'reqore-breadcrumbs-right', children: rightElement }))] })) })));
307
+ minVisibleItems: 0, itemRenderer: function (item, index) { return renderItem(item, index, foldedCount.current); }, overflowRenderer: renderOverflow })) : ((0, jsx_runtime_1.jsx)(StyledStaticTrail, { children: items.map(function (item, index) { return renderItem(item, index, 0); }) })) }), rightElement && ((0, jsx_runtime_1.jsx)(StyledRight, { className: 'reqore-breadcrumbs-right', children: rightElement }))] })) })));
237
308
  };
238
309
  exports.default = ReqoreBreadcrumbs;
239
310
  var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Breadcrumbs/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAuC;AACvC,gDAA0B;AAC1B,2DAAmD;AACnD,uDAAwC;AACxC,gEAA0C;AAC1C,2BAA4D;AAC5D,iDAA8D;AAC9D,+CAAoF;AAEpF,+CAA+F;AAC/F,iDAAsD;AAItD,iDAAiC;AAEjC,qCAAiD;AACjD,mDAAoE;AACpE,gDAA2C;AA6C3C,gFAAgF;AAChF,+EAA+E;AAC/E,2EAA2E;AAC3E,gFAAgF;AAChF,+EAA+E;AAC/E,yEAAyE;AACzE,IAAM,uBAAuB,GAAG,gBAAM,CAAC,GAAG,+EAAoB,MAC1D,EAgBD,IACF,KAjBG,UAAC,EAAqF;;QAAnF,KAAK,WAAA,EAAE,IAAI,UAAA,EAAE,IAAI,UAAA,EAAE,cAAa,EAAb,MAAM,mBAAG,IAAI,KAAA,EAAE,cAAe,EAAf,MAAM,mBAAG,MAAM,KAAA,EAAE,UAAU,gBAAA;IAA2B,WAAA,uBAAG,qWAAA,eACrF,EAA+B,qBAC1B,EAAmE,0BAChE,EAAsE,oEAG1E,EAAqC,0BACjC,EAAmE,2BAChE,EAAwC,WAE1D,EAAoB,iCAGpB,EAAoB,IAAK,EAAiB,wCAG7C,KAfU,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC1B,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,wBAAgB,CAAC,IAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAChE,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAgB,CAAC,IAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAG1E,MAAM,CAAC,CAAC,CAAC,yBAAiB,CAAC,IAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EACjC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAa,IAAA,wBAAe,EAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAE,EAChE,CAAA,MAAA,KAAK,CAAC,WAAW,0CAAE,IAAI,KAAI,aAAa,EAE1D,2BAAoB,EAGpB,2BAAoB,EAAK,wBAAiB,EAG7C;CAAA,CACF,CAAC;AAEF,6EAA6E;AAC7E,0EAA0E;AAC1E,+EAA+E;AAC/E,iFAAiF;AACjF,wCAAwC;AACxC,IAAM,WAAW,GAAG,gBAAM,CAAC,GAAG,mrCAAoB,gHAMvC,EAAsB,k/BAuBpB,EAAsB,UAElC,KAzBU,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EAuBpB,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,CAElC,CAAC;AAEF,8EAA8E;AAC9E,wCAAwC;AACxC,IAAM,WAAW,GAAG,gBAAM,CAAC,GAAG,yJAAA,sFAK7B,IAAA,CAAC;AAEF,IAAM,iBAAiB,GAAG,gBAAM,CAAC,GAAG,kIAAA,+DAInC,IAAA,CAAC;AAEF,IAAM,4BAA4B,GAAG,gBAAM,CAAC,GAAG,uJAAA,oFAK9C,IAAA,CAAC;AAEF,+EAA+E;AAC/E,iFAAiF;AACjF,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAC9E,8EAA8E;AAC9E,gFAAgF;AAChF,yEAAyE;AACzE,IAAM,cAAc,GAAG;IACrB,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,aAAa;IACb,QAAQ;IACR,IAAI;IACJ,OAAO;IACP,UAAU;IACV,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;CACZ,CAAC;AACF,IAAM,WAAW,GAAG,UAAC,MAA+B;IAClD,OAAA,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK;QACf,IAAM,IAAI,GAAwB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;YAC7B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,GAAG,CAAC,GAAI,KAA6B,CAAC,GAAG,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC,CAAC;QACH,4EAA4E;QAC5E,wEAAwE;QACxE,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;QAC/B,CAAC;QACD,OAAO,IAA2B,CAAC;IACrC,CAAC,CAAC;AAbF,CAaE,CAAC;AAEL,IAAM,iBAAiB,GAAsC,UAAC,EAWpC;;IAVxB,IAAA,KAAK,WAAA,EACL,YAAY,kBAAA;IACZ,6DAA6D;IAC7D,UAAU,gBAAA,EACV,WAAW,iBAAA,EACX,IAAI,UAAA,EACJ,YAAe,EAAf,IAAI,mBAAG,QAAQ,KAAA,EACf,kBAAiB,EAAjB,UAAU,mBAAG,IAAI,KAAA,EACjB,oBAAoB,0BAAA,EACjB,IAAI,cAVqD,4GAW7D,CADQ;IAEP,IAAM,KAAK,GAAG,IAAA,yBAAc,EAAC,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACpE,IAAM,SAAS,GACb,CAAA,MAAA,MAAA,KAAK,CAAC,WAAW,0CAAE,IAAI,0CAAE,KAAK;QAC9B,CAAC,CAAA,MAAA,KAAK,CAAC,WAAW,0CAAE,IAAI;YACtB,CAAC,CAAC,IAAA,6BAAoB,EAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC;YACpD,CAAC,CAAC,IAAA,yBAAgB,EAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAE3D,IAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEzC,IAAM,WAAW,GAAG,UAAC,GAAW,IAAK,OAAA,CACnC,uBAAC,cAAU,IACT,IAAI,EAAC,iBAAiB,EACtB,IAAI,EAAE,IAAI,EAEV,MAAM,EAAC,MAAM,EACb,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,IAFnB,GAAG,CAGR,CACH,EARoC,CAQpC,CAAC;IAEF,+EAA+E;IAC/E,8EAA8E;IAC9E,yEAAyE;IACzE,gFAAgF;IAChF,8EAA8E;IAC9E,+EAA+E;IAC/E,+EAA+E;IAC/E,8DAA8D;IAC9D,EAAE;IACF,gFAAgF;IAChF,+EAA+E;IAC/E,8EAA8E;IAC9E,wBAAwB;IACxB,IAAM,UAAU,GAAG,UAAC,IAA2B,EAAE,KAAa;QAC5D,IAAM,GAAG,GAAG,gBAAS,KAAK,CAAE,CAAC;QAE7B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CACL,wBAAC,4BAA4B,eAC1B,KAAK,KAAK,CAAC,IAAI,WAAW,CAAC,UAAG,GAAG,WAAQ,CAAC,EAC3C,uBAAC,cAAc,IACb,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EACtC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAClC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAC9C,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,GACV,KAV+B,GAAG,CAWP,CAChC,CAAC;QACJ,CAAC;QAED,4EAA4E;QAC5E,6EAA6E;QAC7E,6EAA6E;QAC7E,6EAA6E;QAC7E,2EAA2E;QAC3E,kEAAkE;QAClE,OAAO,CACL,wBAAC,eAAK,CAAC,QAAQ,eACZ,KAAK,KAAK,CAAC,IAAI,WAAW,CAAC,UAAG,GAAG,WAAQ,CAAC,EAM3C,uBAAC,cAAqB,aAAC,WAAW,EAAE,WAAW,IAAM,IAAI,IAAE,IAAI,EAAE,IAAI,IAAI,KAPtD,GAAG,CAQP,CAClB,CAAC;IACJ,CAAC,CAAC;IAEF,0EAA0E;IAC1E,gFAAgF;IAChF,EAAE;IACF,6EAA6E;IAC7E,uDAAuD;IACvD,6EAA6E;IAC7E,6EAA6E;IAC7E,0EAA0E;IAC1E,8EAA8E;IAC9E,iFAAiF;IACjF,IAAM,cAAc,GAAG,UAAC,aAAsC;;QAC5D,IAAI,CAAC,IAAA,aAAK,EAAC,aAAa,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,6EAA6E;QAC7E,2EAA2E;QAC3E,oDAAoD;QACpD,IAAM,gBAAgB,GAAG,IAAA,aAAK,EAAC,aAAa,CAAC,IAAI,IAAA,aAAK,EAAC,KAAK,CAAC,CAAC;QAE9D,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,CACL,uBAAC,kBAAc,IAEb,SAAS,EAAC,qCAAqC,EAC/C,OAAO,EAAC,WAAW,EACnB,KAAK,EAAE,GAAG,EACV,IAAI,EAAE,IAAI;gBACV,uEAAuE;gBACvE,iEAAiE;gBACjE,kEAAkE;gBAClE,wEAAwE;gBACxE,sEAAsE;gBACtE,+DAA+D;gBAC/D,WAAW,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,mCAAI,WAAW,EACjD,MAAM,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,EACxB,KAAK;gBACL,mEAAmE;gBACnE,oEAAoE;gBACpE,iEAAiE;gBACjE,mEAAmE;gBACnE,qDAAqD;gBACrD,MAAM,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,EACxB,OAAO,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,mCAAI,IAAI,EAClC,IAAI,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,IAAI,EAC5B,MAAM,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,EACxB,SAAS,EAAE,KAAK,EAChB,IAAI,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EACpB,SAAS,EAAC,gBAAgB,EAC1B,MAAM,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,EACxB,KAAK,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,EACtB,KAAK,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK;gBACtB,uEAAuE;gBACvE,uEAAuE;gBACvE,sEAAsE;gBACtE,kEAAkE;gBAClE,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAC1B,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,IAlC7B,6BAA6B,CAmCjC,CACH,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,yEAAyE;QACzE,mDAAmD;QACnD,OAAO,CACL,wBAAC,eAAK,CAAC,QAAQ,eACb,uBAAC,kBAAc,IAEb,OAAO,EAAC,WAAW,EACnB,KAAK,EAAE,GAAG,EACV,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,KAAK,EAChB,KAAK,EAAE,IAAA,aAAK,EAAC,aAAa,CAAC,EAC3B,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,YAEjC,uBAAC,cAAU,IAAC,IAAI,EAAC,UAAU,EAAC,MAAM,EAAE,EAAE,OAAO,EAAE,6BAAoB,EAAE,GAAI,IATrE,kCAAkC,CAUvB,EAChB,WAAW,CAAC,mCAAmC,CAAC,KAb/B,6BAA6B,CAchC,CAClB,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CACL,uBAAC,uBAAmB,eAAK,oBAAoB,cAC3C,wBAAC,uBAAuB,eAClB,IAAI,IACR,SAAS,EAAE,UAAG,IAAI,CAAC,SAAS,IAAI,EAAE,gCAA6B,EAC/D,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,aAEtB,uBAAC,WAAW,IAAC,SAAS,EAAC,0BAA0B,YAAS,SAAS,YAChE,UAAU,CAAC,CAAC,CAAC,CACZ,uBAAC,kCAAY,IACX,SAAS,EAAC,kCAAkC,EAC5C,KAAK,EAAE,KAAK,EACZ,YAAY,EAAC,OAAO;wBACpB,6DAA6D;wBAC7D,iEAAiE;wBACjE,oEAAoE;wBACpE,iEAAiE;wBACjE,eAAe,EAAE,CAAC,EAClB,YAAY,EAAE,UAAU,EACxB,gBAAgB,EAAE,cAAc,GAChC,CACH,CAAC,CAAC,CAAC,CACF,uBAAC,iBAAiB,cAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAqB,CAC/D,GACW,EACb,YAAY,IAAI,CACf,uBAAC,WAAW,IAAC,SAAS,EAAC,0BAA0B,YAAE,YAAY,GAAe,CAC/E,KACuB,IACN,CACvB,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Breadcrumbs/index.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,19 @@
1
1
  import { IReqoreBreadcrumbItem } from '.';
2
2
  import { TSizes } from '../../constants/sizes';
3
3
  import { IReqoreTheme } from '../../constants/theme';
4
+ /** How the trail watches its crumbs' widths: a crumb is observed while it is drawn. */
5
+ export interface IReqoreCrumbSizeObserver {
6
+ observe(element: Element): void;
7
+ unobserve(element: Element): void;
8
+ }
4
9
  export interface IReqoreBreadcrumbItemProps extends IReqoreBreadcrumbItem {
5
10
  interactive?: boolean;
6
11
  size?: TSizes;
12
+ /**
13
+ * Internal: the trail's observer of its crumbs' widths, so it can measure again what fits when a
14
+ * crumb changes width after it was measured.
15
+ */
16
+ sizeObserver?: IReqoreCrumbSizeObserver;
7
17
  }
8
18
  export interface IReqoreBreadcrumbItemStyle extends IReqoreBreadcrumbItemProps {
9
19
  theme: IReqoreTheme;
@@ -1 +1 @@
1
- {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../src/components/Breadcrumbs/item.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,GAAG,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD,MAAM,WAAW,0BAA2B,SAAQ,qBAAqB;IACvE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA2B,SAAQ,0BAA0B;IAC5E,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,QAAA,MAAM,qBAAqB,+HAoC1B,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../src/components/Breadcrumbs/item.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,GAAG,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD,uFAAuF;AACvF,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,0BAA2B,SAAQ,qBAAqB;IACvE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,YAAY,CAAC,EAAE,wBAAwB,CAAC;CACzC;AAED,MAAM,WAAW,0BAA2B,SAAQ,0BAA0B;IAC5E,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,QAAA,MAAM,qBAAqB,+HAiE1B,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -32,11 +32,32 @@ var Button_1 = __importDefault(require("../Button"));
32
32
  var ReqoreBreadcrumbsItem = (0, react_1.forwardRef)(function (
33
33
  // `interactive` is not a button prop; a button rendered `as` a router link would hand it on.
34
34
  _a, ref) {
35
- var label = _a.label, props = _a.props, as = _a.as, customTheme = _a.customTheme, _interactive = _a.interactive, rest = __rest(_a,
35
+ var label = _a.label, props = _a.props, as = _a.as, customTheme = _a.customTheme, _interactive = _a.interactive, sizeObserver = _a.sizeObserver, rest = __rest(_a,
36
36
  // `interactive` is not a button prop; a button rendered `as` a router link would hand it on.
37
- ["label", "props", "as", "customTheme", "interactive"]);
37
+ ["label", "props", "as", "customTheme", "interactive", "sizeObserver"]);
38
38
  var theme = (0, useTheme_1.useReqoreTheme)('main', customTheme);
39
- return ((0, jsx_runtime_1.jsx)(Button_1.default, __assign({ as: as, ref: ref, className: 'reqore-breadcrumbs-item', customTheme: theme, minimal: true, flat: true }, rest, props, { onClick: function (e) {
39
+ var element = (0, react_1.useRef)(null);
40
+ // The element the crumb is drawn as, handed on to the caller's ref. A button sets its refs after it
41
+ // renders, and never unsets them, so the crumb observes its element in an effect of its own - which
42
+ // runs after the button's, and is undone when the crumb goes.
43
+ var setElement = (0, react_1.useCallback)(function (node) {
44
+ element.current = node;
45
+ if (typeof ref === 'function') {
46
+ ref(node);
47
+ }
48
+ else if (ref) {
49
+ ref.current = node;
50
+ }
51
+ }, [ref]);
52
+ (0, react_1.useEffect)(function () {
53
+ var node = element.current;
54
+ if (!node || !sizeObserver) {
55
+ return undefined;
56
+ }
57
+ sizeObserver.observe(node);
58
+ return function () { return sizeObserver.unobserve(node); };
59
+ }, [sizeObserver]);
60
+ return ((0, jsx_runtime_1.jsx)(Button_1.default, __assign({ as: as, ref: setElement, className: 'reqore-breadcrumbs-item', customTheme: theme, minimal: true, flat: true }, rest, props, { onClick: function (e) {
40
61
  var _a;
41
62
  e.persist();
42
63
  e.stopPropagation();
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sourceRoot":"","sources":["../../../src/components/Breadcrumbs/item.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAmC;AAInC,iDAAsD;AACtD,qDAAqC;AAWrC,IAAM,qBAAqB,GAAG,IAAA,kBAAU,EACtC;AACE,6FAA6F;AAC7F,EAO6B,EAC7B,GAAG;IAPD,IAAA,KAAK,WAAA,EACL,KAAK,WAAA,EACL,EAAE,QAAA,EACF,WAAW,iBAAA,EACE,YAAY,iBAAA,EACtB,IAAI;IAPT,6FAA6F;IAC7F,sDAOC,CADQ;IAIT,IAAM,KAAK,GAAG,IAAA,yBAAc,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAElD,OAAO,CACL,uBAAC,gBAAY,aACX,EAAE,EAAE,EAAE,EACN,GAAG,EAAE,GAAG,EACR,SAAS,EAAC,yBAAyB,EACnC,WAAW,EAAE,KAAK,EAClB,OAAO,QACP,IAAI,UACA,IAAI,EACJ,KAAK,IACT,OAAO,EAAE,UAAC,CAAC;;YACT,CAAC,CAAC,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,eAAe,EAAE,CAAC;YAEpB,MAAA,IAAI,CAAC,OAAO,qDAAG,CAAC,CAAC,CAAC;QACpB,CAAC,YAEA,KAAK,IACO,CAChB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,kBAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"item.js","sourceRoot":"","sources":["../../../src/components/Breadcrumbs/item.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAmE;AAInE,iDAAsD;AACtD,qDAAqC;AAsBrC,IAAM,qBAAqB,GAAG,IAAA,kBAAU,EACtC;AACE,6FAA6F;AAC7F,EAQ6B,EAC7B,GAAG;IARD,IAAA,KAAK,WAAA,EACL,KAAK,WAAA,EACL,EAAE,QAAA,EACF,WAAW,iBAAA,EACE,YAAY,iBAAA,EACzB,YAAY,kBAAA,EACT,IAAI;IART,6FAA6F;IAC7F,sEAQC,CADQ;IAIT,IAAM,KAAK,GAAG,IAAA,yBAAc,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClD,IAAM,OAAO,GAAG,IAAA,cAAM,EAA2B,IAAI,CAAC,CAAC;IACvD,oGAAoG;IACpG,oGAAoG;IACpG,8DAA8D;IAC9D,IAAM,UAAU,GAAG,IAAA,mBAAW,EAC5B,UAAC,IAA8B;QAC7B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAEvB,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC,CAAC;QACZ,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YACf,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAC;IAEF,IAAA,iBAAS,EAAC;QACR,IAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;QAE7B,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE3B,OAAO,cAAM,OAAA,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAA5B,CAA4B,CAAC;IAC5C,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,CACL,uBAAC,gBAAY,aACX,EAAE,EAAE,EAAE,EACN,GAAG,EAAE,UAAU,EACf,SAAS,EAAC,yBAAyB,EACnC,WAAW,EAAE,KAAK,EAClB,OAAO,QACP,IAAI,UACA,IAAI,EACJ,KAAK,IACT,OAAO,EAAE,UAAC,CAAC;;YACT,CAAC,CAAC,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,eAAe,EAAE,CAAC;YAEpB,MAAA,IAAI,CAAC,OAAO,qDAAG,CAAC,CAAC,CAAC;QACpB,CAAC,YAEA,KAAK,IACO,CAChB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,kBAAe,qBAAqB,CAAC"}
@@ -1,7 +1,131 @@
1
1
  import { IReqoreTheme } from '../../constants/theme';
2
2
  import type { IReqoreConfirmationModal } from '../../containers/ReqoreProvider';
3
+ import { IPointerDragDelta } from '../../hooks/usePointerDrag';
3
4
  import { IReqorePanelProps } from '../Panel';
4
5
  export type TPosition = 'top' | 'bottom' | 'left' | 'right';
6
+ /**
7
+ * The viewport width (px, inclusive) at or below which a `responsiveLayout`
8
+ * drawer becomes a sheet when the caller names no breakpoint. 900 is the
9
+ * number qorus-ide converged on for every one of its drawers: a 620–720px
10
+ * side panel in a 900px window leaves a sliver of page that is not usable
11
+ * anyway, so the sheet is the honest layout there. The provider's own
12
+ * `isMobile` (≤ 480px) is too narrow for drawers that wide — at 600px such a
13
+ * panel covers the viewport with its handle off-screen — and
14
+ * `isMobileOrTablet` (≤ 1200px) would put sheets on landscape tablets.
15
+ */
16
+ export declare const DRAWER_SHEET_BREAKPOINT = 900;
17
+ /**
18
+ * Which viewport width switches a `responsiveLayout` drawer into a sheet:
19
+ * `'mobile'` is the provider's `isMobile` (≤ 480px), `'tablet'` is its
20
+ * `isMobileOrTablet` (≤ 1200px), and a number is a width in px, inclusive.
21
+ * Omitted, it is `DRAWER_SHEET_BREAKPOINT`. Reqore owns these numbers; a
22
+ * consumer never carries a media query of its own for this.
23
+ */
24
+ export type TReqoreDrawerResponsiveBreakpoint = 'mobile' | 'tablet' | number;
25
+ export interface IReqoreDrawerResponsiveLayout {
26
+ /** Which viewport width switches the layout. Defaults to `DRAWER_SHEET_BREAKPOINT` (900px). */
27
+ below?: TReqoreDrawerResponsiveBreakpoint;
28
+ /** The edge the sheet attaches to while the layout is active. Defaults to `'bottom'`. */
29
+ position?: TPosition;
30
+ /** The sheet's size on the axis it occupies. Defaults to `'100%'`. */
31
+ size?: string;
32
+ /**
33
+ * The cap on that axis. Defaults to `'90vh'` — the same cap every drawer has
34
+ * on its cross axis by default, so a bottom sheet rises to 90% of the screen
35
+ * and leaves a strip of page above it where a tap on the backdrop closes it.
36
+ * Pass `'100%'` for an edge-to-edge sheet. Separate from the drawer's own
37
+ * `maxSize` on purpose: that one caps the SIDE drawer's width, and a value
38
+ * meant as a width must never become a sheet's height.
39
+ */
40
+ maxSize?: string;
41
+ }
42
+ export interface IReqoreDrawerResolvedResponsiveLayout {
43
+ /** Whether the sheet layout is in force for the current viewport. */
44
+ active: boolean;
45
+ /** The edge the sheet attaches to; only set while `active`. */
46
+ position?: TPosition;
47
+ /** The sheet's size on its axis; only set while `active`. */
48
+ size?: string;
49
+ /** The cap on that axis; only set while `active`. */
50
+ maxSize?: string;
51
+ }
52
+ export declare const DRAWER_RESPONSIVE_LAYOUT_DEFAULTS: Required<IReqoreDrawerResponsiveLayout>;
53
+ /**
54
+ * What the resolver needs to know about the viewport. The two named flags are
55
+ * the provider's; `belowSheetBreakpoint` answers "is the viewport at or below
56
+ * the numeric `below` (or `DRAWER_SHEET_BREAKPOINT` when none is given)" and
57
+ * is ignored when `below` names a provider breakpoint. The component evaluates
58
+ * it with one media query; a consumer calling the resolver itself evaluates
59
+ * it however it already measures the viewport.
60
+ */
61
+ export interface IReqoreDrawerResponsiveViewport {
62
+ isMobile: boolean;
63
+ isMobileOrTablet: boolean;
64
+ belowSheetBreakpoint: boolean;
65
+ }
66
+ /**
67
+ * Decides whether a drawer's `responsiveLayout` is in force, and with what
68
+ * geometry. Pure, so the decision is unit-testable without a viewport: jsdom
69
+ * has no `matchMedia`, so every breakpoint is fixed `false` in unit tests, and
70
+ * the rendered sheet is proven in a real browser instead — the
71
+ * `Dialogs/Drawer` `ResponsiveSheet*` stories do that at 380px and 800px.
72
+ *
73
+ * A modal (`_isModal`) is never turned into a sheet: it is already centred
74
+ * and sized for its content, and it has no edge to attach to.
75
+ */
76
+ export declare const resolveDrawerResponsiveLayout: (responsiveLayout: boolean | IReqoreDrawerResponsiveLayout | undefined, viewport: IReqoreDrawerResponsiveViewport, isModal?: boolean) => IReqoreDrawerResolvedResponsiveLayout;
77
+ /**
78
+ * The px width behind a `responsiveLayout` config's numeric `below`, or the
79
+ * default when it names a provider breakpoint or nothing — the component
80
+ * always subscribes to exactly one query, so a hook never comes and goes.
81
+ */
82
+ export declare const drawerSheetBreakpointPx: (responsiveLayout: boolean | IReqoreDrawerResponsiveLayout | undefined) => number;
83
+ /** An offset of the drawer's box from where it would otherwise sit, in px. */
84
+ export interface IReqoreDrawerDragOffset {
85
+ x: number;
86
+ y: number;
87
+ }
88
+ /**
89
+ * What a sheet dragged by `delta` does. `offset` is where to draw it meanwhile: it follows the
90
+ * finger toward the edge it is attached to and stays put when pulled the other way — a bottom
91
+ * sheet is not lifted off its edge. `closes` is whether letting go here closes it: past
92
+ * `SWIPE.distance` of its `size` on that axis, or with a flick (`SWIPE.velocity`) toward the edge.
93
+ */
94
+ export declare const getSheetSwipe: (position: TPosition, delta: IPointerDragDelta, size: number) => {
95
+ offset: IReqoreDrawerDragOffset;
96
+ closes: boolean;
97
+ };
98
+ /** What a modal's drag is held within. */
99
+ export interface IReqoreModalDragBounds {
100
+ /** The box with no offset applied: where the modal sits at rest. */
101
+ box: {
102
+ left: number;
103
+ top: number;
104
+ width: number;
105
+ height: number;
106
+ };
107
+ viewport: {
108
+ width: number;
109
+ height: number;
110
+ };
111
+ /** The height of the title bar, the part that has to stay reachable. */
112
+ handleHeight: number;
113
+ }
114
+ /**
115
+ * `offset` held so the modal's title bar stays whole in the viewport: the box's left and right
116
+ * edges inside it, the bar fully below the top and above the bottom. The title bar is what the
117
+ * modal is dragged and closed by, and one pushed off-screen has no way back. A box wider than
118
+ * the viewport cannot satisfy that on its axis; it is held to always span the viewport instead.
119
+ */
120
+ export declare const clampModalDragOffset: (offset: IReqoreDrawerDragOffset, { box, viewport, handleHeight }: IReqoreModalDragBounds) => IReqoreDrawerDragOffset;
121
+ /**
122
+ * Whether a press at `target` lands on the drawer's own title bar — the handle a sheet is swiped
123
+ * and a modal dragged by — and not on a control in it. The bar is the drawer panel's direct
124
+ * `.reqore-panel-title`; a panel in the drawer's content has one of its own, and that one is
125
+ * not a handle. A press on a button (the close control, an action), a link, a field or the
126
+ * actions' control group is theirs.
127
+ */
128
+ export declare const isDrawerHeaderGrab: (target: EventTarget | null, box: HTMLElement) => boolean;
5
129
  /** The floor an EDGE drawer cannot be dragged below, on the axis it resizes. */
6
130
  export declare const DRAWER_MIN_SIZE = "150px";
7
131
  /**
@@ -116,6 +240,54 @@ export interface IReqoreDrawerProps extends Omit<IReqorePanelProps, 'size' | 're
116
240
  confirmOnClose?: boolean | IReqoreConfirmationModal;
117
241
  /** Whether to trap focus within the drawer when open. Defaults to true for modals and drawers with backdrop. */
118
242
  focusTrap?: boolean;
243
+ /**
244
+ * Become a full-width sheet on small screens instead of a fixed-size edge
245
+ * panel. OPT-IN, because it changes geometry a caller may have sized for.
246
+ *
247
+ * A `size='720px'` right-hand drawer is unusable at 380px: it covers the
248
+ * whole viewport, its resize handle sits off-screen and nothing says why
249
+ * the page behind it stopped responding. With `responsiveLayout`, at or
250
+ * below the breakpoint — `DRAWER_SHEET_BREAKPOINT` (900px) unless `below`
251
+ * says `'mobile'` (≤ 480px), `'tablet'` (≤ 1200px) or a px number — the
252
+ * drawer attaches to the bottom edge (or the `position` given), takes
253
+ * `100%` of that axis (or the `size` given) up to a `maxSize` of `90vh`
254
+ * (or the one given; `'100%'` for edge to edge), and drops the affordances
255
+ * that make no sense on a sheet — `resizable`, `hidable` and `floating` are
256
+ * off while the layout is active, and a drawer the user had hidden on a
257
+ * wide screen is shown again rather than left hidden with no control to
258
+ * bring it back. Above the breakpoint nothing changes.
259
+ *
260
+ * These defaults are qorus-ide's `useResponsiveDrawerProps` behaviour moved
261
+ * into the library: bottom, full width, 90% of the height, at 900px. Pass
262
+ * `true` for them, or `{ below, position, size, maxSize }` to tune them.
263
+ * The root carries `.reqore-drawer-sheet` while the layout is active, so a
264
+ * story or test can assert which branch rendered.
265
+ *
266
+ * Reqore owns the breakpoints: consumers must not hand-roll a `matchMedia`
267
+ * for this — that is exactly the local workaround this prop replaces.
268
+ * Modals (`ReqoreModal`) ignore it; they are centred and content-sized
269
+ * already.
270
+ */
271
+ responsiveLayout?: boolean | IReqoreDrawerResponsiveLayout;
272
+ /**
273
+ * Whether the sheet can be pushed away. While `responsiveLayout` has made the drawer a sheet,
274
+ * dragging its title bar toward the edge it is attached to follows the finger, and letting go
275
+ * past `SWIPE.distance` (18%) of the sheet's size on that axis — or with a flick toward the
276
+ * edge — closes it through the same path as the close button, so `confirmOnClose` still asks
277
+ * first. A shorter drag springs back; at once under `prefers-reduced-motion` or with
278
+ * `animations.dialogs` off. The title bar alone is the handle (not a button, an action or a
279
+ * field in it), so the content scrolls as it always did, and every sheet `position` swipes
280
+ * toward its own edge. The box carries `.reqore-drawer-swipeable` while it is on and
281
+ * `.reqore-drawer-dragging` during a drag. Default `true`: a sheet a finger cannot push away
282
+ * reads as stuck. Nothing outside the sheet layout, and nothing without an `onClose`.
283
+ */
284
+ swipeToClose?: boolean;
285
+ /**
286
+ * `ReqoreModal`'s `draggable`, handed over under another name so that the HTML attribute of
287
+ * that name never reaches the DOM — it would start the browser's own drag of the panel.
288
+ * @internal
289
+ */
290
+ _draggable?: boolean;
119
291
  }
120
292
  export interface IReqoreDrawerStyle extends IReqoreDrawerProps {
121
293
  theme: IReqoreTheme;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Drawer/index.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAMhF,OAAO,EAAsB,iBAAiB,EAAe,MAAM,UAAU,CAAC;AAG9E,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5D,gFAAgF;AAChF,eAAO,MAAM,eAAe,UAAU,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,mCAAmC;AACnC,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAEvC,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,WAAW,CAAC;IACvF,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,GAAG,wBAAwB,CAAC;IACpD,gHAAgH;IAChH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,KAQzB,CAAC;AAEF,eAAO,MAAM,kBAAkB,KA+C9B,CAAC;AAEF,eAAO,MAAM,qBAAqB,KA6BjC,CAAC;AAsCF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAuZrD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Drawer/index.tsx"],"names":[],"mappings":"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"}