@qoretechnologies/reqore 0.78.5-pr.708.g00504c5 → 0.78.5-pr.708.g0fba3d8

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 (210) hide show
  1. package/.claude/CLAUDE.md +7 -4
  2. package/dist/components/Accordion/index.d.ts.map +1 -1
  3. package/dist/components/Accordion/index.js +34 -11
  4. package/dist/components/Accordion/index.js.map +1 -1
  5. package/dist/components/Breadcrumbs/index.d.ts.map +1 -1
  6. package/dist/components/Breadcrumbs/index.js +138 -50
  7. package/dist/components/Breadcrumbs/index.js.map +1 -1
  8. package/dist/components/Bubble/index.d.ts.map +1 -1
  9. package/dist/components/Bubble/index.js +13 -4
  10. package/dist/components/Bubble/index.js.map +1 -1
  11. package/dist/components/Button/index.d.ts +28 -0
  12. package/dist/components/Button/index.d.ts.map +1 -1
  13. package/dist/components/Button/index.js +147 -51
  14. package/dist/components/Button/index.js.map +1 -1
  15. package/dist/components/Callout/index.d.ts.map +1 -1
  16. package/dist/components/Callout/index.js +43 -21
  17. package/dist/components/Callout/index.js.map +1 -1
  18. package/dist/components/Checkbox/index.d.ts.map +1 -1
  19. package/dist/components/Checkbox/index.js +109 -32
  20. package/dist/components/Checkbox/index.js.map +1 -1
  21. package/dist/components/CollapsibleContent/index.d.ts.map +1 -1
  22. package/dist/components/CollapsibleContent/index.js +6 -2
  23. package/dist/components/CollapsibleContent/index.js.map +1 -1
  24. package/dist/components/ControlGroup/index.d.ts.map +1 -1
  25. package/dist/components/ControlGroup/index.js +27 -2
  26. package/dist/components/ControlGroup/index.js.map +1 -1
  27. package/dist/components/DataView/index.d.ts.map +1 -1
  28. package/dist/components/DataView/index.js +5 -6
  29. package/dist/components/DataView/index.js.map +1 -1
  30. package/dist/components/DescriptionList/index.d.ts.map +1 -1
  31. package/dist/components/DescriptionList/index.js +20 -4
  32. package/dist/components/DescriptionList/index.js.map +1 -1
  33. package/dist/components/Drawer/index.d.ts.map +1 -1
  34. package/dist/components/Drawer/index.js +34 -7
  35. package/dist/components/Drawer/index.js.map +1 -1
  36. package/dist/components/Dropdown/list.d.ts.map +1 -1
  37. package/dist/components/Dropdown/list.js +37 -4
  38. package/dist/components/Dropdown/list.js.map +1 -1
  39. package/dist/components/Effect/index.d.ts +48 -0
  40. package/dist/components/Effect/index.d.ts.map +1 -1
  41. package/dist/components/Effect/index.js +193 -50
  42. package/dist/components/Effect/index.js.map +1 -1
  43. package/dist/components/EntityRow/index.d.ts.map +1 -1
  44. package/dist/components/EntityRow/index.js +65 -17
  45. package/dist/components/EntityRow/index.js.map +1 -1
  46. package/dist/components/FeatureCard/index.d.ts.map +1 -1
  47. package/dist/components/FeatureCard/index.js +32 -7
  48. package/dist/components/FeatureCard/index.js.map +1 -1
  49. package/dist/components/Header/index.d.ts.map +1 -1
  50. package/dist/components/Header/index.js +7 -4
  51. package/dist/components/Header/index.js.map +1 -1
  52. package/dist/components/Icon/index.d.ts.map +1 -1
  53. package/dist/components/Icon/index.js +12 -1
  54. package/dist/components/Icon/index.js.map +1 -1
  55. package/dist/components/Input/index.d.ts +16 -1
  56. package/dist/components/Input/index.d.ts.map +1 -1
  57. package/dist/components/Input/index.js +60 -15
  58. package/dist/components/Input/index.js.map +1 -1
  59. package/dist/components/InputClearButton/index.d.ts +6 -1
  60. package/dist/components/InputClearButton/index.d.ts.map +1 -1
  61. package/dist/components/InputClearButton/index.js +3 -3
  62. package/dist/components/InputClearButton/index.js.map +1 -1
  63. package/dist/components/InternalPopover/index.d.ts.map +1 -1
  64. package/dist/components/InternalPopover/index.js +13 -4
  65. package/dist/components/InternalPopover/index.js.map +1 -1
  66. package/dist/components/Link/index.d.ts.map +1 -1
  67. package/dist/components/Link/index.js +5 -1
  68. package/dist/components/Link/index.js.map +1 -1
  69. package/dist/components/Menu/divider.d.ts.map +1 -1
  70. package/dist/components/Menu/divider.js +7 -3
  71. package/dist/components/Menu/divider.js.map +1 -1
  72. package/dist/components/Menu/index.d.ts.map +1 -1
  73. package/dist/components/Menu/index.js +30 -11
  74. package/dist/components/Menu/index.js.map +1 -1
  75. package/dist/components/Menu/item.d.ts.map +1 -1
  76. package/dist/components/Menu/item.js +3 -2
  77. package/dist/components/Menu/item.js.map +1 -1
  78. package/dist/components/Menu/section.d.ts.map +1 -1
  79. package/dist/components/Menu/section.js +11 -6
  80. package/dist/components/Menu/section.js.map +1 -1
  81. package/dist/components/Message/index.d.ts.map +1 -1
  82. package/dist/components/Message/index.js +12 -4
  83. package/dist/components/Message/index.js.map +1 -1
  84. package/dist/components/NavRail/index.d.ts +2 -0
  85. package/dist/components/NavRail/index.d.ts.map +1 -1
  86. package/dist/components/NavRail/index.js +83 -19
  87. package/dist/components/NavRail/index.js.map +1 -1
  88. package/dist/components/Notifications/notification.d.ts +1 -0
  89. package/dist/components/Notifications/notification.d.ts.map +1 -1
  90. package/dist/components/Notifications/notification.js +61 -12
  91. package/dist/components/Notifications/notification.js.map +1 -1
  92. package/dist/components/Notifications/styles.d.ts +13 -0
  93. package/dist/components/Notifications/styles.d.ts.map +1 -1
  94. package/dist/components/Notifications/styles.js +20 -6
  95. package/dist/components/Notifications/styles.js.map +1 -1
  96. package/dist/components/Paging/index.d.ts.map +1 -1
  97. package/dist/components/Paging/index.js +17 -17
  98. package/dist/components/Paging/index.js.map +1 -1
  99. package/dist/components/Panel/index.d.ts.map +1 -1
  100. package/dist/components/Panel/index.js +279 -159
  101. package/dist/components/Panel/index.js.map +1 -1
  102. package/dist/components/Paragraph/index.d.ts.map +1 -1
  103. package/dist/components/Paragraph/index.js +9 -4
  104. package/dist/components/Paragraph/index.js.map +1 -1
  105. package/dist/components/Popover/index.d.ts.map +1 -1
  106. package/dist/components/Popover/index.js +71 -14
  107. package/dist/components/Popover/index.js.map +1 -1
  108. package/dist/components/Progress/index.d.ts.map +1 -1
  109. package/dist/components/Progress/index.js +1 -1
  110. package/dist/components/Progress/index.js.map +1 -1
  111. package/dist/components/Rating/index.d.ts.map +1 -1
  112. package/dist/components/Rating/index.js +20 -7
  113. package/dist/components/Rating/index.js.map +1 -1
  114. package/dist/components/RichTextEditor/index.d.ts.map +1 -1
  115. package/dist/components/RichTextEditor/index.js +34 -3
  116. package/dist/components/RichTextEditor/index.js.map +1 -1
  117. package/dist/components/RowActionsMenu/index.d.ts +22 -6
  118. package/dist/components/RowActionsMenu/index.d.ts.map +1 -1
  119. package/dist/components/RowActionsMenu/index.js +95 -18
  120. package/dist/components/RowActionsMenu/index.js.map +1 -1
  121. package/dist/components/SegmentedControl/index.d.ts.map +1 -1
  122. package/dist/components/SegmentedControl/index.js +37 -18
  123. package/dist/components/SegmentedControl/index.js.map +1 -1
  124. package/dist/components/SeverityRow/index.d.ts.map +1 -1
  125. package/dist/components/SeverityRow/index.js +7 -3
  126. package/dist/components/SeverityRow/index.js.map +1 -1
  127. package/dist/components/Span/index.d.ts.map +1 -1
  128. package/dist/components/Span/index.js +9 -4
  129. package/dist/components/Span/index.js.map +1 -1
  130. package/dist/components/StackedBar/index.d.ts.map +1 -1
  131. package/dist/components/StackedBar/index.js +16 -5
  132. package/dist/components/StackedBar/index.js.map +1 -1
  133. package/dist/components/Statistic/index.d.ts.map +1 -1
  134. package/dist/components/Statistic/index.js +32 -5
  135. package/dist/components/Statistic/index.js.map +1 -1
  136. package/dist/components/Table/cell.d.ts.map +1 -1
  137. package/dist/components/Table/cell.js +66 -40
  138. package/dist/components/Table/cell.js.map +1 -1
  139. package/dist/components/Table/helpers.d.ts +5 -5
  140. package/dist/components/Table/helpers.d.ts.map +1 -1
  141. package/dist/components/Table/helpers.js +6 -7
  142. package/dist/components/Table/helpers.js.map +1 -1
  143. package/dist/components/Table/index.d.ts +15 -6
  144. package/dist/components/Table/index.d.ts.map +1 -1
  145. package/dist/components/Table/index.js +53 -21
  146. package/dist/components/Table/index.js.map +1 -1
  147. package/dist/components/Table/row.d.ts.map +1 -1
  148. package/dist/components/Table/row.js +21 -8
  149. package/dist/components/Table/row.js.map +1 -1
  150. package/dist/components/Tag/index.d.ts +31 -2
  151. package/dist/components/Tag/index.d.ts.map +1 -1
  152. package/dist/components/Tag/index.js +156 -38
  153. package/dist/components/Tag/index.js.map +1 -1
  154. package/dist/components/Testimonial/index.d.ts.map +1 -1
  155. package/dist/components/Testimonial/index.js +31 -12
  156. package/dist/components/Testimonial/index.js.map +1 -1
  157. package/dist/components/Textarea/index.d.ts +3 -0
  158. package/dist/components/Textarea/index.d.ts.map +1 -1
  159. package/dist/components/Textarea/index.js +53 -23
  160. package/dist/components/Textarea/index.js.map +1 -1
  161. package/dist/components/Timeline/index.d.ts.map +1 -1
  162. package/dist/components/Timeline/index.js +45 -16
  163. package/dist/components/Timeline/index.js.map +1 -1
  164. package/dist/components/Tree/index.js +13 -14
  165. package/dist/components/Tree/index.js.map +1 -1
  166. package/dist/components/Tree/modal.d.ts.map +1 -1
  167. package/dist/components/Tree/modal.js +3 -1
  168. package/dist/components/Tree/modal.js.map +1 -1
  169. package/dist/containers/ReqoreProvider.d.ts.map +1 -1
  170. package/dist/containers/ReqoreProvider.js +27 -13
  171. package/dist/containers/ReqoreProvider.js.map +1 -1
  172. package/dist/containers/UIProvider.d.ts.map +1 -1
  173. package/dist/containers/UIProvider.js +25 -1
  174. package/dist/containers/UIProvider.js.map +1 -1
  175. package/dist/context/SurfaceContext.d.ts +14 -0
  176. package/dist/context/SurfaceContext.d.ts.map +1 -0
  177. package/dist/context/SurfaceContext.js +27 -0
  178. package/dist/context/SurfaceContext.js.map +1 -0
  179. package/dist/helpers/colors.d.ts +117 -1
  180. package/dist/helpers/colors.d.ts.map +1 -1
  181. package/dist/helpers/colors.js +350 -15
  182. package/dist/helpers/colors.js.map +1 -1
  183. package/dist/helpers/hoveringPointer.d.ts +54 -0
  184. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  185. package/dist/helpers/hoveringPointer.js +66 -0
  186. package/dist/helpers/hoveringPointer.js.map +1 -0
  187. package/dist/helpers/iconProps.d.ts +14 -0
  188. package/dist/helpers/iconProps.d.ts.map +1 -0
  189. package/dist/helpers/iconProps.js +33 -0
  190. package/dist/helpers/iconProps.js.map +1 -0
  191. package/dist/hooks/useCloneThroughFragments.d.ts.map +1 -1
  192. package/dist/hooks/useCloneThroughFragments.js +51 -18
  193. package/dist/hooks/useCloneThroughFragments.js.map +1 -1
  194. package/dist/hooks/useMarqueeOnHover.d.ts.map +1 -1
  195. package/dist/hooks/useMarqueeOnHover.js +10 -0
  196. package/dist/hooks/useMarqueeOnHover.js.map +1 -1
  197. package/dist/hooks/usePaging.d.ts +9 -4
  198. package/dist/hooks/usePaging.d.ts.map +1 -1
  199. package/dist/hooks/usePaging.js +21 -32
  200. package/dist/hooks/usePaging.js.map +1 -1
  201. package/dist/hooks/useReqoreMedia.d.ts +14 -7
  202. package/dist/hooks/useReqoreMedia.d.ts.map +1 -1
  203. package/dist/hooks/useReqoreMedia.js +30 -9
  204. package/dist/hooks/useReqoreMedia.js.map +1 -1
  205. package/dist/index.d.ts +6 -0
  206. package/dist/index.d.ts.map +1 -1
  207. package/dist/index.js +11 -3
  208. package/dist/index.js.map +1 -1
  209. package/package.json +2 -2
  210. package/vitest.config.ts +52 -23
