@dnncommunity/dnn-elements 0.24.0-beta.8 → 0.24.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 (155) hide show
  1. package/dist/cjs/dnn-autocomplete.cjs.entry.js +21 -9
  2. package/dist/cjs/dnn-autocomplete.cjs.entry.js.map +1 -1
  3. package/dist/cjs/dnn-checkbox.cjs.entry.js +4 -1
  4. package/dist/cjs/dnn-checkbox.cjs.entry.js.map +1 -1
  5. package/dist/cjs/dnn-chevron.cjs.entry.js +1 -1
  6. package/dist/cjs/dnn-collapsible.cjs.entry.js +1 -1
  7. package/dist/cjs/dnn-color-input.cjs.entry.js +14 -14
  8. package/dist/cjs/dnn-color-picker.cjs.entry.js +3 -3
  9. package/dist/cjs/dnn-dropzone.cjs.entry.js +9 -9
  10. package/dist/cjs/dnn-fieldset.cjs.entry.js +4 -4
  11. package/dist/cjs/dnn-image-cropper.cjs.entry.js +2 -2
  12. package/dist/cjs/dnn-input.cjs.entry.js +7 -7
  13. package/dist/cjs/dnn-modal.cjs.entry.js +2 -2
  14. package/dist/cjs/dnn-monaco-editor.cjs.entry.js +1 -1
  15. package/dist/cjs/dnn-permissions-grid.cjs.entry.js +10 -10
  16. package/dist/cjs/dnn-permissions-grid.cjs.entry.js.map +1 -1
  17. package/dist/cjs/dnn-progress-bar.cjs.entry.js +1 -1
  18. package/dist/cjs/dnn-richtext.cjs.entry.js +2 -2
  19. package/dist/cjs/dnn-searchbox.cjs.entry.js +1 -1
  20. package/dist/cjs/dnn-select.cjs.entry.js +2 -2
  21. package/dist/cjs/dnn-sort-icon.cjs.entry.js +4 -4
  22. package/dist/cjs/dnn-tab_2.cjs.entry.js +3 -3
  23. package/dist/cjs/dnn-textarea.cjs.entry.js +1 -1
  24. package/dist/cjs/dnn-toggle.cjs.entry.js +4 -5
  25. package/dist/cjs/dnn-toggle.cjs.entry.js.map +1 -1
  26. package/dist/cjs/dnn-treeview-item.cjs.entry.js +2 -2
  27. package/dist/cjs/dnn-vertical-overflow-menu.cjs.entry.js +2 -2
  28. package/dist/cjs/dnn-vertical-splitview.cjs.entry.js +4 -4
  29. package/dist/cjs/dnn.cjs.js +1 -1
  30. package/dist/cjs/loader.cjs.js +1 -1
  31. package/dist/collection/components/dnn-autocomplete/dnn-autocomplete.js +24 -11
  32. package/dist/collection/components/dnn-autocomplete/dnn-autocomplete.js.map +1 -1
  33. package/dist/collection/components/dnn-checkbox/dnn-checkbox.js +14 -2
  34. package/dist/collection/components/dnn-checkbox/dnn-checkbox.js.map +1 -1
  35. package/dist/collection/components/dnn-chevron/dnn-chevron.js +1 -1
  36. package/dist/collection/components/dnn-collapsible/dnn-collapsible.js +1 -1
  37. package/dist/collection/components/dnn-color-input/dnn-color-input.js +14 -14
  38. package/dist/collection/components/dnn-color-picker/dnn-color-picker.js +3 -3
  39. package/dist/collection/components/dnn-dropzone/dnn-dropzone.js +9 -9
  40. package/dist/collection/components/dnn-fieldset/dnn-fieldset.js +4 -4
  41. package/dist/collection/components/dnn-image-cropper/dnn-image-cropper.js +2 -2
  42. package/dist/collection/components/dnn-input/dnn-input.js +7 -7
  43. package/dist/collection/components/dnn-modal/dnn-modal.js +2 -2
  44. package/dist/collection/components/dnn-monaco-editor/dnn-monaco-editor.js +1 -1
  45. package/dist/collection/components/dnn-permissions-grid/dnn-permissions-grid.css +1 -1
  46. package/dist/collection/components/dnn-permissions-grid/dnn-permissions-grid.js +9 -9
  47. package/dist/collection/components/dnn-permissions-grid/dnn-permissions-grid.js.map +1 -1
  48. package/dist/collection/components/dnn-progress-bar/dnn-progress-bar.js +1 -1
  49. package/dist/collection/components/dnn-richtext/dnn-richtext.js +2 -2
  50. package/dist/collection/components/dnn-searchbox/dnn-searchbox.js +1 -1
  51. package/dist/collection/components/dnn-select/dnn-select.js +2 -2
  52. package/dist/collection/components/dnn-sort-icon/dnn-sort-icon.js +4 -4
  53. package/dist/collection/components/dnn-tab/dnn-tab.js +2 -2
  54. package/dist/collection/components/dnn-tabs/dnn-tabs.js +1 -1
  55. package/dist/collection/components/dnn-textarea/dnn-textarea.js +1 -1
  56. package/dist/collection/components/dnn-toggle/dnn-toggle.js +13 -5
  57. package/dist/collection/components/dnn-toggle/dnn-toggle.js.map +1 -1
  58. package/dist/collection/components/dnn-treeview-item/dnn-treeview-item.js +2 -2
  59. package/dist/collection/components/dnn-vertical-overflow-menu/dnn-vertical-overflow-menu.js +2 -2
  60. package/dist/collection/components/dnn-vertical-splitview/dnn-vertical-splitview.js +4 -4
  61. package/dist/dnn/dnn.esm.js +1 -1
  62. package/dist/dnn/dnn.esm.js.map +1 -1
  63. package/dist/dnn/{p-6e54915d.entry.js → p-03d3f2b1.entry.js} +2 -2
  64. package/dist/dnn/{p-96c850a8.entry.js → p-15c86eb3.entry.js} +2 -2
  65. package/dist/dnn/p-2c7a91de.entry.js +2 -0
  66. package/dist/dnn/p-2c7a91de.entry.js.map +1 -0
  67. package/dist/dnn/p-45e1c385.entry.js +2 -0
  68. package/dist/dnn/{p-2486e9db.entry.js.map → p-45e1c385.entry.js.map} +1 -1
  69. package/dist/dnn/{p-4574844c.entry.js → p-52ae7b31.entry.js} +2 -2
  70. package/dist/dnn/{p-90dd4620.entry.js → p-576364af.entry.js} +2 -2
  71. package/dist/dnn/{p-07a78c58.entry.js → p-5a244627.entry.js} +2 -2
  72. package/dist/dnn/{p-70b71aeb.entry.js → p-5b8e0904.entry.js} +2 -2
  73. package/dist/dnn/{p-50b6bb3f.entry.js → p-6643b369.entry.js} +2 -2
  74. package/dist/dnn/{p-7c4bcd14.entry.js → p-6659a086.entry.js} +2 -2
  75. package/dist/dnn/{p-8564bc60.entry.js → p-672fb82d.entry.js} +2 -2
  76. package/dist/dnn/{p-61dfb826.entry.js → p-69d5f883.entry.js} +2 -2
  77. package/dist/dnn/p-6e2adf25.entry.js +2 -0
  78. package/dist/dnn/p-6e2adf25.entry.js.map +1 -0
  79. package/dist/dnn/{p-b96b7c4a.entry.js → p-73fddf11.entry.js} +2 -2
  80. package/dist/dnn/p-9a06ad79.entry.js +2 -0
  81. package/dist/dnn/p-9d2a9141.entry.js +2 -0
  82. package/dist/dnn/p-9d2a9141.entry.js.map +1 -0
  83. package/dist/dnn/{p-535748e2.entry.js → p-a6982c8d.entry.js} +2 -2
  84. package/dist/dnn/{p-9ecfe643.entry.js → p-af925605.entry.js} +2 -2
  85. package/dist/dnn/{p-d7d6dffb.entry.js → p-bc1dd08b.entry.js} +2 -2
  86. package/dist/dnn/{p-21c5ef07.entry.js → p-cfbd1373.entry.js} +2 -2
  87. package/dist/dnn/{p-b553c159.entry.js → p-d67edea7.entry.js} +2 -2
  88. package/dist/dnn/{p-e23840d6.entry.js → p-dcf4505a.entry.js} +2 -2
  89. package/dist/dnn/p-ea2d6fd2.entry.js +2 -0
  90. package/dist/dnn/p-ea2d6fd2.entry.js.map +1 -0
  91. package/dist/dnn/{p-3b3475e0.entry.js → p-f107355e.entry.js} +2 -2
  92. package/dist/esm/dnn-autocomplete.entry.js +21 -9
  93. package/dist/esm/dnn-autocomplete.entry.js.map +1 -1
  94. package/dist/esm/dnn-checkbox.entry.js +4 -1
  95. package/dist/esm/dnn-checkbox.entry.js.map +1 -1
  96. package/dist/esm/dnn-chevron.entry.js +1 -1
  97. package/dist/esm/dnn-collapsible.entry.js +1 -1
  98. package/dist/esm/dnn-color-input.entry.js +14 -14
  99. package/dist/esm/dnn-color-picker.entry.js +3 -3
  100. package/dist/esm/dnn-dropzone.entry.js +9 -9
  101. package/dist/esm/dnn-fieldset.entry.js +4 -4
  102. package/dist/esm/dnn-image-cropper.entry.js +2 -2
  103. package/dist/esm/dnn-input.entry.js +7 -7
  104. package/dist/esm/dnn-modal.entry.js +2 -2
  105. package/dist/esm/dnn-monaco-editor.entry.js +1 -1
  106. package/dist/esm/dnn-permissions-grid.entry.js +10 -10
  107. package/dist/esm/dnn-permissions-grid.entry.js.map +1 -1
  108. package/dist/esm/dnn-progress-bar.entry.js +1 -1
  109. package/dist/esm/dnn-richtext.entry.js +2 -2
  110. package/dist/esm/dnn-searchbox.entry.js +1 -1
  111. package/dist/esm/dnn-select.entry.js +2 -2
  112. package/dist/esm/dnn-sort-icon.entry.js +4 -4
  113. package/dist/esm/dnn-tab_2.entry.js +3 -3
  114. package/dist/esm/dnn-textarea.entry.js +1 -1
  115. package/dist/esm/dnn-toggle.entry.js +4 -5
  116. package/dist/esm/dnn-toggle.entry.js.map +1 -1
  117. package/dist/esm/dnn-treeview-item.entry.js +2 -2
  118. package/dist/esm/dnn-vertical-overflow-menu.entry.js +2 -2
  119. package/dist/esm/dnn-vertical-splitview.entry.js +4 -4
  120. package/dist/esm/dnn.js +1 -1
  121. package/dist/esm/loader.js +1 -1
  122. package/dist/types/components/dnn-autocomplete/dnn-autocomplete.d.ts +2 -1
  123. package/dist/types/components/dnn-checkbox/dnn-checkbox.d.ts +2 -1
  124. package/dist/types/components/dnn-toggle/dnn-toggle.d.ts +1 -0
  125. package/dist/types/components.d.ts +12 -0
  126. package/package.json +1 -1
  127. package/dist/dnn/p-2486e9db.entry.js +0 -2
  128. package/dist/dnn/p-27dc2d8f.entry.js +0 -2
  129. package/dist/dnn/p-27dc2d8f.entry.js.map +0 -1
  130. package/dist/dnn/p-350e4008.entry.js +0 -2
  131. package/dist/dnn/p-350e4008.entry.js.map +0 -1
  132. package/dist/dnn/p-3d1d6321.entry.js +0 -2
  133. package/dist/dnn/p-3d1d6321.entry.js.map +0 -1
  134. package/dist/dnn/p-5b15b44a.entry.js +0 -2
  135. package/dist/dnn/p-b5241c09.entry.js +0 -2
  136. package/dist/dnn/p-b5241c09.entry.js.map +0 -1
  137. /package/dist/dnn/{p-6e54915d.entry.js.map → p-03d3f2b1.entry.js.map} +0 -0
  138. /package/dist/dnn/{p-96c850a8.entry.js.map → p-15c86eb3.entry.js.map} +0 -0
  139. /package/dist/dnn/{p-4574844c.entry.js.map → p-52ae7b31.entry.js.map} +0 -0
  140. /package/dist/dnn/{p-90dd4620.entry.js.map → p-576364af.entry.js.map} +0 -0
  141. /package/dist/dnn/{p-07a78c58.entry.js.map → p-5a244627.entry.js.map} +0 -0
  142. /package/dist/dnn/{p-70b71aeb.entry.js.map → p-5b8e0904.entry.js.map} +0 -0
  143. /package/dist/dnn/{p-50b6bb3f.entry.js.map → p-6643b369.entry.js.map} +0 -0
  144. /package/dist/dnn/{p-7c4bcd14.entry.js.map → p-6659a086.entry.js.map} +0 -0
  145. /package/dist/dnn/{p-8564bc60.entry.js.map → p-672fb82d.entry.js.map} +0 -0
  146. /package/dist/dnn/{p-61dfb826.entry.js.map → p-69d5f883.entry.js.map} +0 -0
  147. /package/dist/dnn/{p-b96b7c4a.entry.js.map → p-73fddf11.entry.js.map} +0 -0
  148. /package/dist/dnn/{p-5b15b44a.entry.js.map → p-9a06ad79.entry.js.map} +0 -0
  149. /package/dist/dnn/{p-535748e2.entry.js.map → p-a6982c8d.entry.js.map} +0 -0
  150. /package/dist/dnn/{p-9ecfe643.entry.js.map → p-af925605.entry.js.map} +0 -0
  151. /package/dist/dnn/{p-d7d6dffb.entry.js.map → p-bc1dd08b.entry.js.map} +0 -0
  152. /package/dist/dnn/{p-21c5ef07.entry.js.map → p-cfbd1373.entry.js.map} +0 -0
  153. /package/dist/dnn/{p-b553c159.entry.js.map → p-d67edea7.entry.js.map} +0 -0
  154. /package/dist/dnn/{p-e23840d6.entry.js.map → p-dcf4505a.entry.js.map} +0 -0
  155. /package/dist/dnn/{p-3b3475e0.entry.js.map → p-f107355e.entry.js.map} +0 -0
@@ -55,8 +55,8 @@ const DnnTreeviewItem = class {
55
55
  return this.focused ? -1 : 0;
56
56
  }
57
57
  render() {
58
- return (h(Host, { key: 'a3746f538fbe4ca0e0573c885042cbbac16cd754', tabIndex: this.getTabIndex(), onFocus: () => { var _a; return (_a = this.button) === null || _a === void 0 ? void 0 : _a.focus(); }, onBlur: () => { var _a; return (_a = this.button) === null || _a === void 0 ? void 0 : _a.blur(); } }, h("div", { key: 'a9605a6d74309fa4ed0f253f8783ca643ffa79fa', class: "expander", ref: el => this.expander = el }, this.hasChildren &&
59
- h("button", { key: '6189a78b05f43a506820891ba4510a1c5a21d85d', ref: el => this.button = el, onClick: () => this.toggleCollapse(), onFocus: () => this.focused = true, onBlur: () => this.focused = false }, h("svg", { key: '74936a9418ae8f5948c44e37f16f9e9695dcb4ac', xmlns: "http://www.w3.org/2000/svg", height: "24px", viewBox: "0 0 24 24", width: "24px", fill: "#000000" }, h("path", { key: '9c9b4293271b0a2c2f0718f7f46cef406e5e74e2', d: "M10 17l5-5-5-5v10z" }), h("path", { key: '23d715232f55271e3379f25a21509b4e2d701e6c', d: "M0 24V0h24v24H0z", fill: "none" })))), h("div", { key: 'd8e052c3c0bbbdbc8b757990d1475f3ded0c7983', class: "item" }, h("div", { key: '08bf05eac16e72699d5e434a8640957dedc54644', class: "item-slot" }, h("slot", { key: '59ab556aefc15ef697b8cb1d865f35b44eb4fad8' })), h("dnn-collapsible", { key: 'ba88f8a8f04b497a5aed831961f4168250938f0f', ref: el => this.collapsible = el, expanded: this.expanded }, h("div", { key: '6d56e6fe4fdef5fdb3c102b2fe759ee469f54e62', ref: el => this.childElement = el }, h("slot", { key: '350f4e18d566d6fc6b30a4a5efad8ac4c36d8b0b', name: "children" }))))));
58
+ return (h(Host, { key: 'e7a439c58fb111038234b66c8d1884f0f5c1da56', tabIndex: this.getTabIndex(), onFocus: () => { var _a; return (_a = this.button) === null || _a === void 0 ? void 0 : _a.focus(); }, onBlur: () => { var _a; return (_a = this.button) === null || _a === void 0 ? void 0 : _a.blur(); } }, h("div", { key: '21b5854712196a29932e681175a28bfec964ea2b', class: "expander", ref: el => this.expander = el }, this.hasChildren &&
59
+ h("button", { key: '1e82a07c04e90fcc78eafbdc4c4df9b40257a978', ref: el => this.button = el, onClick: () => this.toggleCollapse(), onFocus: () => this.focused = true, onBlur: () => this.focused = false }, h("svg", { key: 'b372f15ecaf5976047e9b2449f4fcd3c055f42b8', xmlns: "http://www.w3.org/2000/svg", height: "24px", viewBox: "0 0 24 24", width: "24px", fill: "#000000" }, h("path", { key: '868d81ffe144e899f7c279b0759e24b791ecad15', d: "M10 17l5-5-5-5v10z" }), h("path", { key: 'aebb999015589ddcaa6fd2de21d7cb6ca9d89513', d: "M0 24V0h24v24H0z", fill: "none" })))), h("div", { key: 'b2744d71ffe4280da9d6835733a595f5efb870bf', class: "item" }, h("div", { key: '481e8af5e509a11eb3c4dc6d7643ca27b2131724', class: "item-slot" }, h("slot", { key: '64818d6a55c41aff2deb644c91977c481ee58a50' })), h("dnn-collapsible", { key: '367b4f7696551c2d6710af1eb5916482711685d1', ref: el => this.collapsible = el, expanded: this.expanded }, h("div", { key: '59de6e9d81c051f68c4f36f8d91b11b33d8587d1', ref: el => this.childElement = el }, h("slot", { key: 'e59ba3b15f432ca827be4772c066cd7574200ec0', name: "children" }))))));
60
60
  }
61
61
  get el() { return getElement(this); }
62
62
  static get watchers() { return {
@@ -109,8 +109,8 @@ const DnnVerticalOverflowMenu = class {
109
109
  }
110
110
  }
111
111
  render() {
112
- return (h(Host, { key: '6db9c7d189af12b461e3af34f602f6c7fddb5d07' }, h("div", { key: '54aa005c09d774e56ce190847eb69f869ecabb85', class: "menu-container" }, h("div", { key: 'f8b15e41a500f3dc64e7e493bf74cf6b465f5ca2', class: "menu", ref: el => this.menu = el }, h("slot", { key: 'f5d02437cb605cc033f871af76e58d7f58af48e6' })), this.showDropdownButton &&
113
- h("div", { key: '85da1756b3d43887b3af977e737ab617af864ac7', class: "overflow" }, h("button", { key: 'a88946dc0c326c33c005819361e234cce8ef79df', ref: el => this.button = el, class: "icon", onClick: () => this.toggleOverflowMenu() }, h("svg", { key: 'a4eb967d91cee9a4c96e0a5da457d11f39feee25', xmlns: "http://www.w3.org/2000/svg", height: "24px", viewBox: "0 0 24 24", width: "24px", fill: "#000000" }, h("path", { key: '3fc89d3aaafc7287c0b6dbe03806dc6e5e2fc566', d: "M0 0h24v24H0z", fill: "none" }), h("path", { key: 'c923dfd621e1027095d580465fce65fb26fc3e82', d: "M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z" }))), h("div", { key: 'aa6d1e3eba6c3c4fa645c2429d7d8d2f3f05c2d2', class: "dropdown", ref: el => this.dropdown = el }, h("slot", { key: '68f17337ea43044b7bb02d9bac0b76da29009df7', name: "dropdown" }))))));
112
+ return (h(Host, { key: '6553ac042249e33d80a068a90536999c3a81369b' }, h("div", { key: 'abda0519cdacb5aafe82ea4aed834ff5c45db258', class: "menu-container" }, h("div", { key: 'bbff94190c8bc214a37bbfb055ce6846e1a2457e', class: "menu", ref: el => this.menu = el }, h("slot", { key: '6e97a2e313a635fe11ce2488c15e264f68958e29' })), this.showDropdownButton &&
113
+ h("div", { key: '1626915b6572090266db9af30b8c6f8fd7cc6bb1', class: "overflow" }, h("button", { key: 'dd2e55c8d08ca42b13600665fc9be680e123e340', ref: el => this.button = el, class: "icon", onClick: () => this.toggleOverflowMenu() }, h("svg", { key: 'a44022b2c686ca8839dd6f9b612adb6576c0b38c', xmlns: "http://www.w3.org/2000/svg", height: "24px", viewBox: "0 0 24 24", width: "24px", fill: "#000000" }, h("path", { key: 'f4107dd8572b748a0c674ec40d0bdd6483c3083d', d: "M0 0h24v24H0z", fill: "none" }), h("path", { key: '50568879b9ac708a8ace4ff03b56618f866f9f12', d: "M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z" }))), h("div", { key: '263af3536c4aae3c72b8c964ba8f5737869b440c', class: "dropdown", ref: el => this.dropdown = el }, h("slot", { key: '6fbb0e725338c5422cdd94f1f0f30e64f3dabc7f', name: "dropdown" }))))));
114
114
  }
115
115
  get element() { return getElement(this); }
116
116
  };
