@qoretechnologies/reqore 0.78.5-pr.708.gd1c403a → 0.78.5-pr.708.gd45a15b

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 (103) hide show
  1. package/.claude/CLAUDE.md +14 -0
  2. package/dist/components/Breadcrumbs/index.d.ts.map +1 -1
  3. package/dist/components/Breadcrumbs/index.js +262 -75
  4. package/dist/components/Breadcrumbs/index.js.map +1 -1
  5. package/dist/components/Breadcrumbs/item.d.ts +0 -10
  6. package/dist/components/Breadcrumbs/item.d.ts.map +1 -1
  7. package/dist/components/Breadcrumbs/item.js +3 -24
  8. package/dist/components/Breadcrumbs/item.js.map +1 -1
  9. package/dist/components/ControlGroup/index.d.ts.map +1 -1
  10. package/dist/components/ControlGroup/index.js +5 -1
  11. package/dist/components/ControlGroup/index.js.map +1 -1
  12. package/dist/components/DataView/index.d.ts.map +1 -1
  13. package/dist/components/DataView/index.js +5 -6
  14. package/dist/components/DataView/index.js.map +1 -1
  15. package/dist/components/Drawer/index.d.ts.map +1 -1
  16. package/dist/components/Drawer/index.js +34 -7
  17. package/dist/components/Drawer/index.js.map +1 -1
  18. package/dist/components/Dropdown/list.d.ts.map +1 -1
  19. package/dist/components/Dropdown/list.js +71 -5
  20. package/dist/components/Dropdown/list.js.map +1 -1
  21. package/dist/components/EntityRow/index.d.ts.map +1 -1
  22. package/dist/components/EntityRow/index.js +10 -4
  23. package/dist/components/EntityRow/index.js.map +1 -1
  24. package/dist/components/InternalPopover/index.d.ts.map +1 -1
  25. package/dist/components/InternalPopover/index.js +32 -5
  26. package/dist/components/InternalPopover/index.js.map +1 -1
  27. package/dist/components/Menu/index.d.ts.map +1 -1
  28. package/dist/components/Menu/index.js +14 -8
  29. package/dist/components/Menu/index.js.map +1 -1
  30. package/dist/components/Menu/item.d.ts.map +1 -1
  31. package/dist/components/Menu/item.js +3 -2
  32. package/dist/components/Menu/item.js.map +1 -1
  33. package/dist/components/Menu/section.d.ts.map +1 -1
  34. package/dist/components/Menu/section.js +11 -6
  35. package/dist/components/Menu/section.js.map +1 -1
  36. package/dist/components/NavRail/index.d.ts.map +1 -1
  37. package/dist/components/NavRail/index.js +10 -0
  38. package/dist/components/NavRail/index.js.map +1 -1
  39. package/dist/components/Notifications/notification.d.ts.map +1 -1
  40. package/dist/components/Notifications/notification.js +11 -4
  41. package/dist/components/Notifications/notification.js.map +1 -1
  42. package/dist/components/Panel/index.d.ts.map +1 -1
  43. package/dist/components/Panel/index.js +116 -27
  44. package/dist/components/Panel/index.js.map +1 -1
  45. package/dist/components/Popover/index.d.ts.map +1 -1
  46. package/dist/components/Popover/index.js +71 -14
  47. package/dist/components/Popover/index.js.map +1 -1
  48. package/dist/components/Rating/index.d.ts.map +1 -1
  49. package/dist/components/Rating/index.js +9 -3
  50. package/dist/components/Rating/index.js.map +1 -1
  51. package/dist/components/RowActionsMenu/index.d.ts +22 -6
  52. package/dist/components/RowActionsMenu/index.d.ts.map +1 -1
  53. package/dist/components/RowActionsMenu/index.js +95 -18
  54. package/dist/components/RowActionsMenu/index.js.map +1 -1
  55. package/dist/components/SeverityRow/index.d.ts.map +1 -1
  56. package/dist/components/SeverityRow/index.js +6 -2
  57. package/dist/components/SeverityRow/index.js.map +1 -1
  58. package/dist/components/Statistic/index.d.ts.map +1 -1
  59. package/dist/components/Statistic/index.js +4 -1
  60. package/dist/components/Statistic/index.js.map +1 -1
  61. package/dist/components/Table/helpers.d.ts +5 -5
  62. package/dist/components/Table/helpers.d.ts.map +1 -1
  63. package/dist/components/Table/helpers.js +6 -7
  64. package/dist/components/Table/helpers.js.map +1 -1
  65. package/dist/components/Table/index.d.ts +15 -6
  66. package/dist/components/Table/index.d.ts.map +1 -1
  67. package/dist/components/Table/index.js +53 -21
  68. package/dist/components/Table/index.js.map +1 -1
  69. package/dist/components/Table/row.d.ts.map +1 -1
  70. package/dist/components/Table/row.js +21 -8
  71. package/dist/components/Table/row.js.map +1 -1
  72. package/dist/components/Textarea/index.d.ts.map +1 -1
  73. package/dist/components/Textarea/index.js +36 -12
  74. package/dist/components/Textarea/index.js.map +1 -1
  75. package/dist/components/Timeline/index.d.ts.map +1 -1
  76. package/dist/components/Timeline/index.js +5 -4
  77. package/dist/components/Timeline/index.js.map +1 -1
  78. package/dist/components/Tree/modal.d.ts.map +1 -1
  79. package/dist/components/Tree/modal.js +3 -1
  80. package/dist/components/Tree/modal.js.map +1 -1
  81. package/dist/containers/ReqoreProvider.d.ts.map +1 -1
  82. package/dist/containers/ReqoreProvider.js +27 -13
  83. package/dist/containers/ReqoreProvider.js.map +1 -1
  84. package/dist/helpers/hoveringPointer.d.ts +48 -0
  85. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  86. package/dist/helpers/hoveringPointer.js +60 -0
  87. package/dist/helpers/hoveringPointer.js.map +1 -0
  88. package/dist/hooks/useCloneThroughFragments.d.ts.map +1 -1
  89. package/dist/hooks/useCloneThroughFragments.js +27 -0
  90. package/dist/hooks/useCloneThroughFragments.js.map +1 -1
  91. package/dist/hooks/useMarqueeOnHover.d.ts.map +1 -1
  92. package/dist/hooks/useMarqueeOnHover.js +10 -0
  93. package/dist/hooks/useMarqueeOnHover.js.map +1 -1
  94. package/dist/hooks/useReqoreMedia.d.ts +14 -7
  95. package/dist/hooks/useReqoreMedia.d.ts.map +1 -1
  96. package/dist/hooks/useReqoreMedia.js +30 -9
  97. package/dist/hooks/useReqoreMedia.js.map +1 -1
  98. package/dist/index.d.ts +4 -0
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +8 -3
  101. package/dist/index.js.map +1 -1
  102. package/package.json +2 -3
  103. package/vitest.config.ts +105 -37
