@dnncommunity/dnn-elements 0.14.0-beta.8 → 0.14.1-beta.1

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 (60) hide show
  1. package/dist/cjs/dnn-button_16.cjs.entry.js +46 -21
  2. package/dist/cjs/dnn-button_16.cjs.entry.js.map +1 -1
  3. package/dist/cjs/dnn-collapsible.cjs.entry.js +6 -1
  4. package/dist/cjs/dnn-collapsible.cjs.entry.js.map +1 -1
  5. package/dist/cjs/dnn-treeview-item.cjs.entry.js +19 -5
  6. package/dist/cjs/dnn-treeview-item.cjs.entry.js.map +1 -1
  7. package/dist/cjs/dnn-vertical-splitview.cjs.entry.js +21 -15
  8. package/dist/cjs/dnn-vertical-splitview.cjs.entry.js.map +1 -1
  9. package/dist/cjs/dnn.cjs.js +1 -1
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/collection/components/dnn-collapsible/dnn-collapsible.js +6 -1
  12. package/dist/collection/components/dnn-collapsible/dnn-collapsible.js.map +1 -1
  13. package/dist/collection/components/dnn-treeview-item/dnn-treeview-item.css +1 -0
  14. package/dist/collection/components/dnn-treeview-item/dnn-treeview-item.js +22 -7
  15. package/dist/collection/components/dnn-treeview-item/dnn-treeview-item.js.map +1 -1
  16. package/dist/collection/components/dnn-vertical-splitview/dnn-vertical-splitview.js +22 -16
  17. package/dist/collection/components/dnn-vertical-splitview/dnn-vertical-splitview.js.map +1 -1
  18. package/dist/dnn/dnn-collapsible.entry.js +6 -1
  19. package/dist/dnn/dnn-collapsible.entry.js.map +1 -1
  20. package/dist/dnn/dnn-collapsible.system.entry.js +1 -1
  21. package/dist/dnn/dnn-collapsible.system.entry.js.map +1 -1
  22. package/dist/dnn/dnn-treeview-item.entry.js +19 -5
  23. package/dist/dnn/dnn-treeview-item.entry.js.map +1 -1
  24. package/dist/dnn/dnn-treeview-item.system.entry.js +1 -1
  25. package/dist/dnn/dnn-treeview-item.system.entry.js.map +1 -1
  26. package/dist/dnn/dnn-vertical-splitview.entry.js +21 -15
  27. package/dist/dnn/dnn-vertical-splitview.entry.js.map +1 -1
  28. package/dist/dnn/dnn-vertical-splitview.system.entry.js +1 -1
  29. package/dist/dnn/dnn-vertical-splitview.system.entry.js.map +1 -1
  30. package/dist/dnn/dnn.esm.js +1 -1
  31. package/dist/dnn/dnn.system.js +1 -1
  32. package/dist/dnn/dnn.system.js.map +1 -1
  33. package/dist/dnn/{p-48e6d5e6.system.entry.js → p-755d047d.system.entry.js} +3 -3
  34. package/dist/dnn/p-755d047d.system.entry.js.map +1 -0
  35. package/dist/dnn/{p-21d6ceae.entry.js → p-8ec1f3a8.entry.js} +4 -4
  36. package/dist/dnn/p-8ec1f3a8.entry.js.map +1 -0
  37. package/dist/dnn/p-f91193e2.system.js +1 -1
  38. package/dist/dnn/p-f91193e2.system.js.map +1 -1
  39. package/dist/esm/dnn-button_16.entry.js +46 -21
  40. package/dist/esm/dnn-button_16.entry.js.map +1 -1
  41. package/dist/esm/dnn-collapsible.entry.js +6 -1
  42. package/dist/esm/dnn-collapsible.entry.js.map +1 -1
  43. package/dist/esm/dnn-treeview-item.entry.js +19 -5
  44. package/dist/esm/dnn-treeview-item.entry.js.map +1 -1
  45. package/dist/esm/dnn-vertical-splitview.entry.js +21 -15
  46. package/dist/esm/dnn-vertical-splitview.entry.js.map +1 -1
  47. package/dist/esm/dnn.js +1 -1
  48. package/dist/esm/loader.js +1 -1
  49. package/dist/esm-es5/dnn-button_16.entry.js +2 -2
  50. package/dist/esm-es5/dnn-button_16.entry.js.map +1 -1
  51. package/dist/esm-es5/dnn.js +1 -1
  52. package/dist/esm-es5/dnn.js.map +1 -1
  53. package/dist/esm-es5/loader.js +1 -1
  54. package/dist/esm-es5/loader.js.map +1 -1
  55. package/dist/types/components/dnn-treeview-item/dnn-treeview-item.d.ts +5 -2
  56. package/dist/types/components/dnn-vertical-splitview/dnn-vertical-splitview.d.ts +1 -0
  57. package/dist/types/components.d.ts +2 -2
  58. package/package.json +3 -3
  59. package/dist/dnn/p-21d6ceae.entry.js.map +0 -1
  60. package/dist/dnn/p-48e6d5e6.system.entry.js.map +0 -1