@@ -110,14 +110,14 @@ const DnnVerticalSplitview = class {
110
110
  this.rightWidth = fullWidth - this.leftWidth;
111
111
  }
112
112
  render() {
113
- return (h(Host, { key: 'beaf3010798c186c586ad124a672a2e3c2610bd7' }, h("div", { key: '353c7d995b03434a7eb1095ec28c19706e008ce7', class: "left pane", style: {
113
+ return (h(Host, { key: 'e140fa989f74e328619a4d5a53d4b7cfb6ca5970' }, h("div", { key: '22a05426ed02cb10f3a2ceeb7f7682f8677e4c31', class: "left pane", style: {
114
114
  width: `${this.leftWidth}px`,
115
- } }, h("slot", { key: 'e9c87dfcc0f8014ec9cd89ff91f21de679c414cf', name: "left" })), h("button", { key: '9df146da30e8adac9cadd75d14619fa574f0c97e', onMouseDown: e => this.handleMouseDown(e), onTouchStart: e => this.handleMouseDown(e), onKeyDown: e => this.handleKeyDown(e), ref: el => this.splitter = el, style: {
115
+ } }, h("slot", { key: 'c997933e9bda3464c6f49e818ac3c39aae7ede99', name: "left" })), h("button", { key: 'f2a04a9418f614df26d3a7fab7a71eda82b5a244', onMouseDown: e => this.handleMouseDown(e), onTouchStart: e => this.handleMouseDown(e), onKeyDown: e => this.handleKeyDown(e), ref: el => this.splitter = el, style: {
116
116
  minWidth: `${this.splitterWidth.toString()}px`,
117
117
  left: `${this.leftWidth - 2}px`,
118
- } }, h("slot", { key: 'f46238df8b64f8627a1058644fbecc2c4989bbc8' })), h("div", { key: '5b42b788656ffd7cad9a80d81dd74925a3deacc8', class: "right pane", style: {
118
+ } }, h("slot", { key: '2f81c5e1858a6824f5ce4d4162f05acfd1733798' })), h("div", { key: '568a5a6f4aac1a438332085c1288dd9ed84e6143', class: "right pane", style: {
119
119
  width: `${this.rightWidth}px`,
120
- } }, h("slot", { key: 'd5e9154ff247e915db7774eab731f1050e348b77', name: "right" }))));
120
+ } }, h("slot", { key: 'd509c38b1c51ff0dcdef8f9c419ebc1a9ed63a81', name: "right" }))));
121
121
  }
122
122
  get element() { return getElement(this); }
123
123
  };
package/dist/esm/dnn.js CHANGED
@@ -16,7 +16,7 @@ var patchBrowser = () => {
16
16
 
17
17
  patchBrowser().then(async (options) => {
18
18
  await globalScripts();
19
- return bootstrapLazy([["dnn-color-input",[[65,"dnn-color-input",{"color":[1025],"contrastColor":[1025,"contrast-color"],"lightColor":[1025,"light-color"],"darkColor":[1025,"dark-color"],"label":[1],"readonly":[4],"localization":[16],"name":[1],"helpText":[1,"help-text"],"useContrastColor":[4,"use-contrast-color"],"useLightColor":[4,"use-light-color"],"useDarkColor":[4,"use-dark-color"],"currentColor":[32],"focused":[32]},null,{"currentColor":["currentColorChanged"]}]]],["dnn-image-cropper",[[65,"dnn-image-cropper",{"width":[2],"height":[2],"resx":[16],"quality":[2],"preventUndersized":[4,"prevent-undersized"],"name":[1],"view":[32],"localResx":[32],"fileName":[32],"focused":[32],"clear":[64]},null,{"resx":["resxChanged"]}]]],["dnn-autocomplete",[[65,"dnn-autocomplete",{"label":[1],"name":[1],"helpText":[1,"help-text"],"value":[1537],"required":[4],"disabled":[4],"suggestions":[16],"renderSuggestion":[16],"totalSuggestions":[2,"total-suggestions"],"preloadThresholdPixels":[2,"preload-threshold-pixels"],"focused":[32],"valid":[32],"customValidityMessage":[32],"selectedIndex":[32],"positionInitialized":[32],"lastScrollTop":[32],"checkValidity":[64],"setCustomValidity":[64]},[[4,"click","handleOutsideClick"]]]]],["dnn-input",[[65,"dnn-input",{"type":[1025],"label":[1],"name":[1],"value":[1544],"helpText":[1,"help-text"],"required":[4],"disabled":[4],"autocomplete":[1],"min":[8],"max":[8],"minlength":[2],"maxlength":[2],"multiple":[4],"pattern":[1],"readonly":[4],"step":[8],"disableValidityReporting":[4,"disable-validity-reporting"],"allowShowPassword":[4,"allow-show-password"],"focused":[32],"valid":[32],"checkValidity":[64],"setCustomValidity":[64]}]]],["dnn-select",[[65,"dnn-select",{"label":[1],"name":[1],"required":[4],"helpText":[1,"help-text"],"disabled":[4],"disableValidityReporting":[4,"disable-validity-reporting"],"value":[1537],"focused":[32],"valid":[32],"customValidityMessage":[32],"checkValidity":[64]}]]],["dnn-textarea",[[65,"dnn-textarea",{"resizable":[1],"value":[1025],"label":[1],"name":[1],"helpText":[1,"help-text"],"required":[4],"disabled":[4],"autocomplete":[1],"minlength":[2],"maxlength":[2],"readonly":[4],"rows":[2],"focused":[32],"valid":[32],"customValidityMessage":[32],"checkValidity":[64],"setCustomValidity":[64]}]]],["dnn-treeview-item",[[1,"dnn-treeview-item",{"expanded":[1540],"hasChildren":[32],"focused":[32]},null,{"expanded":["watchExpanded"]}]]],["dnn-chevron",[[1,"dnn-chevron",{"expandText":[1,"expand-text"],"collapseText":[1,"collapse-text"],"expanded":[1540],"focused":[32]},null,{"expanded":["handleExpandedChanged"]}]]],["dnn-monaco-editor",[[66,"dnn-monaco-editor",{"language":[1],"value":[1025],"name":[1],"focused":[32]},null,{"language":["languageChanged"],"value":["valueChanged"]}]]],["dnn-progress-bar",[[1,"dnn-progress-bar",{"value":[2],"max":[2],"useGradient":[4,"use-gradient"]}]]],["dnn-richtext",[[65,"dnn-richtext",{"options":[16],"value":[1],"name":[1],"focused":[32]},null,{"value":["watchValueChanged"]}]]],["dnn-sort-icon",[[1,"dnn-sort-icon",{"sortDirection":[1025,"sort-direction"],"focused":[32]}]]],["dnn-toggle",[[65,"dnn-toggle",{"checked":[1028],"disabled":[4],"name":[1],"value":[1],"focused":[32]},null,{"checked":["checkedChanged"]}]]],["dnn-vertical-overflow-menu",[[1,"dnn-vertical-overflow-menu",{"showDropdownButton":[32],"showDropdownMenu":[32]}]]],["dnn-vertical-splitview",[[1,"dnn-vertical-splitview",{"splitterWidth":[2,"splitter-width"],"splitWidthPercentage":[1026,"split-width-percentage"],"leftWidth":[32],"rightWidth":[32],"setSplitWidthPercentage":[64],"getSplitWidthPercentage":[64]}]]],["dnn-checkbox",[[65,"dnn-checkbox",{"checked":[1025],"useIntermediate":[4,"use-intermediate"],"value":[1],"name":[1],"focused":[32]},null,{"checked":["handleCheckedChange"]}]]],["dnn-color-picker",[[1,"dnn-color-picker",{"color":[1],"colorBoxHeight":[1,"color-box-height"],"currentColor":[32],"rgbDisplay":[32],"hslDisplay":[32],"hexDisplay":[32],"focused":[32]},null,{"currentColor":["handeCurrentColorChanged"]}]]],["dnn-dropzone",[[65,"dnn-dropzone",{"resx":[16],"allowedExtensions":[16],"allowCameraMode":[4,"allow-camera-mode"],"captureQuality":[2,"capture-quality"],"maxFileSize":[2,"max-file-size"],"name":[1],"canTakeSnapshots":[32],"takingPicture":[32],"fileTooLarge":[32],"invalidExtension":[32],"localResx":[32],"focused":[32]},null,{"resx":["resxChanged"]}]]],["dnn-searchbox",[[1,"dnn-searchbox",{"placeholder":[1],"debounced":[4],"debounceTime":[2,"debounce-time"],"query":[1025],"focused":[32]},null,{"query":["handleQueryChanged"]}]]],["dnn-tab_2",[[1,"dnn-tab",{"tabTitle":[1,"tab-title"],"visible":[32],"show":[64],"hide":[64]}],[1,"dnn-tabs",{"tabTitles":[32],"selectedTabTitle":[32]}]]],["dnn-collapsible",[[1,"dnn-collapsible",{"expanded":[516],"transitionDuration":[2,"transition-duration"],"updateSize":[64]},[[0,"dnnCollapsibleHeightChanged","handleHeightChanged"]],{"expanded":["handledExpandedChanged"]}]]],["dnn-modal",[[1,"dnn-modal",{"backdropDismiss":[4,"backdrop-dismiss"],"closeText":[1,"close-text"],"resizable":[4],"showCloseButton":[4,"show-close-button"],"visible":[1540],"show":[64],"hide":[64]}]]],["dnn-button",[[65,"dnn-button",{"type":[1],"appearance":[1],"formButtonType":[1,"form-button-type"],"reversed":[4],"size":[1],"confirm":[4],"confirmYesText":[1,"confirm-yes-text"],"confirmNoText":[1,"confirm-no-text"],"confirmMessage":[1,"confirm-message"],"disabled":[4],"focused":[32],"modalVisible":[32]}]]],["dnn-permissions-grid",[[1,"dnn-permissions-grid",{"permissions":[1040],"roleGroups":[16],"roles":[16],"resx":[16],"foundUsers":[16],"selectedRoleGroupId":[32],"userQuery":[32],"pickedUser":[32],"localResx":[32],"focused":[32]},null,{"foundUsers":["handleFoundUsersChanged"],"resx":["resxChanged"]}]]],["dnn-fieldset",[[1,"dnn-fieldset",{"focused":[1540],"disabled":[1540],"invalid":[1540],"label":[1],"floatLabel":[1540,"float-label"],"helpText":[1,"help-text"],"resizable":[1],"customValidityMessage":[32],"setFocused":[64],"setBlurred":[64],"disable":[64],"enable":[64],"pinLabel":[64],"unpinLabel":[64],"setValidity":[64]}]]]], options);
19
+ return bootstrapLazy([["dnn-color-input",[[65,"dnn-color-input",{"color":[1025],"contrastColor":[1025,"contrast-color"],"lightColor":[1025,"light-color"],"darkColor":[1025,"dark-color"],"label":[1],"readonly":[4],"localization":[16],"name":[1],"helpText":[1,"help-text"],"useContrastColor":[4,"use-contrast-color"],"useLightColor":[4,"use-light-color"],"useDarkColor":[4,"use-dark-color"],"currentColor":[32],"focused":[32]},null,{"currentColor":["currentColorChanged"]}]]],["dnn-image-cropper",[[65,"dnn-image-cropper",{"width":[2],"height":[2],"resx":[16],"quality":[2],"preventUndersized":[4,"prevent-undersized"],"name":[1],"view":[32],"localResx":[32],"fileName":[32],"focused":[32],"clear":[64]},null,{"resx":["resxChanged"]}]]],["dnn-autocomplete",[[65,"dnn-autocomplete",{"label":[1],"name":[1],"helpText":[1,"help-text"],"value":[1537],"required":[4],"disabled":[4],"suggestions":[16],"renderSuggestion":[16],"totalSuggestions":[2,"total-suggestions"],"preloadThresholdPixels":[2,"preload-threshold-pixels"],"focused":[32],"valid":[32],"customValidityMessage":[32],"selectedIndex":[32],"positionInitialized":[32],"lastScrollTop":[32],"displayValue":[32],"checkValidity":[64],"setCustomValidity":[64]},[[4,"click","handleClick"]]]]],["dnn-input",[[65,"dnn-input",{"type":[1025],"label":[1],"name":[1],"value":[1544],"helpText":[1,"help-text"],"required":[4],"disabled":[4],"autocomplete":[1],"min":[8],"max":[8],"minlength":[2],"maxlength":[2],"multiple":[4],"pattern":[1],"readonly":[4],"step":[8],"disableValidityReporting":[4,"disable-validity-reporting"],"allowShowPassword":[4,"allow-show-password"],"focused":[32],"valid":[32],"checkValidity":[64],"setCustomValidity":[64]}]]],["dnn-select",[[65,"dnn-select",{"label":[1],"name":[1],"required":[4],"helpText":[1,"help-text"],"disabled":[4],"disableValidityReporting":[4,"disable-validity-reporting"],"value":[1537],"focused":[32],"valid":[32],"customValidityMessage":[32],"checkValidity":[64]}]]],["dnn-textarea",[[65,"dnn-textarea",{"resizable":[1],"value":[1025],"label":[1],"name":[1],"helpText":[1,"help-text"],"required":[4],"disabled":[4],"autocomplete":[1],"minlength":[2],"maxlength":[2],"readonly":[4],"rows":[2],"focused":[32],"valid":[32],"customValidityMessage":[32],"checkValidity":[64],"setCustomValidity":[64]}]]],["dnn-treeview-item",[[1,"dnn-treeview-item",{"expanded":[1540],"hasChildren":[32],"focused":[32]},null,{"expanded":["watchExpanded"]}]]],["dnn-chevron",[[1,"dnn-chevron",{"expandText":[1,"expand-text"],"collapseText":[1,"collapse-text"],"expanded":[1540],"focused":[32]},null,{"expanded":["handleExpandedChanged"]}]]],["dnn-monaco-editor",[[66,"dnn-monaco-editor",{"language":[1],"value":[1025],"name":[1],"focused":[32]},null,{"language":["languageChanged"],"value":["valueChanged"]}]]],["dnn-progress-bar",[[1,"dnn-progress-bar",{"value":[2],"max":[2],"useGradient":[4,"use-gradient"]}]]],["dnn-richtext",[[65,"dnn-richtext",{"options":[16],"value":[1],"name":[1],"focused":[32]},null,{"value":["watchValueChanged"]}]]],["dnn-sort-icon",[[1,"dnn-sort-icon",{"sortDirection":[1025,"sort-direction"],"focused":[32]}]]],["dnn-toggle",[[65,"dnn-toggle",{"checked":[1028],"disabled":[4],"name":[1],"value":[1],"focused":[32]},[[2,"click","handleClick"]],{"checked":["checkedChanged"]}]]],["dnn-vertical-overflow-menu",[[1,"dnn-vertical-overflow-menu",{"showDropdownButton":[32],"showDropdownMenu":[32]}]]],["dnn-vertical-splitview",[[1,"dnn-vertical-splitview",{"splitterWidth":[2,"splitter-width"],"splitWidthPercentage":[1026,"split-width-percentage"],"leftWidth":[32],"rightWidth":[32],"setSplitWidthPercentage":[64],"getSplitWidthPercentage":[64]}]]],["dnn-checkbox",[[65,"dnn-checkbox",{"checked":[1025],"useIntermediate":[4,"use-intermediate"],"value":[1],"name":[1],"focused":[32]},[[2,"click","handleClick"]],{"checked":["handleCheckedChange"]}]]],["dnn-color-picker",[[1,"dnn-color-picker",{"color":[1],"colorBoxHeight":[1,"color-box-height"],"currentColor":[32],"rgbDisplay":[32],"hslDisplay":[32],"hexDisplay":[32],"focused":[32]},null,{"currentColor":["handeCurrentColorChanged"]}]]],["dnn-dropzone",[[65,"dnn-dropzone",{"resx":[16],"allowedExtensions":[16],"allowCameraMode":[4,"allow-camera-mode"],"captureQuality":[2,"capture-quality"],"maxFileSize":[2,"max-file-size"],"name":[1],"canTakeSnapshots":[32],"takingPicture":[32],"fileTooLarge":[32],"invalidExtension":[32],"localResx":[32],"focused":[32]},null,{"resx":["resxChanged"]}]]],["dnn-searchbox",[[1,"dnn-searchbox",{"placeholder":[1],"debounced":[4],"debounceTime":[2,"debounce-time"],"query":[1025],"focused":[32]},null,{"query":["handleQueryChanged"]}]]],["dnn-tab_2",[[1,"dnn-tab",{"tabTitle":[1,"tab-title"],"visible":[32],"show":[64],"hide":[64]}],[1,"dnn-tabs",{"tabTitles":[32],"selectedTabTitle":[32]}]]],["dnn-collapsible",[[1,"dnn-collapsible",{"expanded":[516],"transitionDuration":[2,"transition-duration"],"updateSize":[64]},[[0,"dnnCollapsibleHeightChanged","handleHeightChanged"]],{"expanded":["handledExpandedChanged"]}]]],["dnn-modal",[[1,"dnn-modal",{"backdropDismiss":[4,"backdrop-dismiss"],"closeText":[1,"close-text"],"resizable":[4],"showCloseButton":[4,"show-close-button"],"visible":[1540],"show":[64],"hide":[64]}]]],["dnn-button",[[65,"dnn-button",{"type":[1],"appearance":[1],"formButtonType":[1,"form-button-type"],"reversed":[4],"size":[1],"confirm":[4],"confirmYesText":[1,"confirm-yes-text"],"confirmNoText":[1,"confirm-no-text"],"confirmMessage":[1,"confirm-message"],"disabled":[4],"focused":[32],"modalVisible":[32]}]]],["dnn-permissions-grid",[[1,"dnn-permissions-grid",{"permissions":[1040],"roleGroups":[16],"roles":[16],"resx":[16],"foundUsers":[16],"selectedRoleGroupId":[32],"userQuery":[32],"pickedUser":[32],"localResx":[32],"focused":[32]},null,{"foundUsers":["handleFoundUsersChanged"],"resx":["resxChanged"]}]]],["dnn-fieldset",[[1,"dnn-fieldset",{"focused":[1540],"disabled":[1540],"invalid":[1540],"label":[1],"floatLabel":[1540,"float-label"],"helpText":[1,"help-text"],"resizable":[1],"customValidityMessage":[32],"setFocused":[64],"setBlurred":[64],"disable":[64],"enable":[64],"pinLabel":[64],"unpinLabel":[64],"setValidity":[64]}]]]], options);
20
20
  });
21
21
 
22
22
  //# sourceMappingURL=dnn.js.map
@@ -5,7 +5,7 @@ import { g as globalScripts } from './app-globals-0f993ce5.js';
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
7
7
  await globalScripts();
8
- return bootstrapLazy([["dnn-color-input",[[65,"dnn-color-input",{"color":[1025],"contrastColor":[1025,"contrast-color"],"lightColor":[1025,"light-color"],"darkColor":[1025,"dark-color"],"label":[1],"readonly":[4],"localization":[16],"name":[1],"helpText":[1,"help-text"],"useContrastColor":[4,"use-contrast-color"],"useLightColor":[4,"use-light-color"],"useDarkColor":[4,"use-dark-color"],"currentColor":[32],"focused":[32]},null,{"currentColor":["currentColorChanged"]}]]],["dnn-image-cropper",[[65,"dnn-image-cropper",{"width":[2],"height":[2],"resx":[16],"quality":[2],"preventUndersized":[4,"prevent-undersized"],"name":[1],"view":[32],"localResx":[32],"fileName":[32],"focused":[32],"clear":[64]},null,{"resx":["resxChanged"]}]]],["dnn-autocomplete",[[65,"dnn-autocomplete",{"label":[1],"name":[1],"helpText":[1,"help-text"],"value":[1537],"required":[4],"disabled":[4],"suggestions":[16],"renderSuggestion":[16],"totalSuggestions":[2,"total-suggestions"],"preloadThresholdPixels":[2,"preload-threshold-pixels"],"focused":[32],"valid":[32],"customValidityMessage":[32],"selectedIndex":[32],"positionInitialized":[32],"lastScrollTop":[32],"checkValidity":[64],"setCustomValidity":[64]},[[4,"click","handleOutsideClick"]]]]],["dnn-input",[[65,"dnn-input",{"type":[1025],"label":[1],"name":[1],"value":[1544],"helpText":[1,"help-text"],"required":[4],"disabled":[4],"autocomplete":[1],"min":[8],"max":[8],"minlength":[2],"maxlength":[2],"multiple":[4],"pattern":[1],"readonly":[4],"step":[8],"disableValidityReporting":[4,"disable-validity-reporting"],"allowShowPassword":[4,"allow-show-password"],"focused":[32],"valid":[32],"checkValidity":[64],"setCustomValidity":[64]}]]],["dnn-select",[[65,"dnn-select",{"label":[1],"name":[1],"required":[4],"helpText":[1,"help-text"],"disabled":[4],"disableValidityReporting":[4,"disable-validity-reporting"],"value":[1537],"focused":[32],"valid":[32],"customValidityMessage":[32],"checkValidity":[64]}]]],["dnn-textarea",[[65,"dnn-textarea",{"resizable":[1],"value":[1025],"label":[1],"name":[1],"helpText":[1,"help-text"],"required":[4],"disabled":[4],"autocomplete":[1],"minlength":[2],"maxlength":[2],"readonly":[4],"rows":[2],"focused":[32],"valid":[32],"customValidityMessage":[32],"checkValidity":[64],"setCustomValidity":[64]}]]],["dnn-treeview-item",[[1,"dnn-treeview-item",{"expanded":[1540],"hasChildren":[32],"focused":[32]},null,{"expanded":["watchExpanded"]}]]],["dnn-chevron",[[1,"dnn-chevron",{"expandText":[1,"expand-text"],"collapseText":[1,"collapse-text"],"expanded":[1540],"focused":[32]},null,{"expanded":["handleExpandedChanged"]}]]],["dnn-monaco-editor",[[66,"dnn-monaco-editor",{"language":[1],"value":[1025],"name":[1],"focused":[32]},null,{"language":["languageChanged"],"value":["valueChanged"]}]]],["dnn-progress-bar",[[1,"dnn-progress-bar",{"value":[2],"max":[2],"useGradient":[4,"use-gradient"]}]]],["dnn-richtext",[[65,"dnn-richtext",{"options":[16],"value":[1],"name":[1],"focused":[32]},null,{"value":["watchValueChanged"]}]]],["dnn-sort-icon",[[1,"dnn-sort-icon",{"sortDirection":[1025,"sort-direction"],"focused":[32]}]]],["dnn-toggle",[[65,"dnn-toggle",{"checked":[1028],"disabled":[4],"name":[1],"value":[1],"focused":[32]},null,{"checked":["checkedChanged"]}]]],["dnn-vertical-overflow-menu",[[1,"dnn-vertical-overflow-menu",{"showDropdownButton":[32],"showDropdownMenu":[32]}]]],["dnn-vertical-splitview",[[1,"dnn-vertical-splitview",{"splitterWidth":[2,"splitter-width"],"splitWidthPercentage":[1026,"split-width-percentage"],"leftWidth":[32],"rightWidth":[32],"setSplitWidthPercentage":[64],"getSplitWidthPercentage":[64]}]]],["dnn-checkbox",[[65,"dnn-checkbox",{"checked":[1025],"useIntermediate":[4,"use-intermediate"],"value":[1],"name":[1],"focused":[32]},null,{"checked":["handleCheckedChange"]}]]],["dnn-color-picker",[[1,"dnn-color-picker",{"color":[1],"colorBoxHeight":[1,"color-box-height"],"currentColor":[32],"rgbDisplay":[32],"hslDisplay":[32],"hexDisplay":[32],"focused":[32]},null,{"currentColor":["handeCurrentColorChanged"]}]]],["dnn-dropzone",[[65,"dnn-dropzone",{"resx":[16],"allowedExtensions":[16],"allowCameraMode":[4,"allow-camera-mode"],"captureQuality":[2,"capture-quality"],"maxFileSize":[2,"max-file-size"],"name":[1],"canTakeSnapshots":[32],"takingPicture":[32],"fileTooLarge":[32],"invalidExtension":[32],"localResx":[32],"focused":[32]},null,{"resx":["resxChanged"]}]]],["dnn-searchbox",[[1,"dnn-searchbox",{"placeholder":[1],"debounced":[4],"debounceTime":[2,"debounce-time"],"query":[1025],"focused":[32]},null,{"query":["handleQueryChanged"]}]]],["dnn-tab_2",[[1,"dnn-tab",{"tabTitle":[1,"tab-title"],"visible":[32],"show":[64],"hide":[64]}],[1,"dnn-tabs",{"tabTitles":[32],"selectedTabTitle":[32]}]]],["dnn-collapsible",[[1,"dnn-collapsible",{"expanded":[516],"transitionDuration":[2,"transition-duration"],"updateSize":[64]},[[0,"dnnCollapsibleHeightChanged","handleHeightChanged"]],{"expanded":["handledExpandedChanged"]}]]],["dnn-modal",[[1,"dnn-modal",{"backdropDismiss":[4,"backdrop-dismiss"],"closeText":[1,"close-text"],"resizable":[4],"showCloseButton":[4,"show-close-button"],"visible":[1540],"show":[64],"hide":[64]}]]],["dnn-button",[[65,"dnn-button",{"type":[1],"appearance":[1],"formButtonType":[1,"form-button-type"],"reversed":[4],"size":[1],"confirm":[4],"confirmYesText":[1,"confirm-yes-text"],"confirmNoText":[1,"confirm-no-text"],"confirmMessage":[1,"confirm-message"],"disabled":[4],"focused":[32],"modalVisible":[32]}]]],["dnn-permissions-grid",[[1,"dnn-permissions-grid",{"permissions":[1040],"roleGroups":[16],"roles":[16],"resx":[16],"foundUsers":[16],"selectedRoleGroupId":[32],"userQuery":[32],"pickedUser":[32],"localResx":[32],"focused":[32]},null,{"foundUsers":["handleFoundUsersChanged"],"resx":["resxChanged"]}]]],["dnn-fieldset",[[1,"dnn-fieldset",{"focused":[1540],"disabled":[1540],"invalid":[1540],"label":[1],"floatLabel":[1540,"float-label"],"helpText":[1,"help-text"],"resizable":[1],"customValidityMessage":[32],"setFocused":[64],"setBlurred":[64],"disable":[64],"enable":[64],"pinLabel":[64],"unpinLabel":[64],"setValidity":[64]}]]]], options);
8
+ return bootstrapLazy([["dnn-color-input",[[65,"dnn-color-input",{"color":[1025],"contrastColor":[1025,"contrast-color"],"lightColor":[1025,"light-color"],"darkColor":[1025,"dark-color"],"label":[1],"readonly":[4],"localization":[16],"name":[1],"helpText":[1,"help-text"],"useContrastColor":[4,"use-contrast-color"],"useLightColor":[4,"use-light-color"],"useDarkColor":[4,"use-dark-color"],"currentColor":[32],"focused":[32]},null,{"currentColor":["currentColorChanged"]}]]],["dnn-image-cropper",[[65,"dnn-image-cropper",{"width":[2],"height":[2],"resx":[16],"quality":[2],"preventUndersized":[4,"prevent-undersized"],"name":[1],"view":[32],"localResx":[32],"fileName":[32],"focused":[32],"clear":[64]},null,{"resx":["resxChanged"]}]]],["dnn-autocomplete",[[65,"dnn-autocomplete",{"label":[1],"name":[1],"helpText":[1,"help-text"],"value":[1537],"required":[4],"disabled":[4],"suggestions":[16],"renderSuggestion":[16],"totalSuggestions":[2,"total-suggestions"],"preloadThresholdPixels":[2,"preload-threshold-pixels"],"focused":[32],"valid":[32],"customValidityMessage":[32],"selectedIndex":[32],"positionInitialized":[32],"lastScrollTop":[32],"displayValue":[32],"checkValidity":[64],"setCustomValidity":[64]},[[4,"click","handleClick"]]]]],["dnn-input",[[65,"dnn-input",{"type":[1025],"label":[1],"name":[1],"value":[1544],"helpText":[1,"help-text"],"required":[4],"disabled":[4],"autocomplete":[1],"min":[8],"max":[8],"minlength":[2],"maxlength":[2],"multiple":[4],"pattern":[1],"readonly":[4],"step":[8],"disableValidityReporting":[4,"disable-validity-reporting"],"allowShowPassword":[4,"allow-show-password"],"focused":[32],"valid":[32],"checkValidity":[64],"setCustomValidity":[64]}]]],["dnn-select",[[65,"dnn-select",{"label":[1],"name":[1],"required":[4],"helpText":[1,"help-text"],"disabled":[4],"disableValidityReporting":[4,"disable-validity-reporting"],"value":[1537],"focused":[32],"valid":[32],"customValidityMessage":[32],"checkValidity":[64]}]]],["dnn-textarea",[[65,"dnn-textarea",{"resizable":[1],"value":[1025],"label":[1],"name":[1],"helpText":[1,"help-text"],"required":[4],"disabled":[4],"autocomplete":[1],"minlength":[2],"maxlength":[2],"readonly":[4],"rows":[2],"focused":[32],"valid":[32],"customValidityMessage":[32],"checkValidity":[64],"setCustomValidity":[64]}]]],["dnn-treeview-item",[[1,"dnn-treeview-item",{"expanded":[1540],"hasChildren":[32],"focused":[32]},null,{"expanded":["watchExpanded"]}]]],["dnn-chevron",[[1,"dnn-chevron",{"expandText":[1,"expand-text"],"collapseText":[1,"collapse-text"],"expanded":[1540],"focused":[32]},null,{"expanded":["handleExpandedChanged"]}]]],["dnn-monaco-editor",[[66,"dnn-monaco-editor",{"language":[1],"value":[1025],"name":[1],"focused":[32]},null,{"language":["languageChanged"],"value":["valueChanged"]}]]],["dnn-progress-bar",[[1,"dnn-progress-bar",{"value":[2],"max":[2],"useGradient":[4,"use-gradient"]}]]],["dnn-richtext",[[65,"dnn-richtext",{"options":[16],"value":[1],"name":[1],"focused":[32]},null,{"value":["watchValueChanged"]}]]],["dnn-sort-icon",[[1,"dnn-sort-icon",{"sortDirection":[1025,"sort-direction"],"focused":[32]}]]],["dnn-toggle",[[65,"dnn-toggle",{"checked":[1028],"disabled":[4],"name":[1],"value":[1],"focused":[32]},[[2,"click","handleClick"]],{"checked":["checkedChanged"]}]]],["dnn-vertical-overflow-menu",[[1,"dnn-vertical-overflow-menu",{"showDropdownButton":[32],"showDropdownMenu":[32]}]]],["dnn-vertical-splitview",[[1,"dnn-vertical-splitview",{"splitterWidth":[2,"splitter-width"],"splitWidthPercentage":[1026,"split-width-percentage"],"leftWidth":[32],"rightWidth":[32],"setSplitWidthPercentage":[64],"getSplitWidthPercentage":[64]}]]],["dnn-checkbox",[[65,"dnn-checkbox",{"checked":[1025],"useIntermediate":[4,"use-intermediate"],"value":[1],"name":[1],"focused":[32]},[[2,"click","handleClick"]],{"checked":["handleCheckedChange"]}]]],["dnn-color-picker",[[1,"dnn-color-picker",{"color":[1],"colorBoxHeight":[1,"color-box-height"],"currentColor":[32],"rgbDisplay":[32],"hslDisplay":[32],"hexDisplay":[32],"focused":[32]},null,{"currentColor":["handeCurrentColorChanged"]}]]],["dnn-dropzone",[[65,"dnn-dropzone",{"resx":[16],"allowedExtensions":[16],"allowCameraMode":[4,"allow-camera-mode"],"captureQuality":[2,"capture-quality"],"maxFileSize":[2,"max-file-size"],"name":[1],"canTakeSnapshots":[32],"takingPicture":[32],"fileTooLarge":[32],"invalidExtension":[32],"localResx":[32],"focused":[32]},null,{"resx":["resxChanged"]}]]],["dnn-searchbox",[[1,"dnn-searchbox",{"placeholder":[1],"debounced":[4],"debounceTime":[2,"debounce-time"],"query":[1025],"focused":[32]},null,{"query":["handleQueryChanged"]}]]],["dnn-tab_2",[[1,"dnn-tab",{"tabTitle":[1,"tab-title"],"visible":[32],"show":[64],"hide":[64]}],[1,"dnn-tabs",{"tabTitles":[32],"selectedTabTitle":[32]}]]],["dnn-collapsible",[[1,"dnn-collapsible",{"expanded":[516],"transitionDuration":[2,"transition-duration"],"updateSize":[64]},[[0,"dnnCollapsibleHeightChanged","handleHeightChanged"]],{"expanded":["handledExpandedChanged"]}]]],["dnn-modal",[[1,"dnn-modal",{"backdropDismiss":[4,"backdrop-dismiss"],"closeText":[1,"close-text"],"resizable":[4],"showCloseButton":[4,"show-close-button"],"visible":[1540],"show":[64],"hide":[64]}]]],["dnn-button",[[65,"dnn-button",{"type":[1],"appearance":[1],"formButtonType":[1,"form-button-type"],"reversed":[4],"size":[1],"confirm":[4],"confirmYesText":[1,"confirm-yes-text"],"confirmNoText":[1,"confirm-no-text"],"confirmMessage":[1,"confirm-message"],"disabled":[4],"focused":[32],"modalVisible":[32]}]]],["dnn-permissions-grid",[[1,"dnn-permissions-grid",{"permissions":[1040],"roleGroups":[16],"roles":[16],"resx":[16],"foundUsers":[16],"selectedRoleGroupId":[32],"userQuery":[32],"pickedUser":[32],"localResx":[32],"focused":[32]},null,{"foundUsers":["handleFoundUsersChanged"],"resx":["resxChanged"]}]]],["dnn-fieldset",[[1,"dnn-fieldset",{"focused":[1540],"disabled":[1540],"invalid":[1540],"label":[1],"floatLabel":[1540,"float-label"],"helpText":[1,"help-text"],"resizable":[1],"customValidityMessage":[32],"setFocused":[64],"setBlurred":[64],"disable":[64],"enable":[64],"pinLabel":[64],"unpinLabel":[64],"setValidity":[64]}]]]], options);
9
9
  };
