wj-elements 0.7.7 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/dist/animations.js +28 -51
  2. package/dist/animations.js.map +1 -1
  3. package/dist/base-path.js +19 -31
  4. package/dist/base-path.js.map +1 -1
  5. package/dist/custom-elements.json +11504 -11499
  6. package/dist/dark.css +1 -302
  7. package/dist/date.js +16 -36
  8. package/dist/date.js.map +1 -1
  9. package/dist/element-utils.js +20 -81
  10. package/dist/element-utils.js.map +1 -1
  11. package/dist/event.js +49 -165
  12. package/dist/event.js.map +1 -1
  13. package/dist/form-associated-element-BjeJn7j8.js +101 -0
  14. package/dist/{form-associated-element-DEQ4y-jn.js.map → form-associated-element-BjeJn7j8.js.map} +1 -1
  15. package/dist/icon-DmsqtDpL.js +102 -0
  16. package/dist/{icon-CReYMzAK.js.map → icon-DmsqtDpL.js.map} +1 -1
  17. package/dist/light.css +1 -731
  18. package/dist/localize.js +36 -111
  19. package/dist/localize.js.map +1 -1
  20. package/dist/packages/wje-accordion-item/accordion-item.element.d.ts +3 -2
  21. package/dist/permissions.js +14 -41
  22. package/dist/permissions.js.map +1 -1
  23. package/dist/popup.element-CbkhthPP.js +806 -0
  24. package/dist/{popup.element-CwXvVFK7.js.map → popup.element-CbkhthPP.js.map} +1 -1
  25. package/dist/router-links-CNsJ-elb.js +105 -0
  26. package/dist/{router-links-wjqCnncc.js.map → router-links-CNsJ-elb.js.map} +1 -1
  27. package/dist/skeleton.css +1 -197
  28. package/dist/styles.css +1 -866
  29. package/dist/universal-service.js +48 -109
  30. package/dist/universal-service.js.map +1 -1
  31. package/dist/utils.js +11 -18
  32. package/dist/utils.js.map +1 -1
  33. package/dist/web-types.json +760 -760
  34. package/dist/wje-accordion-item.js +33 -106
  35. package/dist/wje-accordion-item.js.map +1 -1
  36. package/dist/wje-accordion.js +19 -84
  37. package/dist/wje-accordion.js.map +1 -1
  38. package/dist/wje-animation.js +37 -4258
  39. package/dist/wje-animation.js.map +1 -1
  40. package/dist/wje-aside.js +9 -34
  41. package/dist/wje-aside.js.map +1 -1
  42. package/dist/wje-avatar.js +36 -126
  43. package/dist/wje-avatar.js.map +1 -1
  44. package/dist/wje-badge.js +10 -52
  45. package/dist/wje-badge.js.map +1 -1
  46. package/dist/wje-breadcrumb.js +205 -672
  47. package/dist/wje-breadcrumb.js.map +1 -1
  48. package/dist/wje-breadcrumbs.js +177 -633
  49. package/dist/wje-breadcrumbs.js.map +1 -1
  50. package/dist/wje-button-group.js +48 -153
  51. package/dist/wje-button-group.js.map +1 -1
  52. package/dist/wje-button.js +92 -413
  53. package/dist/wje-button.js.map +1 -1
  54. package/dist/wje-card-content.js +7 -30
  55. package/dist/wje-card-content.js.map +1 -1
  56. package/dist/wje-card-controls.js +7 -30
  57. package/dist/wje-card-controls.js.map +1 -1
  58. package/dist/wje-card-header.js +7 -30
  59. package/dist/wje-card-header.js.map +1 -1
  60. package/dist/wje-card-subtitle.js +7 -34
  61. package/dist/wje-card-subtitle.js.map +1 -1
  62. package/dist/wje-card-title.js +7 -34
  63. package/dist/wje-card-title.js.map +1 -1
  64. package/dist/wje-card.js +15 -71
  65. package/dist/wje-card.js.map +1 -1
  66. package/dist/wje-carousel-item.js +12 -56
  67. package/dist/wje-carousel-item.js.map +1 -1
  68. package/dist/wje-carousel.js +154 -509
  69. package/dist/wje-carousel.js.map +1 -1
  70. package/dist/wje-checkbox.js +50 -227
  71. package/dist/wje-checkbox.js.map +1 -1
  72. package/dist/wje-chip.js +43 -160
  73. package/dist/wje-chip.js.map +1 -1
  74. package/dist/wje-col.js +7 -20
  75. package/dist/wje-col.js.map +1 -1
  76. package/dist/wje-color-picker.js +445 -1464
  77. package/dist/wje-color-picker.js.map +1 -1
  78. package/dist/wje-container.js +9 -35
  79. package/dist/wje-container.js.map +1 -1
  80. package/dist/wje-copy-button.js +64 -204
  81. package/dist/wje-copy-button.js.map +1 -1
  82. package/dist/wje-dialog.js +85 -553
  83. package/dist/wje-dialog.js.map +1 -1
  84. package/dist/wje-divider.js +7 -34
  85. package/dist/wje-divider.js.map +1 -1
  86. package/dist/wje-dropdown.js +78 -305
  87. package/dist/wje-dropdown.js.map +1 -1
  88. package/dist/wje-element.js +191 -700
  89. package/dist/wje-element.js.map +1 -1
  90. package/dist/wje-file-upload-item.js +51 -156
  91. package/dist/wje-file-upload-item.js.map +1 -1
  92. package/dist/wje-file-upload.js +181 -619
  93. package/dist/wje-file-upload.js.map +1 -1
  94. package/dist/wje-footer.js +7 -31
  95. package/dist/wje-footer.js.map +1 -1
  96. package/dist/wje-form.js +7 -32
  97. package/dist/wje-form.js.map +1 -1
  98. package/dist/wje-format-digital.js +26 -118
  99. package/dist/wje-format-digital.js.map +1 -1
  100. package/dist/wje-grid.js +7 -33
  101. package/dist/wje-grid.js.map +1 -1
  102. package/dist/wje-header.js +9 -35
  103. package/dist/wje-header.js.map +1 -1
  104. package/dist/wje-icon-library.js +12 -18
  105. package/dist/wje-icon-library.js.map +1 -1
  106. package/dist/wje-icon-picker.js +65 -320
  107. package/dist/wje-icon-picker.js.map +1 -1
  108. package/dist/wje-icon.js +1 -1
  109. package/dist/wje-img-comparer.js +37 -114
  110. package/dist/wje-img-comparer.js.map +1 -1
  111. package/dist/wje-img.js +50 -198
  112. package/dist/wje-img.js.map +1 -1
  113. package/dist/wje-infinite-scroll.js +94 -346
  114. package/dist/wje-infinite-scroll.js.map +1 -1
  115. package/dist/wje-input-file.js +23 -84
  116. package/dist/wje-input-file.js.map +1 -1
  117. package/dist/wje-input.js +78 -392
  118. package/dist/wje-input.js.map +1 -1
  119. package/dist/wje-item.js +11 -64
  120. package/dist/wje-item.js.map +1 -1
  121. package/dist/wje-kanban.js +124 -401
  122. package/dist/wje-kanban.js.map +1 -1
  123. package/dist/wje-label.js +9 -32
  124. package/dist/wje-label.js.map +1 -1
  125. package/dist/wje-level-indicator.js +38 -157
  126. package/dist/wje-level-indicator.js.map +1 -1
  127. package/dist/wje-list.js +10 -40
  128. package/dist/wje-list.js.map +1 -1
  129. package/dist/wje-main.js +7 -31
  130. package/dist/wje-main.js.map +1 -1
  131. package/dist/wje-masonry.js +66 -211
  132. package/dist/wje-masonry.js.map +1 -1
  133. package/dist/wje-master.js +45 -161
  134. package/dist/wje-master.js.map +1 -1
  135. package/dist/wje-menu-button.js +10 -38
  136. package/dist/wje-menu-button.js.map +1 -1
  137. package/dist/wje-menu-item.js +127 -577
  138. package/dist/wje-menu-item.js.map +1 -1
  139. package/dist/wje-menu-label.js +9 -35
  140. package/dist/wje-menu-label.js.map +1 -1
  141. package/dist/wje-menu.js +14 -49
  142. package/dist/wje-menu.js.map +1 -1
  143. package/dist/wje-option.js +48 -279
  144. package/dist/wje-option.js.map +1 -1
  145. package/dist/wje-options.js +130 -384
  146. package/dist/wje-options.js.map +1 -1
  147. package/dist/wje-orgchart-group.js +16 -52
  148. package/dist/wje-orgchart-group.js.map +1 -1
  149. package/dist/wje-orgchart-item.js +24 -93
  150. package/dist/wje-orgchart-item.js.map +1 -1
  151. package/dist/wje-orgchart.js +18 -68
  152. package/dist/wje-orgchart.js.map +1 -1
  153. package/dist/wje-pagination.js +113 -397
  154. package/dist/wje-pagination.js.map +1 -1
  155. package/dist/wje-popup.js +3 -3
  156. package/dist/wje-popup.js.map +1 -1
  157. package/dist/wje-progress-bar.js +53 -205
  158. package/dist/wje-progress-bar.js.map +1 -1
  159. package/dist/wje-qr-code.js +398 -2980
  160. package/dist/wje-qr-code.js.map +1 -1
  161. package/dist/wje-radio-group.js +52 -190
  162. package/dist/wje-radio-group.js.map +1 -1
  163. package/dist/wje-radio.js +24 -118
  164. package/dist/wje-radio.js.map +1 -1
  165. package/dist/wje-rate.js +62 -266
  166. package/dist/wje-rate.js.map +1 -1
  167. package/dist/wje-relative-time.js +24 -99
  168. package/dist/wje-relative-time.js.map +1 -1
  169. package/dist/wje-reorder-dropzone.js +9 -31
  170. package/dist/wje-reorder-dropzone.js.map +1 -1
  171. package/dist/wje-reorder-handle.js +67 -204
  172. package/dist/wje-reorder-handle.js.map +1 -1
  173. package/dist/wje-reorder-item.js +14 -44
  174. package/dist/wje-reorder-item.js.map +1 -1
  175. package/dist/wje-reorder.js +61 -246
  176. package/dist/wje-reorder.js.map +1 -1
  177. package/dist/wje-route.js +6 -24
  178. package/dist/wje-route.js.map +1 -1
  179. package/dist/wje-router-link.js +11 -39
  180. package/dist/wje-router-link.js.map +1 -1
  181. package/dist/wje-router-outlet.js +76 -172
  182. package/dist/wje-router-outlet.js.map +1 -1
  183. package/dist/wje-routerx.js +537 -1331
  184. package/dist/wje-routerx.js.map +1 -1
  185. package/dist/wje-row.js +9 -31
  186. package/dist/wje-row.js.map +1 -1
  187. package/dist/wje-select.js +326 -1152
  188. package/dist/wje-select.js.map +1 -1
  189. package/dist/wje-slider.js +44 -225
  190. package/dist/wje-slider.js.map +1 -1
  191. package/dist/wje-sliding-container.js +295 -1319
  192. package/dist/wje-sliding-container.js.map +1 -1
  193. package/dist/wje-split-view.js +35 -121
  194. package/dist/wje-split-view.js.map +1 -1
  195. package/dist/wje-status.js +14 -45
  196. package/dist/wje-status.js.map +1 -1
  197. package/dist/wje-step.js +9 -32
  198. package/dist/wje-step.js.map +1 -1
  199. package/dist/wje-stepper.js +109 -357
  200. package/dist/wje-stepper.js.map +1 -1
  201. package/dist/wje-store.js +67 -360
  202. package/dist/wje-store.js.map +1 -1
  203. package/dist/wje-tab-group.js +85 -314
  204. package/dist/wje-tab-group.js.map +1 -1
  205. package/dist/wje-tab-panel.js +7 -28
  206. package/dist/wje-tab-panel.js.map +1 -1
  207. package/dist/wje-tab.js +21 -198
  208. package/dist/wje-tab.js.map +1 -1
  209. package/dist/wje-textarea.js +64 -264
  210. package/dist/wje-textarea.js.map +1 -1
  211. package/dist/wje-thumbnail.js +10 -51
  212. package/dist/wje-thumbnail.js.map +1 -1
  213. package/dist/wje-toast.js +127 -632
  214. package/dist/wje-toast.js.map +1 -1
  215. package/dist/wje-toggle.js +52 -177
  216. package/dist/wje-toggle.js.map +1 -1
  217. package/dist/wje-toolbar-action.js +128 -456
  218. package/dist/wje-toolbar-action.js.map +1 -1
  219. package/dist/wje-toolbar.js +75 -270
  220. package/dist/wje-toolbar.js.map +1 -1
  221. package/dist/wje-tooltip.js +50 -161
  222. package/dist/wje-tooltip.js.map +1 -1
  223. package/dist/wje-tree-item.js +70 -301
  224. package/dist/wje-tree-item.js.map +1 -1
  225. package/dist/wje-tree.js +145 -489
  226. package/dist/wje-tree.js.map +1 -1
  227. package/dist/wje-visually-hidden.js +7 -34
  228. package/dist/wje-visually-hidden.js.map +1 -1
  229. package/package.json +3 -2
  230. package/dist/form-associated-element-DEQ4y-jn.js +0 -245
  231. package/dist/icon-CReYMzAK.js +0 -245
  232. package/dist/popup.element-CwXvVFK7.js +0 -2133
  233. package/dist/router-links-wjqCnncc.js +0 -156
