@dnncommunity/dnn-elements 0.14.0-beta.5 → 0.14.0-beta.9

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 (144) hide show
  1. package/dist/cjs/dnn-button.cjs.entry.js +1 -1
  2. package/dist/cjs/dnn-button_16.cjs.entry.js +34 -75
  3. package/dist/cjs/dnn-button_16.cjs.entry.js.map +1 -1
  4. package/dist/cjs/dnn-checkbox.cjs.entry.js +1 -1
  5. package/dist/cjs/dnn-chevron.cjs.entry.js +1 -1
  6. package/dist/cjs/dnn-collapsible.cjs.entry.js +22 -73
  7. package/dist/cjs/dnn-collapsible.cjs.entry.js.map +1 -1
  8. package/dist/cjs/dnn-color-picker.cjs.entry.js +1 -1
  9. package/dist/cjs/dnn-dropzone.cjs.entry.js +1 -1
  10. package/dist/cjs/dnn-image-cropper.cjs.entry.js +1 -1
  11. package/dist/cjs/dnn-modal.cjs.entry.js +1 -1
  12. package/dist/cjs/dnn-searchbox.cjs.entry.js +1 -1
  13. package/dist/cjs/dnn-sort-icon.cjs.entry.js +1 -1
  14. package/dist/cjs/dnn-tab.cjs.entry.js +1 -1
  15. package/dist/cjs/dnn-tabs.cjs.entry.js +1 -1
  16. package/dist/cjs/dnn-toggle.cjs.entry.js +1 -1
  17. package/dist/cjs/dnn-treeview-item.cjs.entry.js +6 -2
  18. package/dist/cjs/dnn-treeview-item.cjs.entry.js.map +1 -1
  19. package/dist/cjs/dnn-vertical-overflow-menu.cjs.entry.js +1 -1
  20. package/dist/cjs/dnn-vertical-splitview.cjs.entry.js +8 -3
  21. package/dist/cjs/dnn-vertical-splitview.cjs.entry.js.map +1 -1
  22. package/dist/cjs/dnn.cjs.js +2 -2
  23. package/dist/cjs/{index-6a6ac523.js → index-7505bd72.js} +1 -5
  24. package/dist/cjs/index-7505bd72.js.map +1 -0
  25. package/dist/cjs/{index-ba8b86b1.js → index-aff4d89a.js} +2 -2
  26. package/dist/cjs/index-aff4d89a.js.map +1 -0
  27. package/dist/cjs/loader.cjs.js +2 -2
  28. package/dist/collection/components/dnn-collapsible/dnn-collapsible.css +4 -3
  29. package/dist/collection/components/dnn-collapsible/dnn-collapsible.js +22 -72
  30. package/dist/collection/components/dnn-collapsible/dnn-collapsible.js.map +1 -1
  31. package/dist/collection/components/dnn-treeview-item/dnn-treeview-item.css +2 -2
  32. package/dist/collection/components/dnn-treeview-item/dnn-treeview-item.js +34 -1
  33. package/dist/collection/components/dnn-treeview-item/dnn-treeview-item.js.map +1 -1
  34. package/dist/collection/components/dnn-vertical-splitview/dnn-vertical-splitview.css +7 -1
  35. package/dist/collection/components/dnn-vertical-splitview/dnn-vertical-splitview.js +6 -1
  36. package/dist/collection/components/dnn-vertical-splitview/dnn-vertical-splitview.js.map +1 -1
  37. package/dist/dnn/dnn-button.entry.js +1 -1
  38. package/dist/dnn/dnn-button.system.entry.js +1 -1
  39. package/dist/dnn/dnn-checkbox.entry.js +1 -1
  40. package/dist/dnn/dnn-checkbox.system.entry.js +1 -1
  41. package/dist/dnn/dnn-chevron.entry.js +1 -1
  42. package/dist/dnn/dnn-chevron.system.entry.js +1 -1
  43. package/dist/dnn/dnn-collapsible.entry.js +22 -73
  44. package/dist/dnn/dnn-collapsible.entry.js.map +1 -1
  45. package/dist/dnn/dnn-collapsible.system.entry.js +1 -1
  46. package/dist/dnn/dnn-collapsible.system.entry.js.map +1 -1
  47. package/dist/dnn/dnn-color-picker.entry.js +1 -1
  48. package/dist/dnn/dnn-color-picker.system.entry.js +1 -1
  49. package/dist/dnn/dnn-dropzone.entry.js +1 -1
  50. package/dist/dnn/dnn-dropzone.system.entry.js +1 -1
  51. package/dist/dnn/dnn-image-cropper.entry.js +1 -1
  52. package/dist/dnn/dnn-image-cropper.system.entry.js +1 -1
  53. package/dist/dnn/dnn-modal.entry.js +1 -1
  54. package/dist/dnn/dnn-modal.system.entry.js +1 -1
  55. package/dist/dnn/dnn-searchbox.entry.js +1 -1
  56. package/dist/dnn/dnn-searchbox.system.entry.js +1 -1
  57. package/dist/dnn/dnn-sort-icon.entry.js +1 -1
  58. package/dist/dnn/dnn-sort-icon.system.entry.js +1 -1
  59. package/dist/dnn/dnn-tab.entry.js +1 -1
  60. package/dist/dnn/dnn-tab.system.entry.js +1 -1
  61. package/dist/dnn/dnn-tabs.entry.js +1 -1
  62. package/dist/dnn/dnn-tabs.system.entry.js +1 -1
  63. package/dist/dnn/dnn-toggle.entry.js +1 -1
  64. package/dist/dnn/dnn-toggle.system.entry.js +1 -1
  65. package/dist/dnn/dnn-treeview-item.entry.js +6 -2
  66. package/dist/dnn/dnn-treeview-item.entry.js.map +1 -1
  67. package/dist/dnn/dnn-treeview-item.system.entry.js +1 -1
  68. package/dist/dnn/dnn-treeview-item.system.entry.js.map +1 -1
  69. package/dist/dnn/dnn-vertical-overflow-menu.entry.js +1 -1
  70. package/dist/dnn/dnn-vertical-overflow-menu.system.entry.js +1 -1
  71. package/dist/dnn/dnn-vertical-splitview.entry.js +8 -3
  72. package/dist/dnn/dnn-vertical-splitview.entry.js.map +1 -1
  73. package/dist/dnn/dnn-vertical-splitview.system.entry.js +1 -1
  74. package/dist/dnn/dnn-vertical-splitview.system.entry.js.map +1 -1
  75. package/dist/dnn/dnn.esm.js +2 -2
  76. package/dist/dnn/dnn.system.js +1 -1
  77. package/dist/dnn/dnn.system.js.map +1 -1
  78. package/dist/dnn/index-a3a55419.system.js +2 -0
  79. package/dist/dnn/index-a3a55419.system.js.map +1 -0
  80. package/dist/dnn/{index-3e56049b.js → index-b5a28c1d.js} +2 -2
  81. package/dist/dnn/index-b5a28c1d.js.map +1 -0
  82. package/dist/dnn/{p-142c6f85.system.js → p-058ba146.system.js} +2 -2
  83. package/dist/dnn/p-058ba146.system.js.map +1 -0
  84. package/dist/dnn/{p-d10994a3.js → p-45ce2139.js} +2 -2
  85. package/dist/dnn/p-45ce2139.js.map +1 -0
  86. package/dist/dnn/{p-a8e7290b.entry.js → p-f4e6790b.entry.js} +4 -4
  87. package/dist/dnn/p-f4e6790b.entry.js.map +1 -0
  88. package/dist/dnn/{p-3fbd1ad6.system.js → p-f91193e2.system.js} +2 -2
  89. package/dist/dnn/p-f91193e2.system.js.map +1 -0
  90. package/dist/dnn/{p-38b03e27.system.entry.js → p-fd82122b.system.entry.js} +4 -4
  91. package/dist/dnn/p-fd82122b.system.entry.js.map +1 -0
  92. package/dist/esm/dnn-button.entry.js +1 -1
  93. package/dist/esm/dnn-button_16.entry.js +34 -75
  94. package/dist/esm/dnn-button_16.entry.js.map +1 -1
  95. package/dist/esm/dnn-checkbox.entry.js +1 -1
  96. package/dist/esm/dnn-chevron.entry.js +1 -1
  97. package/dist/esm/dnn-collapsible.entry.js +22 -73
  98. package/dist/esm/dnn-collapsible.entry.js.map +1 -1
  99. package/dist/esm/dnn-color-picker.entry.js +1 -1
  100. package/dist/esm/dnn-dropzone.entry.js +1 -1
  101. package/dist/esm/dnn-image-cropper.entry.js +1 -1
  102. package/dist/esm/dnn-modal.entry.js +1 -1
  103. package/dist/esm/dnn-searchbox.entry.js +1 -1
  104. package/dist/esm/dnn-sort-icon.entry.js +1 -1
  105. package/dist/esm/dnn-tab.entry.js +1 -1
  106. package/dist/esm/dnn-tabs.entry.js +1 -1
  107. package/dist/esm/dnn-toggle.entry.js +1 -1
  108. package/dist/esm/dnn-treeview-item.entry.js +6 -2
  109. package/dist/esm/dnn-treeview-item.entry.js.map +1 -1
  110. package/dist/esm/dnn-vertical-overflow-menu.entry.js +1 -1
  111. package/dist/esm/dnn-vertical-splitview.entry.js +8 -3
  112. package/dist/esm/dnn-vertical-splitview.entry.js.map +1 -1
  113. package/dist/esm/dnn.js +2 -2
  114. package/dist/esm/{index-3e56049b.js → index-b5a28c1d.js} +2 -2
  115. package/dist/esm/index-b5a28c1d.js.map +1 -0
  116. package/dist/esm/{index-212d30ec.js → index-cdbad319.js} +1 -5
  117. package/dist/esm/index-cdbad319.js.map +1 -0
  118. package/dist/esm/loader.js +2 -2
  119. package/dist/esm-es5/dnn-button_16.entry.js +2 -2
  120. package/dist/esm-es5/dnn-button_16.entry.js.map +1 -1
  121. package/dist/esm-es5/dnn.js +1 -1
  122. package/dist/esm-es5/dnn.js.map +1 -1
  123. package/dist/esm-es5/{index-212d30ec.js → index-cdbad319.js} +2 -2
  124. package/dist/esm-es5/index-cdbad319.js.map +1 -0
  125. package/dist/esm-es5/loader.js +1 -1
  126. package/dist/esm-es5/loader.js.map +1 -1
  127. package/dist/types/components/dnn-collapsible/dnn-collapsible.d.ts +7 -11
  128. package/dist/types/components/dnn-treeview-item/dnn-treeview-item.d.ts +5 -0
  129. package/dist/types/components/dnn-vertical-splitview/dnn-vertical-splitview.d.ts +1 -0
  130. package/dist/types/components.d.ts +8 -0
  131. package/package.json +1 -1
  132. package/dist/cjs/index-6a6ac523.js.map +0 -1
  133. package/dist/cjs/index-ba8b86b1.js.map +0 -1
  134. package/dist/dnn/index-3e56049b.js.map +0 -1
  135. package/dist/dnn/index-5c2c8f16.system.js +0 -2
  136. package/dist/dnn/index-5c2c8f16.system.js.map +0 -1
  137. package/dist/dnn/p-142c6f85.system.js.map +0 -1
  138. package/dist/dnn/p-38b03e27.system.entry.js.map +0 -1
  139. package/dist/dnn/p-3fbd1ad6.system.js.map +0 -1
  140. package/dist/dnn/p-a8e7290b.entry.js.map +0 -1
  141. package/dist/dnn/p-d10994a3.js.map +0 -1
  142. package/dist/esm/index-212d30ec.js.map +0 -1
  143. package/dist/esm/index-3e56049b.js.map +0 -1
  144. package/dist/esm-es5/index-212d30ec.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-ba8b86b1.js');
