@dnncommunity/dnn-elements 0.15.0-beta.1 → 0.15.0-beta.10

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 (256) hide show
  1. package/dist/cjs/dnn.cjs.js +4 -116
  2. package/dist/cjs/dnn.cjs.js.map +1 -1
  3. package/dist/cjs/loader.cjs.js +2 -18
  4. package/dist/cjs/loader.cjs.js.map +1 -1
  5. package/dist/collection/components/dnn-button/dnn-button.js.map +1 -1
  6. package/dist/collection/components/dnn-button/dnn-button.stories.js.map +1 -1
  7. package/dist/collection/components/dnn-checkbox/dnn-checkbox.js.map +1 -1
  8. package/dist/collection/components/dnn-checkbox/dnn-checkbox.stories.js.map +1 -1
  9. package/dist/collection/components/dnn-chevron/dnn-chevron.js.map +1 -1
  10. package/dist/collection/components/dnn-chevron/dnn-chevron.stories.js.map +1 -1
  11. package/dist/collection/components/dnn-collapsible/dnn-collapsible.js.map +1 -1
  12. package/dist/collection/components/dnn-collapsible/dnn-collapsible.stories.js.map +1 -1
  13. package/dist/collection/components/dnn-color-picker/dnn-color-picker.js.map +1 -1
  14. package/dist/collection/components/dnn-color-picker/dnn-color-picker.stories.js.map +1 -1
  15. package/dist/collection/components/dnn-dropzone/dnn-dropzone.js.map +1 -1
  16. package/dist/collection/components/dnn-dropzone/dnn-dropzone.stories.js.map +1 -1
  17. package/dist/collection/components/dnn-image-cropper/CornerType.js.map +1 -1
  18. package/dist/collection/components/dnn-image-cropper/dnn-image-cropper.js.map +1 -1
  19. package/dist/collection/components/dnn-image-cropper/dnn-image-cropper.stories.js.map +1 -1
  20. package/dist/collection/components/dnn-modal/dnn-modal.js.map +1 -1
  21. package/dist/collection/components/dnn-modal/dnn-modal.stories.js.map +1 -1
  22. package/dist/collection/components/dnn-permissions-grid/dnn-permissions-grid.js.map +1 -1
  23. package/dist/collection/components/dnn-permissions-grid/dnn-permissions-grid.stories.js.map +1 -1
  24. package/dist/collection/components/dnn-permissions-grid/localization-interface.js.map +1 -1
  25. package/dist/collection/components/dnn-permissions-grid/permissions-interface.js.map +1 -1
  26. package/dist/collection/components/dnn-permissions-grid/role-group-interface.js.map +1 -1
  27. package/dist/collection/components/dnn-permissions-grid/role-interface.js.map +1 -1
  28. package/dist/collection/components/dnn-permissions-grid/searched-user-interface.js.map +1 -1
  29. package/dist/collection/components/dnn-searchbox/dnn-searchbox.js.map +1 -1
  30. package/dist/collection/components/dnn-searchbox/dnn-searchbox.stories.js.map +1 -1
  31. package/dist/collection/components/dnn-sort-icon/dnn-sort-icon.js.map +1 -1
  32. package/dist/collection/components/dnn-sort-icon/dnn-sort-icon.stories.js.map +1 -1
  33. package/dist/collection/components/dnn-tab/dnn-tab.js.map +1 -1
  34. package/dist/collection/components/dnn-tab/dnn-tab.stories.js.map +1 -1
  35. package/dist/collection/components/dnn-tabs/dnn-tabs.js.map +1 -1
  36. package/dist/collection/components/dnn-tabs/dnn-tabs.stories.js.map +1 -1
  37. package/dist/collection/components/dnn-toggle/dnn-toggle.js.map +1 -1
  38. package/dist/collection/components/dnn-toggle/dnn-toggle.stories.js.map +1 -1
  39. package/dist/collection/components/dnn-toggle/toggle-interface.js.map +1 -1
  40. package/dist/collection/components/dnn-treeview-item/dnn-treeview-item.js.map +1 -1
  41. package/dist/collection/components/dnn-treeview-item/dnn-treeview-item.stories.js.map +1 -1
  42. package/dist/collection/components/dnn-vertical-overflow-menu/dnn-vertical-overflow-menu.js.map +1 -1
  43. package/dist/collection/components/dnn-vertical-overflow-menu/dnn-vertical-overflow-menu.stories.js.map +1 -1
  44. package/dist/collection/components/dnn-vertical-splitview/dnn-vertical-splitview.js.map +1 -1
  45. package/dist/collection/components/dnn-vertical-splitview/dnn-vertical-splitview.stories.js.map +1 -1
  46. package/dist/collection/index.js.map +1 -1
  47. package/dist/collection/utilities/colorInfo.js.map +1 -1
  48. package/dist/collection/utilities/debounce.js.map +1 -1
  49. package/dist/collection/utilities/dnnServicesFramework.js.map +1 -1
  50. package/dist/collection/utilities/mouseUtilities.js.map +1 -1
  51. package/dist/dnn/dnn.esm.js +1 -130
  52. package/dist/dnn/dnn.esm.js.map +1 -1
  53. package/dist/dnn/dnn.js +1 -1
  54. package/dist/dnn/index.esm.js +1 -46
  55. package/dist/dnn/index.esm.js.map +1 -1
  56. package/dist/esm/dnn.js +4 -116
  57. package/dist/esm/dnn.js.map +1 -1
  58. package/dist/esm/loader.js +2 -18
  59. package/dist/esm/loader.js.map +1 -1
  60. package/dist/index.js +1 -1
  61. package/package.json +2 -2
  62. package/dist/.storybook/utilities.js +0 -16
  63. package/dist/.storybook/utilities.js.map +0 -1
  64. package/dist/cjs/app-globals-3a1e7e63.js +0 -7
  65. package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
  66. package/dist/cjs/css-shim-aaf4fec9.js +0 -8
  67. package/dist/cjs/css-shim-aaf4fec9.js.map +0 -1
  68. package/dist/cjs/dnn-button.cjs.entry.js +0 -92
  69. package/dist/cjs/dnn-button.cjs.entry.js.map +0 -1
  70. package/dist/cjs/dnn-checkbox.cjs.entry.js +0 -58
  71. package/dist/cjs/dnn-checkbox.cjs.entry.js.map +0 -1
  72. package/dist/cjs/dnn-chevron.cjs.entry.js +0 -34
  73. package/dist/cjs/dnn-chevron.cjs.entry.js.map +0 -1
  74. package/dist/cjs/dnn-collapsible.cjs.entry.js +0 -69
  75. package/dist/cjs/dnn-collapsible.cjs.entry.js.map +0 -1
  76. package/dist/cjs/dnn-color-picker.cjs.entry.js +0 -508
  77. package/dist/cjs/dnn-color-picker.cjs.entry.js.map +0 -1
  78. package/dist/cjs/dnn-dropzone.cjs.entry.js +0 -153
  79. package/dist/cjs/dnn-dropzone.cjs.entry.js.map +0 -1
  80. package/dist/cjs/dnn-image-cropper.cjs.entry.js +0 -408
  81. package/dist/cjs/dnn-image-cropper.cjs.entry.js.map +0 -1
  82. package/dist/cjs/dnn-modal.cjs.entry.js +0 -65
  83. package/dist/cjs/dnn-modal.cjs.entry.js.map +0 -1
  84. package/dist/cjs/dnn-permissions-grid.cjs.entry.js +0 -320
  85. package/dist/cjs/dnn-permissions-grid.cjs.entry.js.map +0 -1
  86. package/dist/cjs/dnn-searchbox.cjs.entry.js +0 -66
  87. package/dist/cjs/dnn-searchbox.cjs.entry.js.map +0 -1
  88. package/dist/cjs/dnn-sort-icon.cjs.entry.js +0 -43
  89. package/dist/cjs/dnn-sort-icon.cjs.entry.js.map +0 -1
  90. package/dist/cjs/dnn-tab.cjs.entry.js +0 -31
  91. package/dist/cjs/dnn-tab.cjs.entry.js.map +0 -1
  92. package/dist/cjs/dnn-tabs.cjs.entry.js +0 -52
  93. package/dist/cjs/dnn-tabs.cjs.entry.js.map +0 -1
  94. package/dist/cjs/dnn-toggle.cjs.entry.js +0 -37
  95. package/dist/cjs/dnn-toggle.cjs.entry.js.map +0 -1
  96. package/dist/cjs/dnn-treeview-item.cjs.entry.js +0 -68
  97. package/dist/cjs/dnn-treeview-item.cjs.entry.js.map +0 -1
  98. package/dist/cjs/dnn-vertical-overflow-menu.cjs.entry.js +0 -124
  99. package/dist/cjs/dnn-vertical-overflow-menu.cjs.entry.js.map +0 -1
  100. package/dist/cjs/dnn-vertical-splitview.cjs.entry.js +0 -133
  101. package/dist/cjs/dnn-vertical-splitview.cjs.entry.js.map +0 -1
  102. package/dist/cjs/dom-14886762.js +0 -77
  103. package/dist/cjs/dom-14886762.js.map +0 -1
  104. package/dist/cjs/index-d53702a3.js +0 -3095
  105. package/dist/cjs/index-d53702a3.js.map +0 -1
  106. package/dist/cjs/mouseUtilities-ecd5ecf7.js +0 -25
  107. package/dist/cjs/mouseUtilities-ecd5ecf7.js.map +0 -1
  108. package/dist/cjs/shadow-css-c44ea13a.js +0 -392
  109. package/dist/cjs/shadow-css-c44ea13a.js.map +0 -1
  110. package/dist/dnn/app-globals-0f993ce5.js +0 -5
  111. package/dist/dnn/app-globals-0f993ce5.js.map +0 -1
  112. package/dist/dnn/app-globals-497eb362.system.js +0 -2
  113. package/dist/dnn/app-globals-497eb362.system.js.map +0 -1
  114. package/dist/dnn/css-shim-091f949f.js +0 -6
  115. package/dist/dnn/css-shim-091f949f.js.map +0 -1
  116. package/dist/dnn/css-shim-c5bffe6b.system.js +0 -2
  117. package/dist/dnn/css-shim-c5bffe6b.system.js.map +0 -1
  118. package/dist/dnn/debounce-6be67abd.js +0 -22
  119. package/dist/dnn/debounce-6be67abd.js.map +0 -1
  120. package/dist/dnn/debounce-db438a09.system.js +0 -2
  121. package/dist/dnn/debounce-db438a09.system.js.map +0 -1
  122. package/dist/dnn/dnn-button.entry.js +0 -88
  123. package/dist/dnn/dnn-button.entry.js.map +0 -1
  124. package/dist/dnn/dnn-button.system.entry.js +0 -2
  125. package/dist/dnn/dnn-button.system.entry.js.map +0 -1
  126. package/dist/dnn/dnn-checkbox.entry.js +0 -54
  127. package/dist/dnn/dnn-checkbox.entry.js.map +0 -1
  128. package/dist/dnn/dnn-checkbox.system.entry.js +0 -2
  129. package/dist/dnn/dnn-checkbox.system.entry.js.map +0 -1
  130. package/dist/dnn/dnn-chevron.entry.js +0 -30
  131. package/dist/dnn/dnn-chevron.entry.js.map +0 -1
  132. package/dist/dnn/dnn-chevron.system.entry.js +0 -2
  133. package/dist/dnn/dnn-chevron.system.entry.js.map +0 -1
  134. package/dist/dnn/dnn-collapsible.entry.js +0 -65
  135. package/dist/dnn/dnn-collapsible.entry.js.map +0 -1
  136. package/dist/dnn/dnn-collapsible.system.entry.js +0 -2
  137. package/dist/dnn/dnn-collapsible.system.entry.js.map +0 -1
  138. package/dist/dnn/dnn-color-picker.entry.js +0 -504
  139. package/dist/dnn/dnn-color-picker.entry.js.map +0 -1
  140. package/dist/dnn/dnn-color-picker.system.entry.js +0 -12
  141. package/dist/dnn/dnn-color-picker.system.entry.js.map +0 -1
  142. package/dist/dnn/dnn-dropzone.entry.js +0 -149
  143. package/dist/dnn/dnn-dropzone.entry.js.map +0 -1
  144. package/dist/dnn/dnn-dropzone.system.entry.js +0 -2
  145. package/dist/dnn/dnn-dropzone.system.entry.js.map +0 -1
  146. package/dist/dnn/dnn-image-cropper.entry.js +0 -404
  147. package/dist/dnn/dnn-image-cropper.entry.js.map +0 -1
  148. package/dist/dnn/dnn-image-cropper.system.entry.js +0 -2
  149. package/dist/dnn/dnn-image-cropper.system.entry.js.map +0 -1
  150. package/dist/dnn/dnn-modal.entry.js +0 -61
  151. package/dist/dnn/dnn-modal.entry.js.map +0 -1
  152. package/dist/dnn/dnn-modal.system.entry.js +0 -2
  153. package/dist/dnn/dnn-modal.system.entry.js.map +0 -1
  154. package/dist/dnn/dnn-permissions-grid.entry.js +0 -316
  155. package/dist/dnn/dnn-permissions-grid.entry.js.map +0 -1
  156. package/dist/dnn/dnn-permissions-grid.system.entry.js +0 -2
  157. package/dist/dnn/dnn-permissions-grid.system.entry.js.map +0 -1
  158. package/dist/dnn/dnn-searchbox.entry.js +0 -62
  159. package/dist/dnn/dnn-searchbox.entry.js.map +0 -1
  160. package/dist/dnn/dnn-searchbox.system.entry.js +0 -2
  161. package/dist/dnn/dnn-searchbox.system.entry.js.map +0 -1
  162. package/dist/dnn/dnn-sort-icon.entry.js +0 -39
  163. package/dist/dnn/dnn-sort-icon.entry.js.map +0 -1
  164. package/dist/dnn/dnn-sort-icon.system.entry.js +0 -2
  165. package/dist/dnn/dnn-sort-icon.system.entry.js.map +0 -1
  166. package/dist/dnn/dnn-tab.entry.js +0 -27
  167. package/dist/dnn/dnn-tab.entry.js.map +0 -1
  168. package/dist/dnn/dnn-tab.system.entry.js +0 -2
  169. package/dist/dnn/dnn-tab.system.entry.js.map +0 -1
  170. package/dist/dnn/dnn-tabs.entry.js +0 -48
  171. package/dist/dnn/dnn-tabs.entry.js.map +0 -1
  172. package/dist/dnn/dnn-tabs.system.entry.js +0 -2
  173. package/dist/dnn/dnn-tabs.system.entry.js.map +0 -1
  174. package/dist/dnn/dnn-toggle.entry.js +0 -33
  175. package/dist/dnn/dnn-toggle.entry.js.map +0 -1
  176. package/dist/dnn/dnn-toggle.system.entry.js +0 -2
  177. package/dist/dnn/dnn-toggle.system.entry.js.map +0 -1
  178. package/dist/dnn/dnn-treeview-item.entry.js +0 -64
  179. package/dist/dnn/dnn-treeview-item.entry.js.map +0 -1
  180. package/dist/dnn/dnn-treeview-item.system.entry.js +0 -2
  181. package/dist/dnn/dnn-treeview-item.system.entry.js.map +0 -1
  182. package/dist/dnn/dnn-vertical-overflow-menu.entry.js +0 -120
  183. package/dist/dnn/dnn-vertical-overflow-menu.entry.js.map +0 -1
  184. package/dist/dnn/dnn-vertical-overflow-menu.system.entry.js +0 -2
  185. package/dist/dnn/dnn-vertical-overflow-menu.system.entry.js.map +0 -1
  186. package/dist/dnn/dnn-vertical-splitview.entry.js +0 -129
  187. package/dist/dnn/dnn-vertical-splitview.entry.js.map +0 -1
  188. package/dist/dnn/dnn-vertical-splitview.system.entry.js +0 -2
  189. package/dist/dnn/dnn-vertical-splitview.system.entry.js.map +0 -1
  190. package/dist/dnn/dnn.system.js +0 -2
  191. package/dist/dnn/dnn.system.js.map +0 -1
  192. package/dist/dnn/dom-99eb7b76.system.js +0 -22
  193. package/dist/dnn/dom-99eb7b76.system.js.map +0 -1
  194. package/dist/dnn/dom-a385e381.js +0 -75
  195. package/dist/dnn/dom-a385e381.js.map +0 -1
  196. package/dist/dnn/index-20e42ad7.js +0 -3059
  197. package/dist/dnn/index-20e42ad7.js.map +0 -1
  198. package/dist/dnn/index-c3cc3b5b.system.js +0 -2
  199. package/dist/dnn/index-c3cc3b5b.system.js.map +0 -1
  200. package/dist/dnn/index.system.js +0 -2
  201. package/dist/dnn/index.system.js.map +0 -1
  202. package/dist/dnn/mouseUtilities-233ad7e3.system.js +0 -2
  203. package/dist/dnn/mouseUtilities-233ad7e3.system.js.map +0 -1
  204. package/dist/dnn/mouseUtilities-b261ca4f.js +0 -23
  205. package/dist/dnn/mouseUtilities-b261ca4f.js.map +0 -1
  206. package/dist/dnn/shadow-css-27708fdd.system.js +0 -14
  207. package/dist/dnn/shadow-css-27708fdd.system.js.map +0 -1
  208. package/dist/dnn/shadow-css-ef431969.js +0 -390
  209. package/dist/dnn/shadow-css-ef431969.js.map +0 -1
  210. package/dist/esm/app-globals-0f993ce5.js +0 -5
  211. package/dist/esm/app-globals-0f993ce5.js.map +0 -1
  212. package/dist/esm/css-shim-091f949f.js +0 -6
  213. package/dist/esm/css-shim-091f949f.js.map +0 -1
  214. package/dist/esm/dnn-button.entry.js +0 -88
  215. package/dist/esm/dnn-button.entry.js.map +0 -1
  216. package/dist/esm/dnn-checkbox.entry.js +0 -54
  217. package/dist/esm/dnn-checkbox.entry.js.map +0 -1
  218. package/dist/esm/dnn-chevron.entry.js +0 -30
  219. package/dist/esm/dnn-chevron.entry.js.map +0 -1
  220. package/dist/esm/dnn-collapsible.entry.js +0 -65
  221. package/dist/esm/dnn-collapsible.entry.js.map +0 -1
  222. package/dist/esm/dnn-color-picker.entry.js +0 -504
  223. package/dist/esm/dnn-color-picker.entry.js.map +0 -1
  224. package/dist/esm/dnn-dropzone.entry.js +0 -149
  225. package/dist/esm/dnn-dropzone.entry.js.map +0 -1
  226. package/dist/esm/dnn-image-cropper.entry.js +0 -404
  227. package/dist/esm/dnn-image-cropper.entry.js.map +0 -1
  228. package/dist/esm/dnn-modal.entry.js +0 -61
  229. package/dist/esm/dnn-modal.entry.js.map +0 -1
  230. package/dist/esm/dnn-permissions-grid.entry.js +0 -316
  231. package/dist/esm/dnn-permissions-grid.entry.js.map +0 -1
  232. package/dist/esm/dnn-searchbox.entry.js +0 -62
  233. package/dist/esm/dnn-searchbox.entry.js.map +0 -1
  234. package/dist/esm/dnn-sort-icon.entry.js +0 -39
  235. package/dist/esm/dnn-sort-icon.entry.js.map +0 -1
  236. package/dist/esm/dnn-tab.entry.js +0 -27
  237. package/dist/esm/dnn-tab.entry.js.map +0 -1
  238. package/dist/esm/dnn-tabs.entry.js +0 -48
  239. package/dist/esm/dnn-tabs.entry.js.map +0 -1
  240. package/dist/esm/dnn-toggle.entry.js +0 -33
  241. package/dist/esm/dnn-toggle.entry.js.map +0 -1
  242. package/dist/esm/dnn-treeview-item.entry.js +0 -64
  243. package/dist/esm/dnn-treeview-item.entry.js.map +0 -1
  244. package/dist/esm/dnn-vertical-overflow-menu.entry.js +0 -120
  245. package/dist/esm/dnn-vertical-overflow-menu.entry.js.map +0 -1
  246. package/dist/esm/dnn-vertical-splitview.entry.js +0 -129
  247. package/dist/esm/dnn-vertical-splitview.entry.js.map +0 -1
  248. package/dist/esm/dom-a385e381.js +0 -75
  249. package/dist/esm/dom-a385e381.js.map +0 -1
  250. package/dist/esm/index-20e42ad7.js +0 -3059
  251. package/dist/esm/index-20e42ad7.js.map +0 -1
  252. package/dist/esm/mouseUtilities-b261ca4f.js +0 -23
  253. package/dist/esm/mouseUtilities-b261ca4f.js.map +0 -1
  254. package/dist/esm/shadow-css-ef431969.js +0 -390
  255. package/dist/esm/shadow-css-ef431969.js.map +0 -1
  256. package/dist/types/home/runner/work/dnn-elements/dnn-elements/.stencil/.storybook/utilities.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dnn-vertical-overflow-menu.js","sourceRoot":"","sources":["../../../../src/components/dnn-vertical-overflow-menu/dnn-vertical-overflow-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Host, h, State } from '@stencil/core';\n\n@Component({\n tag: 'dnn-vertical-overflow-menu',\n styleUrl: 'dnn-vertical-overflow-menu.scss',\n shadow: true,\n})\nexport class DnnVerticalOverflowMenu {\n\n @Element() element!: HTMLDnnVerticalOverflowMenuElement;\n \n @State() showDropdownButton = false;\n @State() showDropdownMenu = false;\n\n private menu!: HTMLDivElement;\n private dropdown: HTMLDivElement;\n private resizeObserver: ResizeObserver;\n private button!: HTMLButtonElement;\n private previousMenuWidth = 0;\n\n componentDidRender() {\n requestAnimationFrame(() => {\n this.moveItemsToDropDownIfNecessery();\n this.resizeObserver = new ResizeObserver(entries => {\n for (let entry of entries){\n if (entry.contentRect.width < this.previousMenuWidth){\n this.moveItemsToDropDownIfNecessery()\n }\n if (this.previousMenuWidth > 0 && entry.contentRect.width > this.previousMenuWidth){\n this.moveItemsToMenuIfPossible();\n }\n this.previousMenuWidth = entry.contentRect.width;\n }\n });\n this.resizeObserver.observe(this.element);\n });\n }\n\n private moveItemsToDropDownIfNecessery(){\n const menuItems = Array.from(this.menu.querySelector(\"slot\").assignedElements());\n const availableWidth = this.menu.getBoundingClientRect().width;\n let neededWidth = parseFloat(getComputedStyle(this.element).fontSize)*2;\n menuItems.forEach(item => neededWidth += this.getFullWidth(item));\n neededWidth += (menuItems.length - 1) * parseFloat(getComputedStyle(this.element).fontSize);\n if (neededWidth > availableWidth){\n this.showDropdownButton = true;\n var lastItem = menuItems[menuItems.length -1];\n if (this.dropdown == undefined){\n return;\n }\n lastItem.slot = \"dropdown\";\n this.moveItemsToDropDownIfNecessery();\n }\n }\n \n private moveItemsToMenuIfPossible(){\n if (this.dropdown == undefined || !this.dropdown.hasChildNodes()){\n return;\n }\n const menuItems = Array.from(this.menu.querySelector(\"slot\").assignedElements());\n const availableWidth = this.menu.getBoundingClientRect().width;\n let neededWidth = parseFloat(getComputedStyle(this.element).fontSize)*2;\n neededWidth += (menuItems.length - 1) * parseFloat(getComputedStyle(this.element).fontSize);\n menuItems.forEach(item => neededWidth += this.getFullWidth(item));\n const firstItem = this.dropdown.querySelector(\"slot\").assignedElements()[0];\n if (firstItem != undefined){\n neededWidth += this.getFullWidth(firstItem);\n }\n\n if (neededWidth < availableWidth){\n if (firstItem != undefined){\n firstItem.slot = \"\";\n }\n if(firstItem == undefined){\n this.dropdown.classList.remove(\"visible\");\n this.showDropdownMenu = false;\n this.showDropdownButton = false;\n }\n } \n }\n\n private getFullWidth(item: Element) {\n var width = item.getBoundingClientRect().width;\n var styles = getComputedStyle(item);\n width += parseFloat(styles.marginLeft);\n width += parseFloat(styles.marginRight);\n width += parseFloat(styles.paddingLeft);\n width += parseFloat(styles.paddingRight);\n return width;\n }\n\n private toggleOverflowMenu(): void {\n this.showDropdownMenu = !this.showDropdownMenu;\n if (this.showDropdownMenu){\n this.dropdown.classList.add(\"visible\");\n let contentHeight = 0;\n const items = Array.from(this.dropdown.querySelector(\"slot\").assignedElements());\n items.forEach(item => contentHeight += item.getBoundingClientRect().height);\n const emHeight = parseFloat(getComputedStyle(this.dropdown).fontSize);\n const gapsHeight = emHeight * (this.dropdown.children.length - 1) / 2;\n contentHeight += gapsHeight;\n const marginHeight = emHeight * 2;\n contentHeight += marginHeight;\n this.dropdown.style.height = `${contentHeight}px`;\n const dismissMenu = (e: MouseEvent) => {\n const buttonRect = this.button.getBoundingClientRect();\n if (\n e.clientX < buttonRect.left ||\n e.clientX > buttonRect.right ||\n e.clientY < buttonRect.top ||\n e.clientY > buttonRect.bottom){\n this.toggleOverflowMenu();\n }\n document.removeEventListener(\"click\", dismissMenu);\n };\n setTimeout(() => {\n document.addEventListener(\"click\", dismissMenu, false);\n }, 100);\n }\n else{\n this.dropdown.classList.remove(\"visible\");\n this.dropdown.style.height = \"0px\";\n }\n }\n\n render() {\n return (\n <Host>\n <div class=\"menu-container\">\n <div class=\"menu\" ref={el => this.menu = el}>\n <slot></slot>\n </div>\n {this.showDropdownButton &&\n <div class=\"overflow\">\n <button\n ref={el => this.button = el}\n class=\"icon\"\n onClick={() => this.toggleOverflowMenu()}>\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=\"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\"/></svg>\n </button>\n <div class=\"dropdown\" ref={el => this.dropdown = el}>\n <slot name=\"dropdown\"></slot>\n </div>\n </div>\n }\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"dnn-vertical-overflow-menu.js","sourceRoot":"","sources":["../../../src/components/dnn-vertical-overflow-menu/dnn-vertical-overflow-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAOnE,MAAM,OAAO,uBAAuB;EALpC;IASW,uBAAkB,GAAG,KAAK,CAAC;IAC3B,qBAAgB,GAAG,KAAK,CAAC;IAM1B,sBAAiB,GAAG,CAAC,CAAC;GAmI/B;EAjIC,kBAAkB;IAChB,qBAAqB,CAAC,GAAG,EAAE;MACzB,IAAI,CAAC,8BAA8B,EAAE,CAAC;MACtC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE;QACjD,KAAK,IAAI,KAAK,IAAI,OAAO,EAAC;UACxB,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAC;YACnD,IAAI,CAAC,8BAA8B,EAAE,CAAA;WACtC;UACD,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAC;YACjF,IAAI,CAAC,yBAAyB,EAAE,CAAC;WAClC;UACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;SAClD;MACH,CAAC,CAAC,CAAC;MACH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;EACL,CAAC;EAEO,8BAA8B;IACpC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACjF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;IAC/D,IAAI,WAAW,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAC,CAAC,CAAC;IACxE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5F,IAAI,WAAW,GAAG,cAAc,EAAC;MAC/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;MAC/B,IAAI,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAE,CAAC,CAAC,CAAC;MAC9C,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAC;QAC7B,OAAO;OACR;MACD,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;MAC3B,IAAI,CAAC,8BAA8B,EAAE,CAAC;KACvC;EACH,CAAC;EAEO,yBAAyB;IAC/B,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAC;MAC/D,OAAO;KACR;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACjF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;IAC/D,IAAI,WAAW,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAC,CAAC,CAAC;IACxE,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5F,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,SAAS,IAAI,SAAS,EAAC;MACzB,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;KAC7C;IAED,IAAI,WAAW,GAAG,cAAc,EAAC;MAC/B,IAAI,SAAS,IAAI,SAAS,EAAC;QACzB,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC;OACrB;MACD,IAAG,SAAS,IAAI,SAAS,EAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;OACjC;KACF;EACH,CAAC;EAEO,YAAY,CAAC,IAAa;IAChC,IAAI,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;IAC/C,IAAI,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpC,KAAK,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACvC,KAAK,IAAI,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACxC,KAAK,IAAI,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACxC,KAAK,IAAI,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC;EACf,CAAC;EAEO,kBAAkB;IACxB,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAC/C,IAAI,IAAI,CAAC,gBAAgB,EAAC;MACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;MACvC,IAAI,aAAa,GAAG,CAAC,CAAC;MACtB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;MACjF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC;MAC5E,MAAM,QAAQ,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;MACtE,MAAM,UAAU,GAAG,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;MACtE,aAAa,IAAI,UAAU,CAAC;MAC5B,MAAM,YAAY,GAAG,QAAQ,GAAG,CAAC,CAAC;MAClC,aAAa,IAAI,YAAY,CAAC;MAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,aAAa,IAAI,CAAC;MAClD,MAAM,WAAW,GAAG,CAAC,CAAa,EAAE,EAAE;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACvD,IACE,CAAC,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI;UAC3B,CAAC,CAAC,OAAO,GAAG,UAAU,CAAC,KAAK;UAC5B,CAAC,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG;UAC1B,CAAC,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,EAAC;UAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;QACD,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;MACvD,CAAC,CAAC;MACF,UAAU,CAAC,GAAG,EAAE;QACd,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;MACzD,CAAC,EAAE,GAAG,CAAC,CAAC;KACT;SACG;MACF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;MAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;KACpC;EACH,CAAC;EAED,MAAM;IACJ,OAAO,CACL,EAAC,IAAI;MACH,WAAK,KAAK,EAAC,gBAAgB;QACzB,WAAK,KAAK,EAAC,MAAM,EAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE;UACzC,eAAa,CACT;QACH,IAAI,CAAC,kBAAkB;UACtB,WAAK,KAAK,EAAC,UAAU;YACnB,cACE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,EAC3B,KAAK,EAAC,MAAM,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE;cACxC,WAAK,KAAK,EAAC,4BAA4B,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,SAAS;gBAAC,YAAM,CAAC,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,GAAE;gBAAA,YAAM,CAAC,EAAC,mJAAmJ,GAAE,CAAM,CACvS;YACT,WAAK,KAAK,EAAC,UAAU,EAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE;cACjD,YAAM,IAAI,EAAC,UAAU,GAAQ,CACzB,CACF,CAEJ,CACH,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Host, h, State } from '@stencil/core';\n\n@Component({\n tag: 'dnn-vertical-overflow-menu',\n styleUrl: 'dnn-vertical-overflow-menu.scss',\n shadow: true,\n})\nexport class DnnVerticalOverflowMenu {\n\n @Element() element!: HTMLDnnVerticalOverflowMenuElement;\n \n @State() showDropdownButton = false;\n @State() showDropdownMenu = false;\n\n private menu!: HTMLDivElement;\n private dropdown: HTMLDivElement;\n private resizeObserver: ResizeObserver;\n private button!: HTMLButtonElement;\n private previousMenuWidth = 0;\n\n componentDidRender() {\n requestAnimationFrame(() => {\n this.moveItemsToDropDownIfNecessery();\n this.resizeObserver = new ResizeObserver(entries => {\n for (let entry of entries){\n if (entry.contentRect.width < this.previousMenuWidth){\n this.moveItemsToDropDownIfNecessery()\n }\n if (this.previousMenuWidth > 0 && entry.contentRect.width > this.previousMenuWidth){\n this.moveItemsToMenuIfPossible();\n }\n this.previousMenuWidth = entry.contentRect.width;\n }\n });\n this.resizeObserver.observe(this.element);\n });\n }\n\n private moveItemsToDropDownIfNecessery(){\n const menuItems = Array.from(this.menu.querySelector(\"slot\").assignedElements());\n const availableWidth = this.menu.getBoundingClientRect().width;\n let neededWidth = parseFloat(getComputedStyle(this.element).fontSize)*2;\n menuItems.forEach(item => neededWidth += this.getFullWidth(item));\n neededWidth += (menuItems.length - 1) * parseFloat(getComputedStyle(this.element).fontSize);\n if (neededWidth > availableWidth){\n this.showDropdownButton = true;\n var lastItem = menuItems[menuItems.length -1];\n if (this.dropdown == undefined){\n return;\n }\n lastItem.slot = \"dropdown\";\n this.moveItemsToDropDownIfNecessery();\n }\n }\n \n private moveItemsToMenuIfPossible(){\n if (this.dropdown == undefined || !this.dropdown.hasChildNodes()){\n return;\n }\n const menuItems = Array.from(this.menu.querySelector(\"slot\").assignedElements());\n const availableWidth = this.menu.getBoundingClientRect().width;\n let neededWidth = parseFloat(getComputedStyle(this.element).fontSize)*2;\n neededWidth += (menuItems.length - 1) * parseFloat(getComputedStyle(this.element).fontSize);\n menuItems.forEach(item => neededWidth += this.getFullWidth(item));\n const firstItem = this.dropdown.querySelector(\"slot\").assignedElements()[0];\n if (firstItem != undefined){\n neededWidth += this.getFullWidth(firstItem);\n }\n\n if (neededWidth < availableWidth){\n if (firstItem != undefined){\n firstItem.slot = \"\";\n }\n if(firstItem == undefined){\n this.dropdown.classList.remove(\"visible\");\n this.showDropdownMenu = false;\n this.showDropdownButton = false;\n }\n } \n }\n\n private getFullWidth(item: Element) {\n var width = item.getBoundingClientRect().width;\n var styles = getComputedStyle(item);\n width += parseFloat(styles.marginLeft);\n width += parseFloat(styles.marginRight);\n width += parseFloat(styles.paddingLeft);\n width += parseFloat(styles.paddingRight);\n return width;\n }\n\n private toggleOverflowMenu(): void {\n this.showDropdownMenu = !this.showDropdownMenu;\n if (this.showDropdownMenu){\n this.dropdown.classList.add(\"visible\");\n let contentHeight = 0;\n const items = Array.from(this.dropdown.querySelector(\"slot\").assignedElements());\n items.forEach(item => contentHeight += item.getBoundingClientRect().height);\n const emHeight = parseFloat(getComputedStyle(this.dropdown).fontSize);\n const gapsHeight = emHeight * (this.dropdown.children.length - 1) / 2;\n contentHeight += gapsHeight;\n const marginHeight = emHeight * 2;\n contentHeight += marginHeight;\n this.dropdown.style.height = `${contentHeight}px`;\n const dismissMenu = (e: MouseEvent) => {\n const buttonRect = this.button.getBoundingClientRect();\n if (\n e.clientX < buttonRect.left ||\n e.clientX > buttonRect.right ||\n e.clientY < buttonRect.top ||\n e.clientY > buttonRect.bottom){\n this.toggleOverflowMenu();\n }\n document.removeEventListener(\"click\", dismissMenu);\n };\n setTimeout(() => {\n document.addEventListener(\"click\", dismissMenu, false);\n }, 100);\n }\n else{\n this.dropdown.classList.remove(\"visible\");\n this.dropdown.style.height = \"0px\";\n }\n }\n\n render() {\n return (\n <Host>\n <div class=\"menu-container\">\n <div class=\"menu\" ref={el => this.menu = el}>\n <slot></slot>\n </div>\n {this.showDropdownButton &&\n <div class=\"overflow\">\n <button\n ref={el => this.button = el}\n class=\"icon\"\n onClick={() => this.toggleOverflowMenu()}>\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=\"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\"/></svg>\n </button>\n <div class=\"dropdown\" ref={el => this.dropdown = el}>\n <slot name=\"dropdown\"></slot>\n </div>\n </div>\n }\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dnn-vertical-overflow-menu.stories.js","sourceRoot":"","sources":["../../../../src/components/dnn-vertical-overflow-menu/dnn-vertical-overflow-menu.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,eAAe;EACX,KAAK,EAAE,iCAAiC;EACxC,SAAS,EAAE,4BAA4B;EACvC,UAAU,EAAE;IACR,KAAK,EAAG,MAAM;GACjB;EACD,QAAQ,EAAE;IACN,oBAAoB,EAAE;MAClB,OAAO,EAAE,OAAO;KACnB;IACD,oBAAoB,EAAE;MAClB,OAAO,EAAE,OAAO;KACnB;GACJ;CACI,CAAC;AAEV,MAAM,QAAQ,GAAG,CAAC,IAAQ,EAAE,OAAO,EAAE,EAAE,CACnC,IAAI,CAAA;;;;;;;;;;;;;;;;;YAiBI,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;KAsBlC,CAAC;AAEN,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC","sourcesContent":["import { html } from \"lit-html\";\nimport { Meta } from \"@storybook/web-components\";\nimport readme from './readme.md';\nimport { injectStyles } from \"../../../.storybook/utilities\";\n\nexport default {\n title: 'Elements/Vertical Overflow Menu',\n component: 'dnn-vertical-overflow-menu',\n parameters: {\n notes: readme,\n },\n argTypes: {\n '--background-color': {\n control: 'color',\n },\n '--foreground-color': {\n control: 'color',\n },\n }\n} as Meta;\n\nconst Template = (args: {}, context) => \n html`\n<style type=\"text/css\">\n dnn-vertical-overflow-menu svg{\n fill: #3792ED;\n }\n dnn-vertical-overflow-menu button{\n display: flex;\n align-items: center;\n }\n dnn-vertical-overflow-menu a{\n display: flex;\n align-items: center;\n text-decoration: none;\n color: black;\n }\n</style>\n<dnn-vertical-overflow-menu\n style=${injectStyles(args, context)}>\n <button>\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=\"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 14h-3v3h-2v-3H8v-2h3v-3h2v3h3v2zm-3-7V3.5L18.5 9H13z\"/></svg>\n <span>Create a new item</span>\n </button>\n <a href=\"#\">\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=\"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z\"/></svg>\n <span>Copy an item</span>\n </a>\n <a href=\"#\">\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\"/><circle cx=\"6\" cy=\"18\" fill=\"none\" r=\"2\"/><circle cx=\"12\" cy=\"12\" fill=\"none\" r=\".5\"/><circle cx=\"6\" cy=\"6\" fill=\"none\" r=\"2\"/><path d=\"M9.64 7.64c.23-.5.36-1.05.36-1.64 0-2.21-1.79-4-4-4S2 3.79 2 6s1.79 4 4 4c.59 0 1.14-.13 1.64-.36L10 12l-2.36 2.36C7.14 14.13 6.59 14 6 14c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4c0-.59-.13-1.14-.36-1.64L12 14l7 7h3v-1L9.64 7.64zM6 8c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2zm0 12c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2zm6-7.5c-.28 0-.5-.22-.5-.5s.22-.5.5-.5.5.22.5.5-.22.5-.5.5zM19 3l-6 6 2 2 7-7V3z\"/></svg>\n <span>Cut an item</span>\n </a>\n <a href=\"#\">\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 2h-4.18C14.4.84 13.3 0 12 0c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm7 18H5V4h2v3h10V4h2v16z\"/></svg>\n <span>Paste an item</span>\n </a>\n <a href=\"#\">\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=\"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z\"/></svg>\n <span>Save the item</span>\n </a>\n</dnn-vertical-overflow-menu>\n `;\n\nexport const VerticalOverflowMenu = Template.bind({});\n"]}
1
+ {"version":3,"file":"dnn-vertical-overflow-menu.stories.js","sourceRoot":"","sources":["../../../src/components/dnn-vertical-overflow-menu/dnn-vertical-overflow-menu.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,eAAe;EACX,KAAK,EAAE,iCAAiC;EACxC,SAAS,EAAE,4BAA4B;EACvC,UAAU,EAAE;IACR,KAAK,EAAG,MAAM;GACjB;EACD,QAAQ,EAAE;IACN,oBAAoB,EAAE;MAClB,OAAO,EAAE,OAAO;KACnB;IACD,oBAAoB,EAAE;MAClB,OAAO,EAAE,OAAO;KACnB;GACJ;CACI,CAAC;AAEV,MAAM,QAAQ,GAAG,CAAC,IAAQ,EAAE,OAAO,EAAE,EAAE,CACnC,IAAI,CAAA;;;;;;;;;;;;;;;;;YAiBI,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;KAsBlC,CAAC;AAEN,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC","sourcesContent":["import { html } from \"lit-html\";\nimport { Meta } from \"@storybook/web-components\";\nimport readme from './readme.md';\nimport { injectStyles } from \"../../../.storybook/utilities\";\n\nexport default {\n title: 'Elements/Vertical Overflow Menu',\n component: 'dnn-vertical-overflow-menu',\n parameters: {\n notes: readme,\n },\n argTypes: {\n '--background-color': {\n control: 'color',\n },\n '--foreground-color': {\n control: 'color',\n },\n }\n} as Meta;\n\nconst Template = (args: {}, context) => \n html`\n<style type=\"text/css\">\n dnn-vertical-overflow-menu svg{\n fill: #3792ED;\n }\n dnn-vertical-overflow-menu button{\n display: flex;\n align-items: center;\n }\n dnn-vertical-overflow-menu a{\n display: flex;\n align-items: center;\n text-decoration: none;\n color: black;\n }\n</style>\n<dnn-vertical-overflow-menu\n style=${injectStyles(args, context)}>\n <button>\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=\"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 14h-3v3h-2v-3H8v-2h3v-3h2v3h3v2zm-3-7V3.5L18.5 9H13z\"/></svg>\n <span>Create a new item</span>\n </button>\n <a href=\"#\">\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=\"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z\"/></svg>\n <span>Copy an item</span>\n </a>\n <a href=\"#\">\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\"/><circle cx=\"6\" cy=\"18\" fill=\"none\" r=\"2\"/><circle cx=\"12\" cy=\"12\" fill=\"none\" r=\".5\"/><circle cx=\"6\" cy=\"6\" fill=\"none\" r=\"2\"/><path d=\"M9.64 7.64c.23-.5.36-1.05.36-1.64 0-2.21-1.79-4-4-4S2 3.79 2 6s1.79 4 4 4c.59 0 1.14-.13 1.64-.36L10 12l-2.36 2.36C7.14 14.13 6.59 14 6 14c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4c0-.59-.13-1.14-.36-1.64L12 14l7 7h3v-1L9.64 7.64zM6 8c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2zm0 12c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2zm6-7.5c-.28 0-.5-.22-.5-.5s.22-.5.5-.5.5.22.5.5-.22.5-.5.5zM19 3l-6 6 2 2 7-7V3z\"/></svg>\n <span>Cut an item</span>\n </a>\n <a href=\"#\">\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 2h-4.18C14.4.84 13.3 0 12 0c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm7 18H5V4h2v3h10V4h2v16z\"/></svg>\n <span>Paste an item</span>\n </a>\n <a href=\"#\">\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=\"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z\"/></svg>\n <span>Save the item</span>\n </a>\n</dnn-vertical-overflow-menu>\n `;\n\nexport const VerticalOverflowMenu = Template.bind({});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dnn-vertical-splitview.js","sourceRoot":"","sources":["../../../../src/components/dnn-vertical-splitview/dnn-vertical-splitview.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, Element, State, Method, Event, EventEmitter } from '@stencil/core';\nimport { getMovementFromEvent } from \"../../utilities/mouseUtilities\";\n\n/**\n * @slot default - The split divider control you want to use.\n * @slot left - The content of the left pane.\n * @slot right - The content of the right pane.\n */\n@Component({\n tag: 'dnn-vertical-splitview',\n styleUrl: 'dnn-vertical-splitview.scss',\n shadow: true,\n})\nexport class DnnVerticalSplitview {\n\n /** The width of the splitter area. */\n @Prop() splitterWidth = 16;\n\n /** The percentage position of the splitter in the container. */\n @Prop({mutable: true}) splitWidthPercentage = 30;\n \n private splitter!: HTMLButtonElement;\n\n private resizeObserver: ResizeObserver;\n\n /** Sets the width percentage of the divider */\n @Method()\n async setSplitWidthPercentage(newWidth: number) {\n const panes = this.element.shadowRoot.querySelectorAll(\".pane\");\n requestAnimationFrame(() => {\n panes.forEach(pane => pane.classList.add(\"transition\"));\n this.splitter.classList.add(\"transition\");\n requestAnimationFrame(() => {\n const fullWidth = this.element.getBoundingClientRect().width;\n let newLeft = fullWidth * newWidth / 100;\n if (newLeft < 0){\n newLeft = 0;\n }\n if (newLeft > fullWidth){\n newLeft = fullWidth;\n }\n this.leftWidth = newLeft;\n this.rightWidth = fullWidth - newLeft;\n setTimeout(() => {\n panes.forEach(pane => pane.classList.remove(\"transition\"));\n this.splitter.classList.remove(\"transition\");\n }, 300);\n });\n });\n }\n\n /** Gets the current divider position percentage. */\n @Method()\n async getSplitWidthPercentage(){\n const fullWidth = this.element.getBoundingClientRect().width;\n return this.leftWidth / fullWidth;\n }\n\n /** Fires when the width of the divider changes. */\n @Event() widthChanged: EventEmitter<number>;\n\n @State() leftWidth = 0;\n @State() rightWidth = 0;\n\n @Element() element : HTMLDnnVerticalSplitviewElement;\n \n componentDidLoad() {\n requestAnimationFrame(() => {\n this.resizeObserver = new ResizeObserver(() => {\n const fullWidth = this.element.getBoundingClientRect().width;\n this.leftWidth = fullWidth * this.splitWidthPercentage / 100;\n this.rightWidth = fullWidth - this.leftWidth;\n this.widthChanged.emit(this.splitWidthPercentage);\n });\n this.resizeObserver.observe(this.element);\n });\n }\n \n private previousTouch: Touch;\n\n private handleMouseDown(event: MouseEvent | TouchEvent) {\n event.preventDefault();\n const handleDrag = (ev: MouseEvent | TouchEvent) => {\n requestAnimationFrame(() => {\n let fullWidth = this.element.getBoundingClientRect().width;\n let {movementX} = getMovementFromEvent(ev, this.previousTouch);\n let newLeft = this.leftWidth + movementX;\n if (newLeft < 0){\n newLeft = 0;\n }\n if (newLeft > fullWidth){\n newLeft = fullWidth;\n }\n this.leftWidth = newLeft;\n this.rightWidth = fullWidth - newLeft;\n this.splitWidthPercentage = this.leftWidth / fullWidth * 100;\n });\n }\n const handleDragFinished = () => {\n document.removeEventListener(\"mousemove\", handleDrag);\n document.removeEventListener(\"touchmove\", handleDrag);\n const fullWidth = this.element.getBoundingClientRect().width;\n const newPercentage = this.leftWidth / fullWidth * 100;\n this.widthChanged.emit(newPercentage);\n };\n document.addEventListener(\"mouseup\", handleDragFinished);\n document.addEventListener(\"touchend\", handleDragFinished);\n document.addEventListener(\"mousemove\", handleDrag);\n document.addEventListener(\"touchmove\", handleDrag);\n }\n\n private handleKeyDown(e: KeyboardEvent): void {\n let movementX = 0;\n switch (e.key) {\n case \"ArrowLeft\":\n movementX = -10;\n break;\n case \"ArrowRight\":\n movementX = 10;\n break;\n default:\n return;\n }\n if (e.shiftKey){\n movementX = movementX * 10;\n }\n const fullWidth = this.element.getBoundingClientRect().width;\n let newLeft = this.leftWidth + movementX;\n if (newLeft < 0){\n newLeft = 0;\n }\n if (newLeft > fullWidth){\n newLeft = fullWidth;\n }\n this.leftWidth = newLeft;\n this.rightWidth = fullWidth - this.leftWidth;\n }\n\n render() {\n return (\n <Host>\n <div class=\"left pane\" style={{\n width: `${this.leftWidth}px`,\n }}>\n <slot name=\"left\"></slot>\n </div>\n <button\n onMouseDown={e => this.handleMouseDown(e)}\n onTouchStart={e => this.handleMouseDown(e)}\n onKeyDown={e => this.handleKeyDown(e)}\n ref={el => this.splitter = el}\n style={{\n minWidth: `${this.splitterWidth.toString()}px`,\n left: `${this.leftWidth - 2}px`,\n }}\n >\n <slot></slot>\n </button>\n <div\n class=\"right pane\"\n style={{\n width: `${this.rightWidth}px`,\n }}>\n <slot name=\"right\"></slot>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"dnn-vertical-splitview.js","sourceRoot":"","sources":["../../../src/components/dnn-vertical-splitview/dnn-vertical-splitview.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, Element, State, Method, Event, EventEmitter } from '@stencil/core';\nimport { getMovementFromEvent } from \"../../utilities/mouseUtilities\";\n\n/**\n * @slot default - The split divider control you want to use.\n * @slot left - The content of the left pane.\n * @slot right - The content of the right pane.\n */\n@Component({\n tag: 'dnn-vertical-splitview',\n styleUrl: 'dnn-vertical-splitview.scss',\n shadow: true,\n})\nexport class DnnVerticalSplitview {\n\n /** The width of the splitter area. */\n @Prop() splitterWidth = 16;\n\n /** The percentage position of the splitter in the container. */\n @Prop({mutable: true}) splitWidthPercentage = 30;\n \n private splitter!: HTMLButtonElement;\n\n private resizeObserver: ResizeObserver;\n\n /** Sets the width percentage of the divider */\n @Method()\n async setSplitWidthPercentage(newWidth: number) {\n const panes = this.element.shadowRoot.querySelectorAll(\".pane\");\n requestAnimationFrame(() => {\n panes.forEach(pane => pane.classList.add(\"transition\"));\n this.splitter.classList.add(\"transition\");\n requestAnimationFrame(() => {\n const fullWidth = this.element.getBoundingClientRect().width;\n let newLeft = fullWidth * newWidth / 100;\n if (newLeft < 0){\n newLeft = 0;\n }\n if (newLeft > fullWidth){\n newLeft = fullWidth;\n }\n this.leftWidth = newLeft;\n this.rightWidth = fullWidth - newLeft;\n setTimeout(() => {\n panes.forEach(pane => pane.classList.remove(\"transition\"));\n this.splitter.classList.remove(\"transition\");\n }, 300);\n });\n });\n }\n\n /** Gets the current divider position percentage. */\n @Method()\n async getSplitWidthPercentage(){\n const fullWidth = this.element.getBoundingClientRect().width;\n return this.leftWidth / fullWidth;\n }\n\n /** Fires when the width of the divider changes. */\n @Event() widthChanged: EventEmitter<number>;\n\n @State() leftWidth = 0;\n @State() rightWidth = 0;\n\n @Element() element : HTMLDnnVerticalSplitviewElement;\n \n componentDidLoad() {\n requestAnimationFrame(() => {\n this.resizeObserver = new ResizeObserver(() => {\n const fullWidth = this.element.getBoundingClientRect().width;\n this.leftWidth = fullWidth * this.splitWidthPercentage / 100;\n this.rightWidth = fullWidth - this.leftWidth;\n this.widthChanged.emit(this.splitWidthPercentage);\n });\n this.resizeObserver.observe(this.element);\n });\n }\n \n private previousTouch: Touch;\n\n private handleMouseDown(event: MouseEvent | TouchEvent) {\n event.preventDefault();\n const handleDrag = (ev: MouseEvent | TouchEvent) => {\n requestAnimationFrame(() => {\n let fullWidth = this.element.getBoundingClientRect().width;\n let {movementX} = getMovementFromEvent(ev, this.previousTouch);\n let newLeft = this.leftWidth + movementX;\n if (newLeft < 0){\n newLeft = 0;\n }\n if (newLeft > fullWidth){\n newLeft = fullWidth;\n }\n this.leftWidth = newLeft;\n this.rightWidth = fullWidth - newLeft;\n this.splitWidthPercentage = this.leftWidth / fullWidth * 100;\n });\n }\n const handleDragFinished = () => {\n document.removeEventListener(\"mousemove\", handleDrag);\n document.removeEventListener(\"touchmove\", handleDrag);\n const fullWidth = this.element.getBoundingClientRect().width;\n const newPercentage = this.leftWidth / fullWidth * 100;\n this.widthChanged.emit(newPercentage);\n };\n document.addEventListener(\"mouseup\", handleDragFinished);\n document.addEventListener(\"touchend\", handleDragFinished);\n document.addEventListener(\"mousemove\", handleDrag);\n document.addEventListener(\"touchmove\", handleDrag);\n }\n\n private handleKeyDown(e: KeyboardEvent): void {\n let movementX = 0;\n switch (e.key) {\n case \"ArrowLeft\":\n movementX = -10;\n break;\n case \"ArrowRight\":\n movementX = 10;\n break;\n default:\n return;\n }\n if (e.shiftKey){\n movementX = movementX * 10;\n }\n const fullWidth = this.element.getBoundingClientRect().width;\n let newLeft = this.leftWidth + movementX;\n if (newLeft < 0){\n newLeft = 0;\n }\n if (newLeft > fullWidth){\n newLeft = fullWidth;\n }\n this.leftWidth = newLeft;\n this.rightWidth = fullWidth - this.leftWidth;\n }\n\n render() {\n return (\n <Host>\n <div class=\"left pane\" style={{\n width: `${this.leftWidth}px`,\n }}>\n <slot name=\"left\"></slot>\n </div>\n <button\n onMouseDown={e => this.handleMouseDown(e)}\n onTouchStart={e => this.handleMouseDown(e)}\n onKeyDown={e => this.handleKeyDown(e)}\n ref={el => this.splitter = el}\n style={{\n minWidth: `${this.splitterWidth.toString()}px`,\n left: `${this.leftWidth - 2}px`,\n }}\n >\n <slot></slot>\n </button>\n <div\n class=\"right pane\"\n style={{\n width: `${this.rightWidth}px`,\n }}>\n <slot name=\"right\"></slot>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dnn-vertical-splitview.stories.js","sourceRoot":"","sources":["../../../../src/components/dnn-vertical-splitview/dnn-vertical-splitview.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,eAAe;EACX,KAAK,EAAE,6BAA6B;EACpC,SAAS,EAAE,wBAAwB;EACnC,UAAU,EAAE;IACR,OAAO,EAAE;MACL,OAAO,EAAE,CAAC,cAAc,CAAC;KAC5B;IACD,KAAK,EAAG,MAAM;GACjB;EACD,QAAQ,EAAE;IACN,gBAAgB,EAAE;MACd,OAAO,EAAE,QAAQ;KACpB;IACD,wBAAwB,EAAE;MACtB,OAAO,EAAE,QAAQ;KAClB;GACF;EACD,8BAA8B,EAAE;IAC5B,OAAO,EAAE,OAAO;GACnB;EACD,+BAA+B,EAAE;IAC7B,OAAO,EAAE,OAAO;GACnB;CACA,CAAC;AAEV,MAAM,QAAQ,GAAG,CAAC,IAGjB,EAAE,OAAO,EAAE,EAAE,CACV,IAAI,CAAA;;;YAGI,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;qBAC7B,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;6BACrB,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmC5D,CAAC;AAEN,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnD,iBAAiB,CAAC,IAAI,GAAG;EACrB,aAAa,EAAE,EAAE;EACjB,oBAAoB,EAAE,EAAE;CAC3B,CAAC","sourcesContent":["import { html } from \"lit-html\";\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { Meta } from \"@storybook/web-components\";\nimport readme from './readme.md';\nimport { injectStyles } from \"../../../.storybook/utilities\";\n\nexport default {\n title: 'Elements/Vertical Splitview',\n component: 'dnn-vertical-splitview',\n parameters: {\n actions: {\n handles: ['widthChanged'],\n },\n notes: readme,\n },\n argTypes: {\n 'splitter-width': {\n control: 'number',\n },\n 'split-width-percentage': {\n control: 'number',\n },\n },\n '--left-pane-background-color': {\n control: 'color',\n },\n '--right-pane-background-color': {\n control: 'color',\n },\n} as Meta;\n\nconst Template = (args: {\n splitterWidth: number,\n splitWidthPercentage: number,\n}, context) => \n html`\n<dnn-vertical-splitview\n id=\"split-view-demo\"\n style=${ifDefined(injectStyles(args, context))}\n splitter-width=${ifDefined(args.splitterWidth)}\n split-width-percentage=${ifDefined(args.splitWidthPercentage)}\n @setSplitWidthPercentage>\n <div style=\"height: 100%;\n display: flex;\n align-items: center;\n box-shadow: inset 8px 0 8px -8px grey;\n position: absolute;\n top:0;\">\n <button\n id=\"vertical-splitview-button\"\n style=\"margin: 0;\n padding: 0;\n width: 24px;\n height: 24px;\n border: 1px solid lightgray;\n border-radius: 50%;\n background-color: white;\n box-shadow: 2px 2px 4px rgb(0 0 0 / 20%);\n position: relative;\n left: -12px;\"\n >\n &lt;&gt;\n </button>\n </div>\n <div slot=\"left\" style=\"padding: 1em;\">\n <p>Laboris velit ullamco reprehenderit incididunt culpa id do voluptate non. Do et officia ad ullamco et. Aliqua dolor nostrud velit ex duis adipisicing sit consectetur ea id nostrud sit labore. Voluptate culpa ut anim pariatur.</p>\n <p>Officia tempor anim nulla irure elit excepteur velit ea mollit non minim ad duis. Mollit in et sint adipisicing in tempor et fugiat. Laborum id pariatur ut deserunt anim esse ullamco officia dolor labore proident esse. Reprehenderit adipisicing eu irure officia labore sint velit. Anim consequat incididunt tempor excepteur dolor consequat eiusmod dolore adipisicing consectetur. Incididunt aliqua eiusmod sint proident nisi nostrud minim quis mollit tempor.</p>\n <p>Anim aute duis excepteur ipsum mollit. Ea officia elit amet qui labore reprehenderit pariatur laboris amet exercitation eu et. Ad Lorem aute exercitation amet. Est excepteur occaecat id consequat consequat.</p>\n </div>\n <div slot=\"right\" style=\"padding: 1em;\">\n <p>Deserunt occaecat incididunt ipsum consectetur ullamco nulla qui sunt nostrud. Laborum incididunt enim culpa exercitation nisi dolore duis do sit deserunt cillum ullamco. Et incididunt nisi consectetur et cillum proident consectetur dolor cupidatat mollit magna. Ut Lorem incididunt sit consequat culpa mollit do officia. Amet eu proident non enim eu id mollit et occaecat. Ut dolor consectetur Lorem minim Lorem culpa quis nostrud elit reprehenderit labore sint. Officia dolore dolore ullamco tempor cupidatat est amet.</p>\n <p>Consequat cillum ex elit pariatur laborum ullamco qui est nisi tempor ullamco. Dolor proident ipsum cupidatat culpa quis est amet exercitation veniam proident nulla consequat quis anim. Lorem exercitation incididunt aliqua sit nisi.</p>\n <p>Consectetur elit tempor Lorem nostrud non cillum aliquip. Culpa culpa eu est est id deserunt exercitation elit occaecat enim in velit. Reprehenderit nostrud reprehenderit ex cillum pariatur enim. Amet minim elit quis excepteur exercitation eiusmod amet labore. Officia culpa exercitation do eu in ad id qui eiusmod aliqua id ex. Aliqua ullamco fugiat ex magna ex dolore fugiat consectetur mollit consequat consequat nulla et. Ea eu Lorem non officia pariatur nostrud.</p>\n </div>\n</dnn-vertical-splitview>\n `;\n\nexport const VerticalSplitview = Template.bind({});\nVerticalSplitview.args = {\n splitterWidth: 16,\n splitWidthPercentage: 30,\n};\n"]}
1
+ {"version":3,"file":"dnn-vertical-splitview.stories.js","sourceRoot":"","sources":["../../../src/components/dnn-vertical-splitview/dnn-vertical-splitview.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,eAAe;EACX,KAAK,EAAE,6BAA6B;EACpC,SAAS,EAAE,wBAAwB;EACnC,UAAU,EAAE;IACR,OAAO,EAAE;MACL,OAAO,EAAE,CAAC,cAAc,CAAC;KAC5B;IACD,KAAK,EAAG,MAAM;GACjB;EACD,QAAQ,EAAE;IACN,gBAAgB,EAAE;MACd,OAAO,EAAE,QAAQ;KACpB;IACD,wBAAwB,EAAE;MACtB,OAAO,EAAE,QAAQ;KAClB;GACF;EACD,8BAA8B,EAAE;IAC5B,OAAO,EAAE,OAAO;GACnB;EACD,+BAA+B,EAAE;IAC7B,OAAO,EAAE,OAAO;GACnB;CACA,CAAC;AAEV,MAAM,QAAQ,GAAG,CAAC,IAGjB,EAAE,OAAO,EAAE,EAAE,CACV,IAAI,CAAA;;;YAGI,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;qBAC7B,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;6BACrB,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmC5D,CAAC;AAEN,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnD,iBAAiB,CAAC,IAAI,GAAG;EACrB,aAAa,EAAE,EAAE;EACjB,oBAAoB,EAAE,EAAE;CAC3B,CAAC","sourcesContent":["import { html } from \"lit-html\";\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { Meta } from \"@storybook/web-components\";\nimport readme from './readme.md';\nimport { injectStyles } from \"../../../.storybook/utilities\";\n\nexport default {\n title: 'Elements/Vertical Splitview',\n component: 'dnn-vertical-splitview',\n parameters: {\n actions: {\n handles: ['widthChanged'],\n },\n notes: readme,\n },\n argTypes: {\n 'splitter-width': {\n control: 'number',\n },\n 'split-width-percentage': {\n control: 'number',\n },\n },\n '--left-pane-background-color': {\n control: 'color',\n },\n '--right-pane-background-color': {\n control: 'color',\n },\n} as Meta;\n\nconst Template = (args: {\n splitterWidth: number,\n splitWidthPercentage: number,\n}, context) => \n html`\n<dnn-vertical-splitview\n id=\"split-view-demo\"\n style=${ifDefined(injectStyles(args, context))}\n splitter-width=${ifDefined(args.splitterWidth)}\n split-width-percentage=${ifDefined(args.splitWidthPercentage)}\n @setSplitWidthPercentage>\n <div style=\"height: 100%;\n display: flex;\n align-items: center;\n box-shadow: inset 8px 0 8px -8px grey;\n position: absolute;\n top:0;\">\n <button\n id=\"vertical-splitview-button\"\n style=\"margin: 0;\n padding: 0;\n width: 24px;\n height: 24px;\n border: 1px solid lightgray;\n border-radius: 50%;\n background-color: white;\n box-shadow: 2px 2px 4px rgb(0 0 0 / 20%);\n position: relative;\n left: -12px;\"\n >\n &lt;&gt;\n </button>\n </div>\n <div slot=\"left\" style=\"padding: 1em;\">\n <p>Laboris velit ullamco reprehenderit incididunt culpa id do voluptate non. Do et officia ad ullamco et. Aliqua dolor nostrud velit ex duis adipisicing sit consectetur ea id nostrud sit labore. Voluptate culpa ut anim pariatur.</p>\n <p>Officia tempor anim nulla irure elit excepteur velit ea mollit non minim ad duis. Mollit in et sint adipisicing in tempor et fugiat. Laborum id pariatur ut deserunt anim esse ullamco officia dolor labore proident esse. Reprehenderit adipisicing eu irure officia labore sint velit. Anim consequat incididunt tempor excepteur dolor consequat eiusmod dolore adipisicing consectetur. Incididunt aliqua eiusmod sint proident nisi nostrud minim quis mollit tempor.</p>\n <p>Anim aute duis excepteur ipsum mollit. Ea officia elit amet qui labore reprehenderit pariatur laboris amet exercitation eu et. Ad Lorem aute exercitation amet. Est excepteur occaecat id consequat consequat.</p>\n </div>\n <div slot=\"right\" style=\"padding: 1em;\">\n <p>Deserunt occaecat incididunt ipsum consectetur ullamco nulla qui sunt nostrud. Laborum incididunt enim culpa exercitation nisi dolore duis do sit deserunt cillum ullamco. Et incididunt nisi consectetur et cillum proident consectetur dolor cupidatat mollit magna. Ut Lorem incididunt sit consequat culpa mollit do officia. Amet eu proident non enim eu id mollit et occaecat. Ut dolor consectetur Lorem minim Lorem culpa quis nostrud elit reprehenderit labore sint. Officia dolore dolore ullamco tempor cupidatat est amet.</p>\n <p>Consequat cillum ex elit pariatur laborum ullamco qui est nisi tempor ullamco. Dolor proident ipsum cupidatat culpa quis est amet exercitation veniam proident nulla consequat quis anim. Lorem exercitation incididunt aliqua sit nisi.</p>\n <p>Consectetur elit tempor Lorem nostrud non cillum aliquip. Culpa culpa eu est est id deserunt exercitation elit occaecat enim in velit. Reprehenderit nostrud reprehenderit ex cillum pariatur enim. Amet minim elit quis excepteur exercitation eiusmod amet labore. Officia culpa exercitation do eu in ad id qui eiusmod aliqua id ex. Aliqua ullamco fugiat ex magna ex dolore fugiat consectetur mollit consequat consequat nulla et. Ea eu Lorem non officia pariatur nostrud.</p>\n </div>\n</dnn-vertical-splitview>\n `;\n\nexport const VerticalSplitview = Template.bind({});\nVerticalSplitview.args = {\n splitterWidth: 16,\n splitWidthPercentage: 30,\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC","sourcesContent":["export { Components, JSX } from './components';\nexport * from './utilities/debounce';\nexport * from './utilities/dnnServicesFramework';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC","sourcesContent":["export { Components, JSX } from './components';\nexport * from './utilities/debounce';\nexport * from './utilities/dnnServicesFramework';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"colorInfo.js","sourceRoot":"","sources":["../../../src/utilities/colorInfo.ts"],"names":[],"mappings":"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","sourcesContent":["/** Color utility class with hsl and rgb converters\r\n * based on math at https://en.wikipedia.org/wiki/HSL_and_HSV\r\n * @copyright Copyright (c) .NET Foundation. All rights reserved.\r\n * @license MIT \r\n */\r\n\r\nexport class ColorInfo{\r\n\r\n private _hue: number = 0;\r\n /** gets the color hue\r\n * @returns a number between 0 and 359, could contain decimals\r\n */\r\n get hue() { return this._hue; }\r\n set hue(value: number){\r\n if (value < 0) { value = 0; }\r\n if (value > 359) { value = 359; }\r\n this._hue = value;\r\n }\r\n\r\n private _saturation: number = 0;\r\n /** gets the color saturation\r\n * @returns a number between 0 and 1, could contain decimals\r\n */\r\n get saturation() { return this._saturation; }\r\n set saturation(value: number) {\r\n if (value < 0) { value = 0; }\r\n if (value > 1) { value = 1; }\r\n this._saturation = value;\r\n }\r\n\r\n private _lightness: number = 0;\r\n /** gets the color lightness\r\n * @returns a number between 0 and 1, could contain decimals\r\n */\r\n get lightness() { return this._lightness; }\r\n set lightness(value: number) {\r\n if (value < 0) { value = 0; }\r\n if (value > 1) { value = 1; }\r\n this._lightness = value;\r\n }\r\n\r\n /** gets or sets the red component \r\n * @returns an integer between 0 and 255\r\n */\r\n get red() {\r\n return this.getRGB().red;\r\n }\r\n set red(value) {\r\n this.setHSL(value, this.green, this.blue);\r\n }\r\n\r\n /** gets or sets the green component\r\n * @returns an integer between 0 and 255\r\n */\r\n get green() {\r\n return this.getRGB().green;\r\n }\r\n set green(value: number) {\r\n this.setHSL(this.red, value, this.blue);\r\n }\r\n\r\n /** gets or sets the blue component\r\n * @returns an integer between 0 and 255\r\n */\r\n get blue() {\r\n return this.getRGB().blue;\r\n }\r\n set blue(value: number) {\r\n this.setHSL(this.red, this.green, value);\r\n }\r\n\r\n /** gets or sets the hex color value, expresses as 6 hexadecimal characters.\r\n * @returns hex representation of the color\r\n */\r\n get hex() {\r\n var r = this.getHex(this.red);\r\n var g = this.getHex(this.green);\r\n var b = this.getHex(this.blue);\r\n return r + g + b;\r\n }\r\n set hex(value: string){\r\n this.red = parseInt(value.substr(0,2));\r\n this.green = parseInt(value.substr(2,2));\r\n this.blue = parseInt(value.substr(4,2));\r\n }\r\n\r\n /** gets white or black color that is a good oposite to the current color\r\n * @returns - \"000000\" or \"FFFFFF\"\r\n */\r\n get contrastColor() {\r\n const brightness = (this.red*299 + this.green*587 + this.blue*114) / 1000\r\n if (brightness > 127){\r\n return \"000000\";\r\n }\r\n return \"FFFFFF\";\r\n }\r\n\r\n private getRGB() {\r\n const chroma = (1 - Math.abs((2 * this._lightness) - 1)) * this.saturation;\r\n // find the quandrant of the hue\r\n const quadrant = this._hue / 60;\r\n // calculate the offset from the quandrant center\r\n const offset = chroma * (1 - Math.abs(quadrant % 2 - 1));\r\n\r\n // Apply the chroma to the primary component and the offset to the 2nd most important component\r\n let r = 0, g = 0, b = 0;\r\n if (0 <= quadrant && quadrant <= 1) {\r\n r = chroma; g = offset; // red to yellow\r\n } else if (1 <= quadrant && quadrant <= 2) {\r\n g = chroma; r = offset; // yellow to green\r\n } else if (2 <= quadrant && quadrant <= 3) {\r\n g = chroma; b = offset; // green to cyan\r\n } else if (3 <= quadrant && quadrant <= 4) {\r\n b = chroma; g = offset; // cyan to blue\r\n } else if (4 <= quadrant && quadrant <= 5) {\r\n b = chroma; r = offset; // blue to magenta\r\n } else if (5 <= quadrant && quadrant <= 6) {\r\n r = chroma; b = offset; // magenta to red\r\n }\r\n // calculate the bias to add to all channels to match the lightness\r\n const bias = this._lightness - (chroma / 2);\r\n\r\n return {\r\n red: Math.round((r + bias) * 255),\r\n green: Math.round((g + bias) * 255),\r\n blue: Math.round((b + bias) * 255)\r\n }\r\n }\r\n\r\n private setHSL(red: number, green: number, blue: number) {\r\n // GENERAL DATA\r\n // all math is based on values from 0 to 1\r\n const r = red/255, g = green/255, b = blue/255;\r\n // we need to max, min and the difference between them to derive hsl\r\n const min = Math.min(r, g, b);\r\n const max = Math.max(r, g, b);\r\n const diff = max - min;\r\n let h = 0, s = 0, l = 0;\r\n\r\n // HUE\r\n if (diff === 0) { // neutral\r\n h = 0;\r\n } else if (max === r) { // red (magenta to yellow range)\r\n h = 60 * ((g - b) / diff);\r\n } else if (max === g) { // green (yellow to cyan range)\r\n h = 60 * (2 + ((b - r) / diff));\r\n } else if (max === b) { // blue (cyan to magenta range)\r\n h = 60 * (4 + ((r - g) / diff));\r\n }\r\n if (h < 0) { h = h + 360} // ensures positive hues only\r\n if (h > 359) { h = 359} // ensures we never return 360 for simplicity since it is the same as 0\r\n\r\n // LIGHTNESS\r\n l = (max + min) / 2;\r\n\r\n // SATURATION\r\n if (max === 0 || min === 1) { // pure black or white have no saturation\r\n s = 0;\r\n } else {\r\n s = (max - l) / (Math.min(l, 1 - l));\r\n }\r\n\r\n this._hue = h;\r\n this._saturation = s;\r\n this._lightness = l;\r\n }\r\n\r\n private getHex(value: number){\r\n var hex = value.toString(16);\r\n if (hex.length < 2){\r\n hex = \"0\" + hex;\r\n }\r\n return hex;\r\n }\r\n} "]}
1
+ {"version":3,"file":"colorInfo.js","sourceRoot":"","sources":["../../src/utilities/colorInfo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,OAAO,SAAS;EAAtB;IAEY,SAAI,GAAW,CAAC,CAAC;IAWjB,gBAAW,GAAW,CAAC,CAAC;IAWxB,eAAU,GAAW,CAAC,CAAC;EAgJnC,CAAC;EArKG;;KAEG;EACH,IAAI,GAAG,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EAC/B,IAAI,GAAG,CAAC,KAAa;IACjB,IAAI,KAAK,GAAG,CAAC,EAAE;MAAE,KAAK,GAAG,CAAC,CAAC;KAAE;IAC7B,IAAI,KAAK,GAAG,GAAG,EAAE;MAAE,KAAK,GAAG,GAAG,CAAC;KAAE;IACjC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;EACtB,CAAC;EAGD;;IAEE;EACF,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;EAC7C,IAAI,UAAU,CAAC,KAAa;IACxB,IAAI,KAAK,GAAG,CAAC,EAAE;MAAE,KAAK,GAAG,CAAC,CAAC;KAAE;IAC7B,IAAI,KAAK,GAAG,CAAC,EAAE;MAAE,KAAK,GAAG,CAAC,CAAC;KAAE;IAC7B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;EAC7B,CAAC;EAGD;;KAEG;EACH,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;EAC3C,IAAI,SAAS,CAAC,KAAa;IACvB,IAAI,KAAK,GAAG,CAAC,EAAE;MAAE,KAAK,GAAG,CAAC,CAAC;KAAE;IAC7B,IAAI,KAAK,GAAG,CAAC,EAAE;MAAE,KAAK,GAAG,CAAC,CAAC;KAAE;IAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;EAC5B,CAAC;EAED;;IAEE;EACF,IAAI,GAAG;IACH,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC;EAC7B,CAAC;EACD,IAAI,GAAG,CAAC,KAAK;IACT,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;EAC9C,CAAC;EAED;;KAEG;EACH,IAAI,KAAK;IACL,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;EAC/B,CAAC;EACD,IAAI,KAAK,CAAC,KAAa;IACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;EAC5C,CAAC;EAED;;KAEG;EACH,IAAI,IAAI;IACJ,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;EAC9B,CAAC;EACD,IAAI,IAAI,CAAC,KAAa;IAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;EAC7C,CAAC;EAED;;KAEG;EACH,IAAI,GAAG;IACH,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EACrB,CAAC;EACD,IAAI,GAAG,CAAC,KAAa;IACjB,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC;EAC5C,CAAC;EAED;;KAEG;EACH,IAAI,aAAa;IACb,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,GAAC,GAAG,GAAG,IAAI,CAAC,KAAK,GAAC,GAAG,GAAG,IAAI,CAAC,IAAI,GAAC,GAAG,CAAC,GAAG,IAAI,CAAA;IACzE,IAAI,UAAU,GAAG,GAAG,EAAC;MACjB,OAAO,QAAQ,CAAC;KACnB;IACD,OAAO,QAAQ,CAAC;EACpB,CAAC;EAEO,MAAM;IACV,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;IAC3E,gCAAgC;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IAChC,iDAAiD;IACjD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEzD,+FAA+F;IAC/F,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,CAAC,IAAI,QAAQ,IAAI,QAAQ,IAAI,CAAC,EAAE;MAChC,CAAC,GAAG,MAAM,CAAC;MAAC,CAAC,GAAG,MAAM,CAAC,CAAC,gBAAgB;KAC3C;SAAM,IAAI,CAAC,IAAI,QAAQ,IAAI,QAAQ,IAAI,CAAC,EAAE;MACvC,CAAC,GAAG,MAAM,CAAC;MAAC,CAAC,GAAG,MAAM,CAAC,CAAC,kBAAkB;KAC7C;SAAM,IAAI,CAAC,IAAI,QAAQ,IAAI,QAAQ,IAAI,CAAC,EAAE;MACvC,CAAC,GAAG,MAAM,CAAC;MAAC,CAAC,GAAG,MAAM,CAAC,CAAC,gBAAgB;KAC3C;SAAM,IAAI,CAAC,IAAI,QAAQ,IAAI,QAAQ,IAAI,CAAC,EAAE;MACvC,CAAC,GAAG,MAAM,CAAC;MAAC,CAAC,GAAG,MAAM,CAAC,CAAC,eAAe;KAC1C;SAAM,IAAI,CAAC,IAAI,QAAQ,IAAI,QAAQ,IAAI,CAAC,EAAE;MACvC,CAAC,GAAG,MAAM,CAAC;MAAC,CAAC,GAAG,MAAM,CAAC,CAAC,kBAAkB;KAC7C;SAAM,IAAI,CAAC,IAAI,QAAQ,IAAI,QAAQ,IAAI,CAAC,EAAE;MACvC,CAAC,GAAG,MAAM,CAAC;MAAC,CAAC,GAAG,MAAM,CAAC,CAAC,iBAAiB;KAC5C;IACD,mEAAmE;IACnE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE5C,OAAO;MACH,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;MACjC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;MACnC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;KACrC,CAAA;EACL,CAAC;EAEO,MAAM,CAAC,GAAW,EAAE,KAAa,EAAE,IAAY;IACnD,eAAe;IACf,0CAA0C;IAC1C,MAAM,CAAC,GAAG,GAAG,GAAC,GAAG,EAAE,CAAC,GAAG,KAAK,GAAC,GAAG,EAAE,CAAC,GAAG,IAAI,GAAC,GAAG,CAAC;IAC/C,oEAAoE;IACpE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;IACvB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAExB,MAAM;IACN,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,UAAU;MACxB,CAAC,GAAG,CAAC,CAAC;KACT;SAAM,IAAI,GAAG,KAAK,CAAC,EAAE,EAAE,gCAAgC;MACpD,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;KAC7B;SAAM,IAAI,GAAG,KAAK,CAAC,EAAE,EAAE,+BAA+B;MACnD,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;KACnC;SAAM,IAAI,GAAG,KAAK,CAAC,EAAE,EAAE,+BAA+B;MACnD,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;KACnC;IACD,IAAI,CAAC,GAAG,CAAC,EAAE;MAAE,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;KAAC,CAAC,6BAA6B;IACvD,IAAI,CAAC,GAAG,GAAG,EAAE;MAAE,CAAC,GAAG,GAAG,CAAA;KAAC,CAAC,uEAAuE;IAE/F,YAAY;IACZ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAEpB,aAAa;IACb,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,EAAE,yCAAyC;MACnE,CAAC,GAAG,CAAC,CAAC;KACT;SAAM;MACH,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KACxC;IAED,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACrB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;EACxB,CAAC;EAEO,MAAM,CAAC,KAAa;IACxB,IAAI,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAC;MACf,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;KACnB;IACD,OAAO,GAAG,CAAC;EACf,CAAC;CACJ","sourcesContent":["/** Color utility class with hsl and rgb converters\r\n * based on math at https://en.wikipedia.org/wiki/HSL_and_HSV\r\n * @copyright Copyright (c) .NET Foundation. All rights reserved.\r\n * @license MIT \r\n */\r\n\r\nexport class ColorInfo{\r\n\r\n private _hue: number = 0;\r\n /** gets the color hue\r\n * @returns a number between 0 and 359, could contain decimals\r\n */\r\n get hue() { return this._hue; }\r\n set hue(value: number){\r\n if (value < 0) { value = 0; }\r\n if (value > 359) { value = 359; }\r\n this._hue = value;\r\n }\r\n\r\n private _saturation: number = 0;\r\n /** gets the color saturation\r\n * @returns a number between 0 and 1, could contain decimals\r\n */\r\n get saturation() { return this._saturation; }\r\n set saturation(value: number) {\r\n if (value < 0) { value = 0; }\r\n if (value > 1) { value = 1; }\r\n this._saturation = value;\r\n }\r\n\r\n private _lightness: number = 0;\r\n /** gets the color lightness\r\n * @returns a number between 0 and 1, could contain decimals\r\n */\r\n get lightness() { return this._lightness; }\r\n set lightness(value: number) {\r\n if (value < 0) { value = 0; }\r\n if (value > 1) { value = 1; }\r\n this._lightness = value;\r\n }\r\n\r\n /** gets or sets the red component \r\n * @returns an integer between 0 and 255\r\n */\r\n get red() {\r\n return this.getRGB().red;\r\n }\r\n set red(value) {\r\n this.setHSL(value, this.green, this.blue);\r\n }\r\n\r\n /** gets or sets the green component\r\n * @returns an integer between 0 and 255\r\n */\r\n get green() {\r\n return this.getRGB().green;\r\n }\r\n set green(value: number) {\r\n this.setHSL(this.red, value, this.blue);\r\n }\r\n\r\n /** gets or sets the blue component\r\n * @returns an integer between 0 and 255\r\n */\r\n get blue() {\r\n return this.getRGB().blue;\r\n }\r\n set blue(value: number) {\r\n this.setHSL(this.red, this.green, value);\r\n }\r\n\r\n /** gets or sets the hex color value, expresses as 6 hexadecimal characters.\r\n * @returns hex representation of the color\r\n */\r\n get hex() {\r\n var r = this.getHex(this.red);\r\n var g = this.getHex(this.green);\r\n var b = this.getHex(this.blue);\r\n return r + g + b;\r\n }\r\n set hex(value: string){\r\n this.red = parseInt(value.substr(0,2));\r\n this.green = parseInt(value.substr(2,2));\r\n this.blue = parseInt(value.substr(4,2));\r\n }\r\n\r\n /** gets white or black color that is a good oposite to the current color\r\n * @returns - \"000000\" or \"FFFFFF\"\r\n */\r\n get contrastColor() {\r\n const brightness = (this.red*299 + this.green*587 + this.blue*114) / 1000\r\n if (brightness > 127){\r\n return \"000000\";\r\n }\r\n return \"FFFFFF\";\r\n }\r\n\r\n private getRGB() {\r\n const chroma = (1 - Math.abs((2 * this._lightness) - 1)) * this.saturation;\r\n // find the quandrant of the hue\r\n const quadrant = this._hue / 60;\r\n // calculate the offset from the quandrant center\r\n const offset = chroma * (1 - Math.abs(quadrant % 2 - 1));\r\n\r\n // Apply the chroma to the primary component and the offset to the 2nd most important component\r\n let r = 0, g = 0, b = 0;\r\n if (0 <= quadrant && quadrant <= 1) {\r\n r = chroma; g = offset; // red to yellow\r\n } else if (1 <= quadrant && quadrant <= 2) {\r\n g = chroma; r = offset; // yellow to green\r\n } else if (2 <= quadrant && quadrant <= 3) {\r\n g = chroma; b = offset; // green to cyan\r\n } else if (3 <= quadrant && quadrant <= 4) {\r\n b = chroma; g = offset; // cyan to blue\r\n } else if (4 <= quadrant && quadrant <= 5) {\r\n b = chroma; r = offset; // blue to magenta\r\n } else if (5 <= quadrant && quadrant <= 6) {\r\n r = chroma; b = offset; // magenta to red\r\n }\r\n // calculate the bias to add to all channels to match the lightness\r\n const bias = this._lightness - (chroma / 2);\r\n\r\n return {\r\n red: Math.round((r + bias) * 255),\r\n green: Math.round((g + bias) * 255),\r\n blue: Math.round((b + bias) * 255)\r\n }\r\n }\r\n\r\n private setHSL(red: number, green: number, blue: number) {\r\n // GENERAL DATA\r\n // all math is based on values from 0 to 1\r\n const r = red/255, g = green/255, b = blue/255;\r\n // we need to max, min and the difference between them to derive hsl\r\n const min = Math.min(r, g, b);\r\n const max = Math.max(r, g, b);\r\n const diff = max - min;\r\n let h = 0, s = 0, l = 0;\r\n\r\n // HUE\r\n if (diff === 0) { // neutral\r\n h = 0;\r\n } else if (max === r) { // red (magenta to yellow range)\r\n h = 60 * ((g - b) / diff);\r\n } else if (max === g) { // green (yellow to cyan range)\r\n h = 60 * (2 + ((b - r) / diff));\r\n } else if (max === b) { // blue (cyan to magenta range)\r\n h = 60 * (4 + ((r - g) / diff));\r\n }\r\n if (h < 0) { h = h + 360} // ensures positive hues only\r\n if (h > 359) { h = 359} // ensures we never return 360 for simplicity since it is the same as 0\r\n\r\n // LIGHTNESS\r\n l = (max + min) / 2;\r\n\r\n // SATURATION\r\n if (max === 0 || min === 1) { // pure black or white have no saturation\r\n s = 0;\r\n } else {\r\n s = (max - l) / (Math.min(l, 1 - l));\r\n }\r\n\r\n this._hue = h;\r\n this._saturation = s;\r\n this._lightness = l;\r\n }\r\n\r\n private getHex(value: number){\r\n var hex = value.toString(16);\r\n if (hex.length < 2){\r\n hex = \"0\" + hex;\r\n }\r\n return hex;\r\n }\r\n} "]}
@@ -1 +1 @@
1
- {"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../../src/utilities/debounce.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,eAAuB,GAAG;EAC/C,OAAO,UAAS,OAAY,EAAE,IAAY,EAAE,UAA8B;IAEtE,IAAI,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;IACtC,IAAI,KAAK,GAAG,IAAI,CAAC;IAEjB,UAAU,CAAC,KAAK,GAAG,UAAS,GAAG,IAAW;MACtC,YAAY,CAAC,KAAK,CAAC,CAAC;MACpB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QACzB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;UACpB,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC,EAAE,YAAY,CAAC,CAAC;MACrB,CAAC,CAAC,CAAA;IAEN,CAAC,CAAA;EAEL,CAAC,CAAA;AACL,CAAC","sourcesContent":["/**\r\n * Debounces a function call, see http://demo.nimius.net/debounce_throttle/ for explanation of debounce vs throttle.\r\n * @param debounceTime How many milliseconds to debounce for.\r\n */\r\nexport function Debounce(debounceTime: number = 500){\r\n return function(_target: any, _key: string, descriptor: PropertyDescriptor){\r\n\r\n let originalMethod = descriptor.value;\r\n let timer = null;\r\n\r\n descriptor.value = function(...args: any[]){\r\n clearTimeout(timer);\r\n return new Promise(resolve => {\r\n timer = setTimeout(() => {\r\n resolve(originalMethod.apply(this, args));\r\n }, debounceTime);\r\n })\r\n\r\n }\r\n \r\n }\r\n}"]}
1
+ {"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../src/utilities/debounce.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,eAAuB,GAAG;EAC/C,OAAO,UAAS,OAAY,EAAE,IAAY,EAAE,UAA8B;IAEtE,IAAI,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;IACtC,IAAI,KAAK,GAAG,IAAI,CAAC;IAEjB,UAAU,CAAC,KAAK,GAAG,UAAS,GAAG,IAAW;MACtC,YAAY,CAAC,KAAK,CAAC,CAAC;MACpB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QACzB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;UACpB,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC,EAAE,YAAY,CAAC,CAAC;MACrB,CAAC,CAAC,CAAA;IAEN,CAAC,CAAA;EAEL,CAAC,CAAA;AACL,CAAC","sourcesContent":["/**\r\n * Debounces a function call, see http://demo.nimius.net/debounce_throttle/ for explanation of debounce vs throttle.\r\n * @param debounceTime How many milliseconds to debounce for.\r\n */\r\nexport function Debounce(debounceTime: number = 500){\r\n return function(_target: any, _key: string, descriptor: PropertyDescriptor){\r\n\r\n let originalMethod = descriptor.value;\r\n let timer = null;\r\n\r\n descriptor.value = function(...args: any[]){\r\n clearTimeout(timer);\r\n return new Promise(resolve => {\r\n timer = setTimeout(() => {\r\n resolve(originalMethod.apply(this, args));\r\n }, debounceTime);\r\n })\r\n\r\n }\r\n \r\n }\r\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dnnServicesFramework.js","sourceRoot":"","sources":["../../../src/utilities/dnnServicesFramework.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,oBAAoB;EAI7B;;KAEG;EACH,YAAY,QAAgB;IAI5B,mBAAc,GAAG,CAAC,UAAkB,EAAE,EAAE;MAEpC,IAAI,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;MAC5D,WAAW,IAAI,MAAM,GAAG,UAAU,GAAG,GAAG,CAAC;MACzC,OAAO,WAAW,CAAC;IACvB,CAAC,CAAA;IAED,aAAQ,GAAG,GAAG,EAAE;MACZ,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;MACpD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAA;IAED,gBAAW,GAAG,GAAG,EAAE;MACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC,CAAA;IAED,wBAAmB,GAAG,GAAG,EAAE;MACvB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,wCAAwC,CAAqB,CAAC;MAChG,IAAI,EAAE,IAAI,IAAI,EAAC;QACX,OAAO,EAAE,CAAC,KAAK,CAAC;OACnB;WACG;QACA,OAAO,IAAI,CAAC;OACf;IACL,CAAC,CAAA;IAED,qBAAgB,GAAG,GAAG,EAAE;MACpB,IAAI,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;MAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAC;QACrB,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;OACvD;MACD,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;MAC3C,IAAI,OAAO,IAAI,IAAI,EAAC;QAChB,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;OACvD;MACD,OAAO,OAAO,CAAC;IACnB,CAAC,CAAA;IAxCG,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;EAC9B,CAAC;CAwCJ","sourcesContent":["declare global {\r\n interface Window {\r\n dnn: {\r\n //** Gets dnn variables from the page context *\r\n getVar: (key: string, defaultValue: string) => string;\r\n }\r\n }\r\n}\r\n\r\nexport class DnnServicesFramework{\r\n \r\n private _moduleId: number;\r\n\r\n /**\r\n * Initializes the serivces framework\r\n */\r\n constructor(moduleId: number) {\r\n this._moduleId = moduleId;\r\n }\r\n\r\n getServiceRoot = (moduleName: string) =>\r\n {\r\n var serviceRoot = window.top.dnn.getVar(\"sf_siteRoot\", \"/\");\r\n serviceRoot += \"API/\" + moduleName + \"/\";\r\n return serviceRoot;\r\n }\r\n\r\n getTabId = () => {\r\n var tabId = window.top.dnn.getVar(\"sf_tabId\", \"-1\");\r\n return parseInt(tabId);\r\n }\r\n\r\n getModuleId = () => {\r\n return this._moduleId;\r\n }\r\n\r\n getAntiForgeryValue = () => {\r\n const el = document.querySelector(\"input[name=__RequestVerificationToken]\") as HTMLInputElement;\r\n if (el != null){\r\n return el.value;\r\n }\r\n else{\r\n return null;\r\n }\r\n }\r\n\r\n getModuleHeaders = () => {\r\n var headers = new Headers();\r\n if (this.getTabId() > -1){\r\n headers.append(\"ModuleId\", this._moduleId.toString());\r\n headers.append(\"TabId\", this.getTabId().toString());\r\n }\r\n const afValue = this.getAntiForgeryValue();\r\n if (afValue != null){\r\n headers.append(\"RequestVerificationToken\", afValue);\r\n }\r\n return headers;\r\n }\r\n}"]}
1
+ {"version":3,"file":"dnnServicesFramework.js","sourceRoot":"","sources":["../../src/utilities/dnnServicesFramework.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,oBAAoB;EAI7B;;KAEG;EACH,YAAY,QAAgB;IAI5B,mBAAc,GAAG,CAAC,UAAkB,EAAE,EAAE;MAEpC,IAAI,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;MAC5D,WAAW,IAAI,MAAM,GAAG,UAAU,GAAG,GAAG,CAAC;MACzC,OAAO,WAAW,CAAC;IACvB,CAAC,CAAA;IAED,aAAQ,GAAG,GAAG,EAAE;MACZ,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;MACpD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAA;IAED,gBAAW,GAAG,GAAG,EAAE;MACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC,CAAA;IAED,wBAAmB,GAAG,GAAG,EAAE;MACvB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,wCAAwC,CAAqB,CAAC;MAChG,IAAI,EAAE,IAAI,IAAI,EAAC;QACX,OAAO,EAAE,CAAC,KAAK,CAAC;OACnB;WACG;QACA,OAAO,IAAI,CAAC;OACf;IACL,CAAC,CAAA;IAED,qBAAgB,GAAG,GAAG,EAAE;MACpB,IAAI,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;MAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAC;QACrB,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;OACvD;MACD,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;MAC3C,IAAI,OAAO,IAAI,IAAI,EAAC;QAChB,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;OACvD;MACD,OAAO,OAAO,CAAC;IACnB,CAAC,CAAA;IAxCG,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;EAC9B,CAAC;CAwCJ","sourcesContent":["declare global {\r\n interface Window {\r\n dnn: {\r\n //** Gets dnn variables from the page context *\r\n getVar: (key: string, defaultValue: string) => string;\r\n }\r\n }\r\n}\r\n\r\nexport class DnnServicesFramework{\r\n \r\n private _moduleId: number;\r\n\r\n /**\r\n * Initializes the serivces framework\r\n */\r\n constructor(moduleId: number) {\r\n this._moduleId = moduleId;\r\n }\r\n\r\n getServiceRoot = (moduleName: string) =>\r\n {\r\n var serviceRoot = window.top.dnn.getVar(\"sf_siteRoot\", \"/\");\r\n serviceRoot += \"API/\" + moduleName + \"/\";\r\n return serviceRoot;\r\n }\r\n\r\n getTabId = () => {\r\n var tabId = window.top.dnn.getVar(\"sf_tabId\", \"-1\");\r\n return parseInt(tabId);\r\n }\r\n\r\n getModuleId = () => {\r\n return this._moduleId;\r\n }\r\n\r\n getAntiForgeryValue = () => {\r\n const el = document.querySelector(\"input[name=__RequestVerificationToken]\") as HTMLInputElement;\r\n if (el != null){\r\n return el.value;\r\n }\r\n else{\r\n return null;\r\n }\r\n }\r\n\r\n getModuleHeaders = () => {\r\n var headers = new Headers();\r\n if (this.getTabId() > -1){\r\n headers.append(\"ModuleId\", this._moduleId.toString());\r\n headers.append(\"TabId\", this.getTabId().toString());\r\n }\r\n const afValue = this.getAntiForgeryValue();\r\n if (afValue != null){\r\n headers.append(\"RequestVerificationToken\", afValue);\r\n }\r\n return headers;\r\n }\r\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mouseUtilities.js","sourceRoot":"","sources":["../../../src/utilities/mouseUtilities.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAChC,KAA8B,EAC9B,aAAoB;EAEpB,IAAI,SAAS,GAAG,CAAC,CAAC;EAClB,IAAI,SAAS,GAAG,CAAC,CAAC;EAClB,IAAI,KAAK,YAAY,UAAU,EAAE;IAC/B,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAC5B,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;GAC7B;EACD,IAAI,OAAO,UAAU,KAAK,WAAW,EAAC;IACpC,IAAI,KAAK,YAAY,UAAU,EAAE;MAC/B,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;MAC7B,IAAI,aAAa,IAAI,SAAS,EAAE;QAC9B,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACnD,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;OACpD;MACD,aAAa,GAAG,KAAK,CAAC;KACvB;GACF;EACD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAClC,CAAC","sourcesContent":["export function getMovementFromEvent(\r\n event: MouseEvent | TouchEvent,\r\n previousTouch: Touch\r\n) {\r\n let movementX = 0;\r\n let movementY = 0;\r\n if (event instanceof MouseEvent) {\r\n movementX = event.movementX;\r\n movementY = event.movementY;\r\n }\r\n if (typeof TouchEvent !== \"undefined\"){\r\n if (event instanceof TouchEvent) {\r\n let touch = event.touches[0];\r\n if (previousTouch != undefined) {\r\n movementX = touch.pageX - this.previousTouch.pageX;\r\n movementY = touch.pageY - this.previousTouch.pageY;\r\n }\r\n previousTouch = touch;\r\n }\r\n }\r\n return { movementX, movementY };\r\n }"]}
1
+ {"version":3,"file":"mouseUtilities.js","sourceRoot":"","sources":["../../src/utilities/mouseUtilities.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAChC,KAA8B,EAC9B,aAAoB;EAEpB,IAAI,SAAS,GAAG,CAAC,CAAC;EAClB,IAAI,SAAS,GAAG,CAAC,CAAC;EAClB,IAAI,KAAK,YAAY,UAAU,EAAE;IAC/B,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAC5B,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;GAC7B;EACD,IAAI,OAAO,UAAU,KAAK,WAAW,EAAC;IACpC,IAAI,KAAK,YAAY,UAAU,EAAE;MAC/B,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;MAC7B,IAAI,aAAa,IAAI,SAAS,EAAE;QAC9B,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACnD,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;OACpD;MACD,aAAa,GAAG,KAAK,CAAC;KACvB;GACF;EACD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAClC,CAAC","sourcesContent":["export function getMovementFromEvent(\r\n event: MouseEvent | TouchEvent,\r\n previousTouch: Touch\r\n) {\r\n let movementX = 0;\r\n let movementY = 0;\r\n if (event instanceof MouseEvent) {\r\n movementX = event.movementX;\r\n movementY = event.movementY;\r\n }\r\n if (typeof TouchEvent !== \"undefined\"){\r\n if (event instanceof TouchEvent) {\r\n let touch = event.touches[0];\r\n if (previousTouch != undefined) {\r\n movementX = touch.pageX - this.previousTouch.pageX;\r\n movementY = touch.pageY - this.previousTouch.pageY;\r\n }\r\n previousTouch = touch;\r\n }\r\n }\r\n return { movementX, movementY };\r\n }"]}
@@ -1,131 +1,2 @@
1
- import { B as BUILD, c as consoleDevInfo, p as plt, w as win, H, d as doc, N as NAMESPACE, a as promiseResolve, b as bootstrapLazy } from './index-20e42ad7.js';
2
- import { g as globalScripts } from './app-globals-0f993ce5.js';
3
-
4
- /*
5
- Stencil Client Patch Browser v2.14.2 | MIT Licensed | https://stenciljs.com
6
- */
7
- const getDynamicImportFunction = (namespace) => `__sc_import_${namespace.replace(/\s|-/g, '_')}`;
8
- const patchBrowser = () => {
9
- // NOTE!! This fn cannot use async/await!
10
- if (BUILD.isDev && !BUILD.isTesting) {
11
- consoleDevInfo('Running in development mode.');
12
- }
13
- if (BUILD.cssVarShim) {
14
- // shim css vars
15
- plt.$cssShim$ = win.__cssshim;
16
- }
17
- if (BUILD.cloneNodeFix) {
18
- // opted-in to polyfill cloneNode() for slot polyfilled components
19
- patchCloneNodeFix(H.prototype);
20
- }
21
- if (BUILD.profile && !performance.mark) {
22
- // not all browsers support performance.mark/measure (Safari 10)
23
- // because the mark/measure APIs are designed to write entries to a buffer in the browser that does not exist,
24
- // simply stub the implementations out.
25
- // TODO(STENCIL-323): Remove this patch when support for older browsers is removed (breaking)
26
- // @ts-ignore
27
- performance.mark = performance.measure = () => {
28
- /*noop*/
29
- };
30
- performance.getEntriesByName = () => [];
31
- }
32
- // @ts-ignore
33
- const scriptElm = BUILD.scriptDataOpts || BUILD.safari10 || BUILD.dynamicImportShim
34
- ? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\/${NAMESPACE}(\\.esm)?\\.js($|\\?|#)`).test(s.src) ||
35
- s.getAttribute('data-stencil-namespace') === NAMESPACE)
36
- : null;
37
- const importMeta = import.meta.url;
38
- const opts = BUILD.scriptDataOpts ? scriptElm['data-opts'] || {} : {};
39
- if (BUILD.safari10 && 'onbeforeload' in scriptElm && !history.scrollRestoration /* IS_ESM_BUILD */) {
40
- // Safari < v11 support: This IF is true if it's Safari below v11.
41
- // This fn cannot use async/await since Safari didn't support it until v11,
42
- // however, Safari 10 did support modules. Safari 10 also didn't support "nomodule",
43
- // so both the ESM file and nomodule file would get downloaded. Only Safari
44
- // has 'onbeforeload' in the script, and "history.scrollRestoration" was added
45
- // to Safari in v11. Return a noop then() so the async/await ESM code doesn't continue.
46
- // IS_ESM_BUILD is replaced at build time so this check doesn't happen in systemjs builds.
47
- return {
48
- then() {
49
- /* promise noop */
50
- },
51
- };
52
- }
53
- if (!BUILD.safari10 && importMeta !== '') {
54
- opts.resourcesUrl = new URL('.', importMeta).href;
55
- }
56
- else if (BUILD.dynamicImportShim || BUILD.safari10) {
57
- opts.resourcesUrl = new URL('.', new URL(scriptElm.getAttribute('data-resources-url') || scriptElm.src, win.location.href)).href;
58
- if (BUILD.dynamicImportShim) {
59
- patchDynamicImport(opts.resourcesUrl, scriptElm);
60
- }
61
- if (BUILD.dynamicImportShim && !win.customElements) {
62
- // module support, but no custom elements support (Old Edge)
63
- // @ts-ignore
64
- return import(/* webpackChunkName: "polyfills-dom" */ './dom-a385e381.js').then(() => opts);
65
- }
66
- }
67
- return promiseResolve(opts);
68
- };
69
- const patchDynamicImport = (base, orgScriptElm) => {
70
- const importFunctionName = getDynamicImportFunction(NAMESPACE);
71
- try {
72
- // test if this browser supports dynamic imports
73
- // There is a caching issue in V8, that breaks using import() in Function
74
- // By generating a random string, we can workaround it
75
- // Check https://bugs.chromium.org/p/chromium/issues/detail?id=990810 for more info
76
- win[importFunctionName] = new Function('w', `return import(w);//${Math.random()}`);
77
- }
78
- catch (e) {
79
- // this shim is specifically for browsers that do support "esm" imports
80
- // however, they do NOT support "dynamic" imports
81
- // basically this code is for old Edge, v18 and below
82
- const moduleMap = new Map();
83
- win[importFunctionName] = (src) => {
84
- const url = new URL(src, base).href;
85
- let mod = moduleMap.get(url);
86
- if (!mod) {
87
- const script = doc.createElement('script');
88
- script.type = 'module';
89
- script.crossOrigin = orgScriptElm.crossOrigin;
90
- script.src = URL.createObjectURL(new Blob([`import * as m from '${url}'; window.${importFunctionName}.m = m;`], {
91
- type: 'application/javascript',
92
- }));
93
- mod = new Promise((resolve) => {
94
- script.onload = () => {
95
- resolve(win[importFunctionName].m);
96
- script.remove();
97
- };
98
- });
99
- moduleMap.set(url, mod);
100
- doc.head.appendChild(script);
101
- }
102
- return mod;
103
- };
104
- }
105
- };
106
- const patchCloneNodeFix = (HTMLElementPrototype) => {
107
- const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;
108
- HTMLElementPrototype.cloneNode = function (deep) {
109
- if (this.nodeName === 'TEMPLATE') {
110
- return nativeCloneNodeFn.call(this, deep);
111
- }
112
- const clonedNode = nativeCloneNodeFn.call(this, false);
113
- const srcChildNodes = this.childNodes;
114
- if (deep) {
115
- for (let i = 0; i < srcChildNodes.length; i++) {
116
- // Node.ATTRIBUTE_NODE === 2, and checking because IE11
117
- if (srcChildNodes[i].nodeType !== 2) {
118
- clonedNode.appendChild(srcChildNodes[i].cloneNode(true));
119
- }
120
- }
121
- }
122
- return clonedNode;
123
- };
124
- };
125
-
126
- patchBrowser().then(options => {
127
- globalScripts();
128
- return bootstrapLazy([["dnn-permissions-grid",[[1,"dnn-permissions-grid",{"permissions":[1040],"roleGroups":[16],"roles":[16],"resx":[16],"foundUsers":[16],"selectedRoleGroupId":[32],"userQuery":[32],"pickedUser":[32]}]]],["dnn-image-cropper",[[1,"dnn-image-cropper",{"width":[2],"height":[2],"resx":[16],"quality":[2],"preventUndersized":[4,"prevent-undersized"],"view":[32]}]]],["dnn-treeview-item",[[1,"dnn-treeview-item",{"expanded":[1540],"hasChildren":[32]}]]],["dnn-chevron",[[1,"dnn-chevron",{"expandText":[1,"expand-text"],"collapseText":[1,"collapse-text"],"expanded":[1540]}]]],["dnn-color-picker",[[1,"dnn-color-picker",{"color":[1],"colorBoxHeight":[1,"color-box-height"],"currentColor":[32],"rgbDisplay":[32],"hslDisplay":[32],"hexDisplay":[32]}]]],["dnn-sort-icon",[[1,"dnn-sort-icon",{"sortDirection":[1,"sort-direction"]}]]],["dnn-tab",[[1,"dnn-tab",{"tabTitle":[1,"tab-title"],"visible":[32],"show":[64],"hide":[64]}]]],["dnn-tabs",[[1,"dnn-tabs",{"tabTitles":[32],"selectedTabTitle":[32]}]]],["dnn-toggle",[[1,"dnn-toggle",{"checked":[1028],"disabled":[4]}]]],["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",[[1,"dnn-checkbox",{"checked":[1025],"useIntermediate":[4,"use-intermediate"],"value":[1]}]]],["dnn-dropzone",[[1,"dnn-dropzone",{"resx":[16],"allowedExtensions":[16],"allowCameraMode":[4,"allow-camera-mode"],"captureQuality":[2,"capture-quality"],"canTakeSnapshots":[32],"takingPicture":[32]}]]],["dnn-searchbox",[[1,"dnn-searchbox",{"placeholder":[1],"debounced":[4],"query":[1025]}]]],["dnn-modal",[[1,"dnn-modal",{"backdropDismiss":[4,"backdrop-dismiss"],"closeText":[1,"close-text"],"showCloseButton":[4,"show-close-button"],"visible":[1540],"show":[64],"hide":[64]}]]],["dnn-button",[[1,"dnn-button",{"type":[1],"reversed":[4],"size":[1],"confirm":[4],"confirmYesText":[1,"confirm-yes-text"],"confirmNoText":[1,"confirm-no-text"],"confirmMessage":[1,"confirm-message"],"disabled":[4],"modalVisible":[32]}]]],["dnn-collapsible",[[1,"dnn-collapsible",{"expanded":[516],"transitionDuration":[2,"transition-duration"],"updateSize":[64]},[[0,"dnnCollapsibleHeightChanged","handleHeightChanged"]]]]]], options);
129
- });
130
-
1
+ import{p as e,b as t}from"./p-7ffdbed1.js";const n=()=>{const t=import.meta.url;const n={};if(t!==""){n.resourcesUrl=new URL(".",t).href}return e(n)};n().then((e=>t([["p-c222c8b7",[[1,"dnn-permissions-grid",{permissions:[1040],roleGroups:[16],roles:[16],resx:[16],foundUsers:[16],selectedRoleGroupId:[32],userQuery:[32],pickedUser:[32]}],[1,"dnn-image-cropper",{width:[2],height:[2],resx:[16],quality:[2],preventUndersized:[4,"prevent-undersized"],view:[32]}],[1,"dnn-treeview-item",{expanded:[1540],hasChildren:[32]}],[1,"dnn-chevron",{expandText:[1,"expand-text"],collapseText:[1,"collapse-text"],expanded:[1540]}],[1,"dnn-color-picker",{color:[1],colorBoxHeight:[1,"color-box-height"],currentColor:[32],rgbDisplay:[32],hslDisplay:[32],hexDisplay:[32]}],[1,"dnn-sort-icon",{sortDirection:[1,"sort-direction"]}],[1,"dnn-tab",{tabTitle:[1,"tab-title"],visible:[32],show:[64],hide:[64]}],[1,"dnn-tabs",{tabTitles:[32],selectedTabTitle:[32]}],[1,"dnn-toggle",{checked:[1028],disabled:[4]}],[1,"dnn-vertical-overflow-menu",{showDropdownButton:[32],showDropdownMenu:[32]}],[1,"dnn-vertical-splitview",{splitterWidth:[2,"splitter-width"],splitWidthPercentage:[1026,"split-width-percentage"],leftWidth:[32],rightWidth:[32],setSplitWidthPercentage:[64],getSplitWidthPercentage:[64]}],[1,"dnn-checkbox",{checked:[1025],useIntermediate:[4,"use-intermediate"],value:[1]}],[1,"dnn-dropzone",{resx:[16],allowedExtensions:[16],allowCameraMode:[4,"allow-camera-mode"],captureQuality:[2,"capture-quality"],canTakeSnapshots:[32],takingPicture:[32]}],[1,"dnn-searchbox",{placeholder:[1],debounced:[4],query:[1025]}],[1,"dnn-button",{type:[1],reversed:[4],size:[1],confirm:[4],confirmYesText:[1,"confirm-yes-text"],confirmNoText:[1,"confirm-no-text"],confirmMessage:[1,"confirm-message"],disabled:[4],modalVisible:[32]}],[1,"dnn-collapsible",{expanded:[516],transitionDuration:[2,"transition-duration"],updateSize:[64]},[[0,"dnnCollapsibleHeightChanged","handleHeightChanged"]]],[1,"dnn-modal",{backdropDismiss:[4,"backdrop-dismiss"],closeText:[1,"close-text"],showCloseButton:[4,"show-close-button"],visible:[1540],show:[64],hide:[64]}]]]],e)));
131
2
  //# sourceMappingURL=dnn.esm.js.map
@@ -1 +1 @@
1
- {"file":"dnn.esm.js","mappings":"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","names":[],"sources":["./node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v2.14.2 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD, NAMESPACE } from '@stencil/core/internal/app-data';\nimport { consoleDevInfo, plt, win, doc, promiseResolve, H } from '@stencil/core';\nconst getDynamicImportFunction = (namespace) => `__sc_import_${namespace.replace(/\\s|-/g, '_')}`;\nconst patchBrowser = () => {\n // NOTE!! This fn cannot use async/await!\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo('Running in development mode.');\n }\n if (BUILD.cssVarShim) {\n // shim css vars\n plt.$cssShim$ = win.__cssshim;\n }\n if (BUILD.cloneNodeFix) {\n // opted-in to polyfill cloneNode() for slot polyfilled components\n patchCloneNodeFix(H.prototype);\n }\n if (BUILD.profile && !performance.mark) {\n // not all browsers support performance.mark/measure (Safari 10)\n // because the mark/measure APIs are designed to write entries to a buffer in the browser that does not exist,\n // simply stub the implementations out.\n // TODO(STENCIL-323): Remove this patch when support for older browsers is removed (breaking)\n // @ts-ignore\n performance.mark = performance.measure = () => {\n /*noop*/\n };\n performance.getEntriesByName = () => [];\n }\n // @ts-ignore\n const scriptElm = BUILD.scriptDataOpts || BUILD.safari10 || BUILD.dynamicImportShim\n ? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\\/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) ||\n s.getAttribute('data-stencil-namespace') === NAMESPACE)\n : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? scriptElm['data-opts'] || {} : {};\n if (BUILD.safari10 && 'onbeforeload' in scriptElm && !history.scrollRestoration /* IS_ESM_BUILD */) {\n // Safari < v11 support: This IF is true if it's Safari below v11.\n // This fn cannot use async/await since Safari didn't support it until v11,\n // however, Safari 10 did support modules. Safari 10 also didn't support \"nomodule\",\n // so both the ESM file and nomodule file would get downloaded. Only Safari\n // has 'onbeforeload' in the script, and \"history.scrollRestoration\" was added\n // to Safari in v11. Return a noop then() so the async/await ESM code doesn't continue.\n // IS_ESM_BUILD is replaced at build time so this check doesn't happen in systemjs builds.\n return {\n then() {\n /* promise noop */\n },\n };\n }\n if (!BUILD.safari10 && importMeta !== '') {\n opts.resourcesUrl = new URL('.', importMeta).href;\n }\n else if (BUILD.dynamicImportShim || BUILD.safari10) {\n opts.resourcesUrl = new URL('.', new URL(scriptElm.getAttribute('data-resources-url') || scriptElm.src, win.location.href)).href;\n if (BUILD.dynamicImportShim) {\n patchDynamicImport(opts.resourcesUrl, scriptElm);\n }\n if (BUILD.dynamicImportShim && !win.customElements) {\n // module support, but no custom elements support (Old Edge)\n // @ts-ignore\n return import(/* webpackChunkName: \"polyfills-dom\" */ './dom.js').then(() => opts);\n }\n }\n return promiseResolve(opts);\n};\nconst patchDynamicImport = (base, orgScriptElm) => {\n const importFunctionName = getDynamicImportFunction(NAMESPACE);\n try {\n // test if this browser supports dynamic imports\n // There is a caching issue in V8, that breaks using import() in Function\n // By generating a random string, we can workaround it\n // Check https://bugs.chromium.org/p/chromium/issues/detail?id=990810 for more info\n win[importFunctionName] = new Function('w', `return import(w);//${Math.random()}`);\n }\n catch (e) {\n // this shim is specifically for browsers that do support \"esm\" imports\n // however, they do NOT support \"dynamic\" imports\n // basically this code is for old Edge, v18 and below\n const moduleMap = new Map();\n win[importFunctionName] = (src) => {\n const url = new URL(src, base).href;\n let mod = moduleMap.get(url);\n if (!mod) {\n const script = doc.createElement('script');\n script.type = 'module';\n script.crossOrigin = orgScriptElm.crossOrigin;\n script.src = URL.createObjectURL(new Blob([`import * as m from '${url}'; window.${importFunctionName}.m = m;`], {\n type: 'application/javascript',\n }));\n mod = new Promise((resolve) => {\n script.onload = () => {\n resolve(win[importFunctionName].m);\n script.remove();\n };\n });\n moduleMap.set(url, mod);\n doc.head.appendChild(script);\n }\n return mod;\n };\n }\n};\nconst patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function (deep) {\n if (this.nodeName === 'TEMPLATE') {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n // Node.ATTRIBUTE_NODE === 2, and checking because IE11\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport { patchBrowser };\n","import { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(options => {\n globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"version":3}
1
+ {"version":3,"sources":["node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"names":["patchBrowser","importMeta","import","meta","url","opts","resourcesUrl","URL","href","promiseResolve","then","options","bootstrapLazy","permissions","roleGroups","roles","resx","foundUsers","selectedRoleGroupId","userQuery","pickedUser","width","height","quality","preventUndersized","view","expanded","hasChildren","expandText","collapseText","color","colorBoxHeight","currentColor","rgbDisplay","hslDisplay","hexDisplay","sortDirection","tabTitle","visible","show","hide","tabTitles","selectedTabTitle","checked","disabled","showDropdownButton","showDropdownMenu","splitterWidth","splitWidthPercentage","leftWidth","rightWidth","setSplitWidthPercentage","getSplitWidthPercentage","useIntermediate","value","allowedExtensions","allowCameraMode","captureQuality","canTakeSnapshots","takingPicture","placeholder","debounced","query","type","reversed","size","confirm","confirmYesText","confirmNoText","confirmMessage","modalVisible","transitionDuration","updateSize","backdropDismiss","closeText","showCloseButton"],"mappings":"2CAMA,MAAMA,EAAe,KA6BjB,MAAMC,EAAaC,OAAOC,KAAKC,IAC/B,MAAMC,EAA6D,GAenE,GAAuBJ,IAAe,GAAI,CACtCI,EAAKC,aAAe,IAAIC,IAAI,IAAKN,GAAYO,KAajD,OAAOC,EAAeJ,IC9D1BL,IAAeU,MAAKC,GAEXC,EAAc,CAAA,CAAA,aAAA,CAAA,CAAA,EAAA,uBAAuC,CAAAC,YAAA,CAAA,MAAAC,WAAA,CAAA,IAAAC,MAAA,CAAA,IAAAC,KAAA,CAAA,IAAAC,WAAA,CAAA,IAAAC,oBAAA,CAAA,IAAAC,UAAA,CAAA,IAAAC,WAAA,CAAA,MAAA,CAAA,EAAA,oBAAA,CAAAC,MAAA,CAAA,GAAAC,OAAA,CAAA,GAAAN,KAAA,CAAA,IAAAO,QAAA,CAAA,GAAAC,kBAAA,CAAA,EAAA,sBAAAC,KAAA,CAAA,MAAA,CAAA,EAAA,oBAAA,CAAAC,SAAA,CAAA,MAAAC,YAAA,CAAA,MAAA,CAAA,EAAA,cAAA,CAAAC,WAAA,CAAA,EAAA,eAAAC,aAAA,CAAA,EAAA,iBAAAH,SAAA,CAAA,QAAA,CAAA,EAAA,mBAAA,CAAAI,MAAA,CAAA,GAAAC,eAAA,CAAA,EAAA,oBAAAC,aAAA,CAAA,IAAAC,WAAA,CAAA,IAAAC,WAAA,CAAA,IAAAC,WAAA,CAAA,MAAA,CAAA,EAAA,gBAAA,CAAAC,cAAA,CAAA,EAAA,oBAAA,CAAA,EAAA,UAAA,CAAAC,SAAA,CAAA,EAAA,aAAAC,QAAA,CAAA,IAAAC,KAAA,CAAA,IAAAC,KAAA,CAAA,MAAA,CAAA,EAAA,WAAA,CAAAC,UAAA,CAAA,IAAAC,iBAAA,CAAA,MAAA,CAAA,EAAA,aAAA,CAAAC,QAAA,CAAA,MAAAC,SAAA,CAAA,KAAA,CAAA,EAAA,6BAAA,CAAAC,mBAAA,CAAA,IAAAC,iBAAA,CAAA,MAAA,CAAA,EAAA,yBAAA,CAAAC,cAAA,CAAA,EAAA,kBAAAC,qBAAA,CAAA,KAAA,0BAAAC,UAAA,CAAA,IAAAC,WAAA,CAAA,IAAAC,wBAAA,CAAA,IAAAC,wBAAA,CAAA,MAAA,CAAA,EAAA,eAAA,CAAAT,QAAA,CAAA,MAAAU,gBAAA,CAAA,EAAA,oBAAAC,MAAA,CAAA,KAAA,CAAA,EAAA,eAAA,CAAAtC,KAAA,CAAA,IAAAuC,kBAAA,CAAA,IAAAC,gBAAA,CAAA,EAAA,qBAAAC,eAAA,CAAA,EAAA,mBAAAC,iBAAA,CAAA,IAAAC,cAAA,CAAA,MAAA,CAAA,EAAA,gBAAA,CAAAC,YAAA,CAAA,GAAAC,UAAA,CAAA,GAAAC,MAAA,CAAA,QAAA,CAAA,EAAA,aAAA,CAAAC,KAAA,CAAA,GAAAC,SAAA,CAAA,GAAAC,KAAA,CAAA,GAAAC,QAAA,CAAA,GAAAC,eAAA,CAAA,EAAA,oBAAAC,cAAA,CAAA,EAAA,mBAAAC,eAAA,CAAA,EAAA,mBAAAzB,SAAA,CAAA,GAAA0B,aAAA,CAAA,MAAA,CAAA,EAAA,kBAAA,CAAA5C,SAAA,CAAA,KAAA6C,mBAAA,CAAA,EAAA,uBAAAC,WAAA,CAAA,KAAA,CAAA,CAAA,EAAA,8BAAA,yBAAA,CAAA,EAAA,YAAA,CAAAC,gBAAA,CAAA,EAAA,oBAAAC,UAAA,CAAA,EAAA,cAAAC,gBAAA,CAAA,EAAA,qBAAArC,QAAA,CAAA,MAAAC,KAAA,CAAA,IAAAC,KAAA,CAAA,SAAA7B","sourcesContent":["/*\n Stencil Client Patch Browser v2.14.2 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD, NAMESPACE } from '@stencil/core/internal/app-data';\nimport { consoleDevInfo, plt, win, doc, promiseResolve, H } from '@stencil/core';\nconst getDynamicImportFunction = (namespace) => `__sc_import_${namespace.replace(/\\s|-/g, '_')}`;\nconst patchBrowser = () => {\n // NOTE!! This fn cannot use async/await!\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo('Running in development mode.');\n }\n if (BUILD.cssVarShim) {\n // shim css vars\n plt.$cssShim$ = win.__cssshim;\n }\n if (BUILD.cloneNodeFix) {\n // opted-in to polyfill cloneNode() for slot polyfilled components\n patchCloneNodeFix(H.prototype);\n }\n if (BUILD.profile && !performance.mark) {\n // not all browsers support performance.mark/measure (Safari 10)\n // because the mark/measure APIs are designed to write entries to a buffer in the browser that does not exist,\n // simply stub the implementations out.\n // TODO(STENCIL-323): Remove this patch when support for older browsers is removed (breaking)\n // @ts-ignore\n performance.mark = performance.measure = () => {\n /*noop*/\n };\n performance.getEntriesByName = () => [];\n }\n // @ts-ignore\n const scriptElm = BUILD.scriptDataOpts || BUILD.safari10 || BUILD.dynamicImportShim\n ? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\\/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) ||\n s.getAttribute('data-stencil-namespace') === NAMESPACE)\n : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? scriptElm['data-opts'] || {} : {};\n if (BUILD.safari10 && 'onbeforeload' in scriptElm && !history.scrollRestoration /* IS_ESM_BUILD */) {\n // Safari < v11 support: This IF is true if it's Safari below v11.\n // This fn cannot use async/await since Safari didn't support it until v11,\n // however, Safari 10 did support modules. Safari 10 also didn't support \"nomodule\",\n // so both the ESM file and nomodule file would get downloaded. Only Safari\n // has 'onbeforeload' in the script, and \"history.scrollRestoration\" was added\n // to Safari in v11. Return a noop then() so the async/await ESM code doesn't continue.\n // IS_ESM_BUILD is replaced at build time so this check doesn't happen in systemjs builds.\n return {\n then() {\n /* promise noop */\n },\n };\n }\n if (!BUILD.safari10 && importMeta !== '') {\n opts.resourcesUrl = new URL('.', importMeta).href;\n }\n else if (BUILD.dynamicImportShim || BUILD.safari10) {\n opts.resourcesUrl = new URL('.', new URL(scriptElm.getAttribute('data-resources-url') || scriptElm.src, win.location.href)).href;\n if (BUILD.dynamicImportShim) {\n patchDynamicImport(opts.resourcesUrl, scriptElm);\n }\n if (BUILD.dynamicImportShim && !win.customElements) {\n // module support, but no custom elements support (Old Edge)\n // @ts-ignore\n return import(/* webpackChunkName: \"polyfills-dom\" */ './dom.js').then(() => opts);\n }\n }\n return promiseResolve(opts);\n};\nconst patchDynamicImport = (base, orgScriptElm) => {\n const importFunctionName = getDynamicImportFunction(NAMESPACE);\n try {\n // test if this browser supports dynamic imports\n // There is a caching issue in V8, that breaks using import() in Function\n // By generating a random string, we can workaround it\n // Check https://bugs.chromium.org/p/chromium/issues/detail?id=990810 for more info\n win[importFunctionName] = new Function('w', `return import(w);//${Math.random()}`);\n }\n catch (e) {\n // this shim is specifically for browsers that do support \"esm\" imports\n // however, they do NOT support \"dynamic\" imports\n // basically this code is for old Edge, v18 and below\n const moduleMap = new Map();\n win[importFunctionName] = (src) => {\n const url = new URL(src, base).href;\n let mod = moduleMap.get(url);\n if (!mod) {\n const script = doc.createElement('script');\n script.type = 'module';\n script.crossOrigin = orgScriptElm.crossOrigin;\n script.src = URL.createObjectURL(new Blob([`import * as m from '${url}'; window.${importFunctionName}.m = m;`], {\n type: 'application/javascript',\n }));\n mod = new Promise((resolve) => {\n script.onload = () => {\n resolve(win[importFunctionName].m);\n script.remove();\n };\n });\n moduleMap.set(url, mod);\n doc.head.appendChild(script);\n }\n return mod;\n };\n }\n};\nconst patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function (deep) {\n if (this.nodeName === 'TEMPLATE') {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n // Node.ATTRIBUTE_NODE === 2, and checking because IE11\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport { patchBrowser };\n","import { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(options => {\n globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"]}
package/dist/dnn/dnn.js CHANGED
@@ -114,7 +114,7 @@ DOMTokenList
114
114
 
115
115
  var resourcesUrl = scriptElm ? scriptElm.getAttribute('data-resources-url') || scriptElm.src : '';
116
116
  var start = function() {
117
- var url = new URL('./dnn.system.js', new URL(resourcesUrl, window.location.origin));
117
+ var url = new URL('./p-5bcf3629.system.js', new URL(resourcesUrl, window.location.origin));
118
118
  System.import(url.href);
119
119
  };
120
120
 
@@ -1,47 +1,2 @@
1
- export { D as Debounce } from './debounce-6be67abd.js';
2
-
3
- class DnnServicesFramework {
4
- /**
5
- * Initializes the serivces framework
6
- */
7
- constructor(moduleId) {
8
- this.getServiceRoot = (moduleName) => {
9
- var serviceRoot = window.top.dnn.getVar("sf_siteRoot", "/");
10
- serviceRoot += "API/" + moduleName + "/";
11
- return serviceRoot;
12
- };
13
- this.getTabId = () => {
14
- var tabId = window.top.dnn.getVar("sf_tabId", "-1");
15
- return parseInt(tabId);
16
- };
17
- this.getModuleId = () => {
18
- return this._moduleId;
19
- };
20
- this.getAntiForgeryValue = () => {
21
- const el = document.querySelector("input[name=__RequestVerificationToken]");
22
- if (el != null) {
23
- return el.value;
24
- }
25
- else {
26
- return null;
27
- }
28
- };
29
- this.getModuleHeaders = () => {
30
- var headers = new Headers();
31
- if (this.getTabId() > -1) {
32
- headers.append("ModuleId", this._moduleId.toString());
33
- headers.append("TabId", this.getTabId().toString());
34
- }
35
- const afValue = this.getAntiForgeryValue();
36
- if (afValue != null) {
37
- headers.append("RequestVerificationToken", afValue);
38
- }
39
- return headers;
40
- };
41
- this._moduleId = moduleId;
42
- }
43
- }
44
-
45
- export { DnnServicesFramework };
46
-
1
+ export{D as Debounce}from"./p-9b8731a9.js";class t{constructor(t){this.getServiceRoot=t=>{var e=window.top.dnn.getVar("sf_siteRoot","/");e+="API/"+t+"/";return e};this.getTabId=()=>{var t=window.top.dnn.getVar("sf_tabId","-1");return parseInt(t)};this.getModuleId=()=>this._moduleId;this.getAntiForgeryValue=()=>{const t=document.querySelector("input[name=__RequestVerificationToken]");if(t!=null){return t.value}else{return null}};this.getModuleHeaders=()=>{var t=new Headers;if(this.getTabId()>-1){t.append("ModuleId",this._moduleId.toString());t.append("TabId",this.getTabId().toString())}const e=this.getAntiForgeryValue();if(e!=null){t.append("RequestVerificationToken",e)}return t};this._moduleId=t}}export{t as DnnServicesFramework};
47
2
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"file":"index.esm.js","mappings":";;MASa,oBAAoB;;;;EAO7B,YAAY,QAAgB;IAI5B,mBAAc,GAAG,CAAC,UAAkB;MAEhC,IAAI,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;MAC5D,WAAW,IAAI,MAAM,GAAG,UAAU,GAAG,GAAG,CAAC;MACzC,OAAO,WAAW,CAAC;KACtB,CAAA;IAED,aAAQ,GAAG;MACP,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;MACpD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC1B,CAAA;IAED,gBAAW,GAAG;MACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB,CAAA;IAED,wBAAmB,GAAG;MAClB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,wCAAwC,CAAqB,CAAC;MAChG,IAAI,EAAE,IAAI,IAAI,EAAC;QACX,OAAO,EAAE,CAAC,KAAK,CAAC;OACnB;WACG;QACA,OAAO,IAAI,CAAC;OACf;KACJ,CAAA;IAED,qBAAgB,GAAG;MACf,IAAI,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;MAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAC;QACrB,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;OACvD;MACD,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;MAC3C,IAAI,OAAO,IAAI,IAAI,EAAC;QAChB,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;OACvD;MACD,OAAO,OAAO,CAAC;KAClB,CAAA;IAxCG,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;GAC7B;;;;;","names":[],"sources":["./src/utilities/dnnServicesFramework.ts"],"sourcesContent":["declare global {\r\n interface Window {\r\n dnn: {\r\n //** Gets dnn variables from the page context *\r\n getVar: (key: string, defaultValue: string) => string;\r\n }\r\n }\r\n}\r\n\r\nexport class DnnServicesFramework{\r\n \r\n private _moduleId: number;\r\n\r\n /**\r\n * Initializes the serivces framework\r\n */\r\n constructor(moduleId: number) {\r\n this._moduleId = moduleId;\r\n }\r\n\r\n getServiceRoot = (moduleName: string) =>\r\n {\r\n var serviceRoot = window.top.dnn.getVar(\"sf_siteRoot\", \"/\");\r\n serviceRoot += \"API/\" + moduleName + \"/\";\r\n return serviceRoot;\r\n }\r\n\r\n getTabId = () => {\r\n var tabId = window.top.dnn.getVar(\"sf_tabId\", \"-1\");\r\n return parseInt(tabId);\r\n }\r\n\r\n getModuleId = () => {\r\n return this._moduleId;\r\n }\r\n\r\n getAntiForgeryValue = () => {\r\n const el = document.querySelector(\"input[name=__RequestVerificationToken]\") as HTMLInputElement;\r\n if (el != null){\r\n return el.value;\r\n }\r\n else{\r\n return null;\r\n }\r\n }\r\n\r\n getModuleHeaders = () => {\r\n var headers = new Headers();\r\n if (this.getTabId() > -1){\r\n headers.append(\"ModuleId\", this._moduleId.toString());\r\n headers.append(\"TabId\", this.getTabId().toString());\r\n }\r\n const afValue = this.getAntiForgeryValue();\r\n if (afValue != null){\r\n headers.append(\"RequestVerificationToken\", afValue);\r\n }\r\n return headers;\r\n }\r\n}"],"version":3}
1
+ {"version":3,"sources":["src/utilities/dnnServicesFramework.ts"],"names":["DnnServicesFramework","[object Object]","moduleId","this","getServiceRoot","moduleName","serviceRoot","window","top","dnn","getVar","getTabId","tabId","parseInt","getModuleId","_moduleId","getAntiForgeryValue","el","document","querySelector","value","getModuleHeaders","headers","Headers","append","toString","afValue"],"mappings":"iDASaA,EAOTC,YAAYC,GAIZC,KAAAC,eAAkBC,IAEd,IAAIC,EAAcC,OAAOC,IAAIC,IAAIC,OAAO,cAAe,KACvDJ,GAAe,OAASD,EAAa,IACrC,OAAOC,GAGXH,KAAAQ,SAAW,KACP,IAAIC,EAAQL,OAAOC,IAAIC,IAAIC,OAAO,WAAY,MAC9C,OAAOG,SAASD,IAGpBT,KAAAW,YAAc,IACHX,KAAKY,UAGhBZ,KAAAa,oBAAsB,KAClB,MAAMC,EAAKC,SAASC,cAAc,0CAClC,GAAIF,GAAM,KAAK,CACX,OAAOA,EAAGG,UAEV,CACA,OAAO,OAIfjB,KAAAkB,iBAAmB,KACf,IAAIC,EAAU,IAAIC,QAClB,GAAIpB,KAAKQ,YAAc,EAAE,CACrBW,EAAQE,OAAO,WAAYrB,KAAKY,UAAUU,YAC1CH,EAAQE,OAAO,QAASrB,KAAKQ,WAAWc,YAE5C,MAAMC,EAAUvB,KAAKa,sBACrB,GAAIU,GAAW,KAAK,CAChBJ,EAAQE,OAAO,2BAA4BE,GAE/C,OAAOJ,GAvCPnB,KAAKY,UAAYb","sourcesContent":["declare global {\r\n interface Window {\r\n dnn: {\r\n //** Gets dnn variables from the page context *\r\n getVar: (key: string, defaultValue: string) => string;\r\n }\r\n }\r\n}\r\n\r\nexport class DnnServicesFramework{\r\n \r\n private _moduleId: number;\r\n\r\n /**\r\n * Initializes the serivces framework\r\n */\r\n constructor(moduleId: number) {\r\n this._moduleId = moduleId;\r\n }\r\n\r\n getServiceRoot = (moduleName: string) =>\r\n {\r\n var serviceRoot = window.top.dnn.getVar(\"sf_siteRoot\", \"/\");\r\n serviceRoot += \"API/\" + moduleName + \"/\";\r\n return serviceRoot;\r\n }\r\n\r\n getTabId = () => {\r\n var tabId = window.top.dnn.getVar(\"sf_tabId\", \"-1\");\r\n return parseInt(tabId);\r\n }\r\n\r\n getModuleId = () => {\r\n return this._moduleId;\r\n }\r\n\r\n getAntiForgeryValue = () => {\r\n const el = document.querySelector(\"input[name=__RequestVerificationToken]\") as HTMLInputElement;\r\n if (el != null){\r\n return el.value;\r\n }\r\n else{\r\n return null;\r\n }\r\n }\r\n\r\n getModuleHeaders = () => {\r\n var headers = new Headers();\r\n if (this.getTabId() > -1){\r\n headers.append(\"ModuleId\", this._moduleId.toString());\r\n headers.append(\"TabId\", this.getTabId().toString());\r\n }\r\n const afValue = this.getAntiForgeryValue();\r\n if (afValue != null){\r\n headers.append(\"RequestVerificationToken\", afValue);\r\n }\r\n return headers;\r\n }\r\n}"]}