@@ -1,774 +1,307 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import WJElement from "./wje-element.js";
5
- import { WjElementUtils } from "./element-utils.js";
6
- import { event } from "./event.js";
4
+ import e from "./wje-element.js";
5
+ import { WjElementUtils as t } from "./element-utils.js";
6
+ import { event as r } from "./event.js";
7
7
  import "./wje-button.js";
8
8
  import "./wje-dropdown.js";
9
- import "./icon-CReYMzAK.js";
9
+ import "./icon-DmsqtDpL.js";
10
10
  import "./wje-menu.js";
11
11
  import "./wje-menu-item.js";
12
12
  import "./wje-popup.js";
13
13
  import "./wje-tooltip.js";
14
- const styles = "/*\n[ WJ Breadcrumb ]\n*/\n\n:host {\n display: flex;\n flex: 0 0 auto;\n align-items: center;\n line-height: var(--wje-breadcrumb-line-height, 1.5);\n\n .native-breadcrumb {\n display: flex;\n align-items: center;\n width: 100%;\n outline: none;\n background: inherit;\n margin: var(--wje-breadcrumb-margin, var(--wje-breadcrumb-native-margin, 0));\n padding: var(--wje-breadcrumb-padding, var(--wje-breadcrumb-native-padding, 0.25rem 0.75rem));\n color: var(--wje-breadcrumb-a);\n text-decoration: none;\n font-size: var(--wje-breadcrumb-font-size);\n line-height: var(--wje-breadcrumb-native-line-height, var(--wje-breadcrumb-line-height, 1.5));\n &.hidden {\n display: none;\n }\n &.active {\n font-weight: var(--wje-breadcrumb-active-font-weight);\n font-size: var(--wje-breadcrumb-active-font-size);\n }\n &.disabled {\n cursor: default;\n opacity: 0.6;\n }\n &:hover {\n color: var(--wje-breadcrumb-a-hover);\n }\n }\n\n button {\n margin-inline: 0.75rem;\n border: 0 solid transparent;\n border-radius: 3px;\n background-color: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n }\n\n .separator {\n display: inline-flex;\n align-items: center;\n }\n}\n\n:host(.collapsed) {\n display: none;\n}\n\n:host([mobile-collapsed-indicator]) {\n flex: 1 1 auto;\n min-width: 0;\n max-width: 100%;\n overflow: hidden;\n}\n\n.breadcrumb-mobile {\n display: flex;\n align-items: center;\n min-width: 0;\n max-width: 100%;\n color: var(--wje-breadcrumb-a);\n font-size: var(--wje-breadcrumb-font-size);\n line-height: var(--wje-breadcrumb-line-height, 1.5);\n}\n\n.breadcrumb-mobile--text,\n.breadcrumb-mobile--back,\n.breadcrumb-mobile--parent-title {\n width: 100%;\n}\n\n.breadcrumb-mobile--back,\n.breadcrumb-mobile--parent-title {\n flex-direction: column;\n align-items: flex-start;\n gap: 0.125rem;\n}\n\n.breadcrumb-mobile-dropdown,\n.breadcrumb-mobile__menu {\n min-width: 0;\n max-width: 100%;\n}\n\n.breadcrumb-mobile__menu {\n --wje-button-margin-inline: 0;\n --wje-padding-top: 0;\n --wje-padding-bottom: 0;\n --wje-padding-start: 0;\n --wje-padding-end: 0;\n gap: 0.35rem;\n color: var(--wje-breadcrumb-a);\n}\n\n.breadcrumb-mobile__back,\n.breadcrumb-mobile__parent,\n.breadcrumb-mobile__title {\n min-width: 0;\n max-width: 100%;\n overflow: hidden;\n color: inherit;\n font: inherit;\n line-height: inherit;\n text-align: start;\n text-decoration: none;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.breadcrumb-mobile__back,\n.breadcrumb-mobile__parent {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0;\n border: 0;\n background: transparent;\n color: var(--wje-breadcrumb-a);\n cursor: default;\n font-size: var(--wje-breadcrumb-mobile-parent-font-size, 0.8125rem);\n opacity: 0.72;\n}\n\nbutton.breadcrumb-mobile__back,\nbutton.breadcrumb-mobile__parent,\nbutton.breadcrumb-mobile__title {\n margin-inline: 0;\n cursor: pointer;\n}\n\nbutton.breadcrumb-mobile__back:hover,\nbutton.breadcrumb-mobile__parent:hover,\nbutton.breadcrumb-mobile__title:hover,\n.breadcrumb-mobile__menu:hover {\n color: var(--wje-breadcrumb-a-hover);\n}\n\n.breadcrumb-mobile__title {\n display: block;\n font-weight: var(--wje-breadcrumb-active-font-weight, 600);\n font-size: var(--wje-breadcrumb-active-font-size, inherit);\n}\n\n.breadcrumb-mobile__label {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.breadcrumb-mobile__icon {\n flex: 0 0 auto;\n}\n\n::slotted([slot='start']) {\n margin-inline: 0 0.5rem;\n}\n\n::slotted([slot='end']) {\n margin-inline: 0.5rem 0;\n}\n";
15
- const MOBILE_COLLAPSED_VARIANTS = /* @__PURE__ */ new Set(["TEXT", "BACK", "PARENT-TITLE", "MENU-TITLE", "SHEET"]);
16
- class Breadcrumb extends WJElement {
17
- /**
18
- * Breadcrumb constructor method.
19
- */
14
+ const a = /* @__PURE__ */ new Set(["TEXT", "BACK", "PARENT-TITLE", "MENU-TITLE", "SHEET"]);
15
+ class i extends e {
20
16
  constructor() {
21
17
  super();
22
- /**
23
- * Class name for the Breadcrumb element.
24
- * @type {string}
25
- */
26
18
  __publicField(this, "className", "Breadcrumb");
27
- this._showSeparator = true;
28
- this._showCollapsedIndicator = false;
29
- this.handleNativeClick = (e) => this.handleDisabledNativeClick(e);
30
- }
31
- /**
32
- * Sets the breadcrumb link URL.
33
- * @param {string|null} value Link URL.
34
- */
35
- set href(value) {
36
- if (value === null || value === void 0) this.removeAttribute("href");
37
- else this.setAttribute("href", value);
38
- }
39
- /**
40
- * Gets the breadcrumb link URL.
41
- * @returns {string|null}
42
- */
19
+ this._showSeparator = true, this._showCollapsedIndicator = false, this.handleNativeClick = (e2) => this.handleDisabledNativeClick(e2);
20
+ }
21
+ set href(e2) {
22
+ null == e2 ? this.removeAttribute("href") : this.setAttribute("href", e2);
23
+ }
43
24
  get href() {
44
25
  return this.getAttribute("href");
45
26
  }
46
- /**
47
- * Sets the disabled state.
48
- * @param {boolean} value Disabled state.
49
- */
50
- set disabled(value) {
51
- if (value === true || value === "" || value === "true" || value === 1 || value === "1") {
52
- this.setAttribute("disabled", "");
53
- } else {
54
- this.removeAttribute("disabled");
55
- }
27
+ set disabled(e2) {
28
+ true === e2 || "" === e2 || "true" === e2 || 1 === e2 || "1" === e2 ? this.setAttribute("disabled", "") : this.removeAttribute("disabled");
56
29
  }
57
- /**
58
- * Gets the disabled state.
59
- * @returns {boolean}
60
- */
61
30
  get disabled() {
62
31
  return this.hasAttribute("disabled");
63
32
  }
64
- /**
65
- * Get show separator flag.
66
- * @returns {boolean} showSeparator - The show separator flag
67
- */
68
33
  get showSeparator() {
69
34
  return this._showSeparator;
70
35
  }
71
- /**
72
- * Set show separator flag.
73
- * @param {boolean} value The value to set
74
- */
75
- set showSeparator(value) {
76
- this._showSeparator = value;
77
- }
78
- /**
79
- * Set collapsed variant.
80
- * @param {string} value The value to set
81
- */
82
- set collapsedVariant(value) {
83
- this._collapsedVariant = value;
84
- }
85
- /**
86
- * Get collapsed variant.
87
- * @returns {string} The collapsed variant value in uppercase.
88
- */
36
+ set showSeparator(e2) {
37
+ this._showSeparator = e2;
38
+ }
39
+ set collapsedVariant(e2) {
40
+ this._collapsedVariant = e2;
41
+ }
89
42
  get collapsedVariant() {
90
43
  return this.collapsedVariantName.toUpperCase();
91
44
  }
92
- /**
93
- * Get collapsed variant token.
94
- * @returns {string}
95
- */
96
45
  get collapsedVariantName() {
97
46
  var _a, _b;
98
47
  return String(((_a = this.parentElement) == null ? void 0 : _a.collapsedVariant) || ((_b = this.parentElement) == null ? void 0 : _b.variant) || this._collapsedVariant || "button").trim();
99
48
  }
100
- /**
101
- * Get CSS stylesheet for the Breadcrumb element.
102
- * @static
103
- * @returns {object} styles - The CSS styles
104
- */
105
49
  static get cssStyleSheet() {
106
- return styles;
50
+ return ':host{display:flex;flex:0 0 auto;align-items:center;line-height:var(--wje-breadcrumb-line-height, 1.5)}:host .native-breadcrumb{display:flex;align-items:center;width:100%;outline:none;background:inherit;margin:var(--wje-breadcrumb-margin, var(--wje-breadcrumb-native-margin, 0));padding:var(--wje-breadcrumb-padding, var(--wje-breadcrumb-native-padding, .25rem .75rem));color:var(--wje-breadcrumb-a);text-decoration:none;font-size:var(--wje-breadcrumb-font-size);line-height:var(--wje-breadcrumb-native-line-height, var(--wje-breadcrumb-line-height, 1.5))}:host .native-breadcrumb.hidden{display:none}:host .native-breadcrumb.active{font-weight:var(--wje-breadcrumb-active-font-weight);font-size:var(--wje-breadcrumb-active-font-size)}:host .native-breadcrumb.disabled{cursor:default;opacity:.6}:host .native-breadcrumb:hover{color:var(--wje-breadcrumb-a-hover)}:host button{margin-inline:.75rem;border:0 solid transparent;border-radius:3px;background-color:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer}:host .separator{display:inline-flex;align-items:center}:host(.collapsed){display:none}:host([mobile-collapsed-indicator]){flex:1 1 auto;min-width:0;max-width:100%;overflow:hidden}.breadcrumb-mobile{display:flex;align-items:center;min-width:0;max-width:100%;color:var(--wje-breadcrumb-a);font-size:var(--wje-breadcrumb-font-size);line-height:var(--wje-breadcrumb-line-height, 1.5)}.breadcrumb-mobile--text,.breadcrumb-mobile--back,.breadcrumb-mobile--parent-title{width:100%}.breadcrumb-mobile--back,.breadcrumb-mobile--parent-title{flex-direction:column;align-items:flex-start;gap:.125rem}.breadcrumb-mobile-dropdown,.breadcrumb-mobile__menu{min-width:0;max-width:100%}.breadcrumb-mobile__menu{--wje-button-margin-inline: 0;--wje-padding-top: 0;--wje-padding-bottom: 0;--wje-padding-start: 0;--wje-padding-end: 0;gap:.35rem;color:var(--wje-breadcrumb-a)}.breadcrumb-mobile__back,.breadcrumb-mobile__parent,.breadcrumb-mobile__title{min-width:0;max-width:100%;overflow:hidden;color:inherit;font:inherit;line-height:inherit;text-align:start;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.breadcrumb-mobile__back,.breadcrumb-mobile__parent{display:inline-flex;align-items:center;gap:.25rem;padding:0;border:0;background:transparent;color:var(--wje-breadcrumb-a);cursor:default;font-size:var(--wje-breadcrumb-mobile-parent-font-size, .8125rem);opacity:.72}button.breadcrumb-mobile__back,button.breadcrumb-mobile__parent,button.breadcrumb-mobile__title{margin-inline:0;cursor:pointer}button.breadcrumb-mobile__back:hover,button.breadcrumb-mobile__parent:hover,button.breadcrumb-mobile__title:hover,.breadcrumb-mobile__menu:hover{color:var(--wje-breadcrumb-a-hover)}.breadcrumb-mobile__title{display:block;font-weight:var(--wje-breadcrumb-active-font-weight, 600);font-size:var(--wje-breadcrumb-active-font-size, inherit)}.breadcrumb-mobile__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb-mobile__icon{flex:0 0 auto}::slotted([slot="start"]){margin-inline:0 .5rem}::slotted([slot="end"]){margin-inline:.5rem 0}';
107
51
  }
108
- /**
109
- * Get observed attributes for the Breadcrumb element.
110
- * @static
111
- * @returns {Array<string>} - The observed attributes array for the Breadcrumb element.
112
- */
113
52
  static get observedAttributes() {
114
53
  return ["show-collapsed-indicator", "collapsed", "last", "href", "target", "rel", "download", "disabled", "title", "aria-label"];
115
54
  }
116
- /**
117
- * Handles attribute changes for the custom element and updates its behavior or appearance accordingly.
118
- * @param {string} name The name of the attribute that was changed.
119
- * @param {string|null} oldValue The previous value of the attribute before it was changed. Null if the attribute was not previously set.
120
- * @param {string|null} newValue The new value of the attribute after it was changed. Null if the attribute was removed.
121
- */
122
- attributeChangedCallback(name, oldValue, newValue) {
55
+ attributeChangedCallback(e2, r2, a2) {
123
56
  var _a, _b;
124
- if (oldValue === newValue) return;
125
- if (name === "collapsed") {
126
- const isCollapsed = newValue !== null && WjElementUtils.stringToBoolean(newValue);
127
- this.classList.toggle("collapsed", isCollapsed && !this.hasAttribute("show-collapsed-indicator"));
128
- } else if (name === "show-collapsed-indicator") {
129
- (_a = super.attributeChangedCallback) == null ? void 0 : _a.call(this, name, oldValue, newValue);
130
- const isOn = newValue !== null && WjElementUtils.stringToBoolean(newValue);
131
- this._showCollapsedIndicator = isOn;
132
- this.classList.toggle("collapsed", this.hasAttribute("collapsed") && !isOn);
133
- this.refresh();
134
- } else if (name === "last") {
135
- (_b = super.attributeChangedCallback) == null ? void 0 : _b.call(this, name, oldValue, newValue);
136
- const isLast = newValue !== null && WjElementUtils.stringToBoolean(newValue);
137
- this.active = isLast;
138
- this.showSeparator = !isLast;
139
- this.syncAria();
140
- this.syncNativeAttributes();
141
- this.refresh();
142
- } else {
143
- this.syncAria();
144
- this.syncNativeAttributes();
145
- }
57
+ if (r2 !== a2) if ("collapsed" === e2) {
58
+ const e3 = null !== a2 && t.stringToBoolean(a2);
59
+ this.classList.toggle("collapsed", e3 && !this.hasAttribute("show-collapsed-indicator"));
60
+ } else if ("show-collapsed-indicator" === e2) {
61
+ (_a = super.attributeChangedCallback) == null ? void 0 : _a.call(this, e2, r2, a2);
62
+ const i2 = null !== a2 && t.stringToBoolean(a2);
63
+ this._showCollapsedIndicator = i2, this.classList.toggle("collapsed", this.hasAttribute("collapsed") && !i2), this.refresh();
64
+ } else if ("last" === e2) {
65
+ (_b = super.attributeChangedCallback) == null ? void 0 : _b.call(this, e2, r2, a2);
66
+ const i2 = null !== a2 && t.stringToBoolean(a2);
67
+ this.active = i2, this.showSeparator = !i2, this.syncAria(), this.syncNativeAttributes(), this.refresh();
68
+ } else this.syncAria(), this.syncNativeAttributes();
146
69
  }
147
- /**
148
- * Setup attributes for the Breadcrumb element.
149
- */
150
70
  setupAttributes() {
151
- this.isShadowRoot = "open";
152
- this.syncAria();
71
+ this.isShadowRoot = "open", this.syncAria();
153
72
  }
154
73
  syncAria() {
155
- this.setAriaState({ role: "link" });
156
- if (this.active) this.setAriaState({ current: "page" });
157
- else this.removeAttribute("aria-current");
158
- if (this.disabled) this.setAriaState({ disabled: true });
159
- else this.removeAttribute("aria-disabled");
160
- }
161
- /**
162
- * Draw method for the Breadcrumb element.
163
- * @returns {object} fragment - The document fragment
164
- */
74
+ this.setAriaState({ role: "link" }), this.active ? this.setAriaState({ current: "page" }) : this.removeAttribute("aria-current"), this.disabled ? this.setAriaState({ disabled: true }) : this.removeAttribute("aria-disabled");
75
+ }
165
76
  draw() {
166
- let fragment = document.createDocumentFragment();
167
- let native = document.createElement("a");
168
- native.classList.add("native-breadcrumb");
169
- native.setAttribute("part", "native");
170
- this.native = native;
171
- this.syncNativeAttributes();
172
- let slot = document.createElement("slot");
173
- let start = document.createElement("slot");
174
- start.setAttribute("name", "start");
175
- let end = document.createElement("slot");
176
- end.setAttribute("name", "end");
177
- native.append(start, slot, end);
178
- fragment.append(native);
179
- if (WjElementUtils.stringToBoolean(this._showCollapsedIndicator)) {
180
- fragment.append(this.drawCollapsedIndicator());
181
- native.classList.add("hidden");
77
+ let e2 = document.createDocumentFragment(), r2 = document.createElement("a");
78
+ r2.classList.add("native-breadcrumb"), r2.setAttribute("part", "native"), this.native = r2, this.syncNativeAttributes();
79
+ let a2 = document.createElement("slot"), i2 = document.createElement("slot");
80
+ i2.setAttribute("name", "start");
81
+ let o = document.createElement("slot");
82
+ if (o.setAttribute("name", "end"), r2.append(i2, a2, o), e2.append(r2), t.stringToBoolean(this._showCollapsedIndicator) && (e2.append(this.drawCollapsedIndicator()), r2.classList.add("hidden")), this.shouldRenderSeparator()) {
83
+ let r3 = document.createElement("span");
84
+ if (r3.classList.add("separator"), r3.setAttribute("part", "separator"), t.hasSlot(this, "separator")) {
85
+ let e3 = document.createElement("slot");
86
+ e3.setAttribute("name", "separator"), r3.append(e3);
87
+ } else r3.innerHTML = `<wje-icon name=${this.separator || "chevron-right"}></wje-icon>`;
88
+ e2.append(r3);
182
89
  }
183
- if (this.shouldRenderSeparator()) {
184
- let separator = document.createElement("span");
185
- separator.classList.add("separator");
186
- separator.setAttribute("part", "separator");
187
- if (WjElementUtils.hasSlot(this, "separator")) {
188
- let slotSeparator = document.createElement("slot");
189
- slotSeparator.setAttribute("name", "separator");
190
- separator.append(slotSeparator);
191
- } else {
192
- separator.innerHTML = `<wje-icon name=${this.separator || "chevron-right"}></wje-icon>`;
193
- }
194
- fragment.append(separator);
195
- }
196
- return fragment;
90
+ return e2;
197
91
  }
198
- /**
199
- * Returns whether the separator should be visible after this breadcrumb.
200
- * @returns {boolean}
201
- */
202
92
  shouldRenderSeparator() {
203
93
  return this.showSeparator && this.hasVisibleBreadcrumbAfter();
204
94
  }
205
- /**
206
- * Returns whether any later breadcrumb is still visible in the rendered trail.
207
- * @returns {boolean}
208
- */
209
95
  hasVisibleBreadcrumbAfter() {
210
96
  var _a, _b;
211
- const breadcrumbs = (_b = (_a = this.parentElement) == null ? void 0 : _a.getBreadcrumbs) == null ? void 0 : _b.call(_a);
212
- if (!Array.isArray(breadcrumbs)) return true;
213
- const index = breadcrumbs.indexOf(this);
214
- if (index === -1) return true;
215
- return breadcrumbs.slice(index + 1).some((breadcrumb) => this.isBreadcrumbVisibleInTrail(breadcrumb));
216
- }
217
- /**
218
- * Returns whether a breadcrumb is visible in the rendered trail.
219
- * @param {Element} breadcrumb Breadcrumb element to inspect.
220
- * @returns {boolean}
221
- */
222
- isBreadcrumbVisibleInTrail(breadcrumb) {
97
+ const e2 = (_b = (_a = this.parentElement) == null ? void 0 : _a.getBreadcrumbs) == null ? void 0 : _b.call(_a);
98
+ if (!Array.isArray(e2)) return true;
99
+ const t2 = e2.indexOf(this);
100
+ return -1 === t2 || e2.slice(t2 + 1).some((e3) => this.isBreadcrumbVisibleInTrail(e3));
101
+ }
102
+ isBreadcrumbVisibleInTrail(e2) {
223
103
  var _a, _b;
224
- return !(((_a = breadcrumb == null ? void 0 : breadcrumb.hasAttribute) == null ? void 0 : _a.call(breadcrumb, "collapsed")) && !((_b = breadcrumb == null ? void 0 : breadcrumb.hasAttribute) == null ? void 0 : _b.call(breadcrumb, "show-collapsed-indicator")));
104
+ return !(((_a = e2 == null ? void 0 : e2.hasAttribute) == null ? void 0 : _a.call(e2, "collapsed")) && !((_b = e2 == null ? void 0 : e2.hasAttribute) == null ? void 0 : _b.call(e2, "show-collapsed-indicator")));
225
105
  }
226
- /**
227
- * Synchronizes host attributes to the internal anchor.
228
- */
229
106
  syncNativeAttributes() {
230
107
  var _a;
231
- const native = this.native || ((_a = this.context) == null ? void 0 : _a.querySelector("a.native-breadcrumb"));
232
- if (!native) return;
233
- const isDisabled = this.disabled;
234
- const href = this.href;
235
- if (href !== null && href !== void 0 && !isDisabled) {
236
- native.setAttribute("href", href);
237
- } else {
238
- native.removeAttribute("href");
239
- }
240
- ["target", "rel", "download"].forEach((attr) => {
241
- if (this.hasAttribute(attr) && !isDisabled) {
242
- native.setAttribute(attr, this.getAttribute(attr));
243
- } else {
244
- native.removeAttribute(attr);
245
- }
246
- });
247
- ["title", "aria-label"].forEach((attr) => {
248
- if (this.hasAttribute(attr)) {
249
- native.setAttribute(attr, this.getAttribute(attr));
250
- } else {
251
- native.removeAttribute(attr);
252
- }
253
- });
254
- native.classList.toggle("active", Boolean(this.active));
255
- native.classList.toggle("disabled", isDisabled);
256
- if (this.active) native.setAttribute("aria-current", "page");
257
- else native.removeAttribute("aria-current");
258
- if (isDisabled) {
259
- native.setAttribute("aria-disabled", "true");
260
- native.setAttribute("tabindex", "-1");
261
- } else {
262
- native.removeAttribute("aria-disabled");
263
- native.removeAttribute("tabindex");
264
- }
108
+ const e2 = this.native || ((_a = this.context) == null ? void 0 : _a.querySelector("a.native-breadcrumb"));
109
+ if (!e2) return;
110
+ const t2 = this.disabled, r2 = this.href;
111
+ null == r2 || t2 ? e2.removeAttribute("href") : e2.setAttribute("href", r2), ["target", "rel", "download"].forEach((r3) => {
112
+ this.hasAttribute(r3) && !t2 ? e2.setAttribute(r3, this.getAttribute(r3)) : e2.removeAttribute(r3);
113
+ }), ["title", "aria-label"].forEach((t3) => {
114
+ this.hasAttribute(t3) ? e2.setAttribute(t3, this.getAttribute(t3)) : e2.removeAttribute(t3);
115
+ }), e2.classList.toggle("active", Boolean(this.active)), e2.classList.toggle("disabled", t2), this.active ? e2.setAttribute("aria-current", "page") : e2.removeAttribute("aria-current"), t2 ? (e2.setAttribute("aria-disabled", "true"), e2.setAttribute("tabindex", "-1")) : (e2.removeAttribute("aria-disabled"), e2.removeAttribute("tabindex"));
265
116
  }
266
- /**
267
- * Sets up native anchor listeners after render.
268
- */
269
117
  afterDraw() {
270
118
  var _a;
271
119
  (_a = this.native) == null ? void 0 : _a.addEventListener("click", this.handleNativeClick);
272
120
  }
273
- /**
274
- * Removes native anchor listeners before redraw/disconnect.
275
- */
276
121
  beforeDisconnect() {
277
122
  var _a;
278
123
  (_a = this.native) == null ? void 0 : _a.removeEventListener("click", this.handleNativeClick);
279
124
  }
280
- /**
281
- * Prevents disabled breadcrumbs from navigating or bubbling click handlers.
282
- * @param {MouseEvent} e Click event.
283
- */
284
- handleDisabledNativeClick(e) {
125
+ handleDisabledNativeClick(e2) {
285
126
  var _a;
286
- if (!this.disabled) return;
287
- e.preventDefault();
288
- e.stopPropagation();
289
- (_a = e.stopImmediatePropagation) == null ? void 0 : _a.call(e);
290
- }
291
- /**
292
- * Renders the collapsed indicator based on the current collapsed variant.
293
- * If the collapsed variant is 'DROPDOWN', it invokes the collapseDropdown method.
294
- * Mobile breakpoint variants render compact breadcrumb summaries, otherwise the default button is used.
295
- * @returns {any} The rendered collapsed indicator, either as a dropdown or a button.
296
- */
127
+ this.disabled && (e2.preventDefault(), e2.stopPropagation(), (_a = e2.stopImmediatePropagation) == null ? void 0 : _a.call(e2));
128
+ }
297
129
  drawCollapsedIndicator() {
298
- const variant = this.collapsedVariant;
299
- if (variant === "DROPDOWN") {
300
- return this.collapseDropdown();
301
- }
302
- if (this.isMobileCollapsedVariant() && this.isBreakpointMenuIndicator()) {
303
- return this.collapseMobileVariant(variant);
304
- }
305
- return this.collapseButton();
130
+ const e2 = this.collapsedVariant;
131
+ return "DROPDOWN" === e2 ? this.collapseDropdown() : this.isMobileCollapsedVariant() && this.isBreakpointMenuIndicator() ? this.collapseMobileVariant(e2) : this.collapseButton();
306
132
  }
307
- /**
308
- * Returns whether the current collapsed variant is a compact mobile layout.
309
- * @returns {boolean}
310
- */
311
133
  isMobileCollapsedVariant() {
312
- return MOBILE_COLLAPSED_VARIANTS.has(this.collapsedVariant);
313
- }
314
- /**
315
- * Creates and returns a dropdown UI component for collapsed breadcrumbs.
316
- * This method generates a dropdown element with a button trigger and a menu populated with items corresponding
317
- * to the collapsed breadcrumbs. The dropdown is configured to handle specific interactions and ensure that
318
- * events are appropriately managed to avoid propagation issues. Menu items are linked to their corresponding
319
- * breadcrumbs, enabling the same functionality as clicking on the original breadcrumb.
320
- * @returns {HTMLElement} A configured dropdown element containing a button as trigger and a menu with breadcrumb items.
321
- */
134
+ return a.has(this.collapsedVariant);
135
+ }
322
136
  collapseDropdown() {
323
- const isBreakpointMenuIndicator = this.isBreakpointMenuIndicator();
324
- const breadcrumbs = this.getCollapsedMenuBreadcrumbs(isBreakpointMenuIndicator);
325
- const trigger = this.createCollapsedDropdownTrigger(isBreakpointMenuIndicator);
326
- return this.createBreadcrumbDropdown({
327
- breadcrumbs,
328
- trigger,
329
- placement: isBreakpointMenuIndicator ? "bottom-start" : "bottom"
330
- });
331
- }
332
- /**
333
- * Creates a dropdown containing breadcrumb menu items.
334
- * @param {object} options Configuration for the dropdown shell.
335
- * @param {Array<HTMLElement>} options.breadcrumbs Breadcrumb elements to mirror in the menu.
336
- * @param {HTMLElement} options.trigger Element assigned to the dropdown trigger slot.
337
- * @param {string} options.placement Floating UI placement token for the popup.
338
- * @returns {HTMLElement}
339
- */
340
- createBreadcrumbDropdown({ breadcrumbs, trigger, placement = "bottom" }) {
341
- const dropdown = document.createElement("wje-dropdown");
342
- dropdown.setAttribute("placement", placement);
343
- dropdown.setAttribute("offset", "10");
344
- const menu = this.createCollapsedBreadcrumbMenu(breadcrumbs);
345
- dropdown.append(trigger, menu);
346
- return dropdown;
347
- }
348
- /**
349
- * Creates the menu used by collapsed dropdown variants.
350
- * @param {Array<HTMLElement>} breadcrumbs Breadcrumb items represented by menu items.
351
- * @returns {HTMLElement}
352
- */
353
- createCollapsedBreadcrumbMenu(breadcrumbs) {
354
- const menu = document.createElement("wje-menu");
355
- menu.setAttribute("variant", "context");
356
- menu.style.setProperty("--wje-menu-item-justify-content", "flex-start");
357
- menu.addEventListener("click", (e) => {
137
+ const e2 = this.isBreakpointMenuIndicator(), t2 = this.getCollapsedMenuBreadcrumbs(e2), r2 = this.createCollapsedDropdownTrigger(e2);
138
+ return this.createBreadcrumbDropdown({ breadcrumbs: t2, trigger: r2, placement: e2 ? "bottom-start" : "bottom" });
139
+ }
140
+ createBreadcrumbDropdown({ breadcrumbs: e2, trigger: t2, placement: r2 = "bottom" }) {
141
+ const a2 = document.createElement("wje-dropdown");
142
+ a2.setAttribute("placement", r2), a2.setAttribute("offset", "10");
143
+ const i2 = this.createCollapsedBreadcrumbMenu(e2);
144
+ return a2.append(t2, i2), a2;
145
+ }
146
+ createCollapsedBreadcrumbMenu(e2) {
147
+ const t2 = document.createElement("wje-menu");
148
+ return t2.setAttribute("variant", "context"), t2.style.setProperty("--wje-menu-item-justify-content", "flex-start"), t2.addEventListener("click", (e3) => {
358
149
  var _a;
359
- e.stopPropagation();
360
- (_a = e.stopImmediatePropagation) == null ? void 0 : _a.call(e);
361
- });
362
- breadcrumbs.forEach((breadcrumb) => {
363
- const menuItem = document.createElement("wje-menu-item");
364
- this.populateCollapsedMenuItem(menuItem, breadcrumb);
365
- menuItem.__breadcrumb = breadcrumb;
366
- menuItem.addEventListener("wje-menu-item:click", (e) => {
150
+ e3.stopPropagation(), (_a = e3.stopImmediatePropagation) == null ? void 0 : _a.call(e3);
151
+ }), e2.forEach((e3) => {
152
+ const r2 = document.createElement("wje-menu-item");
153
+ this.populateCollapsedMenuItem(r2, e3), r2.__breadcrumb = e3, r2.addEventListener("wje-menu-item:click", (e4) => {
367
154
  var _a, _b;
368
- (_a = e.preventDefault) == null ? void 0 : _a.call(e);
369
- e.stopPropagation();
370
- (_b = e.stopImmediatePropagation) == null ? void 0 : _b.call(e);
371
- this.forwardBreadcrumbClick(e.currentTarget.__breadcrumb);
372
- });
373
- menu.append(menuItem);
374
- });
375
- return menu;
376
- }
377
- /**
378
- * Returns breadcrumbs that should be exposed in a collapsed menu.
379
- * @param {boolean} isBreakpointMenuIndicator Whether this trigger controls the full breakpoint menu.
380
- * @returns {Array<HTMLElement>}
381
- */
382
- getCollapsedMenuBreadcrumbs(isBreakpointMenuIndicator) {
155
+ (_a = e4.preventDefault) == null ? void 0 : _a.call(e4), e4.stopPropagation(), (_b = e4.stopImmediatePropagation) == null ? void 0 : _b.call(e4), this.forwardBreadcrumbClick(e4.currentTarget.__breadcrumb);
156
+ }), t2.append(r2);
157
+ }), t2;
158
+ }
159
+ getCollapsedMenuBreadcrumbs(e2) {
383
160
  var _a, _b;
384
- const breadcrumbs = this.getBreadcrumbs();
385
- if (isBreakpointMenuIndicator) {
386
- return ((_a = breadcrumbs == null ? void 0 : breadcrumbs.getBreadcrumbs) == null ? void 0 : _a.call(breadcrumbs)) || [];
387
- }
388
- return ((_b = breadcrumbs == null ? void 0 : breadcrumbs.getBreadcrumbsCollapsed) == null ? void 0 : _b.call(breadcrumbs)) || [];
389
- }
390
- /**
391
- * Renders one of the compact mobile breakpoint variants.
392
- * @param {string} variant Normalized uppercase variant token.
393
- * @returns {HTMLElement}
394
- */
395
- collapseMobileVariant(variant) {
396
- if (variant === "TEXT") return this.collapseMobileText();
397
- if (variant === "BACK") return this.collapseMobileBack();
398
- if (variant === "PARENT-TITLE") return this.collapseMobileParentTitle();
399
- if (variant === "MENU-TITLE") return this.collapseMobileMenuTitle();
400
- if (variant === "SHEET") return this.collapseMobileSheet();
401
- return this.collapseButton();
402
- }
403
- /**
404
- * Renders only the current breadcrumb title.
405
- * @returns {HTMLElement}
406
- */
161
+ const t2 = this.getBreadcrumbs();
162
+ return e2 ? ((_a = t2 == null ? void 0 : t2.getBreadcrumbs) == null ? void 0 : _a.call(t2)) || [] : ((_b = t2 == null ? void 0 : t2.getBreadcrumbsCollapsed) == null ? void 0 : _b.call(t2)) || [];
163
+ }
164
+ collapseMobileVariant(e2) {
165
+ return "TEXT" === e2 ? this.collapseMobileText() : "BACK" === e2 ? this.collapseMobileBack() : "PARENT-TITLE" === e2 ? this.collapseMobileParentTitle() : "MENU-TITLE" === e2 ? this.collapseMobileMenuTitle() : "SHEET" === e2 ? this.collapseMobileSheet() : this.collapseButton();
166
+ }
407
167
  collapseMobileText() {
408
- const current = this.getCurrentBreadcrumb();
409
- const container = this.createMobileContainer("breadcrumb-mobile--text");
410
- const title = this.createMobileBreadcrumbControl(current, "breadcrumb-mobile__title", {
411
- ariaCurrent: true,
412
- actionable: this.isBreadcrumbActionable(current)
413
- });
414
- container.append(title);
415
- return container;
416
- }
417
- /**
418
- * Renders a parent back action above the current title.
419
- * @returns {HTMLElement}
420
- */
168
+ const e2 = this.getCurrentBreadcrumb(), t2 = this.createMobileContainer("breadcrumb-mobile--text"), r2 = this.createMobileBreadcrumbControl(e2, "breadcrumb-mobile__title", { ariaCurrent: true, actionable: this.isBreadcrumbActionable(e2) });
169
+ return t2.append(r2), t2;
170
+ }
421
171
  collapseMobileBack() {
422
- const current = this.getCurrentBreadcrumb();
423
- const parent = this.getParentBreadcrumb();
424
- const container = this.createMobileContainer("breadcrumb-mobile--back");
425
- if (parent) {
426
- const back = this.createMobileBreadcrumbControl(parent, "breadcrumb-mobile__back", {
427
- ariaLabel: "Go to parent",
428
- icon: "arrow-left",
429
- actionable: this.isBreadcrumbActionable(parent)
430
- });
431
- container.append(back);
172
+ const e2 = this.getCurrentBreadcrumb(), t2 = this.getParentBreadcrumb(), r2 = this.createMobileContainer("breadcrumb-mobile--back");
173
+ if (t2) {
174
+ const e3 = this.createMobileBreadcrumbControl(t2, "breadcrumb-mobile__back", { ariaLabel: "Go to parent", icon: "arrow-left", actionable: this.isBreadcrumbActionable(t2) });
175
+ r2.append(e3);
432
176
  }
433
- const title = this.createMobileBreadcrumbControl(current, "breadcrumb-mobile__title", {
434
- ariaCurrent: true,
435
- actionable: false
436
- });
437
- container.append(title);
438
- return container;
439
- }
440
- /**
441
- * Renders parent context above the current title.
442
- * @returns {HTMLElement}
443
- */
177
+ const a2 = this.createMobileBreadcrumbControl(e2, "breadcrumb-mobile__title", { ariaCurrent: true, actionable: false });
178
+ return r2.append(a2), r2;
179
+ }
444
180
  collapseMobileParentTitle() {
445
- const current = this.getCurrentBreadcrumb();
446
- const parent = this.getParentBreadcrumb();
447
- const container = this.createMobileContainer("breadcrumb-mobile--parent-title");
448
- if (parent) {
449
- const parentControl = this.createMobileBreadcrumbControl(parent, "breadcrumb-mobile__parent", {
450
- actionable: this.isBreadcrumbActionable(parent)
451
- });
452
- container.append(parentControl);
181
+ const e2 = this.getCurrentBreadcrumb(), t2 = this.getParentBreadcrumb(), r2 = this.createMobileContainer("breadcrumb-mobile--parent-title");
182
+ if (t2) {
183
+ const e3 = this.createMobileBreadcrumbControl(t2, "breadcrumb-mobile__parent", { actionable: this.isBreadcrumbActionable(t2) });
184
+ r2.append(e3);
453
185
  }
454
- const title = this.createMobileBreadcrumbControl(current, "breadcrumb-mobile__title", {
455
- ariaCurrent: true,
456
- actionable: false
457
- });
458
- container.append(title);
459
- return container;
460
- }
461
- /**
462
- * Renders a menu trigger with the current title.
463
- * @returns {HTMLElement}
464
- */
186
+ const a2 = this.createMobileBreadcrumbControl(e2, "breadcrumb-mobile__title", { ariaCurrent: true, actionable: false });
187
+ return r2.append(a2), r2;
188
+ }
465
189
  collapseMobileMenuTitle() {
466
- const trigger = this.createMobileDropdownTrigger({
467
- icon: "dots",
468
- label: this.getBreadcrumbLabel(this.getCurrentBreadcrumb()),
469
- ariaLabel: "Show breadcrumb menu",
470
- className: "breadcrumb-mobile--menu-title"
471
- });
472
- return this.createMobileDropdown(trigger);
473
- }
474
- /**
475
- * Renders the future sheet variant using the dropdown fallback for now.
476
- * @returns {HTMLElement}
477
- */
190
+ const e2 = this.createMobileDropdownTrigger({ icon: "dots", label: this.getBreadcrumbLabel(this.getCurrentBreadcrumb()), ariaLabel: "Show breadcrumb menu", className: "breadcrumb-mobile--menu-title" });
191
+ return this.createMobileDropdown(e2);
192
+ }
478
193
  collapseMobileSheet() {
479
- const trigger = this.createMobileDropdownTrigger({
480
- icon: "chevron-down",
481
- iconPosition: "end",
482
- label: this.getBreadcrumbLabel(this.getCurrentBreadcrumb()),
483
- ariaLabel: "Show breadcrumb path",
484
- className: "breadcrumb-mobile--sheet"
485
- });
486
- return this.createMobileDropdown(trigger);
487
- }
488
- /**
489
- * Creates a dropdown fallback for mobile menu-like variants.
490
- * @param {HTMLElement} trigger Element that opens the fallback dropdown.
491
- * @returns {HTMLElement}
492
- */
493
- createMobileDropdown(trigger) {
494
- const dropdown = this.createBreadcrumbDropdown({
495
- breadcrumbs: this.getTrailBreadcrumbs(),
496
- trigger,
497
- placement: "bottom-start"
498
- });
499
- dropdown.classList.add("breadcrumb-mobile-dropdown");
500
- return dropdown;
501
- }
502
- /**
503
- * Creates a compact mobile dropdown trigger.
504
- * @param {object} options Visual settings for the compact trigger.
505
- * @param {string} options.icon Icon shown next to the title.
506
- * @param {string} options.iconPosition Whether the icon renders at the start or end.
507
- * @param {string} options.label Current breadcrumb label shown beside the icon.
508
- * @param {string} options.ariaLabel Accessible name for the dropdown trigger.
509
- * @param {string} options.className Variant-specific class applied to the trigger.
510
- * @returns {HTMLElement}
511
- */
512
- createMobileDropdownTrigger({ icon, iconPosition = "start", label, ariaLabel, className }) {
513
- const trigger = document.createElement("wje-button");
514
- trigger.setAttribute("slot", "trigger");
515
- trigger.setAttribute("fill", "link");
516
- trigger.setAttribute("label", ariaLabel);
517
- trigger.classList.add("breadcrumb-mobile", "breadcrumb-mobile__menu", className);
518
- const iconElement = document.createElement("wje-icon");
519
- iconElement.setAttribute("name", icon);
520
- iconElement.setAttribute("slot", iconPosition === "end" ? "end" : "start");
521
- iconElement.classList.add("breadcrumb-mobile__icon");
522
- const title = document.createElement("span");
523
- title.classList.add("breadcrumb-mobile__title");
524
- title.setAttribute("aria-current", "page");
525
- title.textContent = label;
526
- if (label) title.setAttribute("title", label);
527
- if (iconPosition === "end") {
528
- trigger.append(title, iconElement);
529
- } else {
530
- trigger.append(iconElement, title);
531
- }
532
- return trigger;
533
- }
534
- /**
535
- * Creates a wrapper for compact mobile breadcrumb variants.
536
- * @param {string} className Variant class.
537
- * @returns {HTMLElement}
538
- */
539
- createMobileContainer(className) {
540
- const container = document.createElement("div");
541
- container.classList.add("breadcrumb-mobile", className);
542
- return container;
543
- }
544
- /**
545
- * Creates a text or button control for a breadcrumb.
546
- * @param {HTMLElement|null} breadcrumb Source breadcrumb.
547
- * @param {string} className Class applied to the created control.
548
- * @param {object} options Behavior and accessibility settings for the control.
549
- * @param {boolean} options.actionable Whether clicks should forward to the source breadcrumb.
550
- * @param {boolean} options.ariaCurrent Whether the control marks the current page.
551
- * @param {string} options.ariaLabel Accessible name for action controls.
552
- * @param {string} options.icon Optional icon shown before the label.
553
- * @returns {HTMLElement}
554
- */
555
- createMobileBreadcrumbControl(breadcrumb, className, { actionable = false, ariaCurrent = false, ariaLabel, icon } = {}) {
556
- const label = this.getBreadcrumbLabel(breadcrumb);
557
- const control = document.createElement(actionable ? "button" : "span");
558
- control.classList.add(className);
559
- if (actionable) {
560
- control.setAttribute("type", "button");
561
- control.addEventListener("click", (e) => {
562
- var _a;
563
- e.preventDefault();
564
- e.stopPropagation();
565
- (_a = e.stopImmediatePropagation) == null ? void 0 : _a.call(e);
566
- this.forwardBreadcrumbClick(breadcrumb);
567
- });
568
- }
569
- if (ariaCurrent) control.setAttribute("aria-current", "page");
570
- if (ariaLabel && actionable) control.setAttribute("aria-label", ariaLabel);
571
- if (label) control.setAttribute("title", label);
572
- if (icon) {
573
- const iconElement = document.createElement("wje-icon");
574
- iconElement.setAttribute("name", icon);
575
- iconElement.classList.add("breadcrumb-mobile__icon");
576
- control.append(iconElement);
194
+ const e2 = this.createMobileDropdownTrigger({ icon: "chevron-down", iconPosition: "end", label: this.getBreadcrumbLabel(this.getCurrentBreadcrumb()), ariaLabel: "Show breadcrumb path", className: "breadcrumb-mobile--sheet" });
195
+ return this.createMobileDropdown(e2);
196
+ }
197
+ createMobileDropdown(e2) {
198
+ const t2 = this.createBreadcrumbDropdown({ breadcrumbs: this.getTrailBreadcrumbs(), trigger: e2, placement: "bottom-start" });
199
+ return t2.classList.add("breadcrumb-mobile-dropdown"), t2;
200
+ }
201
+ createMobileDropdownTrigger({ icon: e2, iconPosition: t2 = "start", label: r2, ariaLabel: a2, className: i2 }) {
202
+ const o = document.createElement("wje-button");
203
+ o.setAttribute("slot", "trigger"), o.setAttribute("fill", "link"), o.setAttribute("label", a2), o.classList.add("breadcrumb-mobile", "breadcrumb-mobile__menu", i2);
204
+ const n = document.createElement("wje-icon");
205
+ n.setAttribute("name", e2), n.setAttribute("slot", "end" === t2 ? "end" : "start"), n.classList.add("breadcrumb-mobile__icon");
206
+ const s = document.createElement("span");
207
+ return s.classList.add("breadcrumb-mobile__title"), s.setAttribute("aria-current", "page"), s.textContent = r2, r2 && s.setAttribute("title", r2), "end" === t2 ? o.append(s, n) : o.append(n, s), o;
208
+ }
209
+ createMobileContainer(e2) {
210
+ const t2 = document.createElement("div");
211
+ return t2.classList.add("breadcrumb-mobile", e2), t2;
212
+ }
213
+ createMobileBreadcrumbControl(e2, t2, { actionable: r2 = false, ariaCurrent: a2 = false, ariaLabel: i2, icon: o } = {}) {
214
+ const n = this.getBreadcrumbLabel(e2), s = document.createElement(r2 ? "button" : "span");
215
+ if (s.classList.add(t2), r2 && (s.setAttribute("type", "button"), s.addEventListener("click", (t3) => {
216
+ var _a;
217
+ t3.preventDefault(), t3.stopPropagation(), (_a = t3.stopImmediatePropagation) == null ? void 0 : _a.call(t3), this.forwardBreadcrumbClick(e2);
218
+ })), a2 && s.setAttribute("aria-current", "page"), i2 && r2 && s.setAttribute("aria-label", i2), n && s.setAttribute("title", n), o) {
219
+ const e3 = document.createElement("wje-icon");
220
+ e3.setAttribute("name", o), e3.classList.add("breadcrumb-mobile__icon"), s.append(e3);
577
221
  }
578
- const text = document.createElement("span");
579
- text.classList.add("breadcrumb-mobile__label");
580
- text.textContent = label;
581
- control.append(text);
582
- return control;
583
- }
584
- /**
585
- * Returns the full trail of sibling breadcrumbs.
586
- * @returns {Array<HTMLElement>}
587
- */
222
+ const l = document.createElement("span");
223
+ return l.classList.add("breadcrumb-mobile__label"), l.textContent = n, s.append(l), s;
224
+ }
588
225
  getTrailBreadcrumbs() {
589
226
  var _a, _b;
590
227
  return ((_b = (_a = this.getBreadcrumbs()) == null ? void 0 : _a.getBreadcrumbs) == null ? void 0 : _b.call(_a)) || [];
591
228
  }