package/.claude/CLAUDE.md CHANGED
@@ -184,6 +184,20 @@ 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`), whose browser context is a phone from the start (Playwright's `isMobile` and
190
+ `hasTouch`, 390×844), and before the others; an untagged one fails with the reason. Never turn
191
+ Chromium's touch emulation on or off over the DevTools protocol: turning it off leaves the page
192
+ with the machine's hover and pointer, not the mouse Playwright launched it with, and a Linux CI
193
+ runner has none, so every later story in the page finds `(hover: none)` (it never shows on a Mac,
194
+ which always reports a mouse). `.storybook/vitest.setup.ts` checks every story's browser is its
195
+ project's: `(hover: hover) and (pointer: fine)`, or on the phone `(hover: none) and (pointer: coarse)`.
196
+ - **No layout change inside a ResizeObserver callback:** a story fails when the browser reports
197
+ "ResizeObserver loop completed with undelivered notifications" (`.storybook/vitest.setup.ts`). It
198
+ means a resize callback changed the layout it observes in the same frame, often by setting state
199
+ synchronously (react-popper's `forceUpdate` renders with `flushSync`). Defer that change to the next
200
+ frame (`requestAnimationFrame`, once per frame), or measure without changing the layout.
187
201
 
188
202
  ### Verifying a visual fix locally with Qlip — reqore mechanics
189
203
 
@@ -1 +1 @@
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"}
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;AA+OD,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAwZxD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -74,7 +74,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
74
74
  var jsx_runtime_1 = require("react/jsx-runtime");
75
75
  var lodash_1 = require("lodash");
76
76
  var react_1 = __importStar(require("react"));
77
- var react_overflow_list_1 = require("react-overflow-list");
77
+ var react_dom_1 = require("react-dom");
78
78
  var styled_components_1 = require("styled-components");
79
79
  var styled_1 = __importDefault(require("../../helpers/styled"));
80
80
  var __1 = require("../..");
@@ -100,9 +100,9 @@ var StyledReqoreBreadcrumbs = styled_1.default.div(templateObject_2 || (template
100
100
  // The trail region — takes all the width the right element leaves and clips.
101
101
  // `min-width: 0` lets it shrink below its content so the current page can
102
102
  // ellipsise; `overflow: hidden` is the final safety net. Its single child (the
103
- // `OverflowList` row, or the static row) fills it so `OverflowList` measures the
104
- // AVAILABLE width, not its own content.
105
- var StyledTrail = styled_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n display: flex;\n align-items: center;\n color: ", ";\n\n > * {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n /* The OverflowList container sets only display/flexWrap/minWidth inline (no\n align-items), so without this its crumbs top-align against the tallest one\n \u2014 e.g. a crumb carrying a two-line description. Center them so the row\n reads as a single baseline, matching the static trail. */\n .reqore-breadcrumbs-overflow-list {\n align-items: center;\n }\n\n /* Force the readable item colour onto the crumbs + collapsed dropdowns, as the\n original did with a descendant selector. A minimal/flat button sets its OWN\n text colour directly on the element \u2014 for a chromatic custom theme that\n resolves to a near-white tint (saturate(tint(0.8, main))) \u2014 which beats the\n trail's merely-inherited colour. Overriding it here keeps the labels legible\n (readable-dark on a light themed bar) instead of washing out to white. */\n .reqore-breadcrumbs-item,\n .reqore-dropdown-control {\n color: ", ";\n }\n"], ["\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n display: flex;\n align-items: center;\n color: ", ";\n\n > * {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n /* The OverflowList container sets only display/flexWrap/minWidth inline (no\n align-items), so without this its crumbs top-align against the tallest one\n \u2014 e.g. a crumb carrying a two-line description. Center them so the row\n reads as a single baseline, matching the static trail. */\n .reqore-breadcrumbs-overflow-list {\n align-items: center;\n }\n\n /* Force the readable item colour onto the crumbs + collapsed dropdowns, as the\n original did with a descendant selector. A minimal/flat button sets its OWN\n text colour directly on the element \u2014 for a chromatic custom theme that\n resolves to a near-white tint (saturate(tint(0.8, main))) \u2014 which beats the\n trail's merely-inherited colour. Overriding it here keeps the labels legible\n (readable-dark on a light themed bar) instead of washing out to white. */\n .reqore-breadcrumbs-item,\n .reqore-dropdown-control {\n color: ", ";\n }\n"])), function (_a) {
103
+ // folding row, or the static row) fills it, so the row's end is the end of the
104
+ // AVAILABLE width, not of its own content.
105
+ var StyledTrail = styled_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n display: flex;\n align-items: center;\n color: ", ";\n\n > * {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n /* Force the readable item colour onto the crumbs + collapsed dropdowns, as the\n original did with a descendant selector. A minimal/flat button sets its OWN\n text colour directly on the element \u2014 for a chromatic custom theme that\n resolves to a near-white tint (saturate(tint(0.8, main))) \u2014 which beats the\n trail's merely-inherited colour. Overriding it here keeps the labels legible\n (readable-dark on a light themed bar) instead of washing out to white. */\n .reqore-breadcrumbs-item,\n .reqore-dropdown-control {\n color: ", ";\n }\n"], ["\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n display: flex;\n align-items: center;\n color: ", ";\n\n > * {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n /* Force the readable item colour onto the crumbs + collapsed dropdowns, as the\n original did with a descendant selector. A minimal/flat button sets its OWN\n text colour directly on the element \u2014 for a chromatic custom theme that\n resolves to a near-white tint (saturate(tint(0.8, main))) \u2014 which beats the\n trail's merely-inherited colour. Overriding it here keeps the labels legible\n (readable-dark on a light themed bar) instead of washing out to white. */\n .reqore-breadcrumbs-item,\n .reqore-dropdown-control {\n color: ", ";\n }\n"])), function (_a) {
106
106
  var $color = _a.$color;
107
107
  return $color;
108
108
  }, function (_a) {
@@ -113,7 +113,87 @@ var StyledTrail = styled_1.default.div(templateObject_3 || (templateObject_3 = _
113
113
  // structurally impossible at any width.
114
114
  var StyledRight = styled_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n margin-left: 8px;\n"], ["\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n margin-left: 8px;\n"])));
115
115
  var StyledStaticTrail = styled_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n min-width: 0;\n"], ["\n display: flex;\n align-items: center;\n min-width: 0;\n"])));
116
- var StyledBreadcrumbsTabsWrapper = styled_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n overflow: hidden;\n min-width: 0;\n"], ["\n display: flex;\n align-items: center;\n overflow: hidden;\n min-width: 0;\n"])));
116
+ // The responsive trail's row: its crumbs on one line, centred against the tallest
117
+ // (a crumb with a two-line description), and as wide as the trail, whatever they
118
+ // need - what does not fit is folded into the menu at its start.
119
+ var StyledFoldingTrail = styled_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n min-width: 0;\n"], ["\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n min-width: 0;\n"])));
120
+ /**
121
+ * Whether the crumb holding tabs is squeezed while a crumb before it could fold instead: it clips
122
+ * the tabs it draws, or - at the end of the trail, where it takes the room the other parts leave -
123
+ * it has less room than all its tabs need, so that some are in their "More" menu. That room is what
124
+ * the tabs list itself compares its width with (`getTabsLength`, in `data-tabs-width`), not the
125
+ * width of the tabs it draws now: once some are in "More", it draws narrower, and a trail made
126
+ * wider again would otherwise unfold its crumbs first. When it is the first crumb shown, it is
127
+ * squeezed rather than folded, and its tabs fold into their own menu.
128
+ */
129
+ var tabsSqueezed = function (part) {
130
+ if (!(part instanceof HTMLElement) ||
131
+ !part.classList.contains('reqore-breadcrumbs-tabs') ||
132
+ part.dataset.position === '0') {
133
+ return false;
134
+ }
135
+ var list = part.querySelector('.reqore-tabs-list');
136
+ // its layout width, as the tabs list measures it: a transform on an ancestor scales neither
137
+ var room = list ? parseFloat(getComputedStyle(list).width) : NaN;
138
+ return Number(part.dataset.tabsWidth) > room || part.scrollWidth > part.clientWidth + 0.5;
139
+ };
140
+ /**
141
+ * Whether the trail draws more than it has room for: a part (a crumb, an arrow, the menu) reaches
142
+ * past its end, or the crumb holding tabs is squeezed while a crumb before it could fold instead.
143
+ */
144
+ var trailOverflows = function (row) {
145
+ if (!row) {
146
+ return false;
147
+ }
148
+ var end = row.getBoundingClientRect().right;
149
+ return Array.from(row.children).some(function (part) { return part.getBoundingClientRect().right > end + 0.5 || tabsSqueezed(part); });
150
+ };
151
+ /**
152
+ * Whether a part is as wide as the room the other parts leave it in the trail: the crumb holding
153
+ * tabs at its end, the dropdown standing in for the current page. It gets narrower when the trail
154
+ * does, which leaves no more room for anything else.
155
+ */
156
+ var fillsTrail = function (part) {
157
+ return part.classList.contains('reqore-breadcrumbs-overflow-current') ||
158
+ (part instanceof HTMLElement && part.dataset.fills === 'true');
159
+ };
160
+ /**
161
+ * Whether two trails are drawn alike, so the second needs no measuring again: the same crumbs, each with the
162
+ * same values. Handlers are left out (a page that passes new ones on every render still passes the same
163
+ * trail), and an object value (`props`, an `effect`) is compared one level down.
164
+ */
165
+ var sameTrail = function (one, other) {
166
+ if (one === other) {
167
+ return true;
168
+ }
169
+ if (one.length !== other.length) {
170
+ return false;
171
+ }
172
+ var sameValue = function (a, b) {
173
+ if (a === b || (typeof a === 'function' && typeof b === 'function')) {
174
+ return true;
175
+ }
176
+ if (!a || !b || typeof a !== 'object' || typeof b !== 'object' || react_1.default.isValidElement(a)) {
177
+ return false;
178
+ }
179
+ var keys = Object.keys(a);
180
+ return (keys.length === Object.keys(b).length &&
181
+ keys.every(function (key) { return a[key] === b[key]; }));
182
+ };
183
+ return one.every(function (crumb, index) {
184
+ var keys = Object.keys(crumb);
185
+ var otherCrumb = other[index];
186
+ return (keys.length === Object.keys(otherCrumb).length &&
187
+ keys.every(function (key) { return sameValue(crumb[key], otherCrumb[key]); }));
188
+ });
189
+ };
190
+ // At the end of the trail, the crumb holding tabs takes all the room the other parts leave
191
+ // (`$fills`): the tabs list measures the room it is given, so a crumb only as wide as the tabs it
192
+ // draws would keep the ones it once put in "More" there however wide the trail got again.
193
+ var StyledBreadcrumbsTabsWrapper = styled_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n display: flex;\n flex: ", ";\n align-items: center;\n overflow: hidden;\n min-width: 0;\n"], ["\n display: flex;\n flex: ", ";\n align-items: center;\n overflow: hidden;\n min-width: 0;\n"])), function (_a) {
194
+ var $fills = _a.$fills;
195
+ return ($fills ? '1 1 auto' : '0 1 auto');
196
+ });
117
197
  // The overflow dropdowns present the collapsed crumbs as a NAVIGATION MENU, so
118
198
  // each crumb must render as a clean left-aligned menu row — not as the pill/chip
119
199
  // it is in the trail. Strip the crumb's trail-only layout treatment (raised /
@@ -165,74 +245,185 @@ var ReqoreBreadcrumbs = function (_a) {
165
245
  ? (0, colors_2.getReadableColorFrom)(theme.breadcrumbs.main, true)
166
246
  : (0, colors_2.getReadableColor)(theme, undefined, undefined, true));
167
247
  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];
248
+ /* The crumbs folded from the start of the trail into its menu: as many as it takes for every part the
249
+ trail draws to lie inside it - the current page too, into one dropdown labelled with it, when even it
250
+ does not fit. It is settled before the browser paints, so no frame ever draws a crumb past the trail
251
+ (qorus#646: when the page changed its crumbs, the trail used to fold one crumb per frame, and a phone
252
+ showed "… › New chat" running 79px past the trail for 50ms). After each render a layout effect
253
+ measures the parts and folds one more crumb while one reaches past the trail (or the crumb holding
254
+ tabs clips them, see `trailOverflows`), or one fewer while everything fits and the trail is
255
+ unfolding; each step is a render React makes before the browser paints.
256
+
257
+ What measures the trail again:
258
+ - a new trail (`items`, unless it is drawn alike) or crumb size: from what is folded now, unfolding
259
+ while everything fits;
260
+ - the trail getting wider, or a part narrower: unfolding the same way;
261
+ - the trail getting narrower, or a part wider (a badge arriving, padding animating after the page has
262
+ loaded), so that a part reaches past it: folding.
263
+ The last two come from a ResizeObserver, after the browser's layout and before its paint. It
264
+ renders the new fold there and then (`flushSync`), so that frame is painted folded too. It lets
265
+ go of every part first and takes them up again in the next frame: a size changed inside the
266
+ observer's own callback would be left unreported, which the browser reports as an error. For
267
+ the same reason the trail keeps its height until then: a crumb with a description is taller
268
+ than the others, and the trail's height changed inside the callback would change the size of
269
+ what holds it, which another observer may watch (a panel's, a page layout's).
270
+ A part's width is taken when the trail draws it, not from the observer's first report, which
271
+ can come after it has changed. The trail's own width is taken when it is first drawn and then
272
+ as the observer reports it, so a render that made it wider (a narrower right element, a wider
273
+ `maxWidth`) is reported too, and unfolds what fits. Widths are compared as
274
+ `getBoundingClientRect()` gives them, as `trailOverflows` measures: the box the observer
275
+ reports is not scaled by a transform on an ancestor, so under one every report would differ. */
276
+ var rowRef = (0, react_1.useRef)(null);
277
+ var _g = (0, react_1.useState)({ items: items, size: size, folded: 0, unfolding: false }), fold = _g[0], setFold = _g[1];
278
+ var folded = Math.min(fold.folded, (0, lodash_1.size)(items));
279
+ // as the trail last drew it, for the observer: with every crumb folded, none is left to fold
280
+ var drawnFold = (0, react_1.useRef)({ folded: folded, total: (0, lodash_1.size)(items) });
281
+ if (fold.size !== size || !sameTrail(fold.items, items)) {
282
+ // measured again during this render, so no frame shows the old fold over the new crumbs
283
+ setFold({ items: items, size: size, folded: folded, unfolding: folded > 0 });
284
+ }
285
+ // The width all of a crumb's tabs need, by the tabs list's own reckoning (see `tabsSqueezed`).
286
+ var tabsWidths = (0, react_1.useMemo)(function () {
287
+ return items.map(function (item) {
288
+ return item.withTabs
289
+ ? (0, list_1.getTabsLength)(item.withTabs.tabs.filter(function (tab) { return tab.show !== false; }), 'width', item.withTabs.activeTab, size)
290
+ : undefined;
291
+ });
292
+ }, [items, size]);
293
+ (0, react_1.useLayoutEffect)(function () {
294
+ if (!responsive) {
295
+ return;
296
+ }
297
+ if (trailOverflows(rowRef.current)) {
298
+ if (folded < (0, lodash_1.size)(items)) {
299
+ setFold(function (current) { return (__assign(__assign({}, current), { folded: folded + 1, unfolding: false })); });
300
+ }
301
+ else if (fold.unfolding) {
302
+ setFold(function (current) { return (__assign(__assign({}, current), { unfolding: false })); });
303
+ }
304
+ }
305
+ else if (fold.unfolding) {
306
+ setFold(function (current) {
307
+ return folded > 0 ? __assign(__assign({}, current), { folded: folded - 1 }) : __assign(__assign({}, current), { unfolding: false });
308
+ });
309
+ }
310
+ });
311
+ // The parts the observer watches, taken up after every render (see above).
312
+ var watchParts = (0, react_1.useRef)();
180
313
  (0, react_1.useLayoutEffect)(function () {
181
314
  if (!responsive || typeof ResizeObserver === 'undefined') {
182
315
  return undefined;
183
316
  }
184
- var widths = new WeakMap();
317
+ // what the observer watches, and the width each part was last measured at (see above)
318
+ var watched = new Set();
319
+ var widths = new Map();
320
+ // the trail's height as the observer last reported it: its layout height, exact, which a
321
+ // transform does not scale
322
+ var rowHeight;
323
+ var pinned;
324
+ var suspended = false;
325
+ var frame = 0;
185
326
  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;
327
+ var _a, _b;
328
+ var row = rowRef.current;
329
+ if (!row || suspended) {
330
+ return;
331
+ }
332
+ var unfold = false;
190
333
  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;
334
+ var _c = entries_1[_i], target = _c.target, borderBoxSize = _c.borderBoxSize, contentRect = _c.contentRect;
335
+ var width = target.getBoundingClientRect().width;
336
+ var was = widths.get(target);
337
+ if (target === row) {
338
+ rowHeight = (_b = (_a = borderBoxSize === null || borderBoxSize === void 0 ? void 0 : borderBoxSize[0]) === null || _a === void 0 ? void 0 : _a.blockSize) !== null && _b !== void 0 ? _b : contentRect.height;
339
+ }
340
+ if (was !== undefined && Math.abs(width - was) >= 0.5) {
341
+ widths.set(target, width);
342
+ // the trail wider, or a part narrower: more may fit
343
+ if (target === row ? width > was : width < was && !fillsTrail(target)) {
344
+ unfold = true;
345
+ }
197
346
  }
198
347
  }
199
- if (measureAgain) {
200
- setMeasurement(function (times) { return times + 1; });
348
+ var _d = drawnFold.current, drawn = _d.folded, total = _d.total;
349
+ // a part past the end with every crumb folded (a trail narrower than the current page's
350
+ // dropdown, which keeps a few characters of it) cannot be folded away
351
+ if (!unfold && (drawn >= total || !trailOverflows(row))) {
352
+ return;
353
+ }
354
+ observer.disconnect();
355
+ watched.clear();
356
+ suspended = true;
357
+ if (rowHeight !== undefined) {
358
+ pinned = row;
359
+ row.style.height = "".concat(rowHeight, "px");
360
+ }
361
+ try {
362
+ (0, react_dom_1.flushSync)(function () {
363
+ return setFold(function (current) { return (__assign(__assign({}, current), { unfolding: unfold || current.unfolding })); });
364
+ });
365
+ }
366
+ finally {
367
+ frame = requestAnimationFrame(function () {
368
+ var _a;
369
+ frame = 0;
370
+ suspended = false;
371
+ pinned === null || pinned === void 0 ? void 0 : pinned.style.removeProperty('height');
372
+ pinned = undefined;
373
+ (_a = watchParts.current) === null || _a === void 0 ? void 0 : _a.call(watchParts);
374
+ });
201
375
  }
202
376
  });
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
- });
377
+ watchParts.current = function () {
378
+ var row = rowRef.current;
379
+ if (!row || suspended) {
380
+ return;
381
+ }
382
+ var parts = __spreadArray([row], Array.from(row.children), true);
383
+ for (var _i = 0, _a = Array.from(watched); _i < _a.length; _i++) {
384
+ var element = _a[_i];
385
+ if (!parts.includes(element)) {
386
+ observer.unobserve(element);
387
+ watched.delete(element);
388
+ }
389
+ }
390
+ for (var _b = 0, _c = Array.from(widths.keys()); _b < _c.length; _b++) {
391
+ var element = _c[_b];
392
+ if (!parts.includes(element)) {
393
+ widths.delete(element);
394
+ }
395
+ }
396
+ for (var _d = 0, parts_1 = parts; _d < parts_1.length; _d++) {
397
+ var element = parts_1[_d];
398
+ if (!watched.has(element)) {
399
+ // the border box: a crumb that grows by its padding keeps its content box
400
+ observer.observe(element, { box: 'border-box' });
401
+ watched.add(element);
402
+ }
403
+ if (element !== row || !widths.has(row)) {
404
+ widths.set(element, element.getBoundingClientRect().width);
405
+ }
406
+ }
407
+ };
408
+ watchParts.current();
214
409
  return function () {
410
+ cancelAnimationFrame(frame);
215
411
  observer.disconnect();
216
- setCrumbSizeObserver(undefined);
412
+ pinned === null || pinned === void 0 ? void 0 : pinned.style.removeProperty('height');
413
+ watchParts.current = undefined;
217
414
  };
218
415
  }, [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);
416
+ (0, react_1.useLayoutEffect)(function () {
417
+ var _a;
418
+ drawnFold.current = { folded: folded, total: (0, lodash_1.size)(items) };
419
+ (_a = watchParts.current) === null || _a === void 0 ? void 0 : _a.call(watchParts);
420
+ });
227
421
  var renderArrow = function (key) { return ((0, jsx_runtime_1.jsx)(Icon_1.default, { icon: 'ArrowRightSLine', size: size, margin: 'both', effect: { opacity: 0.5 } }, key)); };
228
- // `OverflowList` calls this for every VISIBLE crumb (collapsed ancestors go to
229
- // `renderOverflow` instead), passing the crumb's POSITION. Both the React key
230
- // and the separator are derived from that position — NOT from the item's
231
- // identity or `items.indexOf(item)`. This matters because on a re-render with a
232
- // new `items` array, OverflowList briefly maps over its previous (stale) item
233
- // objects; `indexOf` would return -1 for them, collapsing every crumb onto the
234
- // same key `crumb--1` and making React accumulate DOM (a new crumb appended on
235
- // every render). A positional key is always valid and unique.
422
+ // Draws every VISIBLE crumb (folded ones go to `renderOverflow` instead), by its
423
+ // POSITION among them. The React key is the crumb's place in the WHOLE trail
424
+ // (`folded + index`): a key by its place among the visible crumbs gave a folded
425
+ // crumb's element to the next crumb along, which then animated from that
426
+ // crumb's look to its own - and was measured while it did.
236
427
  //
237
428
  // The separator precedes every visible crumb except the one at position 0. When
238
429
  // ancestors collapse, `renderOverflow` emits the "…" group followed by its own
@@ -241,7 +432,9 @@ var ReqoreBreadcrumbs = function (_a) {
241
432
  var renderItem = function (item, index, folded) {
242
433
  var key = "crumb-".concat(folded + index);
243
434
  if (item.withTabs) {
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));
435
+ // only at the end of a folding trail: a crumb after it would be pushed to the trail's end
436
+ var fills = responsive && folded + index === (0, lodash_1.size)(items) - 1;
437
+ return ((0, jsx_runtime_1.jsxs)(StyledBreadcrumbsTabsWrapper, { className: 'reqore-breadcrumbs-tabs', "data-position": index, "data-fills": fills || undefined, "data-tabs-width": fills ? tabsWidths[folded + index] : undefined, "$fills": fills, 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));
245
438
  }
246
439
  // Every crumb (including the current page) keeps its natural width and does
247
440
  // NOT shrink — a crumb is either shown in full and readable, or it collapses
@@ -249,10 +442,10 @@ var ReqoreBreadcrumbs = function (_a) {
249
442
  // squeezed down to an unreadable icon + single letter. When even the current
250
443
  // page can't fit, `renderOverflow` folds the whole trail into one dropdown
251
444
  // labelled with it (see below), so it's always legible somewhere.
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));
445
+ 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));
253
446
  };
254
447
  // The collapsed crumbs, folded into a dropdown at the start of the trail.
255
- // Two shapes, because collapse happens from the start (`collapseFrom:'start'`):
448
+ // Two shapes, because crumbs fold from the start:
256
449
  //
257
450
  // - Only ancestors collapsed → a compact "…" with a hidden-count badge; the
258
451
  // current page stays inline (in full) to its right.
@@ -263,13 +456,10 @@ var ReqoreBreadcrumbs = function (_a) {
263
456
  // and it guarantees the current page is always legible however tight it gets.
264
457
  var renderOverflow = function (overflowItems) {
265
458
  var _a, _b, _c, _d, _e;
266
- foldedCount.current = (0, lodash_1.size)(overflowItems);
267
459
  if (!(0, lodash_1.size)(overflowItems)) {
268
460
  return null;
269
461
  }
270
- // Count-based, not identity-based: everything collapsed ⇒ the overflow holds
271
- // as many crumbs as the trail has. (Identity would break when OverflowList
272
- // maps over stale item objects during a re-render.)
462
+ // everything folded: the menu stands in for the current page
273
463
  var isFullyCollapsed = (0, lodash_1.size)(overflowItems) >= (0, lodash_1.size)(items);
274
464
  if (isFullyCollapsed) {
275
465
  return ((0, jsx_runtime_1.jsx)(__1.ReqoreDropdown, { className: 'reqore-breadcrumbs-overflow-current', handler: 'hoverStay', delay: 500, size: size,
@@ -285,7 +475,7 @@ var ReqoreBreadcrumbs = function (_a) {
285
475
  // collapsed button IS that same solid chip; a minimal leaf stays
286
476
  // minimal. Mirrors ReqoreBreadcrumbsItem (minimal + flat defaults,
287
477
  // overridden by the item's own active/minimal/flat).
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,
478
+ 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": (_e = (_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) !== null && _e !== void 0 ? _e : leafItem === null || leafItem === void 0 ? void 0 : leafItem.menuLabel, title: leafItem === null || leafItem === void 0 ? void 0 : leafItem.title,
289
479
  // A floor so the current page always keeps a few readable characters —
290
480
  // never just an icon — however tight the bar gets. This can't cause an
291
481
  // overlap: the trail is `min-width: 0; overflow: hidden`, so it clips
@@ -297,15 +487,12 @@ var ReqoreBreadcrumbs = function (_a) {
297
487
  // separator) connects to it as "… › current page".
298
488
  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'));
299
489
  };
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',
303
- // 0, not 1: when even the current page can't fit, it must be
304
- // allowed to collapse too so `renderOverflow` can fold the trail
305
- // into the single current-page-labelled dropdown. Keeping 1 here is
306
- // what forced the leaf to stay and shrink to an unreadable stub.
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 }))] })) })));
490
+ 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 ? (
491
+ // Every crumb may fold, the current page too: when even it does not fit, the trail is the one
492
+ // dropdown labelled with it. Keeping the current page out of the fold is what used to leave it
493
+ // squeezed to an unreadable stub.
494
+ (0, jsx_runtime_1.jsxs)(StyledFoldingTrail, { ref: rowRef, className: 'reqore-breadcrumbs-overflow-list', children: [renderOverflow(items.slice(0, folded)), items.slice(folded).map(function (item, index) { return renderItem(item, index, folded); })] })) : ((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 }))] })) })));
308
495
  };
309
496
  exports.default = ReqoreBreadcrumbs;
310
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
497
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;
311
498
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Breadcrumbs/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Breadcrumbs/index.tsx"],"names":[],"mappings":"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"}
@@ -1,19 +1,9 @@
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
- }
9
4
  export interface IReqoreBreadcrumbItemProps extends IReqoreBreadcrumbItem {
10
5
  interactive?: boolean;
11
6
  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;
17
7
  }
18
8
  export interface IReqoreBreadcrumbItemStyle extends IReqoreBreadcrumbItemProps {
19
9
  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,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"}
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"}
@@ -32,32 +32,11 @@ 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, sizeObserver = _a.sizeObserver, rest = __rest(_a,
35
+ var label = _a.label, props = _a.props, as = _a.as, customTheme = _a.customTheme, _interactive = _a.interactive, 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", "sizeObserver"]);
37
+ ["label", "props", "as", "customTheme", "interactive"]);
38
38
  var theme = (0, useTheme_1.useReqoreTheme)('main', customTheme);
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) {
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) {
61
40
  var _a;
62
41
  e.persist();
63
42
  e.stopPropagation();
@@ -1 +1 @@
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
+ {"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"}