10
10
 
11
11
  export { defineCustomElements };
@@ -52,10 +52,11 @@ export declare class DnnAutocomplete {
52
52
  selectedIndex: number;
53
53
  positionInitialized: boolean;
54
54
  lastScrollTop: number;
55
+ displayValue: string;
55
56
  /** attacth the internals for form validation */
56
57
  internals: ElementInternals;
57
58
  /** Listener for mouse down event */
58
- handleOutsideClick(e: MouseEvent): void;
59
+ handleClick(e: MouseEvent): void;
59
60
  componentDidRender(): void;
60
61
  private inputField;
61
62
  private suggestionsContainer;
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import { CheckedState } from './types';
3
3
  /**
4
- * @slot - The label for the checkbox.
4
+ * @slot @deprecated - The label for the checkbox - Obsolete, implement your own label.
5
5
  * @slot checkedicon - Allows overriding the default checked icon.
6
6
  * @slot uncheckedicon - Allows overriding the unchecked icon.
7
7
  * @slot intermediateicon - If intermadiate state is used, allows overriding its icon.
@@ -18,6 +18,7 @@ export declare class DnnCheckbox {
18
18
  name: string;
19
19
  /** Fires up when the checkbox checked property changes. */
20
20
  checkedchange: EventEmitter<"checked" | "unchecked" | "intermediate">;
21
+ handleClick(): void;
21
22
  focused: boolean;
22
23
  internals: ElementInternals;
23
24
  private originalChecked;
@@ -12,6 +12,7 @@ export declare class DnnToggle {
12
12
  value: string;
13
13
  /** Fires when the toggle changed */
14
14
  checkChanged: EventEmitter<DnnToggleChangeEventDetail>;
15
+ handleClick(): void;
15
16
  internals: ElementInternals;
16
17
  checkedChanged(newValue: boolean): void;
17
18
  focused: boolean;
@@ -125,6 +125,9 @@ export namespace Components {
125
125
  */
126
126
  "type": 'primary' | 'danger' | 'secondary' | 'tertiary';
127
127
  }
128
+ /**
129
+ * @deprecated - The label for the checkbox - Obsolete, implement your own label.
130
+ */
128
131
  interface DnnCheckbox {
129
132
  /**
130
133
  * Defines if the checkbox is checked (true) or unchecked (false) or in an intermediate state (undefined)
@@ -860,6 +863,9 @@ declare global {
860
863
  interface HTMLDnnCheckboxElementEventMap {
861
864
  "checkedchange": "checked" | "unchecked" | "intermediate";
862
865
  }
866
+ /**
867
+ * @deprecated - The label for the checkbox - Obsolete, implement your own label.
868
+ */
863
869
  interface HTMLDnnCheckboxElement extends Components.DnnCheckbox, HTMLStencilElement {
864
870
  addEventListener<K extends keyof HTMLDnnCheckboxElementEventMap>(type: K, listener: (this: HTMLDnnCheckboxElement, ev: DnnCheckboxCustomEvent<HTMLDnnCheckboxElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
865
871
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
@@ -1386,6 +1392,9 @@ declare namespace LocalJSX {
1386
1392
  */
1387
1393
  "type"?: 'primary' | 'danger' | 'secondary' | 'tertiary';
1388
1394
  }
1395
+ /**
1396
+ * @deprecated - The label for the checkbox - Obsolete, implement your own label.
1397
+ */
1389
1398
  interface DnnCheckbox {
1390
1399
  /**
1391
1400
  * Defines if the checkbox is checked (true) or unchecked (false) or in an intermediate state (undefined)
@@ -2053,6 +2062,9 @@ declare module "@stencil/core" {
2053
2062
  interface IntrinsicElements {
2054
2063
  "dnn-autocomplete": LocalJSX.DnnAutocomplete & JSXBase.HTMLAttributes<HTMLDnnAutocompleteElement>;
2055
2064
  "dnn-button": LocalJSX.DnnButton & JSXBase.HTMLAttributes<HTMLDnnButtonElement>;
2065
+ /**
2066
+ * @deprecated - The label for the checkbox - Obsolete, implement your own label.
2067
+ */
2056
2068
  "dnn-checkbox": LocalJSX.DnnCheckbox & JSXBase.HTMLAttributes<HTMLDnnCheckboxElement>;
2057
2069
  "dnn-chevron": LocalJSX.DnnChevron & JSXBase.HTMLAttributes<HTMLDnnChevronElement>;
2058
2070
  "dnn-collapsible": LocalJSX.DnnCollapsible & JSXBase.HTMLAttributes<HTMLDnnCollapsibleElement>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dnncommunity/dnn-elements",
3
- "version": "0.24.0-beta.8",
3
+ "version": "0.24.0",
4
4
  "description": "Dnn themed custom elements.",
5
5
  "repository": "https://github.com/dnncommunity/dnn-elements",
6
6
  "homepage": "https://dnncommunity.github.io/dnn-elements",
@@ -1,2 +0,0 @@
1
- import{r as e,c as i,h as t,H as s}from"./p-978abd50.js";import{a}from"./p-5df01911.js";const d=":host{--border-color:var(--dnn-color-tertiary-contrast, lightgray);--border-radius:var(--dnn-controls-radius, 5px);--drop-background-color:var(--dnn-color-tertiary, lightblue);display:flex;flex-direction:column;gap:1rem;text-align:center;border:2px dashed var(--border-color);border-radius:var(--border-radius);padding:1rem;transition:all 300ms ease-in-out}:host(.dropping){background-color:var(--drop-background-color)}p{margin:0;padding:0}button{display:flex;justify-content:center;align-items:center;border:0px;margin:0;padding:0;background-color:transparent}button:hover{cursor:pointer}button svg{margin-right:0.5rem}label.upload-file{display:flex;justify-content:center;align-items:center;cursor:pointer}label.upload-file input{display:none}.video-preview{display:flex;flex-direction:column;align-items:center}.video-preview button{margin:1rem}.error{color:red}";const r=d;const n=class{constructor(t){e(this,t);this.filesSelected=i(this,"filesSelected",7);if(t.$hostElement$["s-ei"]){this.internals=t.$hostElement$["s-ei"]}else{this.internals=t.$hostElement$.attachInternals();t.$hostElement$["s-ei"]=this.internals}this.defaultResx={dragAndDropFile:"Drag and drop a file",capture:"Capture",or:"or",takePicture:"Take a picture",uploadFile:"Upload a file",uploadSizeTooLarge:"The file you tried to upload is too large.",fileSizeLimit:"The maximum size is {0}",invalidExtension:"The file you tried to upload has an invalid extension.",allowedFileExtensions:"Allowed file extensions: {0}"};this.handleDragOver=e=>{e.stopPropagation();e.preventDefault();e.dataTransfer.dropEffect="copy";this.dropzone.classList.add("dropping")};this.handleDrop=e=>{this.invalidExtension=false;this.fileTooLarge=false;e.stopPropagation();e.preventDefault();const i=e.dataTransfer.files;if(this.hasInvalidExtensions(Array.from(i))){this.invalidExtension=true;return}if(this.isAnyFileLargerThanAllowed(Array.from(i))){this.fileTooLarge=true;return}var t=this.getFilesFromFileList(i);this.filesSelected.emit(t)};this.resx=undefined;this.allowedExtensions=undefined;this.allowCameraMode=false;this.captureQuality=.8;this.maxFileSize=undefined;this.name=undefined;this.canTakeSnapshots=false;this.takingPicture=false;this.fileTooLarge=false;this.invalidExtension=false;this.localResx=undefined;this.focused=false}componentWillLoad(){this.mergeResx()}componentDidLoad(){if(this.allowCameraMode){this.checkIfBrowserCanTakeSnapshots().then((e=>this.canTakeSnapshots=e))}if(this.allowedExtensions!=undefined&&this.allowedExtensions.length>0){var e=this.allowedExtensions.map((e=>`.${e}`));var i=e.join(",");this.fileInput.accept=i}}resxChanged(){this.mergeResx()}formResetCallback(){this.internals.setValidity({});this.fileInput.value="";this.internals.setFormValue("")}mergeResx(){this.localResx=Object.assign(Object.assign({},this.defaultResx),this.resx)}checkIfBrowserCanTakeSnapshots(){return new Promise((e=>{const i=navigator.mediaDevices;if(i==undefined||i.enumerateDevices==undefined){e(false)}i.enumerateDevices().then((i=>{var t=i.some((e=>e.kind=="videoinput"));e(t)}))}))}getFilesFromFileList(e){var i=[];for(let t=0;t<e.length;t++){const s=e[t];i.push(s)}return i}isAnyFileLargerThanAllowed(e){if(this.maxFileSize==undefined||this.maxFileSize<=0){return false}if(e.some((e=>e.size>this.maxFileSize))){return true}return false}handleUploadKeyDown(e){if(e.key==="Enter"||e.key===" "){e.preventDefault();this.fileInput.click()}}handleUploadButton(e){this.fileTooLarge=false;this.invalidExtension=false;let i=this.getFilesFromFileList(e.files);if(this.isAnyFileLargerThanAllowed(i)){this.fileTooLarge=true;return}if(this.hasInvalidExtensions(i)){this.invalidExtension=true;return}this.filesSelected.emit(i);if(this.name!=undefined&&this.name.length>0){var t=new FormData;i.forEach((e=>{t.append(this.name,e)}));this.internals.setFormValue(t)}}hasInvalidExtensions(e){var i,t;var s=false;for(let r=0;r<e.length;r++){const n=e[r];var a=/(?:\.([^.]+))?$/;const o=(i=a.exec(n.name)[1])===null||i===void 0?void 0:i.toLowerCase();if(o==undefined){s=true}var d=(t=this.allowedExtensions)===null||t===void 0?void 0:t.map((e=>e.toLowerCase()));if(this.allowedExtensions!=undefined&&!(d===null||d===void 0?void 0:d.includes(o))){s=true}return s}}takeSnapshot(){this.takingPicture=true;navigator.mediaDevices.getUserMedia({video:true,audio:false}).then((e=>{this.videoPreview.srcObject=e;this.videoPreview.play().then((()=>{this.videoSettings=e.getVideoTracks()[0].getSettings()}))})).catch((e=>alert(e)))}applySnapshot(){var e=document.createElement("canvas");const i=e.getContext("2d");e.width=this.videoSettings.width;e.height=this.videoSettings.height;i.drawImage(this.videoPreview,0,0);e.toBlob((e=>{var i=new File([e],"image.jpeg",{type:"image/jpeg"});this.takingPicture=false;var t=[i];this.filesSelected.emit(t)}),"image/jpeg",this.captureQuality)}getInvalidExtensionsMessage(){var e=this.localResx.allowedFileExtensions;var e=e.replace("{0}",this.allowedExtensions.join(", "));return e}render(){var e,i,d,r,n,o;return t(s,{key:"6608b85ebba7b7314db57d0c49a7171637bdfaed",ref:e=>this.dropzone=e,class:"dropzone",onDragOver:e=>this.handleDragOver(e),onDrop:e=>this.handleDrop(e),onDragLeave:()=>this.dropzone.classList.remove("dropping"),tabIndex:this.focused?-1:0,onFocus:()=>this.uploadLabel.focus(),onBlur:()=>this.uploadLabel.blur()},!this.takingPicture&&[t("p",{key:"35ab671d7aeeb20544224614971f4ef1a2a0b8cc"},(e=this.localResx)===null||e===void 0?void 0:e.dragAndDropFile),t("p",{key:"c06aea19c7321e0e7dd86d877965c366fb87a0b4"},"- ",(i=this.localResx)===null||i===void 0?void 0:i.or," -"),t("label",{key:"6a0d18aa5dc5d398dc66ab897e338798cc908abf",class:"upload-file",tabIndex:0,onKeyDown:e=>this.handleUploadKeyDown(e),ref:e=>this.uploadLabel=e,onFocus:()=>this.focused=true,onBlur:()=>this.focused=false},t("input",{key:"4338b34785c38872f6d6e8138f32910f3aa969e5",type:"file",ref:e=>this.fileInput=e,onChange:e=>this.handleUploadButton(e.target)}),t("span",{key:"e19b2bc369417aea4549b7c4f8cbf5cd82eb5038"},t("svg",{key:"460447b54c87e4e764c730d63d04109649b0e5bd",xmlns:"http://www.w3.org/2000/svg","enable-background":"new 0 0 24 24",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#000000"},t("g",{key:"3e987857304dcb3b00658c5b59c9d71b537827bd"},t("rect",{key:"2ef89e26cf62fec520c2c0e28e1dd84ce127e78f",fill:"none",height:"24",width:"24"})),t("g",{key:"c128c63a6474b183071c88146b8f3709c3638ceb"},t("path",{key:"491efacd9c0877133074a0899b1d92702c514f34",d:"M5,20h14v-2H5V20z M5,10h4v6h6v-6h4l-7-7L5,10z"}))))," ",(d=this.localResx)===null||d===void 0?void 0:d.uploadFile),this.canTakeSnapshots&&[t("p",{key:"6105868196fddc2c7276b1768316619236aeb810"},"- ",(r=this.localResx)===null||r===void 0?void 0:r.or," -"),t("button",{key:"fedf250dfb20152576240cdf0f77a61e30809e19",onClick:()=>this.takeSnapshot()},t("svg",{key:"a8f6f1cb019dd3bb51b97b47e9449a05dac4084a",xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#000000"},t("path",{key:"730307ea0b4bcf4ea57e53fa6b47982ca9d8e277",d:"M0 0h24v24H0z",fill:"none"}),t("circle",{key:"b86742f1f09c98cdb755b3f6c07a8c59f92c9132",cx:"12",cy:"12",r:"3.2"}),t("path",{key:"46743718f4d58f109e0ce1a554800e0e77ed3fe8",d:"M9 2L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z"})),(n=this.localResx)===null||n===void 0?void 0:n.takePicture)]],this.takingPicture&&t("div",{key:"98089e0d3d6c77c68d22d4f490dfe00d8cf0647a",class:"video-preview"},t("video",{key:"badfea495c6b99702403b6ae40f7172efd2657e8",ref:e=>this.videoPreview=e}),t("button",{key:"78401461e485ac9de845fe618d327f18ed82f6fe",onClick:()=>this.applySnapshot()},t("svg",{key:"c6a26b54bf3f16c7430e5fec893b9d0f5d41a5e1",xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#000000"},t("path",{key:"c89c76d9f2771f4ed31fc7a7322dc88109257cf2",d:"M0 0h24v24H0z",fill:"none"}),t("circle",{key:"e3136fe39c3d78d3f5a5e176000f277b74fca3b5",cx:"12",cy:"12",r:"3.2"}),t("path",{key:"65e635efbb337b80974e550e64441e7d7c97fa22",d:"M9 2L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z"}))," ",(o=this.localResx)===null||o===void 0?void 0:o.capture)),this.fileTooLarge&&t("div",{key:"cbb7a4576bf76aed41393768d52fec1ac55de96d",class:"error"},t("p",{key:"e4e287d4a6ffcf8efff38f8de3c2091e24549733"},this.localResx.uploadSizeTooLarge,t("br",{key:"9b7e2d741f1e5a99f4f8ff30081832ae03b0720e"}),this.localResx.fileSizeLimit.replace("{0}",a(this.maxFileSize)))),this.invalidExtension&&t("div",{key:"5c1d76222475b94ce5fcd2519db9d5ffa56b983e",class:"error"},t("p",{key:"31b4dbc1e612db9634061acc4abd4390be401f28"},this.localResx.invalidExtension,t("br",{key:"87a3bea37f1252b347747fbd00ffeda7822a0db6"}),this.getInvalidExtensionsMessage())))}static get formAssociated(){return true}static get watchers(){return{resx:["resxChanged"]}}};n.style=r;export{n as dnn_dropzone};
2
- //# sourceMappingURL=p-2486e9db.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as i,c as t,h as e,H as s,g as n}from"./p-978abd50.js";import{D as h}from"./p-78c57746.js";const o=":host{display:inline-block;--foreground-color:var(--dnn-color-foreground, #000);--background-color:var(--dnn-color-background, #fff);--focus-color:var(--dnn-color-primary, #3792ED);--danger-color:var(--dnn-color-danger, #900);--control-radius:var(--dnn-controls-radius, 3px)}dnn-fieldset{width:100%}@keyframes shift{0%{background-position:0% 0}50%{background-position:100% 0}100%{background-position:200% 0}}.inner-container{display:flex;justify-content:space-between;position:relative;width:100%}.inner-container input{border:none;outline:none;background-color:transparent;color:var(--foreground-color);text-align:var(--input-text-align);width:100%}.inner-container svg.chevron-down{height:1rem;width:auto;transform:scale(1.2);cursor:pointer}.inner-container ul{position:absolute;border:1px solid lightgray;margin:0;padding:var(--dnn-controls-radius, 3px) 0;overflow-y:auto;width:100%;box-shadow:2px 2px 6px 1px rgba(0, 0, 0, 0.3);background-color:var(--dnn-color-background, white);border-radius:var(--dnn-controls-radius, 3px);z-index:2;display:none;scroll-behavior:smooth}.inner-container ul.show{display:block}.inner-container ul li{display:block;list-style-type:none;cursor:pointer;padding:0 0.5rem}.inner-container ul li.selected{background-color:lightgray}.inner-container ul li:hover{background-color:lightgray}.inner-container ul .loading{width:100%;height:0.5rem;border-radius:0.5rem;background:linear-gradient(to right, var(--background-color) 0%, var(--foreground-color) 50%, var(--background-color) 100%);background-size:200% 100%;animation:shift 2s linear infinite;width:75%;margin:0 auto;opacity:0.5}";const r=o;var a=undefined&&undefined.__decorate||function(i,t,e,s){var n=arguments.length,h=n<3?t:s===null?s=Object.getOwnPropertyDescriptor(t,e):s,o;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")h=Reflect.decorate(i,t,e,s);else for(var r=i.length-1;r>=0;r--)if(o=i[r])h=(n<3?o(h):n>3?o(t,e,h):o(t,e))||h;return n>3&&h&&Object.defineProperty(t,e,h),h};const d=class{constructor(e){i(this,e);this.valueChange=t(this,"valueChange",7);this.valueInput=t(this,"valueInput",7);this.needMoreItems=t(this,"needMoreItems",7);this.searchQueryChanged=t(this,"searchQueryChanged",7);this.itemSelected=t(this,"itemSelected",7);if(e.$hostElement$["s-ei"]){this.internals=e.$hostElement$["s-ei"]}else{this.internals=e.$hostElement$.attachInternals();e.$hostElement$["s-ei"]=this.internals}this.adjustDropdownPosition=()=>{var i=this.findAverageSuggestionHeight();requestAnimationFrame((()=>{this.positionInitialized=true}));var t=window.innerHeight-this.inputField.getBoundingClientRect().bottom;const e=parseFloat(getComputedStyle(document.documentElement).fontSize);const s=t>3*i+3*e;if(s){this.suggestionsContainer.style.top="1.2rem"}else{this.suggestionsContainer.style.bottom="1.2rem"}if(s){this.suggestionsContainer.style.maxHeight=`${t-3*e}px`}else{this.suggestionsContainer.style.maxHeight=`${this.inputField.getBoundingClientRect().top-3*e}px`}this.checkIfMoreItemsNeeded()};this.label=undefined;this.name=undefined;this.helpText=undefined;this.value=undefined;this.required=undefined;this.disabled=undefined;this.suggestions=[];this.renderSuggestion=undefined;this.totalSuggestions=undefined;this.preloadThresholdPixels=1e3;this.focused=false;this.valid=true;this.customValidityMessage=undefined;this.selectedIndex=undefined;this.positionInitialized=false;this.lastScrollTop=0}async checkValidity(){return this.inputField.validity}async setCustomValidity(i){if(i==undefined||i==""){this.inputField.setCustomValidity("");this.valid=true;this.fieldset.setValidity(true);return}this.inputField.setCustomValidity(i);this.valid=false;this.fieldset.setValidity(false,i)}handleOutsideClick(i){const t=i.composedPath();if(!t.includes(this.element)){this.focused=false}}componentDidRender(){if(this.focused&&this.suggestions.length>0&&!this.positionInitialized){this.adjustDropdownPosition()}}formResetCallback(){this.inputField.setCustomValidity("");this.valid=true;this.value="";this.internals.setValidity({});this.internals.setFormValue("")}handleInput(i){const t=i.target.value;this.value=t;var e=this.inputField.checkValidity();this.valid=e;this.valueInput.emit(t);this.handleSearchQueryChanged(t)}handleSearchQueryChanged(i){this.searchQueryChanged.emit(i)}handleInvalid(){this.valid=false;if(this.customValidityMessage==undefined){this.customValidityMessage=this.inputField.validationMessage}}handleChange(){this.valueChange.emit(this.value);if(this.name!=undefined){var i=new FormData;i.append(this.name,this.value.toString());this.internals.setFormValue(i)}}shouldLabelFloat(){if(this.focused){return false}if(this.value!=undefined&&this.value!=""){return false}return true}findAverageSuggestionHeight(){const i=this.suggestionsContainer.querySelectorAll("li");var t=0;for(let e=0;e<i.length;e++){t+=i[e].clientHeight}return t/i.length}handleKeyDown(i){var t;if(i.key==="ArrowDown"){i.preventDefault();if(this.selectedIndex==undefined){this.selectedIndex=0}else{this.selectedIndex=Math.min(this.selectedIndex+1,this.suggestions.length-1)}}if(i.key==="ArrowUp"){i.preventDefault();if(this.selectedIndex==undefined){this.selectedIndex=this.suggestions.length-1}else{this.selectedIndex=Math.max(this.selectedIndex-1,0)}}this.value=((t=this.suggestions[this.selectedIndex])===null||t===void 0?void 0:t.value)||this.value;if(i.key==="Enter"){var e=this.suggestions[this.selectedIndex];this.value=e.value;this.inputField.value=e.label;this.itemSelected.emit(e.value);this.focused=false}if(i.key==="Tab"){this.focused=false}}selectItem(i,t){i.preventDefault();i.stopPropagation();this.selectedIndex=t;this.value=this.suggestions[this.selectedIndex].value;this.focused=false;this.itemSelected.emit(this.suggestions[this.selectedIndex].value)}getVirtualScrollHeight(){const i=this.findAverageSuggestionHeight();const t=this.totalSuggestions-this.suggestions.length;return i*t}handleDropdownClick(){this.handleSearchQueryChanged(this.value)}handleSuggestionsScroll(){const i=this.suggestionsContainer;const t=i.scrollTop;if(t>this.lastScrollTop){const e=i.querySelector(".loading");if(e==undefined){this.lastScrollTop=t;return}const s=e.offsetTop;const n=e.offsetHeight;const h=s+n;const o=t+i.clientHeight;if(o>h){i.scrollTop=h-i.clientHeight}this.checkIfMoreItemsNeeded()}this.lastScrollTop=t}checkIfMoreItemsNeeded(){const i=this.suggestionsContainer;const t=i.querySelector(".loading");if(t==undefined)return;const e=i.scrollTop+i.clientHeight;const s=t.offsetTop;if(s-e<this.preloadThresholdPixels){const i={searchTerm:this.inputField.value};this.needMoreItems.emit(i)}}handleBlur(){this.focused=false;var i=this.inputField.checkValidity();this.valid=i;this.fieldset.setValidity(i,this.inputField.validationMessage);this.internals.setValidity(this.inputField.validity,this.inputField.validationMessage)}render(){var i;return e(s,{key:"9eab75ca413ef3f1e2fd03fd297e3234405cf591",tabIndex:this.focused?-1:0,onFocus:()=>this.inputField.focus(),onBlur:()=>this.inputField.blur()},e("dnn-fieldset",{key:"3a6435b32891b0d8da6ad6103b3794e145e9f3b6",ref:i=>this.fieldset=i,invalid:!this.valid,focused:this.focused,label:`${(i=this.label)!==null&&i!==void 0?i:""}${this.required?" *":""}`,helpText:this.helpText,id:this.labelId,disabled:this.disabled,floatLabel:this.shouldLabelFloat()},e("div",{key:"ba9102f4739a8e0092bca6a9b13fe4afa5bf60ec",class:"inner-container"},e("input",{key:"beafefbaa7398b281e8d55a1c2f8e43bd5efb23a",ref:i=>this.inputField=i,name:this.name,type:"search",role:"combobox","aria-haspopup":"listbox","aria-expanded":this.focused.toString(),"aria-activedescendant":this.selectedIndex!==undefined?`option-${this.selectedIndex}`:undefined,disabled:this.disabled,required:this.required,autoComplete:"off",value:this.suggestions.length>0&&this.selectedIndex!=undefined?this.suggestions[this.selectedIndex].label:this.value,onFocus:()=>this.focused=true,onBlur:()=>this.handleBlur(),onInput:i=>this.handleInput(i),onInvalid:()=>this.handleInvalid(),onChange:()=>this.handleChange(),"aria-labelledby":this.labelId,onKeyDown:i=>this.handleKeyDown(i)}),e("ul",{key:"b299d725498438b2534d0173fba34eee66c78ee2",class:this.focused&&this.suggestions.length>0?"show":"",role:"listbox",ref:i=>this.suggestionsContainer=i,onScroll:()=>this.handleSuggestionsScroll()},this.suggestions.map(((i,t)=>e("li",{id:`option-${t}`,role:"option","aria-selected":this.selectedIndex==t,class:this.selectedIndex==t?"selected":"",onClick:i=>this.selectItem(i,t)},this.renderSuggestion!=undefined?this.renderSuggestion(i):i.label))),this.totalSuggestions!=undefined&&this.totalSuggestions>this.suggestions.length&&e("div",{key:"1be08bd2a97113d4ee68f3099fa025ccf7e051b7",class:"loading"}),this.totalSuggestions!=undefined&&this.totalSuggestions>this.suggestions.length&&this.positionInitialized&&e("div",{key:"efdadf5afa162de0148525f3394dd0c29c0da23a",style:{height:`${this.getVirtualScrollHeight()}px`}})),e("svg",{key:"1ce44347eec5d871c245658700e0862ddc480c4a",onClick:()=>this.handleDropdownClick(),class:"chevron-down",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -960 960 960"},e("path",{key:"63dde5f0d50fd2085218431af1d6b15b9d3af8df",d:"M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z"})))))}static get formAssociated(){return true}get element(){return n(this)}};a([h(300)],d.prototype,"handleSearchQueryChanged",null);a([h(100)],d.prototype,"handleSuggestionsScroll",null);a([h()],d.prototype,"checkIfMoreItemsNeeded",null);d.style=r;export{d as dnn_autocomplete};
2
- //# sourceMappingURL=p-27dc2d8f.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["dnnAutocompleteCss","DnnAutocompleteStyle0","DnnAutocomplete","this","adjustDropdownPosition","itemHeight","findAverageSuggestionHeight","requestAnimationFrame","positionInitialized","spaceBelow","window","innerHeight","inputField","getBoundingClientRect","bottom","rem","parseFloat","getComputedStyle","document","documentElement","fontSize","fitsDown","suggestionsContainer","style","top","maxHeight","checkIfMoreItemsNeeded","checkValidity","validity","setCustomValidity","message","undefined","valid","fieldset","setValidity","handleOutsideClick","e","path","composedPath","includes","element","focused","componentDidRender","suggestions","length","formResetCallback","value","internals","setFormValue","handleInput","target","valueInput","emit","handleSearchQueryChanged","searchQueryChanged","handleInvalid","customValidityMessage","validationMessage","handleChange","valueChange","name","data","FormData","append","toString","shouldLabelFloat","suggestionItems","querySelectorAll","totalHeight","i","clientHeight","handleKeyDown","key","preventDefault","selectedIndex","Math","min","max","_a","selectedItem","label","itemSelected","selectItem","index","stopPropagation","getVirtualScrollHeight","upcomingItems","totalSuggestions","handleDropdownClick","handleSuggestionsScroll","container","currentScrollTop","scrollTop","lastScrollTop","loadingDiv","querySelector","loadingDivPosition","offsetTop","loadingDivHeight","offsetHeight","loadingDivBottom","visibleBottom","scrollPosition","preloadThresholdPixels","eventArgs","searchTerm","needMoreItems","handleBlur","render","h","Host","tabIndex","onFocus","focus","onBlur","blur","ref","el","invalid","required","helpText","id","labelId","disabled","floatLabel","class","type","role","autoComplete","onInput","onInvalid","onChange","onKeyDown","onScroll","map","suggestion","onClick","renderSuggestion","height","xmlns","viewBox","d","__decorate","Debounce"],"sources":["src/components/dnn-autocomplete/dnn-autocomplete.scss?tag=dnn-autocomplete&encapsulation=shadow","src/components/dnn-autocomplete/dnn-autocomplete.tsx"],"sourcesContent":[":host {\n display: inline-block;\n\n /** @prop --foreground-color: Defines the foreground color. */\n --foreground-color: var(--dnn-color-foreground, #000);\n\n /** @prop --background-color: Defines the background color. */\n --background-color: var(--dnn-color-background, #fff);\n\n /** @prop --focus-color: Defines the color when the component is focused. */\n --focus-color: var(--dnn-color-primary, #3792ED);\n\n /** @prop --danger-color: Defines the danger color used for invalid data. */\n --danger-color: var(--dnn-color-danger, #900);\n\n /** @prop --control-radius: Defines the radius for the control corners. */\n --control-radius: var(--dnn-controls-radius, 3px);\n}\n\ndnn-fieldset{\n width: 100%;\n}\n\n@keyframes shift {\n 0% {\n background-position: 0% 0;\n }\n 50% {\n background-position: 100% 0;\n }\n 100% {\n background-position: 200% 0;\n }\n}\n\n.inner-container{\n display: flex;\n justify-content: space-between;\n position: relative;\n width: 100%;\n\n input {\n border: none;\n outline: none;\n background-color: transparent;\n color: var(--foreground-color);\n text-align: var(--input-text-align);\n width: 100%;\n }\n\n svg.chevron-down{\n height: 1rem;\n width: auto;\n transform: scale(1.2);\n cursor: pointer;\n }\n\n ul{\n position: absolute;\n border: 1px solid lightgray;\n margin: 0;\n padding: var(--dnn-controls-radius, 3px) 0;\n overflow-y: auto;\n width: 100%;\n box-shadow: 2px 2px 6px 1px rgb(0 0 0 / 30%);\n background-color: var(--dnn-color-background, white);\n border-radius: var(--dnn-controls-radius, 3px);\n z-index: 2;\n display: none;\n scroll-behavior: smooth;\n &.show{\n display: block;\n }\n li {\n display: block;\n list-style-type: none;\n cursor: pointer;\n padding: 0 0.5rem;\n &.selected {\n background-color: lightgray;\n }\n &:hover {\n background-color: lightgray;\n }\n }\n .loading {\n width: 100%;\n height: 0.5rem;\n border-radius: 0.5rem;\n background: linear-gradient(\n to right,\n var(--background-color) 0%,\n var(--foreground-color) 50%,\n var(--background-color) 100%);\n background-size: 200% 100%;\n animation: shift 2s linear infinite;\n width: 75%;\n margin: 0 auto;\n opacity: 0.5;\n }\n }\n}\n","import { Component, Prop, State, Event, Element, h, Host, EventEmitter, Method, AttachInternals, Listen } from '@stencil/core';\nimport { DnnAutocompleteSuggestion, NeedMoreItemsEventArgs } from './types';\nimport { Debounce } from '../../utilities/debounce';\n\n@Component({\n tag: 'dnn-autocomplete',\n styleUrl: 'dnn-autocomplete.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class DnnAutocomplete {\n\n /** The label for this autocomplete. */\n @Prop() label: string;\n\n /** The name for this autocomplete when used in forms. */\n @Prop() name: string;\n\n /** Defines the help label displayed under the field. */\n @Prop() helpText: string;\n\n /** Defines the value for this autocomplete */\n @Prop({mutable: true, reflect: true}) value: string;\n\n /** Defines whether the field requires having a value. */\n @Prop() required: boolean;\n\n /** Defines whether the field is disabled. */\n @Prop() disabled: boolean;\n\n /** Sets the list of suggestions. */\n @Prop() suggestions: DnnAutocompleteSuggestion[] = [];\n\n /** Callback to render suggestions, if not provided, only the label will be rendered. */\n @Prop() renderSuggestion: (suggestion: DnnAutocompleteSuggestion) => HTMLElement;\n\n /** The total amount of suggestions for the given search query.\n * This can be used to show virtual scroll and pagination progressive feeding.\n * The needMoreItems event should be used to request more items.\n */\n @Prop() totalSuggestions: number;\n\n /** How many suggestions to preload in pixels of their height.\n * This is used to calculate the virtual scroll height and request\n * more items before they get into view.\n */\n @Prop() preloadThresholdPixels: number = 1000;\n\n @Element() element: HTMLDnnAutocompleteElement;\n\n /** Fires when the value has changed and the user exits the input. */\n @Event() valueChange: EventEmitter<number | string | string[]>;\n\n /** Fires when the using is inputing data (on keystrokes). */\n @Event() valueInput: EventEmitter<number | string | string[]>;\n\n /** Fires when the component needs to display more items in the suggestions. */\n @Event() needMoreItems: EventEmitter<NeedMoreItemsEventArgs>;\n\n /** Fires when the search query has changed.\n * This is almost like valueInput, but it is debounced\n * and can be used to trigger a search query without overloading\n * API endpoints while typing.\n */\n @Event() searchQueryChanged: EventEmitter<string>;\n \n /** Fires when an item is selected. */\n @Event() itemSelected: EventEmitter<string>;\n\n /** Reports the input validity details. See https://developer.mozilla.org/en-US/docs/Web/API/ValidityState */\n @Method()\n async checkValidity(): Promise<ValidityState> {\n return this.inputField.validity;\n }\n \n /** Can be used to set a custom validity message. */\n @Method()\n async setCustomValidity(message: string): Promise<void> {\n if (message == undefined || message == \"\") {\n this.inputField.setCustomValidity(\"\");\n this.valid = true;\n this.fieldset.setValidity(true);\n return;\n }\n\n this.inputField.setCustomValidity(message);\n this.valid = false;\n this.fieldset.setValidity(false, message);\n }\n\n @State() focused = false;\n @State() valid = true;\n @State() customValidityMessage: string;\n @State() selectedIndex: number;\n @State() positionInitialized = false;\n @State() lastScrollTop = 0;\n \n /** attacth the internals for form validation */\n @AttachInternals() internals: ElementInternals;\n \n /** Listener for mouse down event */\n @Listen(\"click\", { target: \"document\", capture: false })\n handleOutsideClick(e: MouseEvent) {\n const path = e.composedPath();\n if (!path.includes(this.element))\n {\n this.focused = false;\n }\n }\n \n componentDidRender(){\n if (this.focused && this.suggestions.length > 0 && !this.positionInitialized){\n this.adjustDropdownPosition();\n }\n }\n\n private inputField!: HTMLInputElement;\n private suggestionsContainer: HTMLUListElement;\n private labelId: string;\n private fieldset: HTMLDnnFieldsetElement;\n \n // eslint-disable-next-line @stencil-community/own-methods-must-be-private\n formResetCallback() {\n this.inputField.setCustomValidity(\"\");\n this.valid = true;\n this.value = \"\";\n this.internals.setValidity({});\n this.internals.setFormValue(\"\");\n }\n \n private handleInput(e: Event) {\n const value = (e.target as HTMLInputElement).value;\n this.value = value;\n var valid = this.inputField.checkValidity();\n this.valid = valid;\n this.valueInput.emit(value);\n this.handleSearchQueryChanged(value);\n }\n\n @Debounce(300)\n private handleSearchQueryChanged(value: string) {\n this.searchQueryChanged.emit(value);\n }\n\n private handleInvalid(): void {\n this.valid = false;\n if (this.customValidityMessage == undefined) {\n this.customValidityMessage = this.inputField.validationMessage;\n }\n }\n\n private handleChange() {\n this.valueChange.emit(this.value);\n if (this.name != undefined) {\n var data = new FormData();\n data.append(this.name, this.value.toString());\n this.internals.setFormValue(data);\n }\n }\n\n /** Check if the label should float */\n private shouldLabelFloat(): boolean {\n if (this.focused) {\n return false;\n }\n\n if (this.value != undefined && this.value != \"\") {\n return false;\n }\n\n return true;\n }\n\n private findAverageSuggestionHeight(): number {\n const suggestionItems = this.suggestionsContainer.querySelectorAll(\"li\");\n var totalHeight = 0;\n for (let i = 0; i < suggestionItems.length; i++) {\n totalHeight += suggestionItems[i].clientHeight;\n }\n return totalHeight / suggestionItems.length;\n }\n\n private readonly adjustDropdownPosition = () => {\n var itemHeight = this.findAverageSuggestionHeight();\n requestAnimationFrame(() => {\n this.positionInitialized = true;\n });\n\n // If we can fit 3 items below the input and there is still 3em left, we show the dropdown under.\n // Otherwise, we show it above.\n var spaceBelow = window.innerHeight - this.inputField.getBoundingClientRect().bottom;\n const rem = parseFloat(getComputedStyle(document.documentElement).fontSize);\n const fitsDown = spaceBelow > 3 * itemHeight + 3 * rem;\n if (fitsDown) {\n this.suggestionsContainer.style.top = \"1.2rem\";\n }\n else {\n this.suggestionsContainer.style.bottom = \"1.2rem\";\n }\n\n // Set the max height to not overflow the screen.\n if (fitsDown){\n this.suggestionsContainer.style.maxHeight = `${spaceBelow - 3 * rem}px`;\n }\n else {\n this.suggestionsContainer.style.maxHeight = `${this.inputField.getBoundingClientRect().top - 3 * rem}px`;\n }\n\n this.checkIfMoreItemsNeeded();\n }\n\n private handleKeyDown(e: KeyboardEvent): void {\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n if (this.selectedIndex == undefined) {\n this.selectedIndex = 0;\n } else {\n this.selectedIndex = Math.min(this.selectedIndex + 1, this.suggestions.length - 1);\n }\n }\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n if (this.selectedIndex == undefined) {\n this.selectedIndex = this.suggestions.length - 1;\n } else {\n this.selectedIndex = Math.max(this.selectedIndex - 1, 0);\n }\n }\n this.value = this.suggestions[this.selectedIndex]?.value || this.value;\n if (e.key === \"Enter\") {\n var selectedItem = this.suggestions[this.selectedIndex];\n this.value = selectedItem.value;\n this.inputField.value = selectedItem.label;\n this.itemSelected.emit(selectedItem.value);\n this.focused = false;\n }\n if (e.key === \"Tab\"){\n this.focused = false;\n }\n }\n\n private selectItem(e: Event, index: number): void {\n e.preventDefault();\n e.stopPropagation();\n this.selectedIndex = index;\n this.value = this.suggestions[this.selectedIndex].value;\n this.focused = false;\n this.itemSelected.emit(this.suggestions[this.selectedIndex].value)\n }\n\n private getVirtualScrollHeight(): number {\n const itemHeight = this.findAverageSuggestionHeight();\n const upcomingItems = this.totalSuggestions - this.suggestions.length;\n return itemHeight * upcomingItems;\n }\n\n private handleDropdownClick(): void {\n this.handleSearchQueryChanged(this.value);\n }\n\n @Debounce(100)\n private handleSuggestionsScroll(): void {\n const container = this.suggestionsContainer;\n const currentScrollTop = container.scrollTop;\n\n // Only act if we are scrolling down\n if (currentScrollTop > this.lastScrollTop) {\n const loadingDiv = container.querySelector('.loading') as HTMLDivElement;\n\n if (loadingDiv == undefined) {\n this.lastScrollTop = currentScrollTop;\n return;\n }\n\n const loadingDivPosition = loadingDiv.offsetTop;\n const loadingDivHeight = loadingDiv.offsetHeight;\n const loadingDivBottom = loadingDivPosition + loadingDivHeight;\n\n // Calculate the visible bottom of the scroll container\n const visibleBottom = currentScrollTop + container.clientHeight;\n\n // Prevent scrolling past the loading div by checking if the visible bottom surpasses the loading div's bottom\n if (visibleBottom > loadingDivBottom) {\n // Adjust scrollTop so it doesn't scroll past the loading div\n container.scrollTop = loadingDivBottom - container.clientHeight;\n }\n\n // Check if more items are needed based on the position of the loading div\n this.checkIfMoreItemsNeeded();\n }\n\n // Update the last scroll position\n this.lastScrollTop = currentScrollTop;\n }\n\n @Debounce()\n private checkIfMoreItemsNeeded() {\n const container = this.suggestionsContainer;\n \n const loadingDiv = container.querySelector('.loading') as HTMLDivElement;\n if (loadingDiv == undefined) return; // Exit if there's no loading div\n \n const scrollPosition = container.scrollTop + container.clientHeight;\n const loadingDivPosition = loadingDiv.offsetTop;\n \n // Check if the loading div is within the threshold of becoming visible\n if (loadingDivPosition - scrollPosition < this.preloadThresholdPixels) {\n const eventArgs: NeedMoreItemsEventArgs = {\n searchTerm: this.inputField.value,\n };\n this.needMoreItems.emit(eventArgs);\n }\n }\n\n handleBlur(): void {\n this.focused = false\n var validity = this.inputField.checkValidity();\n this.valid = validity;\n this.fieldset.setValidity(validity, this.inputField.validationMessage);\n this.internals.setValidity(this.inputField.validity, this.inputField.validationMessage);\n }\n\n render() {\n return (\n <Host\n tabIndex={this.focused ? -1 : 0}\n onFocus={() => this.inputField.focus()}\n onBlur={() => this.inputField.blur()}\n >\n <dnn-fieldset\n ref={el => this.fieldset = el}\n invalid={!this.valid}\n focused={this.focused}\n label={`${this.label ?? \"\"}${this.required ? \" *\" : \"\"}`}\n helpText={this.helpText}\n id={this.labelId}\n disabled={this.disabled}\n floatLabel={this.shouldLabelFloat()}\n >\n <div class=\"inner-container\">\n <input\n ref={(el) => this.inputField = el}\n name={this.name}\n type=\"search\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-expanded={this.focused.toString()}\n aria-activedescendant={this.selectedIndex !== undefined ? `option-${this.selectedIndex}` : undefined}\n disabled={this.disabled}\n required={this.required}\n autoComplete=\"off\"\n value={this.suggestions.length > 0 && this.selectedIndex != undefined ? this.suggestions[this.selectedIndex].label : this.value}\n onFocus={() => this.focused = true}\n onBlur={() => this.handleBlur()}\n onInput={e => this.handleInput(e)}\n onInvalid={() => this.handleInvalid()}\n onChange={() => this.handleChange()}\n aria-labelledby={this.labelId}\n onKeyDown={e => this.handleKeyDown(e)}\n />\n <ul\n class={this.focused && this.suggestions.length > 0 ? \"show\" : \"\"}\n role=\"listbox\"\n ref={el => this.suggestionsContainer = el}\n onScroll={() => this.handleSuggestionsScroll()}\n >\n {this.suggestions.map((suggestion, index) => (\n <li\n id={`option-${index}`}\n role=\"option\"\n aria-selected={this.selectedIndex == index}\n class={this.selectedIndex == index ? \"selected\" : \"\"}\n onClick={e => this.selectItem(e, index)}\n >\n {this.renderSuggestion != undefined ? this.renderSuggestion(suggestion) : suggestion.label}\n </li>\n ))}\n {this.totalSuggestions != undefined && this.totalSuggestions > this.suggestions.length &&\n <div class=\"loading\">\n </div>\n }\n {this.totalSuggestions != undefined && this.totalSuggestions > this.suggestions.length && this.positionInitialized &&\n <div style={{height: `${this.getVirtualScrollHeight()}px`}}>\n </div>\n }\n </ul>\n <svg\n onClick={() => this.handleDropdownClick()}\n class=\"chevron-down\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 -960 960 960\">\n <path d=\"M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z\"/>\n </svg>\n </div>\n </dnn-fieldset>\n </Host>\n );\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as s,H as o,g as i}from"./p-978abd50.js";const r=":host{display:inline-block;outline:none;cursor:pointer}button{height:1.5em;width:2.5em;outline:none;background-color:var(--background, #888);border:0;border-radius:var(--border-radius, var(--dnn-controls-radius, 0.75em));padding:0.1em;position:relative;margin:0;transition:background-color 300ms ease-in-out;position:relative;cursor:pointer}button:hover,button:focus-visible{box-shadow:0 0 2px 2px var(--dnn-color-primary)}button.checked{background-color:var(--background-checked, var(--dnn-color-primary, blue))}button.checked .handle{left:calc(1em + 4px)}button:disabled{opacity:0.5;cursor:not-allowed;box-shadow:none}button .handle{transition:all 300ms ease-in-out;background-color:white;width:1em;height:1em;border-radius:var(--handle-border-radius, var(--dnn-controls-radius, 50%));position:absolute;top:calc(50% - 0.5em);left:2px}";const n=r;const a=class{constructor(s){t(this,s);this.checkChanged=e(this,"checkChanged",7);if(s.$hostElement$["s-ei"]){this.internals=s.$hostElement$["s-ei"]}else{this.internals=s.$hostElement$.attachInternals();s.$hostElement$["s-ei"]=this.internals}this.checked=false;this.disabled=false;this.name=undefined;this.value="on";this.focused=false}checkedChanged(t){this.checkChanged.emit({checked:t});this.setFormValue()}componentWillLoad(){this.originalChecked=this.checked;this.setFormValue()}formResetCallback(){this.internals.setValidity({});this.checked=this.originalChecked}setFormValue(){if(this.name!=undefined&&this.name.length>0){if(this.checked){var t=new FormData;t.append(this.name,this.value);this.internals.setFormValue(t)}else{this.internals.setFormValue("")}}}render(){return s(o,{key:"955f3dfc70358b7cb33bc1ea905a1416371c2e96",tabIndex:this.focused?-1:0,onFocus:()=>this.button.focus(),onBlur:()=>this.button.blur()},s("button",{key:"3900bf9eb88872dfaccdc4d7f6bcba87624796d0",ref:t=>this.button=t,disabled:this.disabled,class:{checked:this.checked},onClick:()=>{if(!this.disabled){this.checked=!this.checked}},onFocus:()=>this.focused=true,onBlur:()=>this.focused=false},s("div",{key:"99319305029d03c3563116b171567f24d81d0e11",class:"handle"})))}static get formAssociated(){return true}get element(){return i(this)}static get watchers(){return{checked:["checkedChanged"]}}};a.style=n;export{a as dnn_toggle};
2
- //# sourceMappingURL=p-350e4008.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["dnnToggleCss","DnnToggleStyle0","DnnToggle","checkedChanged","newValue","this","checkChanged","emit","checked","setFormValue","componentWillLoad","originalChecked","formResetCallback","internals","setValidity","name","undefined","length","data","FormData","append","value","render","h","Host","key","tabIndex","focused","onFocus","button","focus","onBlur","blur","ref","el","disabled","class","onClick"],"sources":["src/components/dnn-toggle/dnn-toggle.scss?tag=dnn-toggle&encapsulation=shadow","src/components/dnn-toggle/dnn-toggle.tsx"],"sourcesContent":[":host {\n /**\n * @prop --background: Background of the toggle.\n * @prop --background-checked: Background of the toggle when checked.\n * @prop --handle-background: Background of the handle.\n * @prop --handle-background-checked: Background of the handle when checked.\n * @prop --border-radius: The radius of the background borders.\n * @prop --handle-border-radius: The radius of the handle.\n */\n\n display: inline-block;\n outline: none;\n cursor: pointer;\n}\n\nbutton {\n height: 1.5em;\n width: 2.5em;\n outline: none;\n background-color: var(--background, #888);\n border: 0;\n border-radius: var(--border-radius, var(--dnn-controls-radius, 0.75em));\n padding: 0.1em;\n position: relative;\n margin: 0;\n transition: background-color 300ms ease-in-out;\n position: relative;\n cursor: pointer;\n &:hover, &:focus-visible{\n box-shadow: 0 0 2px 2px var(--dnn-color-primary);\n }\n &.checked{\n background-color: var(--background-checked, var(--dnn-color-primary, blue));\n .handle{\n left: calc(1em + 4px);\n }\n }\n &:disabled{\n opacity: 0.5;\n cursor: not-allowed;\n box-shadow: none;\n }\n .handle{\n transition: all 300ms ease-in-out;\n background-color:white;\n width: 1em;\n height: 1em;\n border-radius: var(--handle-border-radius, var(--dnn-controls-radius, 50%));\n position: absolute;\n top: calc(50% - 0.5em);\n left: 2px;\n }\n}","import { Component, h, Element, Prop, Event, EventEmitter, Watch, Host, AttachInternals, State } from \"@stencil/core\";\nimport { DnnToggleChangeEventDetail } from \"./toggle-interface\";\n\n\n@Component({\n tag: \"dnn-toggle\",\n styleUrl: \"dnn-toggle.scss\",\n shadow: true,\n formAssociated: true,\n})\nexport class DnnToggle {\n\n @Element() element: HTMLDnnToggleElement;\n\n /** If 'true' the toggle is checked (on). */\n @Prop({ mutable: true }) checked = false;\n\n /** If 'true' the toggle is not be interacted with. */\n @Prop() disabled = false;\n\n /** The field name to use in forms. */\n @Prop() name: string;\n\n /** The value to post when used in forms. */\n @Prop() value: string = \"on\";\n\n /** Fires when the toggle changed */\n @Event() checkChanged!: EventEmitter<DnnToggleChangeEventDetail>;\n\n @AttachInternals() internals: ElementInternals;\n \n @Watch(\"checked\")\n checkedChanged(newValue: boolean) {\n this.checkChanged.emit({ checked: newValue });\n this.setFormValue();\n }\n \n @State() focused = false;\n \n private button: HTMLButtonElement;\n \n componentWillLoad() {\n this.originalChecked = this.checked;\n this.setFormValue();\n }\n\n private originalChecked: boolean;\n\n // eslint-disable-next-line @stencil-community/own-methods-must-be-private\n formResetCallback() {\n this.internals.setValidity({});\n this.checked = this.originalChecked;\n }\n\n private setFormValue() {\n if (this.name != undefined && this.name.length > 0) {\n if (this.checked) {\n var data = new FormData();\n data.append(this.name, this.value);\n this.internals.setFormValue(data);\n }\n else {\n this.internals.setFormValue(\"\");\n }\n }\n }\n\n render() {\n return (\n <Host\n tabIndex={this.focused ? -1 : 0}\n onFocus={() => this.button.focus()}\n onBlur={() => this.button.blur()}\n >\n <button\n ref={el => this.button = el}\n disabled={this.disabled}\n class={{ 'checked': this.checked }}\n onClick={() => {\n if (!this.disabled) {\n this.checked = !this.checked;\n }\n }}\n onFocus={() => this.focused = true}\n onBlur={() => this.focused = false}\n >\n <div class=\"handle\"></div>\n </button>\n </Host>\n );\n }\n}\n"],"mappings":"gEAAA,MAAMA,EAAe,u0BACrB,MAAAC,EAAeD,E,MCSFE,EAAS,M,iPAKiB,M,cAGhB,M,+BAMK,K,aAaL,K,CALnB,cAAAC,CAAeC,GACXC,KAAKC,aAAaC,KAAK,CAAEC,QAASJ,IAClCC,KAAKI,c,CAOT,iBAAAC,GACIL,KAAKM,gBAAkBN,KAAKG,QAC5BH,KAAKI,c,CAMT,iBAAAG,GACIP,KAAKQ,UAAUC,YAAY,IAC3BT,KAAKG,QAAUH,KAAKM,e,CAGhB,YAAAF,GACJ,GAAIJ,KAAKU,MAAQC,WAAaX,KAAKU,KAAKE,OAAS,EAAG,CAChD,GAAIZ,KAAKG,QAAS,CACd,IAAIU,EAAO,IAAIC,SACfD,EAAKE,OAAOf,KAAKU,KAAMV,KAAKgB,OAC5BhB,KAAKQ,UAAUJ,aAAaS,E,KAE3B,CACDb,KAAKQ,UAAUJ,aAAa,G,GAKxC,MAAAa,GACI,OACIC,EAACC,EAAI,CAAAC,IAAA,2CACDC,SAAUrB,KAAKsB,SAAW,EAAI,EAC9BC,QAAS,IAAMvB,KAAKwB,OAAOC,QAC3BC,OAAQ,IAAM1B,KAAKwB,OAAOG,QAE1BT,EAAA,UAAAE,IAAA,2CACIQ,IAAKC,GAAM7B,KAAKwB,OAASK,EACzBC,SAAU9B,KAAK8B,SACfC,MAAO,CAAE5B,QAAWH,KAAKG,SACzB6B,QAAS,KACL,IAAKhC,KAAK8B,SAAU,CAChB9B,KAAKG,SAAWH,KAAKG,O,GAG7BoB,QAAS,IAAMvB,KAAKsB,QAAU,KAC9BI,OAAQ,IAAM1B,KAAKsB,QAAU,OAE7BJ,EAAA,OAAAE,IAAA,2CAAKW,MAAM,Y","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c,h as t,H as a,g as d}from"./p-978abd50.js";const i=":host{--focus-color:var(--dnn-color-primary, #3792ED);display:inline-flex;align-items:center;gap:0.25rem;margin:3px}button{cursor:pointer;background-color:transparent;border:0;padding:0;margin:0;outline:none;display:flex;justify-content:center;align-items:center}button .unchecked,button .checked,button .intermediate{display:none}button.checked .checked,button.unchecked .unchecked,button.intermediate .intermediate{display:block}button svg.undefined{opacity:0.45;cursor:default}button:focus-visible{box-shadow:0 0 2px 2px var(--focus-color)}label{cursor:pointer}";const s=i;const h=class{constructor(t){e(this,t);this.checkedchange=c(this,"checkedchange",7);if(t.$hostElement$["s-ei"]){this.internals=t.$hostElement$["s-ei"]}else{this.internals=t.$hostElement$.attachInternals();t.$hostElement$["s-ei"]=this.internals}this.checked="unchecked";this.useIntermediate=false;this.value="on";this.name=undefined;this.focused=false}componentWillLoad(){this.originalChecked=this.checked;this.internals.setFormValue(this.checked)}handleCheckedChange(e,c){if(e!==c&&this.checked=="checked"){var t=new FormData;t.append(this.name,this.value);this.internals.setFormValue(t)}}formResetCallback(){this.internals.setValidity({});this.checked=this.originalChecked}changeState(){if(!this.useIntermediate){switch(this.checked){case"checked":this.checked="unchecked";break;case"unchecked":case"intermediate":this.checked="checked";break}this.checkedchange.emit(this.checked);return}switch(this.checked){case"checked":this.checked="intermediate";break;case"intermediate":this.checked="unchecked";break;case"unchecked":this.checked="checked";break}this.checkedchange.emit(this.checked)}render(){return t(a,{key:"ac034f8c5cd0fe52bc1a87944e3275ad27284c25",tabIndex:this.focused?-1:0,onFocus:()=>this.button.focus(),onBlur:()=>this.button.blur()},t("button",{key:"f4d54a33cee25750fc71a235e069ceddaab847d8",ref:e=>this.button=e,onFocus:()=>this.focused=true,onBlur:()=>this.focused=false,class:`icon ${this.checked}`,onClick:()=>this.changeState()},t("div",{key:"351f38bc6b3b3ad4d0bd3eb256311e09e98eed20",class:"unchecked"},t("slot",{key:"a9be931a7a1aaf92fd9abea8ee07d52ec5f1d508",name:"uncheckedicon"},t("svg",{key:"b9dec5662853d56ce6e93945658f7efdbe1d26bb",xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#000000"},t("path",{key:"fe214887a46555c54ea4fb11fb5ebddf1284ba13",d:"M0 0h24v24H0z",fill:"none"}),t("path",{key:"3326012fb363c5a4f5b6087121d644abc0ff949a",d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"})))),t("div",{key:"4f934cc069ee45dc415cde5466d76e19576adc72",class:"checked"},t("slot",{key:"dbc74d8f135314b1fd290e1475f6f904a94939ef",name:"checkedicon"},t("svg",{key:"4f1afd43e19a8a41f4911e0857b2ba63a5eceb06",xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#000000"},t("path",{key:"140bd5ed5acb3ea90ea5de75c715d309cf630d86",d:"M0 0h24v24H0z",fill:"none"}),t("path",{key:"d10bb8adfc9de857b491a7695fb94ec1ec3dfb05",d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})))),t("div",{key:"f74af476960988befb6340ddae07f817154871aa",class:"intermediate"},t("slot",{key:"2e0424ce5be3a2feaa9c776c15ec0e7124c6a010",name:"intermediateicon"},t("svg",{key:"853adcd4c81a47ae3b72e501728513701c702e49",class:"undefined",xmlns:"http://www.w3.org/2000/svg","enable-background":"new 0 0 24 24",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#000000"},t("g",{key:"81cf795ceea945b248edf1a8dc873a7ee14edf28"},t("rect",{key:"1d5d922cee5a44d69a42de6b191f393d679f8cd1",fill:"none",height:"24",width:"24"})),t("g",{key:"fc1800944bf3456bbe284a833caec298c883db12"},t("g",{key:"8d5254588237a41d38dfd0ac7765908d263fdadb"},t("g",{key:"9cd077df9025fb9af99e35fdf8bb570d060a0b69"},t("path",{key:"0e7d61eb4bd08739aef220ffcf9e67d7b876e5fc",d:"M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M17,13H7v-2h10V13z"})))))))),t("label",{key:"250900afeadd74a93e0f71ba043e78149af9c1b8",htmlFor:this.el.id,onClick:()=>this.changeState()},t("slot",{key:"3358f6ecb4e50480bec6098d8edeed3a8a7c10bd"})))}static get formAssociated(){return true}get el(){return d(this)}static get watchers(){return{checked:["handleCheckedChange"]}}};h.style=s;export{h as dnn_checkbox};
2
- //# sourceMappingURL=p-3d1d6321.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["dnnCheckboxCss","DnnCheckboxStyle0","DnnCheckbox","componentWillLoad","this","originalChecked","checked","internals","setFormValue","handleCheckedChange","newValue","oldValue","data","FormData","append","name","value","formResetCallback","setValidity","changeState","useIntermediate","checkedchange","emit","render","h","Host","key","tabIndex","focused","onFocus","button","focus","onBlur","blur","ref","el","class","onClick","xmlns","height","viewBox","width","fill","d","htmlFor","id"],"sources":["src/components/dnn-checkbox/dnn-checkbox.scss?tag=dnn-checkbox&encapsulation=shadow","src/components/dnn-checkbox/dnn-checkbox.tsx"],"sourcesContent":[":host {\n /**\n * @prop --focus-color: The color to outline the checkbox when hovered or focused, default to the dnn primary color.\n */\n --focus-color: var(--dnn-color-primary, #3792ED);\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n margin: 3px;\n}\nbutton{\n cursor: pointer; \n background-color: transparent;\n border: 0;\n padding: 0;\n margin: 0;\n outline: none;\n display: flex;\n justify-content: center;\n align-items: center;\n .unchecked, .checked, .intermediate{\n display: none;\n }\n &.checked .checked, &.unchecked .unchecked, &.intermediate .intermediate{\n display: block;\n }\n svg.undefined{\n opacity: 0.45;\n cursor: default;\n }\n &:focus-visible{\n box-shadow: 0 0 2px 2px var(--focus-color);\n }\n}\nlabel {\n cursor: pointer; \n}","import { Component, Element, Host, h, Prop, Event, EventEmitter, AttachInternals, Watch, State } from '@stencil/core';\nimport { CheckedState } from './types';\n\n/**\n * @slot - The label for the checkbox.\n * @slot checkedicon - Allows overriding the default checked icon.\n * @slot uncheckedicon - Allows overriding the unchecked icon.\n * @slot intermediateicon - If intermadiate state is used, allows overriding its icon.\n */\n@Component({\n tag: 'dnn-checkbox',\n styleUrl: 'dnn-checkbox.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class DnnCheckbox {\n @Element() el: HTMLDnnCheckboxElement;\n\n /** Defines if the checkbox is checked (true) or unchecked (false) or in an intermediate state (undefined) */\n @Prop({mutable: true}) checked: CheckedState = \"unchecked\";\n\n /** Defines if clicking the checkbox will go through the intermediate state between checked and unchecked (tri-state) */\n @Prop() useIntermediate: boolean = false;\n\n /** The value for this checkbox (not to be confused with its checked state). */\n @Prop() value: string = \"on\";\n\n /** The name to show in the formData (if using forms). */\n @Prop() name: string;\n\n /** Fires up when the checkbox checked property changes. */\n @Event() checkedchange: EventEmitter<\"checked\" | \"unchecked\" | \"intermediate\">;\n\n @State() focused = false;\n \n @AttachInternals() internals: ElementInternals;\n \n private originalChecked: CheckedState;\n private button: HTMLButtonElement;\n\n componentWillLoad() {\n this.originalChecked = this.checked;\n this.internals.setFormValue(this.checked);\n }\n\n @Watch(\"checked\")\n handleCheckedChange(newValue: CheckedState, oldValue: CheckedState) {\n if (newValue !== oldValue && this.checked == \"checked\") {\n var data = new FormData();\n data.append(this.name, this.value);\n this.internals.setFormValue(data);\n }\n }\n\n // eslint-disable-next-line @stencil-community/own-methods-must-be-private\n formResetCallback() {\n this.internals.setValidity({});\n this.checked = this.originalChecked;\n }\n\n private changeState(): void {\n if (!this.useIntermediate){\n switch (this.checked) {\n case \"checked\":\n this.checked = \"unchecked\";\n break;\n case \"unchecked\":\n case \"intermediate\":\n this.checked = \"checked\";\n break;\n default:\n break;\n }\n this.checkedchange.emit(this.checked);\n return;\n }\n switch (this.checked) {\n case \"checked\":\n this.checked = \"intermediate\";\n break;\n case \"intermediate\":\n this.checked = \"unchecked\";\n break;\n case \"unchecked\":\n this.checked = \"checked\";\n break;\n default:\n break;\n }\n this.checkedchange.emit(this.checked);\n }\n\n render() {\n return (\n <Host\n tabIndex={this.focused ? -1 : 0}\n onFocus={() => this.button.focus()}\n onBlur={() => this.button.blur()}\n >\n <button\n ref={el => this.button = el}\n onFocus={() => this.focused = true}\n onBlur={() => this.focused = false}\n class={`icon ${this.checked}`}\n onClick={() => this.changeState()}\n >\n <div class=\"unchecked\">\n <slot name=\"uncheckedicon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"/></svg>\n </slot>\n </div>\n <div class=\"checked\">\n <slot name=\"checkedicon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"/></svg>\n </slot>\n </div>\n <div class=\"intermediate\">\n <slot name=\"intermediateicon\">\n <svg class=\"undefined\" xmlns=\"http://www.w3.org/2000/svg\" enable-background=\"new 0 0 24 24\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><g><rect fill=\"none\" height=\"24\" width=\"24\"/></g><g><g><g><path d=\"M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M17,13H7v-2h10V13z\"/></g></g></g></svg>\n </slot>\n </div>\n </button>\n <label htmlFor={this.el.id} onClick={() => this.changeState()}><slot></slot></label>\n </Host>\n );\n }\n}\n"],"mappings":"2DAAA,MAAMA,EAAiB,ujBACvB,MAAAC,EAAeD,E,MCcFE,EAAW,M,mPAIyB,Y,qBAGZ,M,WAGX,K,iCAQL,K,CAOnB,iBAAAC,GACEC,KAAKC,gBAAkBD,KAAKE,QAC5BF,KAAKG,UAAUC,aAAaJ,KAAKE,Q,CAInC,mBAAAG,CAAoBC,EAAwBC,GAC1C,GAAID,IAAaC,GAAYP,KAAKE,SAAW,UAAW,CACtD,IAAIM,EAAO,IAAIC,SACfD,EAAKE,OAAOV,KAAKW,KAAMX,KAAKY,OAC5BZ,KAAKG,UAAUC,aAAaI,E,EAKhC,iBAAAK,GACEb,KAAKG,UAAUW,YAAY,IAC3Bd,KAAKE,QAAUF,KAAKC,e,CAGd,WAAAc,GACN,IAAKf,KAAKgB,gBAAgB,CACxB,OAAQhB,KAAKE,SACX,IAAK,UACHF,KAAKE,QAAU,YACf,MACF,IAAK,YACL,IAAK,eACHF,KAAKE,QAAU,UACf,MAIJF,KAAKiB,cAAcC,KAAKlB,KAAKE,SAC7B,M,CAEF,OAAQF,KAAKE,SACX,IAAK,UACHF,KAAKE,QAAU,eACf,MACF,IAAK,eACHF,KAAKE,QAAU,YACf,MACF,IAAK,YACHF,KAAKE,QAAU,UACf,MAIJF,KAAKiB,cAAcC,KAAKlB,KAAKE,Q,CAG/B,MAAAiB,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,SAAUvB,KAAKwB,SAAW,EAAI,EAC9BC,QAAS,IAAMzB,KAAK0B,OAAOC,QAC3BC,OAAQ,IAAM5B,KAAK0B,OAAOG,QAE1BT,EAAA,UAAAE,IAAA,2CACEQ,IAAKC,GAAM/B,KAAK0B,OAASK,EACzBN,QAAS,IAAMzB,KAAKwB,QAAU,KAC9BI,OAAQ,IAAM5B,KAAKwB,QAAU,MAC7BQ,MAAO,QAAQhC,KAAKE,UACpB+B,QAAS,IAAMjC,KAAKe,eAEpBK,EAAA,OAAAE,IAAA,2CAAKU,MAAM,aACTZ,EAAA,QAAAE,IAAA,2CAAMX,KAAK,iBACTS,EAAA,OAAAE,IAAA,2CAAKY,MAAM,6BAA6BC,OAAO,OAAOC,QAAQ,YAAYC,MAAM,OAAOC,KAAK,WAAUlB,EAAA,QAAAE,IAAA,2CAAMiB,EAAE,gBAAgBD,KAAK,SAAQlB,EAAA,QAAAE,IAAA,2CAAMiB,EAAE,kGAGvJnB,EAAA,OAAAE,IAAA,2CAAKU,MAAM,WACTZ,EAAA,QAAAE,IAAA,2CAAMX,KAAK,eACTS,EAAA,OAAAE,IAAA,2CAAKY,MAAM,6BAA6BC,OAAO,OAAOC,QAAQ,YAAYC,MAAM,OAAOC,KAAK,WAAUlB,EAAA,QAAAE,IAAA,2CAAMiB,EAAE,gBAAgBD,KAAK,SAAQlB,EAAA,QAAAE,IAAA,2CAAMiB,EAAE,2IAGvJnB,EAAA,OAAAE,IAAA,2CAAKU,MAAM,gBACTZ,EAAA,QAAAE,IAAA,2CAAMX,KAAK,oBACTS,EAAA,OAAAE,IAAA,2CAAKU,MAAM,YAAYE,MAAM,6BAA4B,oBAAmB,gBAAgBC,OAAO,OAAOC,QAAQ,YAAYC,MAAM,OAAOC,KAAK,WAAUlB,EAAA,KAAAE,IAAA,4CAAGF,EAAA,QAAAE,IAAA,2CAAMgB,KAAK,OAAOH,OAAO,KAAKE,MAAM,QAAUjB,EAAA,KAAAE,IAAA,4CAAGF,EAAA,KAAAE,IAAA,4CAAGF,EAAA,KAAAE,IAAA,4CAAGF,EAAA,QAAAE,IAAA,2CAAMiB,EAAE,kHAIlOnB,EAAA,SAAAE,IAAA,2CAAOkB,QAASxC,KAAK+B,GAAGU,GAAIR,QAAS,IAAMjC,KAAKe,eAAeK,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as n,H as s}from"./p-978abd50.js";const a=":host{display:inline-block}button{cursor:pointer;border:none;padding:0px;margin:0px;min-width:15px;min-height:15px;display:flex;justify-content:center;align-items:center;background-color:transparent}svg{height:2em;width:2em;transition:all 300ms ease-in-out}button:focus-visible svg,button:hover svg{color:var(--dnn-color-primary)}:host([expanded]) svg{transform:rotate(90deg)}";const i=a;const d=class{constructor(n){e(this,n);this.changed=t(this,"changed",7);this.expandText="expand";this.collapseText="collapse";this.expanded=false;this.focused=undefined}handleExpandedChanged(e){this.changed.emit(e)}render(){return n(s,{key:"6c38c47a7df1c0851c0451ecd6d415b129d63b54",tabIndex:this.focused?-1:0,onFocus:()=>this.button.focus(),onBlur:()=>this.button.blur()},n("button",{key:"bae33a5e5b469d1c9100af967543050b83e7a172",ref:e=>this.button=e,"aria-label":this.expanded?this.collapseText:this.expandText,onClick:()=>this.expanded=!this.expanded,onFocus:()=>this.focused=true,onBlur:()=>this.focused=false},n("svg",{key:"205404546336be1b66b3c8a5f9ddb5a44e2e0964",xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#000000"},n("path",{key:"91de31c736de687ae6c77dc28264c043b80563f1",d:"M0 0h24v24H0z",fill:"none"}),n("path",{key:"c30e3a044c91d50140393ddfe24869d32b6a776f",d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}))))}static get watchers(){return{expanded:["handleExpandedChanged"]}}};d.style=i;export{d as dnn_chevron};
2
- //# sourceMappingURL=p-5b15b44a.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as s,H as i}from"./p-978abd50.js";const d=":host{display:block}.add-role-row{display:flex;gap:1em;align-items:center;flex-wrap:wrap}.add-role-row label{margin-right:0.5em}.search-user{display:flex;gap:1em;margin-top:1em}.search-user .search-control{position:relative}.search-user .search-control dnn-collapsible{position:absolute;left:0;top:calc(100% - 2px);width:100%;box-shadow:0px 4px 4px}.search-user .search-control dnn-collapsible .dropdown{background-color:white;border:1px solid lightgray;display:flex;flex-direction:column}.search-user .search-control dnn-collapsible .dropdown button{background-color:transparent;border:none;border-bottom:1px solid lightgray;padding:0.25em;margin:0;text-align:left}table{border:1px solid lightgray;border-collapse:collapse;margin-top:1em}table thead{text-align:center}table thead tr{border-bottom:1px solid lightgray}table thead th{background-color:lightgray;padding:0.25em 0.5em}table thead th:first-child{border-right:1px solid lightgray}table tbody tr{border-bottom:1px dotted lightgray}table tbody tr th{text-align:left;border-right:1px solid lightgray;padding:0 0.5em}table tbody tr td{text-align:center}table tbody tr td dnn-checkbox span{display:none}table tbody tr td button{background-color:transparent;border:0;padding:0;margin:0;margin-right:1em}";const n=d;const o=class{constructor(s){e(this,s);this.userSearchQueryChanged=t(this,"userSearchQueryChanged",7);this.permissionsChanged=t(this,"permissionsChanged",7);this.defaultResx={Add:"Add",AllRoles:"All Roles",FilterByGroup:"Filter By Group",GlobalRoles:"Global Roles",Role:"Role",RolePermissions:"Role Permissions",SelectRole:"Select Role",User:"User",UserPermissions:"User Permissions"};this.permissions=undefined;this.roleGroups=undefined;this.roles=undefined;this.resx=undefined;this.foundUsers=[];this.selectedRoleGroupId=-1;this.userQuery=undefined;this.pickedUser=undefined;this.localResx=undefined;this.focused=false}handleFoundUsersChanged(e){if((e===null||e===void 0?void 0:e.length)>0){setTimeout((()=>{this.userCollapsible.expanded=true}),100)}}resxChanged(){this.mergeResx()}componentWillLoad(){document.addEventListener("click",this.dismissUserResults.bind(this));this.mergeResx()}disconnectedCallback(){document.removeEventListener("click",this.disconnectedCallback.bind(this))}mergeResx(){this.localResx=Object.assign(Object.assign({},this.defaultResx),this.resx)}dismissUserResults(e){const t=this.roleDropDown.getBoundingClientRect();if(e.pageX>t.right||e.pageX<t.left||e.pageY>t.bottom||e.pageY<t.top){this.userCollapsible.expanded=false}}handleRoleGroupChanged(e){const t=e.selectedIndex;const s=Number.parseInt(e.options[t].value);this.selectedRoleGroupId=s}addRole(){const e=Number.parseInt(this.roleDropDown.options[this.roleDropDown.selectedIndex].value);const t=this.roles.filter((t=>t.RoleId==e))[0];this.permissions=Object.assign(Object.assign({},this.permissions),{rolePermissions:[...this.permissions.rolePermissions,{default:false,locked:false,permissions:[],roleId:t.RoleId,roleName:t.RoleName}]});this.permissionsChanged.emit(this.permissions)}addUser(){if(this.pickedUser!=undefined){this.permissions=Object.assign(Object.assign({},this.permissions),{userPermissions:[...this.permissions.userPermissions,{displayName:this.pickedUser.displayName,permissions:[],userId:this.pickedUser.userId}]});this.pickedUser=undefined;this.userQuery="";this.permissionsChanged.emit(this.permissions)}}getRoles(){const e=this.roles.filter((e=>!this.permissions.rolePermissions.some((t=>t.roleId==e.RoleId))));if(this.selectedRoleGroupId==-2){return e}if(this.selectedRoleGroupId==-1){return e.filter((e=>e.IsSystemRole))}return e.filter((e=>e.RoleGroupId==this.selectedRoleGroupId))}renderRoleCheckBox(e,t){const i=e.permissions.filter((e=>e.permissionId==t.permissionId))[0];if(e.locked){return s("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#000000"},s("g",{fill:"none"},s("path",{d:"M0 0h24v24H0V0z"}),s("path",{d:"M0 0h24v24H0V0z",opacity:".87"})),s("path",{d:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z"}))}const d=i==undefined?"intermediate":i.allowAccess?"checked":"unchecked";return s("dnn-checkbox",{"use-intermediate":true,checked:d,onCheckedchange:s=>this.handleRoleChanged(s.detail,e,t)},s("div",{slot:"intermediateicon"},s("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#000000"},s("path",{d:"M0 0h24v24H0V0z",fill:"none"}),s("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}))),s("div",{slot:"uncheckedicon"},s("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#000000"},s("path",{d:"M0 0h24v24H0V0z",fill:"none"}),s("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM4 12c0-4.42 3.58-8 8-8 1.85 0 3.55.63 4.9 1.69L5.69 16.9C4.63 15.55 4 13.85 4 12zm8 8c-1.85 0-3.55-.63-4.9-1.69L18.31 7.1C19.37 8.45 20 10.15 20 12c0 4.42-3.58 8-8 8z"}))),s("span",null,t.permissionName))}renderUserCheckBox(e,t){const i=e.permissions.filter((e=>e.permissionId==t.permissionId))[0];const d=i==undefined?"intermediate":i.allowAccess?"checked":"unchecked";return s("dnn-checkbox",{"use-intermediate":true,checked:d,onCheckedchange:s=>this.handleUserChanged(s.detail,e,t)},s("div",{slot:"intermediateicon"},s("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#000000"},s("path",{d:"M0 0h24v24H0V0z",fill:"none"}),s("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}))),s("div",{slot:"uncheckedicon"},s("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#000000"},s("path",{d:"M0 0h24v24H0V0z",fill:"none"}),s("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM4 12c0-4.42 3.58-8 8-8 1.85 0 3.55.63 4.9 1.69L5.69 16.9C4.63 15.55 4 13.85 4 12zm8 8c-1.85 0-3.55-.63-4.9-1.69L18.31 7.1C19.37 8.45 20 10.15 20 12c0 4.42-3.58 8-8 8z"}))),s("span",null,t.permissionName))}handleRoleChanged(e,t,s){switch(e){case"unchecked":this.permissions=Object.assign(Object.assign({},this.permissions),{rolePermissions:[...this.permissions.rolePermissions.map((e=>{if(e.roleId!=t.roleId){return e}const i=Object.assign({},e);i.permissions=[...i.permissions.filter((e=>e.permissionId!=s.permissionId)),{allowAccess:false,fullControl:false,permissionCode:s.permissionCode,permissionId:s.permissionId,permissionKey:s.permissionKey,permissionName:s.permissionName,view:false}];return i}))]});break;case"checked":this.permissions=Object.assign(Object.assign({},this.permissions),{rolePermissions:[...this.permissions.rolePermissions.map((e=>{if(e.roleId!=t.roleId){return e}const i=Object.assign({},e);i.permissions=[...i.permissions.filter((e=>e.permissionId!=s.permissionId)),{allowAccess:true,fullControl:false,permissionCode:s.permissionCode,permissionId:s.permissionId,permissionKey:s.permissionKey,permissionName:s.permissionName,view:false}];return i}))]});break;case"intermediate":this.permissions=Object.assign(Object.assign({},this.permissions),{rolePermissions:[...this.permissions.rolePermissions.map((e=>{if(e.roleId!=t.roleId){return e}const i=Object.assign({},e);i.permissions=[...i.permissions.filter((e=>e.permissionId!=s.permissionId))];return i}))]});break}this.permissionsChanged.emit(this.permissions)}handleUserChanged(e,t,s){switch(e){case"unchecked":this.permissions=Object.assign(Object.assign({},this.permissions),{userPermissions:[...this.permissions.userPermissions.map((e=>{if(e.userId!=t.userId){return e}const i=Object.assign({},e);i.permissions=[...i.permissions.filter((e=>e.permissionId!=s.permissionId)),{allowAccess:false,fullControl:false,permissionCode:s.permissionCode,permissionId:s.permissionId,permissionKey:s.permissionKey,permissionName:s.permissionName,view:false}];return i}))]});break;case"checked":this.permissions=Object.assign(Object.assign({},this.permissions),{userPermissions:[...this.permissions.userPermissions.map((e=>{if(e.userId!=t.userId){return e}const i=Object.assign({},e);i.permissions=[...i.permissions.filter((e=>e.permissionId!=s.permissionId)),{allowAccess:true,fullControl:false,permissionCode:s.permissionCode,permissionId:s.permissionId,permissionKey:s.permissionKey,permissionName:s.permissionName,view:false}];return i}))]});break;case"intermediate":this.permissions=Object.assign(Object.assign({},this.permissions),{userPermissions:[...this.permissions.userPermissions.map((e=>{if(e.userId!=t.userId){return e}const i=Object.assign({},e);i.permissions=[...i.permissions.filter((e=>e.permissionId!=s.permissionId))];return i}))]});break}this.permissionsChanged.emit(this.permissions)}removeRole(e){this.permissions=Object.assign(Object.assign({},this.permissions),{rolePermissions:[...this.permissions.rolePermissions.filter((t=>t.roleId!=e.roleId))]});this.permissionsChanged.emit()}removeUser(e){this.permissions=Object.assign(Object.assign({},this.permissions),{userPermissions:[...this.permissions.userPermissions.filter((t=>t.userId!=e.userId))]});this.permissionsChanged.emit(this.permissions)}handleQueryChanged(e){this.userQuery=e;if(e==undefined||e.length==0){this.userCollapsible.expanded=false;this.pickedUser=undefined;this.foundUsers=[];return}this.userSearchQueryChanged.emit(e)}handleSearchUserFieldKeyDown(e){if(e.key!="ArrowDown"){return}e.preventDefault();const t=this.userCollapsible.querySelector("button");if(t!=undefined){t.focus()}}handleSearchedUserKeyDown(e){const t=e.target;switch(e.key){case"ArrowDown":e.preventDefault();const s=t.nextElementSibling;s===null||s===void 0?void 0:s.focus();break;case"ArrowUp":e.preventDefault();const i=t.previousElementSibling;i===null||i===void 0?void 0:i.focus();break}}handleUserPicked(e){this.userQuery=e.displayName;this.pickedUser=e}getFilteredUsers(){return this.foundUsers.filter((e=>!this.permissions.userPermissions.some((t=>t.userId==e.userId))))}render(){const e=this.getRoles();return s(i,{key:"e5907b6b3f74ee44d8fa46525f5719d4237722ef",tabIndex:this.focused?-1:0,onFocus:()=>this.rolesDropdown.focus(),onBlur:()=>this.rolesDropdown.blur()},s("div",{key:"081639d8c421617eaf2076b88d8d318922dadb38",class:"add-role-row"},s("div",{key:"40a998250e575b7b23d20a876ff0888279a6a2db",class:"dropdown"},s("label",{key:"cc5676f19c420a51635ed21bdcdb78055751e019"},this.localResx.FilterByGroup," :"),s("select",{key:"21feaed59de7361a85e0d024064d4cdc331268f8",ref:e=>this.rolesDropdown=e,onChange:e=>this.handleRoleGroupChanged(e.target),onFocus:()=>this.focused=true,onBlur:()=>this.focused=false},s("option",{key:"5d8c5a3eeff8e6bf2d40ebb8a398830a9877f3d9",value:-2,selected:this.selectedRoleGroupId==-2},this.localResx.AllRoles),s("option",{key:"8114e84ae74de4652295f352930626dd3549d684",value:-1,selected:this.selectedRoleGroupId==-1},this.localResx.GlobalRoles),this.roleGroups.map((e=>s("option",{value:e.id,selected:this.selectedRoleGroupId==e.id},e.name))))),e&&e.length>0&&[s("div",{key:"49602732241ed79d924d8e97e8f94f0c19949fb6",class:"dropdown"},s("label",{key:"313891e6018a5496b2e21b44e79ef46bf2260363"},this.localResx.SelectRole," :"),s("select",{key:"4e8c7cb660ec0ebfc6a395f06ef0285133bf99e6",ref:e=>this.roleDropDown=e},this.getRoles().map((e=>s("option",{value:e.RoleId},e.RoleName))))),s("dnn-button",{key:"047ad1df653bd87cf01ae89bfdc26593d6af4b3a",type:"primary",onClick:()=>this.addRole()},this.localResx.Add)]),s("table",{key:"58426da19d5df149dc3f336c886ba95b1467fb70",class:"roles-table"},s("caption",{key:"a14f7ce9ec18cfda4f2d4a289c622aae52ecc816"},this.localResx.RolePermissions),s("thead",{key:"23a3df2896e33b2326260a015923d31ea3ea0077"},s("tr",{key:"4b22414376e99748d3fb4701aa11f580979bb34e"},s("th",{key:"c5ebcee2bd6800ff0773b2b64f6c4f82ef4b64dc"},this.localResx.Role),this.permissions.permissionDefinitions.map((e=>s("th",null,e.permissionName))),s("th",{key:"41c1e2ff05488ec01ea65cce43b1edb638f27f0d"}," "))),s("tbody",{key:"d1f7101961c9c6d27d963d90633455cec41dd33e"},this.permissions.rolePermissions.map((e=>s("tr",null,s("th",null,e.roleName),this.permissions.permissionDefinitions.map((t=>s("td",null,this.renderRoleCheckBox(e,t)))),s("td",null,!e.default&&s("button",{onClick:()=>this.removeRole(e)},s("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#000000"},s("path",{d:"M0 0h24v24H0V0z",fill:"none"}),s("path",{d:"M14.59 8L12 10.59 9.41 8 8 9.41 10.59 12 8 14.59 9.41 16 12 13.41 14.59 16 16 14.59 13.41 12 16 9.41 14.59 8zM12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"}))))))))),s("div",{key:"ab01ee5fe61631a1c0657d070d6bfb553a918708",class:"search-user"},s("div",{key:"a2dce192a50497f700c54552e3daffdc943e00de",class:"search-control"},s("dnn-searchbox",{key:"ba6a143b692551bc5d6746621b794b3c3ee44fa6",placeholder:this.localResx.User,debounced:true,onQueryChanged:e=>this.handleQueryChanged(e.detail),onKeyDown:e=>this.handleSearchUserFieldKeyDown(e),query:this.userQuery}),s("dnn-collapsible",{key:"4f83d017a269e8e0e60cdf346a2e51e78f5fba50",ref:e=>this.userCollapsible=e},s("div",{key:"fd7a4a9ac3d50670706658b8a2843cb43768604c",class:"dropdown"},this.getFilteredUsers().map((e=>s("button",{onKeyDown:e=>this.handleSearchedUserKeyDown(e),onClick:()=>this.handleUserPicked(e)},e.displayName)))))),this.pickedUser&&s("dnn-button",{key:"ee533a07ff736e551f6fe43b95d404344730f153",onClick:()=>this.addUser()},this.localResx.Add)),this.permissions.userPermissions&&this.permissions.userPermissions.length>0&&s("table",{key:"1e98d655ab1b8e7e65ba3fddbf22ce31b2792e67",class:"users-table"},s("caption",{key:"9e3ad415e660b6b820f7d9b984b29791cbb6e71a"},this.localResx.UserPermissions),s("thead",{key:"dcc9cb1d2f358e82c103ee590f15dfd02708b270"},s("tr",{key:"f9d81861d592191b3c8921456a3979883abe03b8"},s("th",{key:"de9e1bfcfba5fc4b8707edcece401f9bd23ef146"},this.localResx.User),this.permissions.permissionDefinitions.map((e=>s("th",null,e.permissionName))),s("th",{key:"6b047767a641547bc26b81dc87da7bfeb39b035d"}," "))),s("tbody",{key:"7d96474562bb6792dc51ee900941f62e7b842288"},this.permissions.userPermissions.map((e=>s("tr",null,s("th",null,e.displayName),this.permissions.permissionDefinitions.map((t=>s("td",null,this.renderUserCheckBox(e,t)))),s("td",null,s("button",{onClick:()=>this.removeUser(e)},s("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#000000"},s("path",{d:"M0 0h24v24H0V0z",fill:"none"}),s("path",{d:"M14.59 8L12 10.59 9.41 8 8 9.41 10.59 12 8 14.59 9.41 16 12 13.41 14.59 16 16 14.59 13.41 12 16 9.41 14.59 8zM12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"}))))))))))}static get watchers(){return{foundUsers:["handleFoundUsersChanged"],resx:["resxChanged"]}}};o.style=n;export{o as dnn_permissions_grid};
2
- //# sourceMappingURL=p-b5241c09.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["dnnPermissionsGridCss","DnnPermissionsGridStyle0","DnnPermissionsGrid","this","defaultResx","Add","AllRoles","FilterByGroup","GlobalRoles","Role","RolePermissions","SelectRole","User","UserPermissions","handleFoundUsersChanged","newValue","length","setTimeout","userCollapsible","expanded","resxChanged","mergeResx","componentWillLoad","document","addEventListener","dismissUserResults","bind","disconnectedCallback","removeEventListener","localResx","Object","assign","resx","e","dropdownRect","roleDropDown","getBoundingClientRect","pageX","right","left","pageY","bottom","top","handleRoleGroupChanged","dropdown","index","selectedIndex","value","Number","parseInt","options","selectedRoleGroupId","addRole","roleId","role","roles","filter","r","RoleId","permissions","rolePermissions","default","locked","roleName","RoleName","permissionsChanged","emit","addUser","pickedUser","undefined","userPermissions","displayName","userId","userQuery","getRoles","filteredRoles","some","rp","IsSystemRole","RoleGroupId","renderRoleCheckBox","rolePermission","permissionDefinition","item","permission","permissionId","h","xmlns","height","viewBox","width","fill","d","opacity","checked","allowAccess","onCheckedchange","handleRoleChanged","detail","slot","permissionName","renderUserCheckBox","userPermission","handleUserChanged","map","newRolePermission","p","fullControl","permissionCode","permissionKey","view","u","newUserPermission","removeRole","removeUser","up","handleQueryChanged","query","foundUsers","userSearchQueryChanged","handleSearchUserFieldKeyDown","key","preventDefault","firstButton","querySelector","focus","handleSearchedUserKeyDown","button","target","nextButton","nextElementSibling","previousButton","previousElementSibling","handleUserPicked","searchedUser","getFilteredUsers","fu","render","Host","tabIndex","focused","onFocus","rolesDropdown","onBlur","blur","class","ref","el","onChange","selected","roleGroups","roleGroup","id","name","type","onClick","permissionDefinitions","placeholder","debounced","onQueryChanged","onKeyDown"],"sources":["src/components/dnn-permissions-grid/dnn-permissions-grid.scss?tag=dnn-permissions-grid&encapsulation=shadow","src/components/dnn-permissions-grid/dnn-permissions-grid.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.add-role-row{\n display: flex;\n gap: 1em;\n align-items: center;\n flex-wrap: wrap;\n label{\n margin-right:0.5em;\n }\n}\n.search-user{\n display: flex;\n gap: 1em;\n margin-top: 1em;\n .search-control{\n position: relative;\n dnn-collapsible{\n position: absolute;\n left: 0;\n top: calc(100% - 2px);\n width: 100%;\n box-shadow: 0px 4px 4px;\n .dropdown{\n background-color: white;\n border: 1px solid lightgray;\n display: flex;\n flex-direction: column;\n button{\n background-color: transparent;\n border: none;\n border-bottom: 1px solid lightgray;\n padding: 0.25em;\n margin: 0;\n text-align: left;\n }\n }\n }\n }\n}\ntable{\n border: 1px solid lightgray;\n border-collapse: collapse;\n margin-top: 1em;\n thead{\n text-align: center;\n tr{\n border-bottom: 1px solid lightgray;\n }\n th{\n background-color: lightgray;\n padding: 0.25em 0.5em;\n &:first-child{\n border-right: 1px solid lightgray;\n }\n }\n }\n tbody{\n tr{\n border-bottom: 1px dotted lightgray;\n th{\n text-align: left;\n border-right: 1px solid lightgray;\n padding: 0 0.5em;\n }\n td{\n text-align: center;\n dnn-checkbox{\n span{\n display: none;\n }\n }\n button{\n background-color: transparent;\n border: 0;\n padding: 0;\n margin: 0;\n margin-right: 1em;\n }\n }\n }\n }\n}","import { Component, Host, h, Prop, State, Event, EventEmitter, Watch } from '@stencil/core';\nimport { ILocalization } from './localization-interface';\nimport { IPermissionDefinition, IPermissions, IRolePermission, IUserPermission } from './permissions-interface';\nimport { IRoleGroup } from './role-group-interface';\nimport { IRole } from './role-interface';\nimport { ISearchedUser } from './searched-user-interface';\n\n@Component({\n tag: 'dnn-permissions-grid',\n styleUrl: 'dnn-permissions-grid.scss',\n shadow: true,\n})\nexport class DnnPermissionsGrid {\n\n /** The list of permissions. */\n @Prop({mutable: true}) permissions!: IPermissions;\n\n /** The list of role groups. */\n @Prop() roleGroups!: IRoleGroup[];\n\n /** The list of possible roles. */\n @Prop() roles!: IRole[];\n\n /** Optionally allows localizing the component strings. */\n @Prop() resx: ILocalization;\n\n /** The list of users to show under the search users field when a search is performed. */\n @Prop() foundUsers: ISearchedUser[] = [];\n\n /** Fires when searching for users to add to the permissions. Emits the search query. */\n @Event() userSearchQueryChanged: EventEmitter<string>;\n \n /** Fires when any permissions have changed, can be used for instance to have linked permissions. */\n @Event() permissionsChanged: EventEmitter<IPermissions>;\n\n @State() selectedRoleGroupId = -1;\n @State() userQuery: string;\n @State() pickedUser: ISearchedUser;\n @State() localResx: ILocalization;\n @State() focused = false;\n \n \n @Watch(\"foundUsers\")\n handleFoundUsersChanged(newValue: ISearchedUser[]){\n if (newValue?.length > 0){\n setTimeout(() => {\n this.userCollapsible.expanded = true;\n }, 100);\n }\n }\n \n @Watch(\"resx\")\n resxChanged(){\n this.mergeResx();\n }\n \n componentWillLoad() {\n document.addEventListener(\"click\", this.dismissUserResults.bind(this));\n this.mergeResx();\n }\n \n disconnectedCallback() {\n document.removeEventListener(\"click\", this.disconnectedCallback.bind(this));\n }\n \n private roleDropDown: HTMLSelectElement;\n private userCollapsible: HTMLDnnCollapsibleElement;\n private rolesDropdown: HTMLSelectElement;\n private defaultResx: ILocalization = {\n Add: \"Add\",\n AllRoles: \"All Roles\",\n FilterByGroup: \"Filter By Group\",\n GlobalRoles: \"Global Roles\",\n Role: \"Role\",\n RolePermissions: \"Role Permissions\",\n SelectRole: \"Select Role\",\n User: \"User\",\n UserPermissions: \"User Permissions\",\n };\n\n private mergeResx(): void {\n this.localResx = {...this.defaultResx, ...this.resx};\n }\n\n private dismissUserResults(e: MouseEvent){\n const dropdownRect = this.roleDropDown.getBoundingClientRect();\n if (\n e.pageX > dropdownRect.right ||\n e.pageX < dropdownRect.left ||\n e.pageY > dropdownRect.bottom ||\n e.pageY < dropdownRect.top){\n this.userCollapsible.expanded = false;\n }\n } \n\n private handleRoleGroupChanged(dropdown: HTMLSelectElement): void {\n const index = dropdown.selectedIndex;\n const value = Number.parseInt(dropdown.options[index].value);\n this.selectedRoleGroupId = value;\n }\n\n private addRole(): void {\n const roleId = Number.parseInt(this.roleDropDown.options[this.roleDropDown.selectedIndex].value);\n const role = this.roles.filter(r => r.RoleId == roleId)[0];\n this.permissions = {\n ...this.permissions,\n rolePermissions: [\n ...this.permissions.rolePermissions,\n {\n default: false,\n locked: false,\n permissions: [],\n roleId: role.RoleId,\n roleName: role.RoleName,\n }\n ]\n }\n this.permissionsChanged.emit(this.permissions);\n }\n\n private addUser(): void {\n if (this.pickedUser != undefined){\n this.permissions = {\n ...this.permissions,\n userPermissions: [\n ...this.permissions.userPermissions,\n {\n displayName: this.pickedUser.displayName,\n permissions: [],\n userId: this.pickedUser.userId,\n },\n ],\n };\n this.pickedUser = undefined;\n this.userQuery = \"\";\n this.permissionsChanged.emit(this.permissions);\n }\n }\n\n private getRoles(){\n const filteredRoles = this.roles.filter(role => \n !this.permissions.rolePermissions.some(rp => rp.roleId == role.RoleId))\n if (this.selectedRoleGroupId == -2){\n // All Roles\n return filteredRoles;\n }\n\n if (this.selectedRoleGroupId == -1){\n // Global Roles\n return filteredRoles.filter(role => role.IsSystemRole);\n }\n \n return filteredRoles.filter(role => role.RoleGroupId == this.selectedRoleGroupId);\n }\n\n private renderRoleCheckBox(rolePermission: IRolePermission, permissionDefinition: IPermissionDefinition) {\n const item = rolePermission.permissions.filter(permission => permission.permissionId == permissionDefinition.permissionId)[0];\n if (rolePermission.locked){\n return(\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><g fill=\"none\"><path d=\"M0 0h24v24H0V0z\"/><path d=\"M0 0h24v24H0V0z\" opacity=\".87\"/></g><path d=\"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z\"/></svg>\n )\n }\n\n const checked = item == undefined ? \"intermediate\" : item.allowAccess ? \"checked\" : \"unchecked\";\n return(\n <dnn-checkbox\n use-intermediate\n checked={checked}\n onCheckedchange={e => this.handleRoleChanged(e.detail, rolePermission, permissionDefinition)}\n >\n <div slot=\"intermediateicon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"/></svg>\n </div>\n <div slot=\"uncheckedicon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM4 12c0-4.42 3.58-8 8-8 1.85 0 3.55.63 4.9 1.69L5.69 16.9C4.63 15.55 4 13.85 4 12zm8 8c-1.85 0-3.55-.63-4.9-1.69L18.31 7.1C19.37 8.45 20 10.15 20 12c0 4.42-3.58 8-8 8z\"/></svg>\n </div>\n <span>{permissionDefinition.permissionName}</span>\n </dnn-checkbox>\n )\n }\n\n private renderUserCheckBox(userPermission: IUserPermission, permissionDefinition: IPermissionDefinition) {\n const item = userPermission.permissions.filter(permission => permission.permissionId == permissionDefinition.permissionId)[0];\n\n const checked = item == undefined ? \"intermediate\" : item.allowAccess ? \"checked\" : \"unchecked\";\n return(\n <dnn-checkbox\n use-intermediate\n checked={checked}\n onCheckedchange={e => this.handleUserChanged(e.detail, userPermission, permissionDefinition)}\n >\n <div slot=\"intermediateicon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"/></svg>\n </div>\n <div slot=\"uncheckedicon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM4 12c0-4.42 3.58-8 8-8 1.85 0 3.55.63 4.9 1.69L5.69 16.9C4.63 15.55 4 13.85 4 12zm8 8c-1.85 0-3.55-.63-4.9-1.69L18.31 7.1C19.37 8.45 20 10.15 20 12c0 4.42-3.58 8-8 8z\"/></svg>\n </div>\n <span>{permissionDefinition.permissionName}</span>\n </dnn-checkbox>\n )\n }\n \n private handleRoleChanged(\n checked: \"checked\" | \"unchecked\" | \"intermediate\",\n rolePermission: IRolePermission,\n permissionDefinition: IPermissionDefinition\n ): void {\n switch (checked) {\n case \"unchecked\":\n this.permissions = {\n ...this.permissions,\n rolePermissions: [\n ...this.permissions.rolePermissions.map(r => {\n if (r.roleId != rolePermission.roleId){\n return r;\n }\n\n const newRolePermission = Object.assign({}, r);\n newRolePermission.permissions = [\n ...newRolePermission.permissions.filter(p => p.permissionId != permissionDefinition.permissionId),\n {\n allowAccess: false,\n fullControl: false,\n permissionCode: permissionDefinition.permissionCode,\n permissionId: permissionDefinition.permissionId,\n permissionKey: permissionDefinition.permissionKey,\n permissionName: permissionDefinition.permissionName,\n view: false,\n },\n ];\n return newRolePermission;\n }),\n ],\n };\n break;\n case \"checked\":\n this.permissions = {\n ...this.permissions,\n rolePermissions: [\n ...this.permissions.rolePermissions.map(r => {\n if (r.roleId != rolePermission.roleId){\n return r;\n }\n\n const newRolePermission = Object.assign({}, r);\n newRolePermission.permissions = [\n ...newRolePermission.permissions.filter(p => p.permissionId != permissionDefinition.permissionId),\n {\n allowAccess: true,\n fullControl: false,\n permissionCode: permissionDefinition.permissionCode,\n permissionId: permissionDefinition.permissionId,\n permissionKey: permissionDefinition.permissionKey,\n permissionName: permissionDefinition.permissionName,\n view: false,\n },\n ];\n return newRolePermission;\n }),\n ],\n };\n break;\n case \"intermediate\":\n this.permissions = {\n ...this.permissions,\n rolePermissions: [\n ...this.permissions.rolePermissions.map(r => {\n if (r.roleId != rolePermission.roleId){\n return r;\n }\n\n const newRolePermission = Object.assign({}, r);\n newRolePermission.permissions = [\n ...newRolePermission.permissions.filter(p => p.permissionId != permissionDefinition.permissionId),\n ];\n return newRolePermission;\n }),\n ],\n };\n break;\n default:\n break;\n }\n this.permissionsChanged.emit(this.permissions);\n }\n\n private handleUserChanged(\n checked: \"checked\" | \"unchecked\" | \"intermediate\",\n userPermission: IUserPermission,\n permissionDefinition: IPermissionDefinition\n ): void {\n switch (checked) {\n case \"unchecked\":\n this.permissions = {\n ...this.permissions,\n userPermissions: [\n ...this.permissions.userPermissions.map(u => {\n if (u.userId != userPermission.userId){\n return u;\n }\n\n const newUserPermission = Object.assign({}, u);\n newUserPermission.permissions = [\n ...newUserPermission.permissions.filter(p => p.permissionId != permissionDefinition.permissionId),\n {\n allowAccess: false,\n fullControl: false,\n permissionCode: permissionDefinition.permissionCode,\n permissionId: permissionDefinition.permissionId,\n permissionKey: permissionDefinition.permissionKey,\n permissionName: permissionDefinition.permissionName,\n view: false,\n },\n ];\n return newUserPermission;\n }),\n ],\n };\n break;\n case \"checked\":\n this.permissions = {\n ...this.permissions,\n userPermissions: [\n ...this.permissions.userPermissions.map(u => {\n if (u.userId != userPermission.userId){\n return u;\n }\n\n const newUserPermission = Object.assign({}, u);\n newUserPermission.permissions = [\n ...newUserPermission.permissions.filter(p => p.permissionId != permissionDefinition.permissionId),\n {\n allowAccess: true,\n fullControl: false,\n permissionCode: permissionDefinition.permissionCode,\n permissionId: permissionDefinition.permissionId,\n permissionKey: permissionDefinition.permissionKey,\n permissionName: permissionDefinition.permissionName,\n view: false,\n },\n ];\n return newUserPermission;\n }),\n ],\n };\n break;\n case \"intermediate\":\n this.permissions = {\n ...this.permissions,\n userPermissions: [\n ...this.permissions.userPermissions.map(u => {\n if (u.userId != userPermission.userId){\n return u;\n }\n\n const newUserPermission = Object.assign({}, u);\n newUserPermission.permissions = [\n ...newUserPermission.permissions.filter(p => p.permissionId != permissionDefinition.permissionId),\n ];\n return newUserPermission;\n }),\n ],\n };\n break;\n default:\n break;\n }\n this.permissionsChanged.emit(this.permissions);\n }\n\n private removeRole(rolePermission: IRolePermission): void {\n this.permissions = {\n ...this.permissions,\n rolePermissions: [\n ...this.permissions.rolePermissions.filter(rp => rp.roleId != rolePermission.roleId),\n ],\n };\n this.permissionsChanged.emit();\n }\n\n private removeUser(userPermission: IUserPermission): void {\n this.permissions = {\n ...this.permissions,\n userPermissions: [\n ...this.permissions.userPermissions.filter(up => up.userId != userPermission.userId),\n ]\n };\n this.permissionsChanged.emit(this.permissions);\n }\n\n private handleQueryChanged(query: string): void {\n this.userQuery = query;\n if (query == undefined || query.length == 0){\n this.userCollapsible.expanded = false;\n this.pickedUser = undefined;\n this.foundUsers = [];\n return;\n }\n this.userSearchQueryChanged.emit(query);\n }\n\n private handleSearchUserFieldKeyDown(e: KeyboardEvent): void {\n if (e.key != \"ArrowDown\"){\n return;\n }\n\n e.preventDefault();\n const firstButton = this.userCollapsible.querySelector(\"button\");\n if (firstButton != undefined){\n firstButton.focus();\n }\n }\n\n private handleSearchedUserKeyDown(e: KeyboardEvent): void {\n const button = e.target as HTMLButtonElement;\n \n switch(e.key) {\n case \"ArrowDown\":\n e.preventDefault();\n const nextButton = button.nextElementSibling as HTMLButtonElement;\n nextButton?.focus();\n break;\n case \"ArrowUp\":\n e.preventDefault();\n const previousButton = button.previousElementSibling as HTMLButtonElement;\n previousButton?.focus();\n break;\n default:\n break;\n }\n }\n\n private handleUserPicked(searchedUser: ISearchedUser): void {\n this.userQuery = searchedUser.displayName;\n this.pickedUser = searchedUser;\n }\n\n private getFilteredUsers() {\n return this.foundUsers.filter(fu => !this.permissions.userPermissions.some(up => up.userId == fu.userId))\n }\n \n render() {\n const filteredRoles = this.getRoles();\n return (\n <Host\n tabIndex={this.focused ? -1 : 0}\n onFocus={() => this.rolesDropdown.focus()}\n onBlur={() => this.rolesDropdown.blur()}\n >\n <div class=\"add-role-row\">\n <div class=\"dropdown\">\n <label>{this.localResx.FilterByGroup} :</label>\n <select\n ref={el => this.rolesDropdown = el}\n onChange={e => this.handleRoleGroupChanged(e.target as HTMLSelectElement)}\n onFocus={() => this.focused = true}\n onBlur={() => this.focused = false}\n >\n <option\n value={-2}\n selected={this.selectedRoleGroupId == -2}\n >\n {this.localResx.AllRoles}\n </option>\n <option\n value={-1}\n selected={this.selectedRoleGroupId == -1}\n >\n {this.localResx.GlobalRoles}\n </option>\n {this.roleGroups.map(roleGroup =>\n <option\n value={roleGroup.id}\n selected={this.selectedRoleGroupId == roleGroup.id}\n >\n {roleGroup.name}\n </option>\n )}\n </select>\n </div>\n {filteredRoles && filteredRoles.length > 0 && [\n <div class=\"dropdown\">\n <label>{this.localResx.SelectRole} :</label>\n <select ref={el => this.roleDropDown = el}>\n {this.getRoles().map(role =>\n <option value={role.RoleId}\n >\n {role.RoleName}\n </option>\n )}\n </select>\n </div>,\n <dnn-button\n type=\"primary\"\n onClick={() => this.addRole()}\n >\n {this.localResx.Add}\n </dnn-button>\n ]\n }\n </div>\n <table class=\"roles-table\">\n <caption>{this.localResx.RolePermissions}</caption>\n <thead>\n <tr>\n <th>{this.localResx.Role}</th>\n {this.permissions.permissionDefinitions.map(permissionDefinition =>\n <th>{permissionDefinition.permissionName}</th>\n )}\n <th>&nbsp;</th>\n </tr>\n </thead>\n <tbody>\n {this.permissions.rolePermissions.map(rolePermission =>\n <tr>\n <th>{rolePermission.roleName}</th>\n {this.permissions.permissionDefinitions.map(permissionDefinition =>\n <td>\n {this.renderRoleCheckBox(rolePermission, permissionDefinition)}\n </td>\n )}\n <td>\n {!rolePermission.default &&\n <button\n onClick={() => this.removeRole(rolePermission)}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M14.59 8L12 10.59 9.41 8 8 9.41 10.59 12 8 14.59 9.41 16 12 13.41 14.59 16 16 14.59 13.41 12 16 9.41 14.59 8zM12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z\"/></svg>\n </button>\n }\n </td>\n </tr>\n )}\n </tbody>\n </table>\n <div class=\"search-user\">\n <div class=\"search-control\">\n <dnn-searchbox\n placeholder={this.localResx.User}\n debounced\n onQueryChanged={e => this.handleQueryChanged(e.detail)}\n onKeyDown={e => this.handleSearchUserFieldKeyDown(e)}\n query={this.userQuery}\n />\n <dnn-collapsible ref={el => this.userCollapsible = el}>\n <div class=\"dropdown\">\n {this.getFilteredUsers().map(searchedUser =>\n <button\n onKeyDown={e => this.handleSearchedUserKeyDown(e)}\n onClick={() => this.handleUserPicked(searchedUser)}\n >\n {searchedUser.displayName}\n </button>\n )}\n </div>\n </dnn-collapsible>\n </div>\n {this.pickedUser &&\n <dnn-button\n onClick={() => this.addUser()}\n >\n {this.localResx.Add}\n </dnn-button>\n }\n </div>\n {this.permissions.userPermissions && this.permissions.userPermissions.length > 0 &&\n <table class=\"users-table\">\n <caption>{this.localResx.UserPermissions}</caption>\n <thead>\n <tr>\n <th>{this.localResx.User}</th>\n {this.permissions.permissionDefinitions.map(permissionDefinition =>\n <th>{permissionDefinition.permissionName}</th>\n )}\n <th>&nbsp;</th>\n </tr>\n </thead>\n <tbody>\n {this.permissions.userPermissions.map(userPermission =>\n <tr>\n <th>{userPermission.displayName}</th>\n {this.permissions.permissionDefinitions.map(permissionDefinition =>\n <td>\n {this.renderUserCheckBox(userPermission, permissionDefinition)}\n </td>\n )}\n <td>\n <button\n onClick={() => this.removeUser(userPermission)}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M14.59 8L12 10.59 9.41 8 8 9.41 10.59 12 8 14.59 9.41 16 12 13.41 14.59 16 16 14.59 13.41 12 16 9.41 14.59 8zM12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z\"/></svg>\n </button>\n </td>\n </tr>\n )}\n </tbody>\n </table>\n }\n </Host>\n );\n }\n}"],"mappings":"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","ignoreList":[]}