package/.claude/CLAUDE.md CHANGED
@@ -186,10 +186,13 @@ release on npm.
186
186
  - **Command:** `yarn build-storybook` builds the static site.
187
187
  - **Touch stories:** a story whose play calls `withTouchScreen` (`src/stories/utils/touchScreen.ts`)
188
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.
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)`.
193
196
  - **No layout change inside a ResizeObserver callback:** a story fails when the browser reports
194
197
  "ResizeObserver loop completed with undelivered notifications" (`.storybook/vitest.setup.ts`). It
195
198
  means a resize callback changed the layout it observes in the same frame, often by setting state
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAUhF,OAAO,EAAgB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAUpE,OAAO,EACL,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAe,YAAY,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,aAAa,EAAsC,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAMlG,MAAM,WAAW,oBAAoB;IACnC,qCAAqC;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,sCAAsC;IACtC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,kCAAkC;IAClC,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,iCAAiC;IACjC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,wCAAwC;IACxC,KAAK,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IACtC,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,EAC5D,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,kBAAkB;IACpB,sBAAsB;IACtB,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACzD;AAmPD,eAAO,MAAM,eAAe,8HAwH3B,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAUhF,OAAO,EAAgB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAepE,OAAO,EACL,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAe,YAAY,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EACL,aAAa,EAGb,kBAAkB,EAEnB,MAAM,WAAW,CAAC;AAMnB,MAAM,WAAW,oBAAoB;IACnC,qCAAqC;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,sCAAsC;IACtC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,kCAAkC;IAClC,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,iCAAiC;IACjC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,wCAAwC;IACxC,KAAK,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IACtC,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,EAC5D,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,kBAAkB;IACpB,sBAAsB;IACtB,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACzD;AA+TD,eAAO,MAAM,eAAe,8HAyH3B,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -70,6 +70,7 @@ var styled_components_1 = require("styled-components");
70
70
  var styled_1 = __importDefault(require("../../helpers/styled"));
71
71
  var sizes_1 = require("../../constants/sizes");
72
72
  var colors_1 = require("../../helpers/colors");
73
+ var SurfaceContext_1 = require("../../context/SurfaceContext");
73
74
  var utils_1 = require("../../helpers/utils");
74
75
  var useTheme_1 = require("../../hooks/useTheme");
75
76
  var styles_1 = require("../../styles");
@@ -96,18 +97,33 @@ var StyledAccordionItem = styled_1.default.div(templateObject_3 || (templateObje
96
97
  var flat = _a.flat, theme = _a.theme;
97
98
  return flat ? undefined : "1px solid ".concat((0, colors_1.changeLightness)((0, colors_1.getMainBackgroundColor)(theme), 0.08));
98
99
  });
99
- var StyledAccordionHeader = styled_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: ", "px;\n padding: ", ";\n cursor: pointer;\n user-select: none;\n transition: background-color 0.15s ease-out;\n background-color: ", ";\n color: ", ";\n font-size: ", "px;\n\n ", " {\n transform: scale(", ");\n transition: transform 0.15s ease-out;\n }\n\n &:hover {\n background-color: ", ";\n\n ", " {\n transform: scale(", ");\n }\n }\n\n ", "\n"], ["\n display: flex;\n align-items: center;\n gap: ", "px;\n padding: ", ";\n cursor: pointer;\n user-select: none;\n transition: background-color 0.15s ease-out;\n background-color: ", ";\n color: ", ";\n font-size: ", "px;\n\n ", " {\n transform: scale(", ");\n transition: transform 0.15s ease-out;\n }\n\n &:hover {\n background-color: ", ";\n\n ", " {\n transform: scale(", ");\n }\n }\n\n ", "\n"])), function () { return sizes_1.GAP_FROM_SIZE.normal; }, function (_a) {
100
+ /** The header's fill: a wash of the intent when minimal, else the item's surface a step lighter. */
101
+ var getAccordionHeaderFill = function (theme, opacity, minimal, intent) {
102
+ return minimal
103
+ ? intent
104
+ ? (0, polished_1.rgba)(theme.intents[intent], 0.1)
105
+ : 'transparent'
106
+ : (0, polished_1.rgba)((0, colors_1.changeLightness)((0, colors_1.getMainBackgroundColor)(theme), 0.03), opacity);
107
+ };
108
+ /** The header as it is drawn, over what the accordion is drawn on. */
109
+ var getAccordionHeaderBackground = function (theme, opacity, minimal, intent, surface) {
110
+ var fill = getAccordionHeaderFill(theme, opacity, minimal, intent);
111
+ var under = (0, colors_1.getThemeSurface)(theme, surface);
112
+ return fill === 'transparent' ? under : (0, colors_1.getDrawnColor)(fill, under);
113
+ };
114
+ /** The open item's body as it is drawn. */
115
+ var getAccordionBodyBackground = function (theme, surface) {
116
+ return (0, colors_1.getDrawnColor)((0, colors_1.changeDarkness)((0, colors_1.getMainBackgroundColor)(theme), 0.03), (0, colors_1.getThemeSurface)(theme, surface));
117
+ };
118
+ var StyledAccordionHeader = styled_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: ", "px;\n padding: ", ";\n cursor: pointer;\n user-select: none;\n transition: background-color 0.15s ease-out;\n background-color: ", ";\n /* Read against the header as it is drawn - its own shade of the item's colour - not\n against the colour it is made from. */\n color: ", ";\n font-size: ", "px;\n\n ", " {\n transform: scale(", ");\n transition: transform 0.15s ease-out;\n }\n\n &:hover {\n background-color: ", ";\n\n ", " {\n transform: scale(", ");\n }\n }\n\n ", "\n"], ["\n display: flex;\n align-items: center;\n gap: ", "px;\n padding: ", ";\n cursor: pointer;\n user-select: none;\n transition: background-color 0.15s ease-out;\n background-color: ", ";\n /* Read against the header as it is drawn - its own shade of the item's colour - not\n against the colour it is made from. */\n color: ", ";\n font-size: ", "px;\n\n ", " {\n transform: scale(", ");\n transition: transform 0.15s ease-out;\n }\n\n &:hover {\n background-color: ", ";\n\n ", " {\n transform: scale(", ");\n }\n }\n\n ", "\n"])), function () { return sizes_1.GAP_FROM_SIZE.normal; }, function (_a) {
100
119
  var size = _a.size;
101
120
  return "".concat(sizes_1.PADDING_FROM_SIZE[size] * 1.5, "px ").concat(sizes_1.PADDING_FROM_SIZE[size] * 1.5, "px");
102
121
  }, function (_a) {
103
122
  var theme = _a.theme, _b = _a.opacity, opacity = _b === void 0 ? 1 : _b, minimal = _a.minimal, intent = _a.intent;
104
- if (minimal) {
105
- return intent ? (0, polished_1.rgba)(theme.intents[intent], 0.1) : 'transparent';
106
- }
107
- return (0, polished_1.rgba)((0, colors_1.changeLightness)((0, colors_1.getMainBackgroundColor)(theme), 0.03), opacity);
123
+ return getAccordionHeaderFill(theme, opacity, minimal, intent);
108
124
  }, function (_a) {
109
- var theme = _a.theme;
110
- return (0, colors_1.getReadableColor)(theme, undefined, undefined, true);
125
+ var theme = _a.theme, _b = _a.opacity, opacity = _b === void 0 ? 1 : _b, minimal = _a.minimal, intent = _a.intent, $surface = _a.$surface;
126
+ return (0, colors_1.getReadableColor)(theme, undefined, undefined, true, getAccordionHeaderBackground(theme, opacity, minimal, intent, $surface));
111
127
  }, function (_a) {
112
128
  var size = _a.size;
113
129
  return sizes_1.TEXT_FROM_SIZE[size];
@@ -139,8 +155,8 @@ var StyledAccordionContentBody = styled_1.default.div(templateObject_9 || (templ
139
155
  var size = _a.size;
140
156
  return sizes_1.TEXT_FROM_SIZE[size];
141
157
  }, function (_a) {
142
- var theme = _a.theme;
143
- return (0, colors_1.getReadableColor)(theme, undefined, undefined, true);
158
+ var theme = _a.theme, $surface = _a.$surface;
159
+ return (0, colors_1.getReadableColor)(theme, undefined, undefined, true, getAccordionBodyBackground(theme, $surface));
144
160
  }, function (_a) {
145
161
  var theme = _a.theme;
146
162
  return (0, polished_1.rgba)((0, colors_1.changeDarkness)((0, colors_1.getMainBackgroundColor)(theme), 0.03), 1);
@@ -149,11 +165,18 @@ var StyledAccordionContentBody = styled_1.default.div(templateObject_9 || (templ
149
165
  return (0, colors_1.changeLightness)((0, colors_1.getMainBackgroundColor)(theme), 0.05);
150
166
  });
151
167
  var AccordionItemRenderer = (0, react_1.memo)(function (_a) {
168
+ var _b;
152
169
  var item = _a.item, index = _a.index, isOpen = _a.isOpen, theme = _a.theme, customTheme = _a.customTheme, size = _a.size, intent = _a.intent, flat = _a.flat, rounded = _a.rounded, minimal = _a.minimal, disabled = _a.disabled, effectiveOpacity = _a.effectiveOpacity, isFirst = _a.isFirst, isLast = _a.isLast, onToggle = _a.onToggle, onKeyDown = _a.onKeyDown;
153
170
  var itemIntent = item.intent || intent;
154
171
  var itemTheme = (0, useTheme_1.useReqoreTheme)('main', customTheme, itemIntent);
172
+ var surface = (0, SurfaceContext_1.useReqoreSurface)();
173
+ var headerBackground = getAccordionHeaderBackground(itemTheme, effectiveOpacity !== null && effectiveOpacity !== void 0 ? effectiveOpacity : 1, minimal, itemIntent, surface);
155
174
  var isItemDisabled = item.disabled || disabled;
156
- return ((0, jsx_runtime_1.jsxs)(StyledAccordionItem, { theme: theme, size: size, disabled: isItemDisabled, intent: itemIntent, flat: flat, isFirst: isFirst, isLast: isLast, rounded: rounded, opacity: effectiveOpacity, className: 'reqore-accordion-item', children: [(0, jsx_runtime_1.jsxs)(StyledAccordionHeader, { theme: itemTheme, size: size, "$isOpen": isOpen, disabled: isItemDisabled, intent: itemIntent, flat: flat, minimal: minimal, opacity: effectiveOpacity, onClick: function () { return onToggle(index); }, onKeyDown: function (e) { return onKeyDown(e, index); }, tabIndex: isItemDisabled ? undefined : 0, role: 'button', "aria-expanded": isOpen, className: 'reqore-accordion-header', children: [(0, jsx_runtime_1.jsx)(StyledAccordionChevron, { as: 'span', "$isOpen": isOpen, children: (0, jsx_runtime_1.jsx)(Icon_1.default, { icon: 'ArrowDownSLine', size: (0, utils_1.getOneLessSize)(size) }) }), item.icon && ((0, jsx_runtime_1.jsx)(Icon_1.default, { icon: item.icon, size: (0, utils_1.getOneLessSize)(size), color: item.iconColor, className: 'reqore-accordion-icon' })), (0, jsx_runtime_1.jsx)(Header_1.ReqoreHeading, { size: (0, utils_1.getOneLessSize)(size), effect: item.labelEffect, className: 'reqore-accordion-title', children: item.label }), (item.badge || item.badge === 0) && (0, jsx_runtime_1.jsx)(Button_1.ButtonBadge, { content: item.badge, size: size })] }), (0, jsx_runtime_1.jsx)(StyledAccordionContentWrapper, { theme: theme, size: size, "$isOpen": isOpen, children: (0, jsx_runtime_1.jsx)(StyledAccordionContentInner, { theme: theme, size: size, children: (0, jsx_runtime_1.jsx)(StyledAccordionContentBody, { theme: theme, size: size, className: 'reqore-accordion-content', children: typeof item.content === 'string' ? ((0, jsx_runtime_1.jsx)(Span_1.ReqoreSpan, { size: size, children: item.content })) : (item.content) }) }) })] }));
175
+ return ((0, jsx_runtime_1.jsxs)(StyledAccordionItem, { theme: theme, size: size, disabled: isItemDisabled, "aria-disabled": isItemDisabled ? true : undefined, intent: itemIntent, flat: flat, isFirst: isFirst, isLast: isLast, rounded: rounded, opacity: effectiveOpacity, className: 'reqore-accordion-item', children: [(0, jsx_runtime_1.jsxs)(StyledAccordionHeader, { theme: itemTheme, size: size, "$isOpen": isOpen, disabled: isItemDisabled, intent: itemIntent, flat: flat, minimal: minimal, opacity: effectiveOpacity, "$surface": surface, onClick: function () { return onToggle(index); }, onKeyDown: function (e) { return onKeyDown(e, index); }, tabIndex: isItemDisabled ? undefined : 0, role: 'button', "aria-expanded": isOpen, className: 'reqore-accordion-header', children: [(0, jsx_runtime_1.jsx)(StyledAccordionChevron, { as: 'span', "$isOpen": isOpen, children: (0, jsx_runtime_1.jsx)(Icon_1.default, { icon: 'ArrowDownSLine', size: (0, utils_1.getOneLessSize)(size) }) }), item.icon && ((0, jsx_runtime_1.jsx)(Icon_1.default, { icon: item.icon, size: (0, utils_1.getOneLessSize)(size),
176
+ // in its own color, in a shade that stands out from the header by 3:1
177
+ color: item.iconColor
178
+ ? ((_b = (0, colors_1.getReadableIconLook)(itemTheme, [headerBackground], (0, colors_1.getReadableColor)(itemTheme, undefined, undefined, true, headerBackground), 1, item.iconColor).color) !== null && _b !== void 0 ? _b : item.iconColor)
179
+ : undefined, className: 'reqore-accordion-icon' })), (0, jsx_runtime_1.jsx)(Header_1.ReqoreHeading, { size: (0, utils_1.getOneLessSize)(size), effect: item.labelEffect, className: 'reqore-accordion-title', children: item.label }), (item.badge || item.badge === 0) && (0, jsx_runtime_1.jsx)(Button_1.ButtonBadge, { content: item.badge, size: size })] }), (0, jsx_runtime_1.jsx)(StyledAccordionContentWrapper, { theme: theme, size: size, "$isOpen": isOpen, children: (0, jsx_runtime_1.jsx)(StyledAccordionContentInner, { theme: theme, size: size, children: (0, jsx_runtime_1.jsx)(StyledAccordionContentBody, { theme: theme, size: size, "$surface": surface, className: 'reqore-accordion-content', children: (0, jsx_runtime_1.jsx)(SurfaceContext_1.ReqoreSurfaceProvider, { color: getAccordionBodyBackground(theme, surface), children: typeof item.content === 'string' ? ((0, jsx_runtime_1.jsx)(Span_1.ReqoreSpan, { size: size, children: item.content })) : (item.content) }) }) }) })] }));
157
180
  });
158
181
  exports.ReqoreAccordion = (0, react_1.memo)((0, react_1.forwardRef)(function (_a, ref) {
159
182
  var items = _a.items, _b = _a.allowMultiple, allowMultiple = _b === void 0 ? true : _b, _c = _a.size, size = _c === void 0 ? 'normal' : _c, customTheme = _a.customTheme, inheritCustomTheme = _a.inheritCustomTheme, intent = _a.intent, fluid = _a.fluid, flat = _a.flat, disabled = _a.disabled, tooltip = _a.tooltip, _d = _a.rounded, rounded = _d === void 0 ? true : _d, minimal = _a.minimal, effect = _a.effect, opacity = _a.opacity, transparent = _a.transparent, onItemToggle = _a.onItemToggle, className = _a.className, rest = __rest(_a, ["items", "allowMultiple", "size", "customTheme", "inheritCustomTheme", "intent", "fluid", "flat", "disabled", "tooltip", "rounded", "minimal", "effect", "opacity", "transparent", "onItemToggle", "className"]);
@@ -196,7 +219,7 @@ exports.ReqoreAccordion = (0, react_1.memo)((0, react_1.forwardRef)(function (_a
196
219
  return newEffect;
197
220
  }, [effect, intent, theme]);
198
221
  var effectiveOpacity = transparent ? 0 : opacity;
199
- return ((0, jsx_runtime_1.jsx)(TooltipComponent_1.ReqoreTooltipComponent, __assign({}, rest, { Component: StyledAccordionWrapper, tooltip: tooltip, ref: ref, theme: theme, size: size, "$fluid": fluid, disabled: disabled, rounded: rounded, flat: flat, intent: intent, opacity: effectiveOpacity, effect: transformedEffect, className: "".concat(className || '', " reqore-accordion"), children: items.map(function (item, index) { return ((0, jsx_runtime_1.jsx)(AccordionItemRenderer, { item: item, index: index, isOpen: !!openItems[index], theme: theme, customTheme: customTheme, size: size, intent: intent, flat: flat, rounded: rounded, minimal: minimal, disabled: disabled, effectiveOpacity: effectiveOpacity, isFirst: index === 0, isLast: index === items.length - 1, onToggle: handleToggle, onKeyDown: handleKeyDown }, item.id || index)); }) })));
222
+ return ((0, jsx_runtime_1.jsx)(TooltipComponent_1.ReqoreTooltipComponent, __assign({}, rest, { Component: StyledAccordionWrapper, tooltip: tooltip, ref: ref, theme: theme, size: size, "$fluid": fluid, disabled: disabled, "aria-disabled": disabled ? true : undefined, rounded: rounded, flat: flat, intent: intent, opacity: effectiveOpacity, effect: transformedEffect, className: "".concat(className || '', " reqore-accordion"), children: items.map(function (item, index) { return ((0, jsx_runtime_1.jsx)(AccordionItemRenderer, { item: item, index: index, isOpen: !!openItems[index], theme: theme, customTheme: customTheme, size: size, intent: intent, flat: flat, rounded: rounded, minimal: minimal, disabled: disabled, effectiveOpacity: effectiveOpacity, isFirst: index === 0, isLast: index === items.length - 1, onToggle: handleToggle, onKeyDown: handleKeyDown }, item.id || index)); }) })));
200
223
  }));
201
224
  exports.default = exports.ReqoreAccordion;
202
225
  var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Accordion/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Accordion/index.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Breadcrumbs/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAMjE,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+MD,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAgVxD,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;AAY7F,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;AA2OD,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA0axD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -81,6 +81,7 @@ var __1 = require("../..");
81
81
  var colors_1 = require("../../constants/colors");
82
82
  var sizes_1 = require("../../constants/sizes");
83
83
  var colors_2 = require("../../helpers/colors");
84
+ var SurfaceContext_1 = require("../../context/SurfaceContext");
84
85
  var useTheme_1 = require("../../hooks/useTheme");
85
86
  var Icon_1 = __importDefault(require("../Icon"));
86
87
  var item_1 = require("../Tabs/item");
@@ -102,10 +103,7 @@ var StyledReqoreBreadcrumbs = styled_1.default.div(templateObject_2 || (template
102
103
  // ellipsise; `overflow: hidden` is the final safety net. Its single child (the
103
104
  // folding row, or the static row) fills it, so the row's end is the end of the
104
105
  // 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
- var $color = _a.$color;
107
- return $color;
108
- }, function (_a) {
106
+ 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 crumbs pick their own text colour, against what they are drawn on: the bar\n (handed to them as their surface) or their own colour, for a crumb with an intent.\n The bar's colour used to be forced onto every crumb, because a minimal crumb in a\n chromatic custom theme tinted its label near-white against the page rather than\n the bar - and it was forced onto a crumb with an intent of its own too, dark text\n on the warning orange. */\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 crumbs pick their own text colour, against what they are drawn on: the bar\n (handed to them as their surface) or their own colour, for a crumb with an intent.\n The bar's colour used to be forced onto every crumb, because a minimal crumb in a\n chromatic custom theme tinted its label near-white against the page rather than\n the bar - and it was forced onto a crumb with an intent of its own too, dark text\n on the warning orange. */\n"])), function (_a) {
109
107
  var $color = _a.$color;
110
108
  return $color;
111
109
  });
@@ -118,22 +116,44 @@ var StyledStaticTrail = styled_1.default.div(templateObject_5 || (templateObject
118
116
  // need - what does not fit is folded into the menu at its start.
119
117
  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
118
  /**
121
- * Whether the trail draws more than it has room for: a part (a crumb, an arrow, the menu) reaches past its end,
122
- * or the crumb holding tabs is squeezed so that it clips them while a crumb before it could fold instead. When
123
- * it is the first crumb shown, it is squeezed rather than folded, and its tabs fold into their own menu.
119
+ * Whether the crumb holding tabs is squeezed while a crumb before it could fold instead: it clips
120
+ * the tabs it draws, or - at the end of the trail, where it takes the room the other parts leave -
121
+ * it has less room than all its tabs need, so that some are in their "More" menu. That room is what
122
+ * the tabs list itself compares its width with (`getTabsLength`, in `data-tabs-width`), not the
123
+ * width of the tabs it draws now: once some are in "More", it draws narrower, and a trail made
124
+ * wider again would otherwise unfold its crumbs first. When it is the first crumb shown, it is
125
+ * squeezed rather than folded, and its tabs fold into their own menu.
126
+ */
127
+ var tabsSqueezed = function (part) {
128
+ if (!(part instanceof HTMLElement) ||
129
+ !part.classList.contains('reqore-breadcrumbs-tabs') ||
130
+ part.dataset.position === '0') {
131
+ return false;
132
+ }
133
+ var list = part.querySelector('.reqore-tabs-list');
134
+ // its layout width, as the tabs list measures it: a transform on an ancestor scales neither
135
+ var room = list ? parseFloat(getComputedStyle(list).width) : NaN;
136
+ return Number(part.dataset.tabsWidth) > room || part.scrollWidth > part.clientWidth + 0.5;
137
+ };
138
+ /**
139
+ * Whether the trail draws more than it has room for: a part (a crumb, an arrow, the menu) reaches
140
+ * past its end, or the crumb holding tabs is squeezed while a crumb before it could fold instead.
124
141
  */
125
142
  var trailOverflows = function (row) {
126
143
  if (!row) {
127
144
  return false;
128
145
  }
129
146
  var end = row.getBoundingClientRect().right;
130
- return Array.from(row.children).some(function (part) {
131
- return part.getBoundingClientRect().right > end + 0.5 ||
132
- (part instanceof HTMLElement &&
133
- part.classList.contains('reqore-breadcrumbs-tabs') &&
134
- part.dataset.position !== '0' &&
135
- part.scrollWidth > part.clientWidth + 0.5);
136
- });
147
+ return Array.from(row.children).some(function (part) { return part.getBoundingClientRect().right > end + 0.5 || tabsSqueezed(part); });
148
+ };
149
+ /**
150
+ * Whether a part is as wide as the room the other parts leave it in the trail: the crumb holding
151
+ * tabs at its end, the dropdown standing in for the current page. It gets narrower when the trail
152
+ * does, which leaves no more room for anything else.
153
+ */
154
+ var fillsTrail = function (part) {
155
+ return part.classList.contains('reqore-breadcrumbs-overflow-current') ||
156
+ (part instanceof HTMLElement && part.dataset.fills === 'true');
137
157
  };
138
158
  /**
139
159
  * Whether two trails are drawn alike, so the second needs no measuring again: the same crumbs, each with the
@@ -165,7 +185,13 @@ var sameTrail = function (one, other) {
165
185
  keys.every(function (key) { return sameValue(crumb[key], otherCrumb[key]); }));
166
186
  });
167
187
  };
168
- var StyledBreadcrumbsTabsWrapper = styled_1.default.div(templateObject_7 || (templateObject_7 = __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"])));
188
+ // At the end of the trail, the crumb holding tabs takes all the room the other parts leave
189
+ // (`$fills`): the tabs list measures the room it is given, so a crumb only as wide as the tabs it
190
+ // draws would keep the ones it once put in "More" there however wide the trail got again.
191
+ 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) {
192
+ var $fills = _a.$fills;
193
+ return ($fills ? '1 1 auto' : '0 1 auto');
194
+ });
169
195
  // The overflow dropdowns present the collapsed crumbs as a NAVIGATION MENU, so
170
196
  // each crumb must render as a clean left-aligned menu row — not as the pill/chip
171
197
  // it is in the trail. Strip the crumb's trail-only layout treatment (raised /
@@ -207,15 +233,20 @@ var toMenuItems = function (crumbs) {
207
233
  });
208
234
  };
209
235
  var ReqoreBreadcrumbs = function (_a) {
210
- var _b, _c, _d;
236
+ var _b, _c, _d, _e;
211
237
  var items = _a.items, rightElement = _a.rightElement,
212
238
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
213
- _testWidth = _a._testWidth, customTheme = _a.customTheme, flat = _a.flat, _e = _a.size, size = _e === void 0 ? 'normal' : _e, _f = _a.responsive, responsive = _f === void 0 ? true : _f, errorBoundaryOptions = _a.errorBoundaryOptions, rest = __rest(_a, ["items", "rightElement", "_testWidth", "customTheme", "flat", "size", "responsive", "errorBoundaryOptions"]);
239
+ _testWidth = _a._testWidth, customTheme = _a.customTheme, flat = _a.flat, _f = _a.size, size = _f === void 0 ? 'normal' : _f, _g = _a.responsive, responsive = _g === void 0 ? true : _g, errorBoundaryOptions = _a.errorBoundaryOptions, rest = __rest(_a, ["items", "rightElement", "_testWidth", "customTheme", "flat", "size", "responsive", "errorBoundaryOptions"]);
214
240
  var theme = (0, useTheme_1.useReqoreTheme)('breadcrumbs', customTheme, undefined);
215
- var itemColor = ((_c = (_b = theme.breadcrumbs) === null || _b === void 0 ? void 0 : _b.item) === null || _c === void 0 ? void 0 : _c.color) ||
216
- (((_d = theme.breadcrumbs) === null || _d === void 0 ? void 0 : _d.main)
217
- ? (0, colors_2.getReadableColorFrom)(theme.breadcrumbs.main, true)
218
- : (0, colors_2.getReadableColor)(theme, undefined, undefined, true));
241
+ // What the trail is drawn on: the bar's own colour over what is under it, or that alone.
242
+ var surface = (0, SurfaceContext_1.useReqoreSurface)();
243
+ var barSurface = ((_b = theme.breadcrumbs) === null || _b === void 0 ? void 0 : _b.main)
244
+ ? (0, colors_2.getDrawnColor)(theme.breadcrumbs.main, (0, colors_2.getThemeSurface)(theme, surface))
245
+ : (0, colors_2.getThemeSurface)(theme, surface);
246
+ var itemColor = ((_d = (_c = theme.breadcrumbs) === null || _c === void 0 ? void 0 : _c.item) === null || _d === void 0 ? void 0 : _d.color) ||
247
+ (((_e = theme.breadcrumbs) === null || _e === void 0 ? void 0 : _e.main)
248
+ ? (0, colors_2.getReadableColorFrom)(barSurface, true)
249
+ : (0, colors_2.getReadableColor)(theme, undefined, undefined, true, barSurface));
219
250
  var leafItem = items[items.length - 1];
220
251
  /* The crumbs folded from the start of the trail into its menu: as many as it takes for every part the
221
252
  trail draws to lie inside it - the current page too, into one dropdown labelled with it, when even it
@@ -232,18 +263,36 @@ var ReqoreBreadcrumbs = function (_a) {
232
263
  - the trail getting wider, or a part narrower: unfolding the same way;
233
264
  - the trail getting narrower, or a part wider (a badge arriving, padding animating after the page has
234
265
  loaded), so that a part reaches past it: folding.
235
- The last two come from a ResizeObserver, after the browser's layout and before its paint. It renders
236
- the new fold there and then (`flushSync`), so that frame is painted folded too. It lets go of every
237
- part first and takes them up again in the next frame: a size changed inside the observer's own
238
- callback would be left unreported, which the browser reports as an error. A part's width is taken
239
- when the trail draws it, not from the observer's first report, which can come after it has changed. */
266
+ The last two come from a ResizeObserver, after the browser's layout and before its paint. It
267
+ renders the new fold there and then (`flushSync`), so that frame is painted folded too. It lets
268
+ go of every part first and takes them up again in the next frame: a size changed inside the
269
+ observer's own callback would be left unreported, which the browser reports as an error. For
270
+ the same reason the trail keeps its height until then: a crumb with a description is taller
271
+ than the others, and the trail's height changed inside the callback would change the size of
272
+ what holds it, which another observer may watch (a panel's, a page layout's).
273
+ A part's width is taken when the trail draws it, not from the observer's first report, which
274
+ can come after it has changed. The trail's own width is taken when it is first drawn and then
275
+ as the observer reports it, so a render that made it wider (a narrower right element, a wider
276
+ `maxWidth`) is reported too, and unfolds what fits. Widths are compared as
277
+ `getBoundingClientRect()` gives them, as `trailOverflows` measures: the box the observer
278
+ reports is not scaled by a transform on an ancestor, so under one every report would differ. */
240
279
  var rowRef = (0, react_1.useRef)(null);
241
- var _g = (0, react_1.useState)({ items: items, size: size, folded: 0, unfolding: false }), fold = _g[0], setFold = _g[1];
280
+ var _h = (0, react_1.useState)({ items: items, size: size, folded: 0, unfolding: false }), fold = _h[0], setFold = _h[1];
242
281
  var folded = Math.min(fold.folded, (0, lodash_1.size)(items));
282
+ // as the trail last drew it, for the observer: with every crumb folded, none is left to fold
283
+ var drawnFold = (0, react_1.useRef)({ folded: folded, total: (0, lodash_1.size)(items) });
243
284
  if (fold.size !== size || !sameTrail(fold.items, items)) {
244
285
  // measured again during this render, so no frame shows the old fold over the new crumbs
245
286
  setFold({ items: items, size: size, folded: folded, unfolding: folded > 0 });
246
287
  }
288
+ // The width all of a crumb's tabs need, by the tabs list's own reckoning (see `tabsSqueezed`).
289
+ var tabsWidths = (0, react_1.useMemo)(function () {
290
+ return items.map(function (item) {
291
+ return item.withTabs
292
+ ? (0, list_1.getTabsLength)(item.withTabs.tabs.filter(function (tab) { return tab.show !== false; }), 'width', item.withTabs.activeTab, size)
293
+ : undefined;
294
+ });
295
+ }, [items, size]);
247
296
  (0, react_1.useLayoutEffect)(function () {
248
297
  if (!responsive) {
249
298
  return;
@@ -268,42 +317,62 @@ var ReqoreBreadcrumbs = function (_a) {
268
317
  if (!responsive || typeof ResizeObserver === 'undefined') {
269
318
  return undefined;
270
319
  }
320
+ // what the observer watches, and the width each part was last measured at (see above)
321
+ var watched = new Set();
271
322
  var widths = new Map();
323
+ // the trail's height as the observer last reported it: its layout height, exact, which a
324
+ // transform does not scale
325
+ var rowHeight;
326
+ var pinned;
272
327
  var suspended = false;
273
328
  var frame = 0;
274
329
  var observer = new ResizeObserver(function (entries) {
275
- var _a, _b, _c;
330
+ var _a, _b;
276
331
  var row = rowRef.current;
277
332
  if (!row || suspended) {
278
333
  return;
279
334
  }
280
335
  var unfold = false;
281
336
  for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {
282
- var entry = entries_1[_i];
283
- var width = (_c = (_b = (_a = entry.borderBoxSize) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.inlineSize) !== null && _c !== void 0 ? _c : entry.contentRect.width;
284
- var was = widths.get(entry.target);
337
+ var _c = entries_1[_i], target = _c.target, borderBoxSize = _c.borderBoxSize, contentRect = _c.contentRect;
338
+ var width = target.getBoundingClientRect().width;
339
+ var was = widths.get(target);
340
+ if (target === row) {
341
+ 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;
342
+ }
285
343
  if (was !== undefined && Math.abs(width - was) >= 0.5) {
286
- widths.set(entry.target, width);
344
+ widths.set(target, width);
287
345
  // the trail wider, or a part narrower: more may fit
288
- if (entry.target === row ? width > was : width < was) {
346
+ if (target === row ? width > was : width < was && !fillsTrail(target)) {
289
347
  unfold = true;
290
348
  }
291
349
  }
292
350
  }
293
- if (!unfold && !trailOverflows(row)) {
351
+ var _d = drawnFold.current, drawn = _d.folded, total = _d.total;
352
+ // a part past the end with every crumb folded (a trail narrower than the current page's
353
+ // dropdown, which keeps a few characters of it) cannot be folded away
354
+ if (!unfold && (drawn >= total || !trailOverflows(row))) {
294
355
  return;
295
356
  }
296
357
  observer.disconnect();
297
- widths.clear();
358
+ watched.clear();
298
359
  suspended = true;
360
+ if (rowHeight !== undefined) {
361
+ pinned = row;
362
+ row.style.height = "".concat(rowHeight, "px");
363
+ }
299
364
  try {
300
- (0, react_dom_1.flushSync)(function () { return setFold(function (current) { return (__assign(__assign({}, current), { unfolding: unfold || current.unfolding })); }); });
365
+ (0, react_dom_1.flushSync)(function () {
366
+ return setFold(function (current) { return (__assign(__assign({}, current), { unfolding: unfold || current.unfolding })); });
367
+ });
301
368
  }
302
369
  finally {
303
370
  frame = requestAnimationFrame(function () {
304
371
  var _a;
305
372
  frame = 0;
306
373
  suspended = false;
374
+ pinned === null || pinned === void 0 ? void 0 : pinned.style.removeProperty('height');
375
+ pinned = undefined;
307
376
  (_a = watchParts.current) === null || _a === void 0 ? void 0 : _a.call(watchParts);
308
377
  });
309
378
  }
@@ -314,34 +383,48 @@ var ReqoreBreadcrumbs = function (_a) {
314
383
  return;
315
384
  }
316
385
  var parts = __spreadArray([row], Array.from(row.children), true);
317
- for (var _i = 0, _a = Array.from(widths.keys()); _i < _a.length; _i++) {
386
+ for (var _i = 0, _a = Array.from(watched); _i < _a.length; _i++) {
318
387
  var element = _a[_i];
319
388
  if (!parts.includes(element)) {
320
389
  observer.unobserve(element);
390
+ watched.delete(element);
391
+ }
392
+ }
393
+ for (var _b = 0, _c = Array.from(widths.keys()); _b < _c.length; _b++) {
394
+ var element = _c[_b];
395
+ if (!parts.includes(element)) {
321
396
  widths.delete(element);
322
397
  }
323
398
  }
324
- for (var _b = 0, parts_1 = parts; _b < parts_1.length; _b++) {
325
- var element = parts_1[_b];
326
- if (!widths.has(element)) {
399
+ for (var _d = 0, parts_1 = parts; _d < parts_1.length; _d++) {
400
+ var element = parts_1[_d];
401
+ if (!watched.has(element)) {
327
402
  // the border box: a crumb that grows by its padding keeps its content box
328
403
  observer.observe(element, { box: 'border-box' });
404
+ watched.add(element);
405
+ }
406
+ if (element !== row || !widths.has(row)) {
407
+ widths.set(element, element.getBoundingClientRect().width);
329
408
  }
330
- widths.set(element, element.getBoundingClientRect().width);
331
409
  }
332
410
  };
333
411
  watchParts.current();
334
412
  return function () {
335
413
  cancelAnimationFrame(frame);
336
414
  observer.disconnect();
415
+ pinned === null || pinned === void 0 ? void 0 : pinned.style.removeProperty('height');
337
416
  watchParts.current = undefined;
338
417
  };
339
418
  }, [responsive]);
340
419
  (0, react_1.useLayoutEffect)(function () {
341
420
  var _a;
421
+ drawnFold.current = { folded: folded, total: (0, lodash_1.size)(items) };
342
422
  (_a = watchParts.current) === null || _a === void 0 ? void 0 : _a.call(watchParts);
343
423
  });
344
- var renderArrow = function (key) { return ((0, jsx_runtime_1.jsx)(Icon_1.default, { icon: 'ArrowRightSLine', size: size, margin: 'both', effect: { opacity: 0.5 } }, key)); };
424
+ var renderArrow = function (key) { return ((0, jsx_runtime_1.jsx)(Icon_1.default, { icon: 'ArrowRightSLine', size: size, margin: 'both', color: itemColor, effect: {
425
+ // fainter than the crumbs, as far as it stands out from the bar by 3:1
426
+ opacity: (0, colors_2.getReadableAlpha)(itemColor, barSurface, 0.5, colors_2.READABLE_ICON_CONTRAST),
427
+ } }, key)); };
345
428
  // Draws every VISIBLE crumb (folded ones go to `renderOverflow` instead), by its
346
429
  // POSITION among them. The React key is the crumb's place in the WHOLE trail
347
430
  // (`folded + index`): a key by its place among the visible crumbs gave a folded
@@ -355,7 +438,9 @@ var ReqoreBreadcrumbs = function (_a) {
355
438
  var renderItem = function (item, index, folded) {
356
439
  var key = "crumb-".concat(folded + index);
357
440
  if (item.withTabs) {
358
- return ((0, jsx_runtime_1.jsxs)(StyledBreadcrumbsTabsWrapper, { className: 'reqore-breadcrumbs-tabs', "data-position": index, 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));
441
+ // only at the end of a folding trail: a crumb after it would be pushed to the trail's end
442
+ var fills = responsive && folded + index === (0, lodash_1.size)(items) - 1;
443
+ 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));
359
444
  }
360
445
  // Every crumb (including the current page) keeps its natural width and does
361
446
  // NOT shrink — a crumb is either shown in full and readable, or it collapses
@@ -396,7 +481,7 @@ var ReqoreBreadcrumbs = function (_a) {
396
481
  // collapsed button IS that same solid chip; a minimal leaf stays
397
482
  // minimal. Mirrors ReqoreBreadcrumbsItem (minimal + flat defaults,
398
483
  // overridden by the item's own active/minimal/flat).
399
- 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,
484
+ 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,
400
485
  // A floor so the current page always keeps a few readable characters —
401
486
  // never just an icon — however tight the bar gets. This can't cause an
402
487
  // overlap: the trail is `min-width: 0; overflow: hidden`, so it clips
@@ -406,13 +491,16 @@ var ReqoreBreadcrumbs = function (_a) {
406
491
  // Ancestors only: the compact "…" group, then its OWN trailing "›" so the
407
492
  // first still-visible crumb (which renders at position 0 with no leading
408
493
  // separator) connects to it as "… › current page".
409
- 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'));
494
+ 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', color: itemColor, effect: {
495
+ // as faint as a control's icon, as far as it stands out from the bar by 3:1
496
+ opacity: (0, colors_2.getReadableAlpha)(itemColor, barSurface, colors_1.CONTROL_ICON_OPACITY, colors_2.READABLE_ICON_CONTRAST),
497
+ } }) }, 'reqore-breadcrumbs-overflow-menu'), renderArrow('reqore-breadcrumbs-overflow-arrow')] }, 'reqore-breadcrumbs-overflow'));
410
498
  };
411
- 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 ? (
412
- // Every crumb may fold, the current page too: when even it does not fit, the trail is the one
413
- // dropdown labelled with it. Keeping the current page out of the fold is what used to leave it
414
- // squeezed to an unreadable stub.
415
- (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 }))] })) })));
499
+ 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)(SurfaceContext_1.ReqoreSurfaceProvider, { color: barSurface, children: (0, jsx_runtime_1.jsx)(StyledTrail, { className: 'reqore-breadcrumbs-trail', "$color": itemColor, children: responsive ? (
500
+ // Every crumb may fold, the current page too: when even it does not fit, the trail is the one
501
+ // dropdown labelled with it. Keeping the current page out of the fold is what used to leave it
502
+ // squeezed to an unreadable stub.
503
+ (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 }))] })) })));
416
504
  };
417
505
  exports.default = ReqoreBreadcrumbs;
418
506
  var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;