592
- /**
593
- * Returns the current breadcrumb item.
594
- * @returns {HTMLElement|null}
595
- */
596
229
  getCurrentBreadcrumb() {
597
- const breadcrumbs = this.getTrailBreadcrumbs();
598
- return breadcrumbs[breadcrumbs.length - 1] || null;
230
+ const e2 = this.getTrailBreadcrumbs();
231
+ return e2[e2.length - 1] || null;
599
232
  }
600
- /**
601
- * Returns the parent breadcrumb item.
602
- * @returns {HTMLElement|null}
603
- */
604
233
  getParentBreadcrumb() {
605
- const breadcrumbs = this.getTrailBreadcrumbs();
606
- return breadcrumbs.length > 1 ? breadcrumbs[breadcrumbs.length - 2] : null;
607
- }
608
- /**
609
- * Returns whether a breadcrumb has a known action to forward.
610
- * @param {HTMLElement|null} breadcrumb Breadcrumb to inspect.
611
- * @returns {boolean}
612
- */
613
- isBreadcrumbActionable(breadcrumb) {
234
+ const e2 = this.getTrailBreadcrumbs();
235
+ return e2.length > 1 ? e2[e2.length - 2] : null;
236
+ }
237
+ isBreadcrumbActionable(e2) {
614
238
  var _a, _b, _c, _d;
615
- if (!breadcrumb || breadcrumb.disabled || ((_a = breadcrumb.hasAttribute) == null ? void 0 : _a.call(breadcrumb, "disabled"))) return false;
616
- return Boolean(
617
- ((_b = breadcrumb.hasAttribute) == null ? void 0 : _b.call(breadcrumb, "href")) || ((_c = breadcrumb.hasAttribute) == null ? void 0 : _c.call(breadcrumb, "onclick")) || breadcrumb.__wjeBreadcrumbManaged || ((_d = breadcrumb.hasAttribute) == null ? void 0 : _d.call(breadcrumb, "data-wje-breadcrumbs-item"))
618
- );
619
- }
620
- /**
621
- * Forwards a compact control or menu item click to the original breadcrumb.
622
- * @param {HTMLElement|null} breadcrumb Source breadcrumb.
623
- */
624
- forwardBreadcrumbClick(breadcrumb) {
239
+ return !(!e2 || e2.disabled || ((_a = e2.hasAttribute) == null ? void 0 : _a.call(e2, "disabled"))) && Boolean(((_b = e2.hasAttribute) == null ? void 0 : _b.call(e2, "href")) || ((_c = e2.hasAttribute) == null ? void 0 : _c.call(e2, "onclick")) || e2.__wjeBreadcrumbManaged || ((_d = e2.hasAttribute) == null ? void 0 : _d.call(e2, "data-wje-breadcrumbs-item")));
240
+ }
241
+ forwardBreadcrumbClick(e2) {
625
242
  var _a;
626
- if (!breadcrumb) return;
627
- const native = breadcrumb.native || ((_a = breadcrumb.context) == null ? void 0 : _a.querySelector("a.native-breadcrumb"));
628
- if (native && typeof native.click === "function") {
629
- native.click();
630
- } else if (typeof breadcrumb.click === "function") {
631
- breadcrumb.click();
632
- } else {
633
- breadcrumb.dispatchEvent(
634
- new MouseEvent("click", {
635
- bubbles: true,
636
- composed: true,
637
- cancelable: true
638
- })
639
- );
640
- }
243
+ if (!e2) return;
244
+ const t2 = e2.native || ((_a = e2.context) == null ? void 0 : _a.querySelector("a.native-breadcrumb"));
245
+ t2 && "function" == typeof t2.click ? t2.click() : "function" == typeof e2.click ? e2.click() : e2.dispatchEvent(new MouseEvent("click", { bubbles: true, composed: true, cancelable: true }));
641
246
  }