5
+ const index = require('./index-aff4d89a.js');
6
6
 
7
7
  const dnnButtonCss = ":host{--background-color:transparent;--color:#333;--border-size:1px;--border-color:var(--backround-color);--border-radius:var(--dnn-controls-radius, 5px);--padding:var(--dnn-controls-padding, 5px);display:inline-block;width:auto}:host(.disabled){pointer-events:none}:host(.primary){--background-color:var(--dnn-color-primary, blue);--color:var(--dnn-color-primary-contrast, white);--focus-color:var(--background-color)}:host(.primary.reversed){--background-color:var(--dnn-color-primary-contrast, white);--color:var(--dnn-color-primary, blue);--border-color:var(--dnn-color-primary, blue);--focus-color:var(--color)}:host(.secondary){--background-color:var(--dnn-color-secondary, green);--color:var(--dnn-color-secondary-contrast, white);--focus-color:var(--background-color)}:host(.secondary.reversed){--background-color:var(--dnn-color-secondary-contrast, white);--color:var(--dnn-color-secondary, blue);--border-color:var(--dnn-color-secondary, blue);--focus-color:var(--color)}:host(.tertiary){--background-color:var(--dnn-color-tertiary, yellow);--color:var(--dnn-color-tertiary-contrast, black);--focus-color:var(--background-color)}:host(.tertiary.reversed){--background-color:var(--dnn-color-tertiary-contrast, white);--color:var(--dnn-color-tertiary, blue);--border-color:var(--dnn-color-tertiary, blue);--focus-color:var(--color)}:host(.hydrated) button{border:var(--border-size) solid var(--border-color);border-radius:var(--border-radius);padding:var(--padding) calc(var(--padding) * 2);background-color:transparent;background-color:var(--background-color);color:var(--color);outline:none}:host(.hydrated) button:focus,:host(.hydrated) button:hover{-webkit-box-shadow:0 0 2px 2px var(--focus-color);box-shadow:0 0 2px 2px var(--focus-color)}:host(:disabled,[disabled]) button{pointer-events:none;opacity:0.5}:host(.small) button{padding:calc(var(--padding) / 2) var(--padding);font-size:0.7em}:host(.large) button{padding:calc(var(--padding) * 1.5) calc(var(--padding) * 3);font-size:1.2em}button{height:100%;width:100%;cursor:pointer}";
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-6a6ac523.js');
5
+ const index = require('./index-7505bd72.js');
6
6
  const debounce = require('./debounce-1de79bc7.js');