@@ -192,7 +192,12 @@ let DnnCollapsible = class {
192
192
  this.updateSize();
193
193
  }
194
194
  else {
195
- this.container.style.maxHeight = "0px";
195
+ requestAnimationFrame(() => {
196
+ this.container.style.maxHeight = `${this.container.scrollHeight}px`;
197
+ requestAnimationFrame(() => {
198
+ this.container.style.maxHeight = "0px";
199
+ });
200
+ });
196
201
  }
197
202
  setTimeout(() => {
198
203
  requestAnimationFrame(() => {
@@ -1478,21 +1483,32 @@ let DnnToggle = class {
1478
1483
  };
1479
1484
  DnnToggle.style = dnnToggleCss;
1480
1485
 
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}div.item div.children{overflow:hidden;height:0;-webkit-transition:all 150ms ease-in-out;transition:all 150ms ease-in-out}";
1486
+ 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}";
1482
1487
 
1483
1488
  let DnnTreeviewItem = class {
1484
1489
  constructor(hostRef) {
1485
1490
  index.registerInstance(this, hostRef);
1486
1491
  this.userExpanded = index.createEvent(this, "userExpanded", 3);
1487
1492
  this.userCollapsed = index.createEvent(this, "userCollapsed", 3);
1488
- /** Defines if the current node is expanded */
1493
+ /** Defines if the current node is expanded. */
1489
1494
  this.expanded = false;
1495
+ /** Manages state for whether or not item has children. */
1490
1496
  this.hasChildren = false;
1491
1497
  }
1498
+ /** Watch expanded Prop */
1499
+ watchExpanded(expanded) {
1500
+ if (expanded) {
1501
+ this.expander.classList.add("expanded");
1502
+ this.collapsible.expanded = true;
1503
+ return;
1504
+ }
1505
+ this.expander.classList.remove("expanded");
1506
+ this.collapsible.expanded = false;
1507
+ }
1492
1508
  componentDidLoad() {
1493
1509
  requestAnimationFrame(() => {
1494
- const children = this.childrenElement.children[0];
1495
- const count = children.assignedElements().length;
1510
+ const child = this.childElement.children[0];
1511
+ const count = child.assignedElements().length;
1496
1512
  if (count > 0) {
1497
1513
  this.hasChildren = true;
1498
1514
  }
@@ -1517,9 +1533,12 @@ let DnnTreeviewItem = class {
1517
1533
  }
1518
1534
  render() {
1519
1535
  return (index.h(index.Host, null, index.h("div", { class: "expander", ref: el => this.expander = el }, this.hasChildren &&
1520
- index.h("button", { onClick: () => this.toggleCollapse() }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", height: "24px", viewBox: "0 0 24 24", width: "24px", fill: "#000000" }, index.h("path", { d: "M10 17l5-5-5-5v10z" }), index.h("path", { d: "M0 24V0h24v24H0z", fill: "none" })))), index.h("div", { class: "item" }, index.h("div", { class: "item-slot" }, index.h("slot", null)), index.h("dnn-collapsible", { ref: el => this.collapsible = el, expanded: this.expanded }, index.h("div", { ref: el => this.childrenElement = el }, index.h("slot", { name: "children" }))))));
1536
+ index.h("button", { onClick: () => this.toggleCollapse() }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", height: "24px", viewBox: "0 0 24 24", width: "24px", fill: "#000000" }, index.h("path", { d: "M10 17l5-5-5-5v10z" }), index.h("path", { d: "M0 24V0h24v24H0z", fill: "none" })))), index.h("div", { class: "item" }, index.h("div", { class: "item-slot" }, index.h("slot", null)), index.h("dnn-collapsible", { ref: el => this.collapsible = el, expanded: this.expanded }, index.h("div", { ref: el => this.childElement = el }, index.h("slot", { name: "children" }))))));
1521
1537
  }
1522
1538
  get el() { return index.getElement(this); }
1539
+ static get watchers() { return {
1540
+ "expanded": ["watchExpanded"]
1541
+ }; }
1523
1542
  };
1524
1543
  DnnTreeviewItem.style = dnnTreeviewItemCss;
1525
1544
 
@@ -1680,26 +1699,32 @@ let DnnVerticalSplitview = class {
1680
1699
  }
1681
1700
  componentDidLoad() {
1682
1701
  requestAnimationFrame(() => {
1683
- const fullWidth = this.element.getBoundingClientRect().width;
1684
- this.leftWidth = fullWidth * this.splitWidthPercentage / 100;
1685
- this.rightWidth = fullWidth - this.leftWidth;
1686
- this.widthChanged.emit(this.splitWidthPercentage);
1702
+ this.resizeObserver = new ResizeObserver(() => {
1703
+ const fullWidth = this.element.getBoundingClientRect().width;
1704
+ this.leftWidth = fullWidth * this.splitWidthPercentage / 100;
1705
+ this.rightWidth = fullWidth - this.leftWidth;
1706
+ this.widthChanged.emit(this.splitWidthPercentage);
1707
+ });
1708
+ this.resizeObserver.observe(this.element);
1687
1709
  });
1688
1710
  }
1689
1711
  handleMouseDown(event) {
1690
1712
  event.preventDefault();
1691
1713
  const handleDrag = (ev) => {
1692
- let { movementX } = getMovementFromEvent(ev, this.previousTouch);
1693
- let fullWidth = this.element.getBoundingClientRect().width;
1694
- let newLeft = this.leftWidth + movementX;
1695
- if (newLeft < 0) {
1696
- newLeft = 0;
1697
- }
1698
- if (newLeft > fullWidth) {
1699
- newLeft = fullWidth;
1700
- }
1701
- this.leftWidth = newLeft;
1702
- this.rightWidth = fullWidth - newLeft;
1714
+ requestAnimationFrame(() => {
1715
+ let fullWidth = this.element.getBoundingClientRect().width;
1716
+ let { movementX } = getMovementFromEvent(ev, this.previousTouch);
1717
+ let newLeft = this.leftWidth + movementX;
1718
+ if (newLeft < 0) {
1719
+ newLeft = 0;
1720
+ }
1721
+ if (newLeft > fullWidth) {
1722
+ newLeft = fullWidth;
1723
+ }
1724
+ this.leftWidth = newLeft;
1725
+ this.rightWidth = fullWidth - newLeft;
1726
+ this.splitWidthPercentage = this.leftWidth / fullWidth * 100;
1727
+ });
1703
1728
  };
1704
1729
  const handleDragFinished = () => {
1705
1730
  document.removeEventListener("mousemove", handleDrag);