642
- /**
643
- * Creates the dropdown trigger for collapsed breadcrumbs.
644
- * @param {boolean} isBreakpointMenuIndicator Whether this trigger controls the full breakpoint menu.
645
- * @returns {HTMLElement}
646
- */
647
- createCollapsedDropdownTrigger(isBreakpointMenuIndicator) {
247
+ createCollapsedDropdownTrigger(e2) {
648
248
  var _a, _b;
649
- if (isBreakpointMenuIndicator) {
650
- const customTrigger = (_b = (_a = this.getBreadcrumbs()) == null ? void 0 : _a.getBreakpointCollapseTrigger) == null ? void 0 : _b.call(_a);
651
- if (customTrigger) {
652
- const trigger = customTrigger.cloneNode(true);
653
- trigger.setAttribute("slot", "trigger");
654
- if (trigger.localName === "wje-button") {
655
- if (!trigger.hasAttribute("label") && !trigger.hasAttribute("aria-label")) {
656
- trigger.setAttribute("label", "Show breadcrumb menu");
657
- }
658
- } else if (!trigger.hasAttribute("aria-label")) {
659
- trigger.setAttribute("aria-label", "Show breadcrumb menu");
660
- }
661
- return trigger;
249
+ if (e2) {
250
+ const e3 = (_b = (_a = this.getBreadcrumbs()) == null ? void 0 : _a.getBreakpointCollapseTrigger) == null ? void 0 : _b.call(_a);
251
+ if (e3) {
252
+ const t3 = e3.cloneNode(true);
253
+ return t3.setAttribute("slot", "trigger"), "wje-button" === t3.localName ? t3.hasAttribute("label") || t3.hasAttribute("aria-label") || t3.setAttribute("label", "Show breadcrumb menu") : t3.hasAttribute("aria-label") || t3.setAttribute("aria-label", "Show breadcrumb menu"), t3;
662
254
  }
663
255
  }
664
- let button = document.createElement("wje-button");
665
- button.setAttribute("slot", "trigger");
666
- button.setAttribute("fill", "link");
667
- button.setAttribute("label", "Show more breadcrumbs");
668
- button.innerHTML = `<wje-icon name="${this.getCollapsedDropdownIcon(isBreakpointMenuIndicator)}"></wje-icon>`;
669
- return button;
670
- }
671
- /**
672
- * Resolves the icon used by the default dropdown trigger.
673
- * @param {boolean} isBreakpointMenuIndicator Whether this trigger controls the full breakpoint menu.
674
- * @returns {string}
675
- */
676
- getCollapsedDropdownIcon(isBreakpointMenuIndicator) {
256
+ let t2 = document.createElement("wje-button");
257
+ return t2.setAttribute("slot", "trigger"), t2.setAttribute("fill", "link"), t2.setAttribute("label", "Show more breadcrumbs"), t2.innerHTML = `<wje-icon name="${this.getCollapsedDropdownIcon(e2)}"></wje-icon>`, t2;
258
+ }
259
+ getCollapsedDropdownIcon(e2) {
677
260
  var _a;
678
- if (!isBreakpointMenuIndicator) return "dots";
679
- return ((_a = this.getBreadcrumbs()) == null ? void 0 : _a.breakpointCollapseIcon) || "menu";
680
- }
681
- /**
682
- * Copies breadcrumb content into a collapsed menu item.
683
- * @param {HTMLElement} menuItem Menu item receiving the content.
684
- * @param {HTMLElement} breadcrumb Source breadcrumb.
685
- */
686
- populateCollapsedMenuItem(menuItem, breadcrumb) {
687
- const nodes = Array.from(breadcrumb.childNodes).map((node) => node.cloneNode(true));
688
- menuItem.replaceChildren(...nodes);
689
- if (menuItem.textContent.trim()) return;
690
- const label = this.getBreadcrumbLabel(breadcrumb);
691
- if (label) {
692
- menuItem.append(document.createTextNode(label));
693
- }
261
+ return e2 ? ((_a = this.getBreadcrumbs()) == null ? void 0 : _a.breakpointCollapseIcon) || "menu" : "dots";
694
262
  }
695
- /**
696
- * Resolves a readable label for a breadcrumb item.
697
- * @param {HTMLElement|null} breadcrumb Source breadcrumb.
698
- * @returns {string}
699
- */
700
- getBreadcrumbLabel(breadcrumb) {
701
- if (!breadcrumb) return "";
702
- return this.getCollapsedMenuItemLabel(breadcrumb);
703
- }
704
- /**
705
- * Resolves a readable label for icon-only collapsed menu items.
706
- * @param {HTMLElement} breadcrumb Source breadcrumb.
707
- * @returns {string}
708
- */
709
- getCollapsedMenuItemLabel(breadcrumb) {
263
+ populateCollapsedMenuItem(e2, t2) {
264
+ const r2 = Array.from(t2.childNodes).map((e3) => e3.cloneNode(true));
265
+ if (e2.replaceChildren(...r2), e2.textContent.trim()) return;
266
+ const a2 = this.getBreadcrumbLabel(t2);
267
+ a2 && e2.append(document.createTextNode(a2));
268
+ }
269
+ getBreadcrumbLabel(e2) {
270
+ return e2 ? this.getCollapsedMenuItemLabel(e2) : "";
271
+ }
272
+ getCollapsedMenuItemLabel(e2) {
710
273
  var _a;
711
- const explicitLabel = breadcrumb.getAttribute("aria-label") || breadcrumb.getAttribute("title");
712
- if (explicitLabel == null ? void 0 : explicitLabel.trim()) return explicitLabel.trim();
713
- const text = breadcrumb.textContent.trim();
714
- if (text) return text;
715
- const iconName = (_a = breadcrumb.querySelector('wje-icon[slot="start"]')) == null ? void 0 : _a.getAttribute("name");
716
- if (iconName === "home") return "Home";
717
- const href = breadcrumb.getAttribute("href");
718
- const path = (href == null ? void 0 : href.split(/[?#]/)[0]) || "";
719
- const segment = path.split("/").filter(Boolean).pop();
720
- return segment ? this.humanizeCollapsedMenuItemLabel(segment) : "";
721
- }
722
- /**
723
- * Turns a URL segment into a readable menu label.
724
- * @param {string} value URL segment.
725
- * @returns {string}
726
- */
727
- humanizeCollapsedMenuItemLabel(value) {
728
- return decodeURIComponent(value).replace(/[-_]+/g, " ").replace(/\b\w/g, (letter) => letter.toUpperCase());
729
- }
730
- /**
731
- * Returns whether this collapsed indicator represents the full breakpoint menu.
732
- * @returns {boolean}
733
- */
274
+ const t2 = e2.getAttribute("aria-label") || e2.getAttribute("title");
275
+ if (t2 == null ? void 0 : t2.trim()) return t2.trim();
276
+ const r2 = e2.textContent.trim();
277
+ if (r2) return r2;
278
+ const a2 = (_a = e2.querySelector('wje-icon[slot="start"]')) == null ? void 0 : _a.getAttribute("name");
279
+ if ("home" === a2) return "Home";
280
+ const i2 = e2.getAttribute("href"), o = ((i2 == null ? void 0 : i2.split(/[?#]/)[0]) || "").split("/").filter(Boolean).pop();
281
+ return o ? this.humanizeCollapsedMenuItemLabel(o) : "";
282
+ }
283
+ humanizeCollapsedMenuItemLabel(e2) {
284
+ return decodeURIComponent(e2).replace(/[-_]+/g, " ").replace(/\b\w/g, (e3) => e3.toUpperCase());
285
+ }
734
286
  isBreakpointMenuIndicator() {
735
287
  var _a;
736
- const breadcrumbs = this.parentElement;
737
- return this.hasAttribute("show-collapsed-indicator") && this.hasAttribute("collapsed") && ((_a = breadcrumbs == null ? void 0 : breadcrumbs.isBreakpointMenuCollapseActive) == null ? void 0 : _a.call(breadcrumbs));
738
- }
739
- /**
740
- * Creates a button element that expands hidden breadcrumbs when clicked.
741
- * The button is set with appropriate attributes and event listeners to handle
742
- * the expanding of hidden breadcrumb elements. Clicking the button will remove
743
- * the button itself, reveal hidden breadcrumbs, and stop the current event
744
- * propagation.
745
- * @returns {HTMLButtonElement} The created button configured to expand breadcrumbs.
746
- */
288
+ const e2 = this.parentElement;
289
+ return this.hasAttribute("show-collapsed-indicator") && this.hasAttribute("collapsed") && ((_a = e2 == null ? void 0 : e2.isBreakpointMenuCollapseActive) == null ? void 0 : _a.call(e2));
290
+ }
747
291
  collapseButton() {
748
- let button = document.createElement("button");
749
- button.setAttribute("aria-label", "Show more breadcrumbs");
750
- button.setAttribute("part", "collapsed-indicator");
751
- button.innerHTML = `<wje-icon name="dots"></wje-icon>`;
752
- event.addListener(button, "click", null, (e) => {
753
- this.native.classList.remove("hidden");
754
- button.remove();
755
- this.getBreadcrumbs().getBreadcrumbsCollapsed().forEach((el) => {
756
- el.classList.remove("collapsed");
757
- });
758
- e.stopPropagation();
759
- });
760
- return button;
761
- }
762
- /**
763
- * Retrieves the breadcrumb trail for the current element by returning its parent element.
764
- * @returns {Element} The parent element representing the breadcrumb trail.
765
- */
292
+ let e2 = document.createElement("button");
293
+ return e2.setAttribute("aria-label", "Show more breadcrumbs"), e2.setAttribute("part", "collapsed-indicator"), e2.innerHTML = '<wje-icon name="dots"></wje-icon>', r.addListener(e2, "click", null, (t2) => {
294
+ this.native.classList.remove("hidden"), e2.remove(), this.getBreadcrumbs().getBreadcrumbsCollapsed().forEach((e3) => {
295
+ e3.classList.remove("collapsed");
296
+ }), t2.stopPropagation();
297
+ }), e2;
298
+ }
766
299
  getBreadcrumbs() {
767
300
  return this.parentElement;
768
301
  }
769
302
  }
770
- Breadcrumb.define("wje-breadcrumb", Breadcrumb);
303
+ i.define("wje-breadcrumb", i);
771
304
  export {
772
- Breadcrumb as default
305
+ i as default
773
306
  };
774
307
  //# sourceMappingURL=wje-breadcrumb.js.map