7
7
 
8
8
  const dnnButtonCss = ":host{--background-color:transparent;--color:#333;--border-size:1px;--border-color:var(--backround-color);--border-radius:var(--dnn-controls-radius, 5px);--padding:var(--dnn-controls-padding, 5px);display:inline-block;width:auto}:host(.disabled){pointer-events:none}:host(.primary){--background-color:var(--dnn-color-primary, blue);--color:var(--dnn-color-primary-contrast, white);--focus-color:var(--background-color)}:host(.primary.reversed){--background-color:var(--dnn-color-primary-contrast, white);--color:var(--dnn-color-primary, blue);--border-color:var(--dnn-color-primary, blue);--focus-color:var(--color)}:host(.secondary){--background-color:var(--dnn-color-secondary, green);--color:var(--dnn-color-secondary-contrast, white);--focus-color:var(--background-color)}:host(.secondary.reversed){--background-color:var(--dnn-color-secondary-contrast, white);--color:var(--dnn-color-secondary, blue);--border-color:var(--dnn-color-secondary, blue);--focus-color:var(--color)}:host(.tertiary){--background-color:var(--dnn-color-tertiary, yellow);--color:var(--dnn-color-tertiary-contrast, black);--focus-color:var(--background-color)}:host(.tertiary.reversed){--background-color:var(--dnn-color-tertiary-contrast, white);--color:var(--dnn-color-tertiary, blue);--border-color:var(--dnn-color-tertiary, blue);--focus-color:var(--color)}:host(.hydrated) button{border:var(--border-size) solid var(--border-color);border-radius:var(--border-radius);padding:var(--padding) calc(var(--padding) * 2);background-color:transparent;background-color:var(--background-color);color:var(--color);outline:none}:host(.hydrated) button:focus,:host(.hydrated) button:hover{-webkit-box-shadow:0 0 2px 2px var(--focus-color);box-shadow:0 0 2px 2px var(--focus-color)}:host(:disabled,[disabled]) button{pointer-events:none;opacity:0.5}:host(.small) button{padding:calc(var(--padding) / 2) var(--padding);font-size:0.7em}:host(.large) button{padding:calc(var(--padding) * 1.5) calc(var(--padding) * 3);font-size:1.2em}button{height:100%;width:100%;cursor:pointer}";
@@ -158,18 +158,8 @@ let DnnChevron = class {
158
158
  };
159
159
  DnnChevron.style = dnnChevronCss;
160
160
 
161
- const dnnCollapsibleCss = ":host{display:block}:host #container{height:0;overflow:hidden;-webkit-transition:height 300ms ease-in-out;transition:height 300ms ease-in-out}";
161
+ const dnnCollapsibleCss = ":host{display:block}#container{max-height:0;overflow:hidden;-webkit-transition:max-height 300ms ease-in-out;transition:max-height 300ms ease-in-out}";
162
162
 
163
- var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
164
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
165
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
166
- r = Reflect.decorate(decorators, target, key, desc);
167
- else
168
- for (var i = decorators.length - 1; i >= 0; i--)
169
- if (d = decorators[i])
170
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
171
- return c > 3 && r && Object.defineProperty(target, key, r), r;
172
- };
173
163
  let DnnCollapsible = class {
174
164
  constructor(hostRef) {
175
165
  index.registerInstance(this, hostRef);
@@ -178,86 +168,46 @@ let DnnCollapsible = class {
178
168
  this.expanded = false;
179
169
  /** Defines the transition time in ms, defaults to 100ms */
180
170
  this.transitionDuration = 150;
181
- this.animating = false;
182
171
  }
183
- handleExpandedChanged(newValue) {
184
- this.animating = true;
172
+ handleHeightChanged() {
185
173
  requestAnimationFrame(() => {
186
- const container = this.el.shadowRoot.querySelector("#container");
187
- if (newValue) {
188
- container.style.height = container.scrollHeight + "px";
189
- }
190
- else {
191
- container.style.height = "0px";
192
- }
193
- });
194
- requestAnimationFrame(() => {
195
- this.animating = false;
196
- this.dnnCollapsibleHeightChanged.emit();
174
+ this.updateSize();
197
175
  });
198
176
  }
199
- /** Updates the component height, use to update after a slot content changes. */
177
+ /**
178
+ * Updates the component height, use to update after a slot content changes.
179
+ */
200
180
  async updateSize() {
201
- this.updateComponentSize();
202
- }
203
- updateComponentSize() {
204
181
  if (this.expanded) {
205
- this.animating = true;
206
182
  requestAnimationFrame(() => {
207
- const container = this.el.shadowRoot.querySelector("#container");
208
- let newHeight = 0;
209
- container.querySelector('slot').assignedElements().forEach(node => {
210
- newHeight += node.scrollHeight;
211
- });
212
- container.style.height = newHeight + "px";
183
+ this.container.style.maxHeight = `${this.container.scrollHeight}px`;
213
184
  });
185
+ setTimeout(() => {
186
+ this.container.style.maxHeight = "none";
187
+ }, this.transitionDuration);
214
188
  }
215
189
  }
216
- handleOtherCollapsibleHeightChanged() {
190
+ handledExpandedChanged(expanded) {
191
+ if (expanded) {
192
+ this.updateSize();
193
+ }
194
+ else {
195
+ this.container.style.maxHeight = "0px";
196
+ }
217
197
  setTimeout(() => {
218
- this.updateComponentSize();
219
- }, this.transitionDuration);
220
- }
221
- handleMutation(mutationList) {
222
- mutationList.forEach(mutation => {
223
198
  requestAnimationFrame(() => {
224
- mutation.target.closest('dnn-collapsible').updateSize();
199
+ this.dnnCollapsibleHeightChanged.emit();
225
200
  });
226
- });
227
- }
228
- componentWillLoad() {
229
- this.mutationObserver = new MutationObserver((mutationList) => {
230
- this.handleMutation(mutationList);
231
- });
232
- }
233
- componentDidLoad() {
234
- const container = this.el.shadowRoot.querySelector('#container');
235
- container.style.transitionDuration = this.transitionDuration + 'ms';
236
- // Monitor for content changes and update own height
237
- const childNodes = [this.el];
238
- childNodes.forEach(element => {
239
- this.mutationObserver.observe(element, { attributes: true, characterData: true, childList: true, subtree: true });
240
- });
241
- const slot = this.el.shadowRoot.querySelector('slot');
242
- slot.addEventListener("slotchange", () => {
243
- this.updateSize();
244
- });
245
- }
246
- disconnectedCallback() {
247
- this.mutationObserver.disconnect();
201
+ }, this.transitionDuration);
248
202
  }
249
- /*eslint-enable @stencil/own-methods-must-be-private */
250
203
  render() {
251
- return (index.h(index.Host, null, index.h("div", { id: "container" }, index.h("slot", null))));
204
+ return (index.h(index.Host, null, index.h("div", { id: "container", class: this.expanded && "expanded", ref: el => this.container = el }, index.h("slot", null))));
252
205
  }
253
206
  get el() { return index.getElement(this); }
254
207
  static get watchers() { return {
255
- "expanded": ["handleExpandedChanged"]
208
+ "expanded": ["handledExpandedChanged"]
256
209
  }; }
257
210
  };
258
- __decorate$2([
259
- debounce.Debounce()
260
- ], DnnCollapsible.prototype, "updateSize", null);
261
211
  DnnCollapsible.style = dnnCollapsibleCss;
262
212
 
263
213
  /** Color utility class with hsl and rgb converters
@@ -1528,11 +1478,13 @@ let DnnToggle = class {
1528
1478
  };
1529
1479
  DnnToggle.style = dnnToggleCss;
1530
1480
 
1531
- const dnnTreeviewItemCss = ":host{display:-ms-flexbox;display:flex;overflow:hidden}.expander{width:24px;height:24px}.expander button{-webkit-transition:all 150ms ease-in-out;transition:all 150ms ease-in-out;background-color:transparent;border:none;padding:0;margin:0;outline:none;height:1em;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;cursor:pointer;position:relative;top:2px}.expander button svg :first-child{-webkit-transition:all 150ms ease-in-out;transition:all 150ms ease-in-out;fill:white;stroke:black}.expander.expanded button{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.expander.expanded button svg :first-child{fill:black;stroke:black}div.item .item-slot{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.25em}div.item div.children{overflow:hidden;height:0;-webkit-transition:all 150ms ease-in-out;transition:all 150ms ease-in-out}";
1481
+ const dnnTreeviewItemCss = ":host{display:-ms-flexbox;display:flex;overflow:visible}.expander{width:24px;height:24px}.expander button{-webkit-transition:all 150ms ease-in-out;transition:all 150ms ease-in-out;background-color:transparent;border:none;padding:0;margin:0;height:1em;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;cursor:pointer;position:relative;top:2px}.expander button svg :first-child{-webkit-transition:all 150ms ease-in-out;transition:all 150ms ease-in-out;fill:white;stroke:black}.expander.expanded button{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.expander.expanded button svg :first-child{fill:black;stroke:black}div.item .item-slot{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.25em;min-height:24px}div.item div.children{overflow:hidden;height:0;-webkit-transition:all 150ms ease-in-out;transition:all 150ms ease-in-out}";
1532
1482
 
1533
1483
  let DnnTreeviewItem = class {
1534
1484
  constructor(hostRef) {
1535
1485
  index.registerInstance(this, hostRef);
1486
+ this.userExpanded = index.createEvent(this, "userExpanded", 3);
1487
+ this.userCollapsed = index.createEvent(this, "userCollapsed", 3);
1536
1488
  /** Defines if the current node is expanded */
1537
1489
  this.expanded = false;
1538
1490
  this.hasChildren = false;
@@ -1557,9 +1509,11 @@ let DnnTreeviewItem = class {
1557
1509
  this.expanded = !this.expanded;
1558
1510
  if (this.expanded) {
1559
1511
  this.expander.classList.add("expanded");
1512
+ this.userExpanded.emit();
1560
1513
  return;
1561
1514
  }
1562
1515
  this.expander.classList.remove("expanded");
1516
+ this.userCollapsed.emit();
1563
1517
  }
1564
1518
  render() {
1565
1519
  return (index.h(index.Host, null, index.h("div", { class: "expander", ref: el => this.expander = el }, this.hasChildren &&
@@ -1682,7 +1636,7 @@ let DnnVerticalOverflowMenu = class {
1682
1636
  };
1683
1637
  DnnVerticalOverflowMenu.style = dnnVerticalOverflowMenuCss;
1684
1638
 
1685
- const dnnVerticalSplitviewCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-align:stretch;align-items:stretch;margin:0 auto;--left-pane-background-color:transparent;--right-pane-background-color:transparent}button{background-color:var(--right-pane-background-color);border:none;margin:0;padding:0;cursor:ew-resize}.pane{overflow-y:auto}.pane.transition{-webkit-transition:all 300ms ease-in-out;transition:all 300ms ease-in-out}.pane.left{background-color:var(--left-pane-background-color)}.pane.right{background-color:var(--right-pane-background-color);-ms-flex-positive:1;flex-grow:1}";
1639
+ const dnnVerticalSplitviewCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-align:stretch;align-items:stretch;margin:0 auto;position:relative;--left-pane-background-color:transparent;--right-pane-background-color:transparent}button{border:none;margin:0;padding:0;cursor:ew-resize;position:absolute;height:100%;background-color:transparent}button.transition{-webkit-transition:all 300ms ease-in-out;transition:all 300ms ease-in-out}.pane{overflow-y:auto}.pane.transition{-webkit-transition:all 300ms ease-in-out;transition:all 300ms ease-in-out}.pane.left{background-color:var(--left-pane-background-color)}.pane.right{background-color:var(--right-pane-background-color);-ms-flex-positive:1;flex-grow:1}";
1686
1640
 
1687
1641
  let DnnVerticalSplitview = class {
1688
1642
  constructor(hostRef) {
@@ -1700,6 +1654,7 @@ let DnnVerticalSplitview = class {
1700
1654
  const panes = this.element.shadowRoot.querySelectorAll(".pane");
1701
1655
  requestAnimationFrame(() => {
1702
1656
  panes.forEach(pane => pane.classList.add("transition"));
1657
+ this.splitter.classList.add("transition");
1703
1658
  requestAnimationFrame(() => {
1704
1659
  const fullWidth = this.element.getBoundingClientRect().width;
1705
1660
  let newLeft = fullWidth * newWidth / 100;
@@ -1713,6 +1668,7 @@ let DnnVerticalSplitview = class {
1713
1668
  this.rightWidth = fullWidth - newLeft;
1714
1669
  setTimeout(() => {
1715
1670
  panes.forEach(pane => pane.classList.remove("transition"));
1671
+ this.splitter.classList.remove("transition");
1716
1672
  }, 300);
1717
1673
  });
1718
1674
  });
@@ -1786,7 +1742,10 @@ let DnnVerticalSplitview = class {
1786
1742
  render() {
1787
1743
  return (index.h(index.Host, null, index.h("div", { class: "left pane", style: {
1788
1744
  width: `${this.leftWidth}px`,
1789
- } }, index.h("slot", { name: "left" })), index.h("button", { onMouseDown: e => this.handleMouseDown(e), onTouchStart: e => this.handleMouseDown(e), onKeyDown: e => this.handleKeyDown(e), style: { minWidth: `${this.splitterWidth.toString()}px` } }, index.h("slot", null)), index.h("div", { class: "right pane", style: {
1745
+ } }, index.h("slot", { name: "left" })), index.h("button", { onMouseDown: e => this.handleMouseDown(e), onTouchStart: e => this.handleMouseDown(e), onKeyDown: e => this.handleKeyDown(e), ref: el => this.splitter = el, style: {
1746
+ minWidth: `${this.splitterWidth.toString()}px`,
1747
+ left: `${this.leftWidth - 2}px`,
1748
+ } }, index.h("slot", null)), index.h("div", { class: "right pane", style: {
1790
1749
  width: `${this.rightWidth}px`,
1791
1750
  } }, index.h("slot", { name: "right" }))));
1792
1751
  }