@limetech/lime-elements 36.0.0-next.9 → 36.1.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/dist/cjs/{checkbox.template-b6c6562c.js → checkbox.template-ac867c17.js} +1 -1
  2. package/dist/cjs/{dateFormatter-05d80b12.js → dateFormatter-d7a8d40d.js} +1 -1
  3. package/dist/cjs/{index-2a28697b.js → index-287e25e0.js} +424 -246
  4. package/dist/cjs/lime-elements.cjs.js +3 -3
  5. package/dist/cjs/limel-badge.cjs.entry.js +24 -3
  6. package/dist/cjs/limel-banner.cjs.entry.js +3 -1
  7. package/dist/cjs/limel-button-group.cjs.entry.js +3 -8
  8. package/dist/cjs/{limel-button.cjs.entry.js → limel-button_2.cjs.entry.js} +117 -21
  9. package/dist/cjs/limel-checkbox.cjs.entry.js +10 -26
  10. package/dist/cjs/limel-chip-set.cjs.entry.js +40 -63
  11. package/dist/cjs/limel-circular-progress.cjs.entry.js +10 -15
  12. package/dist/cjs/limel-code-editor.cjs.entry.js +1693 -86
  13. package/dist/cjs/limel-collapsible-section.cjs.entry.js +5 -6
  14. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +5 -1
  15. package/dist/cjs/limel-color-picker.cjs.entry.js +8 -2
  16. package/dist/cjs/limel-config.cjs.entry.js +2 -1
  17. package/dist/cjs/limel-date-picker.cjs.entry.js +18 -36
  18. package/dist/cjs/limel-dialog.cjs.entry.js +3 -11
  19. package/dist/cjs/limel-dock-button.cjs.entry.js +30 -14
  20. package/dist/cjs/limel-dock.cjs.entry.js +12 -47
  21. package/dist/cjs/limel-file.cjs.entry.js +10 -24
  22. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +151 -50
  23. package/dist/cjs/limel-flex-container.cjs.entry.js +1 -13
  24. package/dist/cjs/limel-form.cjs.entry.js +327 -328
  25. package/dist/cjs/limel-grid.cjs.entry.js +1 -1
  26. package/dist/cjs/limel-header.cjs.entry.js +5 -1
  27. package/dist/cjs/limel-icon-button.cjs.entry.js +3 -8
  28. package/dist/cjs/limel-icon.cjs.entry.js +4 -1
  29. package/dist/cjs/limel-input-field.cjs.entry.js +40 -66
  30. package/dist/cjs/limel-linear-progress.cjs.entry.js +1 -7
  31. package/dist/cjs/limel-list_2.cjs.entry.js +9 -18
  32. package/dist/cjs/limel-menu-list.cjs.entry.js +8 -16
  33. package/dist/cjs/limel-picker.cjs.entry.js +14 -39
  34. package/dist/cjs/limel-popover_4.cjs.entry.js +14 -13
  35. package/dist/cjs/limel-portal.cjs.entry.js +63 -73
  36. package/dist/cjs/limel-progress-flow-item.cjs.entry.js +5 -14
  37. package/dist/cjs/limel-progress-flow.cjs.entry.js +4 -20
  38. package/dist/cjs/limel-select.cjs.entry.js +12 -30
  39. package/dist/cjs/limel-shortcut.cjs.entry.js +52 -0
  40. package/dist/cjs/limel-slider.cjs.entry.js +12 -33
  41. package/dist/cjs/limel-snackbar.cjs.entry.js +7 -5
  42. package/dist/cjs/limel-spinner.cjs.entry.js +1 -7
  43. package/dist/cjs/limel-split-button.cjs.entry.js +27 -0
  44. package/dist/cjs/limel-switch.cjs.entry.js +6 -19
  45. package/dist/cjs/limel-tab-bar.cjs.entry.js +2 -5
  46. package/dist/cjs/limel-tab-panel.cjs.entry.js +2 -5
  47. package/dist/cjs/limel-table.cjs.entry.js +33 -33
  48. package/dist/cjs/loader.cjs.js +3 -3
  49. package/dist/cjs/{moment-5cfac5cd.js → moment-d1e35cdc.js} +2 -2
  50. package/dist/cjs/{translations-5a8d7f6c.js → translations-ca7279bc.js} +6 -0
  51. package/dist/collection/collection-manifest.json +4 -2
  52. package/dist/collection/components/badge/badge.css +13 -0
  53. package/dist/collection/components/badge/badge.js +60 -28
  54. package/dist/collection/components/banner/banner.js +88 -83
  55. package/dist/collection/components/button/button.css +15 -8
  56. package/dist/collection/components/button/button.js +148 -160
  57. package/dist/collection/components/button-group/button-group.js +81 -79
  58. package/dist/collection/components/checkbox/checkbox.js +172 -176
  59. package/dist/collection/components/checkbox/checkbox.template.js +15 -23
  60. package/dist/collection/components/chip-set/chip-set.css +10 -2
  61. package/dist/collection/components/chip-set/chip-set.js +500 -534
  62. package/dist/collection/components/circular-progress/circular-progress.css +27 -5
  63. package/dist/collection/components/circular-progress/circular-progress.js +129 -113
  64. package/dist/collection/components/code-editor/code-editor.css +153 -1
  65. package/dist/collection/components/code-editor/code-editor.js +219 -135
  66. package/dist/collection/components/collapsible-section/collapsible-section.css +8 -7
  67. package/dist/collection/components/collapsible-section/collapsible-section.js +120 -124
  68. package/dist/collection/components/color-picker/color-picker-palette.js +102 -92
  69. package/dist/collection/components/color-picker/color-picker.js +143 -131
  70. package/dist/collection/components/config/config.js +21 -17
  71. package/dist/collection/components/date-picker/date-picker.js +255 -245
  72. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.css +595 -166
  73. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +150 -143
  74. package/dist/collection/components/date-picker/pickers/QuarterPicker.js +1 -3
  75. package/dist/collection/components/dialog/dialog.js +134 -142
  76. package/dist/collection/components/dock/dock-button/dock-button.css +15 -9
  77. package/dist/collection/components/dock/dock-button/dock-button.js +158 -124
  78. package/dist/collection/components/dock/dock.css +7 -3
  79. package/dist/collection/components/dock/dock.js +207 -205
  80. package/dist/collection/components/file/file.js +187 -191
  81. package/dist/collection/components/flex-container/flex-container.js +96 -102
  82. package/dist/collection/components/form/form.js +158 -150
  83. package/dist/collection/components/grid/grid.js +11 -7
  84. package/dist/collection/components/header/header.js +89 -87
  85. package/dist/collection/components/icon/icon.js +79 -66
  86. package/dist/collection/components/icon-button/icon-button.js +85 -85
  87. package/dist/collection/components/input-field/input-field.css +9 -8
  88. package/dist/collection/components/input-field/input-field.js +494 -510
  89. package/dist/collection/components/linear-progress/linear-progress.js +57 -61
  90. package/dist/collection/components/list/list-renderer.js +3 -12
  91. package/dist/collection/components/list/list.js +167 -164
  92. package/dist/collection/components/list/radio-button/radio-button.template.js +2 -8
  93. package/dist/collection/components/menu/menu.js +185 -208
  94. package/dist/collection/components/menu-list/menu-list-renderer.js +2 -9
  95. package/dist/collection/components/menu-list/menu-list.js +150 -167
  96. package/dist/collection/components/menu-surface/menu-surface.js +69 -64
  97. package/dist/collection/components/picker/picker.js +412 -427
  98. package/dist/collection/components/popover/popover.js +79 -74
  99. package/dist/collection/components/popover-surface/popover-surface.css +9 -4
  100. package/dist/collection/components/popover-surface/popover-surface.js +34 -25
  101. package/dist/collection/components/portal/portal.js +145 -158
  102. package/dist/collection/components/progress-flow/progress-flow-item/progress-flow-item.css +21 -8
  103. package/dist/collection/components/progress-flow/progress-flow-item/progress-flow-item.js +90 -94
  104. package/dist/collection/components/progress-flow/progress-flow.js +93 -101
  105. package/dist/collection/components/select/select.css +10 -11
  106. package/dist/collection/components/select/select.js +206 -211
  107. package/dist/collection/components/select/select.template.js +10 -25
  108. package/dist/collection/components/shortcut/shortcut.css +91 -0
  109. package/dist/collection/components/shortcut/shortcut.js +194 -0
  110. package/dist/collection/components/slider/slider.js +233 -264
  111. package/dist/collection/components/snackbar/snackbar.js +175 -169
  112. package/dist/collection/components/spinner/spinner.js +56 -85
  113. package/dist/collection/components/split-button/split-button.css +75 -0
  114. package/dist/collection/components/split-button/split-button.js +168 -0
  115. package/dist/collection/components/switch/switch.js +117 -129
  116. package/dist/collection/components/tab-bar/tab-bar.js +87 -92
  117. package/dist/collection/components/tab-panel/tab-panel.js +64 -61
  118. package/dist/collection/components/table/columns.js +1 -0
  119. package/dist/collection/components/table/layout.js +8 -0
  120. package/dist/collection/components/table/table.css +89 -61
  121. package/dist/collection/components/table/table.js +453 -432
  122. package/dist/collection/components/tooltip/tooltip-content.js +70 -61
  123. package/dist/collection/components/tooltip/tooltip.js +96 -91
  124. package/dist/collection/icons/angle_left.svg +593 -0
  125. package/dist/collection/icons/angle_right.svg +593 -0
  126. package/dist/collection/icons/external_link.svg +593 -0
  127. package/dist/collection/icons/high_importance.svg +593 -0
  128. package/dist/collection/icons/unit-test.svg +593 -0
  129. package/dist/collection/style/internal/codemirror-tooltip.scss +19 -0
  130. package/dist/collection/style/internal/z-index.scss +0 -7
  131. package/dist/collection/style/mixins.scss +11 -0
  132. package/dist/collection/translations/da.js +1 -0
  133. package/dist/collection/translations/en.js +1 -0
  134. package/dist/collection/translations/fi.js +1 -0
  135. package/dist/collection/translations/nl.js +1 -0
  136. package/dist/collection/translations/no.js +1 -0
  137. package/dist/collection/translations/sv.js +1 -0
  138. package/dist/esm/{checkbox.template-2f1bbc98.js → checkbox.template-fc7fcd06.js} +1 -1
  139. package/dist/esm/{dateFormatter-2cad0292.js → dateFormatter-784c3334.js} +1 -1
  140. package/dist/esm/{index-11cd0b60.js → index-cdfd351d.js} +424 -246
  141. package/dist/esm/lime-elements.js +3 -3
  142. package/dist/esm/limel-badge.entry.js +24 -3
  143. package/dist/esm/limel-banner.entry.js +3 -1
  144. package/dist/esm/limel-button-group.entry.js +3 -8
  145. package/dist/esm/{limel-button.entry.js → limel-button_2.entry.js} +117 -22
  146. package/dist/esm/limel-checkbox.entry.js +10 -26
  147. package/dist/esm/limel-chip-set.entry.js +40 -63
  148. package/dist/esm/limel-circular-progress.entry.js +10 -15
  149. package/dist/esm/limel-code-editor.entry.js +1693 -86
  150. package/dist/esm/limel-collapsible-section.entry.js +5 -6
  151. package/dist/esm/limel-color-picker-palette.entry.js +5 -1
  152. package/dist/esm/limel-color-picker.entry.js +8 -2
  153. package/dist/esm/limel-config.entry.js +2 -1
  154. package/dist/esm/limel-date-picker.entry.js +18 -36
  155. package/dist/esm/limel-dialog.entry.js +3 -11
  156. package/dist/esm/limel-dock-button.entry.js +30 -14
  157. package/dist/esm/limel-dock.entry.js +12 -47
  158. package/dist/esm/limel-file.entry.js +10 -24
  159. package/dist/esm/limel-flatpickr-adapter.entry.js +151 -50
  160. package/dist/esm/limel-flex-container.entry.js +1 -13
  161. package/dist/esm/limel-form.entry.js +327 -328
  162. package/dist/esm/limel-grid.entry.js +1 -1
  163. package/dist/esm/limel-header.entry.js +5 -1
  164. package/dist/esm/limel-icon-button.entry.js +3 -8
  165. package/dist/esm/limel-icon.entry.js +4 -1
  166. package/dist/esm/limel-input-field.entry.js +40 -66
  167. package/dist/esm/limel-linear-progress.entry.js +1 -7
  168. package/dist/esm/limel-list_2.entry.js +9 -18
  169. package/dist/esm/limel-menu-list.entry.js +8 -16
  170. package/dist/esm/limel-picker.entry.js +14 -39
  171. package/dist/esm/limel-popover_4.entry.js +14 -13
  172. package/dist/esm/limel-portal.entry.js +63 -73
  173. package/dist/esm/limel-progress-flow-item.entry.js +5 -14
  174. package/dist/esm/limel-progress-flow.entry.js +4 -20
  175. package/dist/esm/limel-select.entry.js +12 -30
  176. package/dist/esm/limel-shortcut.entry.js +48 -0
  177. package/dist/esm/limel-slider.entry.js +12 -33
  178. package/dist/esm/limel-snackbar.entry.js +7 -5
  179. package/dist/esm/limel-spinner.entry.js +1 -7
  180. package/dist/esm/limel-split-button.entry.js +23 -0
  181. package/dist/esm/limel-switch.entry.js +6 -19
  182. package/dist/esm/limel-tab-bar.entry.js +2 -5
  183. package/dist/esm/limel-tab-panel.entry.js +2 -5
  184. package/dist/esm/limel-table.entry.js +33 -33
  185. package/dist/esm/loader.js +3 -3
  186. package/dist/esm/{moment-367e51c5.js → moment-faa8a4a8.js} +2 -2
  187. package/dist/esm/polyfills/css-shim.js +1 -1
  188. package/dist/esm/{translations-682e905e.js → translations-0d0ee941.js} +6 -0
  189. package/dist/lime-elements/lime-elements.css +1 -1
  190. package/dist/lime-elements/lime-elements.esm.js +1 -1
  191. package/dist/lime-elements/p-059e0a64.entry.js +1 -0
  192. package/dist/lime-elements/{p-440454ed.entry.js → p-06f2f6b4.entry.js} +1 -1
  193. package/dist/lime-elements/{p-71efe2ca.entry.js → p-0dbde06f.entry.js} +1 -1
  194. package/dist/lime-elements/p-12a7453b.entry.js +73 -0
  195. package/dist/lime-elements/p-15c2eb16.entry.js +1 -0
  196. package/dist/lime-elements/{p-c80acfb2.entry.js → p-15ca0d70.entry.js} +4 -4
  197. package/dist/lime-elements/{p-ed65468d.entry.js → p-16eb9071.entry.js} +1 -1
  198. package/dist/lime-elements/{p-1ede893b.js → p-1af8258b.js} +1 -1
  199. package/dist/lime-elements/p-246862ec.js +1 -0
  200. package/dist/lime-elements/p-28dffd9e.entry.js +1 -0
  201. package/dist/lime-elements/p-334b5f82.entry.js +37 -0
  202. package/dist/lime-elements/p-36a3b897.entry.js +1 -0
  203. package/dist/lime-elements/p-4b426b7e.entry.js +11 -0
  204. package/dist/lime-elements/p-4eda8b67.entry.js +82 -0
  205. package/dist/lime-elements/{p-9af0704c.entry.js → p-4fb4e89b.entry.js} +1 -1
  206. package/dist/lime-elements/{p-a5af84a7.entry.js → p-5338663b.entry.js} +1 -1
  207. package/dist/lime-elements/p-5ce60a32.entry.js +126 -0
  208. package/dist/lime-elements/p-5f13035a.entry.js +1 -0
  209. package/dist/lime-elements/{p-42b67933.entry.js → p-600464a9.entry.js} +1 -1
  210. package/dist/lime-elements/p-6534e16a.entry.js +1 -0
  211. package/dist/lime-elements/p-6a4a5ddd.entry.js +1 -0
  212. package/dist/lime-elements/p-6c38b505.entry.js +1 -0
  213. package/dist/lime-elements/{p-d76f896d.js → p-73df4d83.js} +1 -1
  214. package/dist/lime-elements/p-744c21f8.entry.js +1 -0
  215. package/dist/lime-elements/p-75d01713.entry.js +1 -0
  216. package/dist/lime-elements/p-768b7cbb.entry.js +1 -0
  217. package/dist/lime-elements/{p-6e7809a6.entry.js → p-82cd7bb6.entry.js} +1 -1
  218. package/dist/lime-elements/p-84a137a7.entry.js +1 -0
  219. package/dist/lime-elements/p-8715eac0.entry.js +1 -0
  220. package/dist/lime-elements/{p-8827628d.entry.js → p-8fb83e83.entry.js} +2 -2
  221. package/dist/lime-elements/p-90961075.entry.js +1 -0
  222. package/dist/lime-elements/p-945afca2.js +3 -0
  223. package/dist/lime-elements/p-9984b31c.entry.js +1 -0
  224. package/dist/lime-elements/p-9bd76629.entry.js +59 -0
  225. package/dist/lime-elements/p-9f19e0c1.entry.js +1 -0
  226. package/dist/lime-elements/p-ace4e596.entry.js +1 -0
  227. package/dist/lime-elements/p-cad7cda1.entry.js +16 -0
  228. package/dist/lime-elements/p-cfaa685f.entry.js +1 -0
  229. package/dist/lime-elements/{p-94899019.entry.js → p-d1187867.entry.js} +1 -1
  230. package/dist/lime-elements/{p-aa66620a.entry.js → p-d3ebc657.entry.js} +2 -2
  231. package/dist/lime-elements/p-d4e788e1.js +2 -0
  232. package/dist/lime-elements/p-d512656b.entry.js +1 -0
  233. package/dist/lime-elements/p-d8e5a9ee.entry.js +1 -0
  234. package/dist/lime-elements/p-dcd2a664.entry.js +16 -0
  235. package/dist/lime-elements/p-de161bb5.entry.js +1 -0
  236. package/dist/lime-elements/p-e4bca82b.entry.js +1 -0
  237. package/dist/lime-elements/p-e7bb664f.entry.js +1 -0
  238. package/dist/lime-elements/p-ef04b849.entry.js +82 -0
  239. package/dist/lime-elements/style/internal/codemirror-tooltip.scss +19 -0
  240. package/dist/lime-elements/style/internal/z-index.scss +0 -7
  241. package/dist/lime-elements/style/mixins.scss +11 -0
  242. package/dist/loader/package.json +1 -0
  243. package/dist/types/components/badge/badge.d.ts +12 -4
  244. package/dist/types/components/chip-set/chip-set.d.ts +3 -2
  245. package/dist/types/components/circular-progress/circular-progress.d.ts +5 -0
  246. package/dist/types/components/code-editor/code-editor.d.ts +14 -0
  247. package/dist/types/components/date-picker/date-picker.d.ts +4 -0
  248. package/dist/types/components/dock/dock-button/dock-button.d.ts +21 -5
  249. package/dist/types/components/dock/dock.d.ts +11 -3
  250. package/dist/types/components/input-field/input-field.d.ts +6 -0
  251. package/dist/types/components/menu/menu.d.ts +1 -2
  252. package/dist/types/components/menu-list/menu-list.d.ts +2 -7
  253. package/dist/types/components/picker/picker.d.ts +2 -2
  254. package/dist/types/components/shortcut/shortcut.d.ts +57 -0
  255. package/dist/types/components/split-button/split-button.d.ts +45 -0
  256. package/dist/types/components/tab-bar/tab.types.d.ts +1 -1
  257. package/dist/types/components/table/layout.d.ts +2 -0
  258. package/dist/types/components/table/table.d.ts +16 -1
  259. package/dist/types/components/table/table.types.d.ts +4 -0
  260. package/dist/types/components.d.ts +390 -80
  261. package/dist/types/stencil-public-runtime.d.ts +20 -4
  262. package/dist/types/translations/da.d.ts +1 -0
  263. package/dist/types/translations/en.d.ts +1 -0
  264. package/dist/types/translations/fi.d.ts +1 -0
  265. package/dist/types/translations/nl.d.ts +1 -0
  266. package/dist/types/translations/no.d.ts +1 -0
  267. package/dist/types/translations/sv.d.ts +1 -0
  268. package/package.json +27 -26
  269. package/dist/cjs/limel-menu.cjs.entry.js +0 -148
  270. package/dist/esm/limel-menu.entry.js +0 -144
  271. package/dist/lime-elements/p-009de50e.entry.js +0 -1
  272. package/dist/lime-elements/p-19f72dab.entry.js +0 -1
  273. package/dist/lime-elements/p-1a2ffe75.entry.js +0 -82
  274. package/dist/lime-elements/p-1dfccbc5.entry.js +0 -1
  275. package/dist/lime-elements/p-1e59114e.entry.js +0 -1
  276. package/dist/lime-elements/p-2639edf9.entry.js +0 -73
  277. package/dist/lime-elements/p-3af5f9ad.js +0 -3
  278. package/dist/lime-elements/p-3bf54a4c.js +0 -1
  279. package/dist/lime-elements/p-53e01330.entry.js +0 -1
  280. package/dist/lime-elements/p-5ad60e14.entry.js +0 -126
  281. package/dist/lime-elements/p-63e25a0a.entry.js +0 -1
  282. package/dist/lime-elements/p-64f068a8.entry.js +0 -1
  283. package/dist/lime-elements/p-6884b012.entry.js +0 -1
  284. package/dist/lime-elements/p-6966b5df.entry.js +0 -1
  285. package/dist/lime-elements/p-6b1bc80f.entry.js +0 -1
  286. package/dist/lime-elements/p-722d32e0.entry.js +0 -1
  287. package/dist/lime-elements/p-75152d89.entry.js +0 -1
  288. package/dist/lime-elements/p-7e571ec6.entry.js +0 -11
  289. package/dist/lime-elements/p-7ee4b825.entry.js +0 -1
  290. package/dist/lime-elements/p-93cd2268.entry.js +0 -1
  291. package/dist/lime-elements/p-95f275ab.entry.js +0 -1
  292. package/dist/lime-elements/p-97d6c4a6.entry.js +0 -1
  293. package/dist/lime-elements/p-995bbd2a.entry.js +0 -1
  294. package/dist/lime-elements/p-a465084b.entry.js +0 -82
  295. package/dist/lime-elements/p-af0ec482.entry.js +0 -16
  296. package/dist/lime-elements/p-b0046fcd.entry.js +0 -1
  297. package/dist/lime-elements/p-b95e80c9.entry.js +0 -1
  298. package/dist/lime-elements/p-bd098a11.entry.js +0 -1
  299. package/dist/lime-elements/p-d1ee4501.entry.js +0 -37
  300. package/dist/lime-elements/p-d74fa89e.entry.js +0 -1
  301. package/dist/lime-elements/p-e98d76e8.entry.js +0 -59
  302. package/dist/lime-elements/p-e9a95b8f.js +0 -1
  303. package/dist/lime-elements/p-f0c9dadd.entry.js +0 -1
  304. package/dist/lime-elements/p-f0e872b6.entry.js +0 -16
@@ -1,4 +1,4 @@
1
- import { Component, Event, h, Prop, Element, Watch, } from '@stencil/core';
1
+ import { h, } from '@stencil/core';
2
2
  import { createRandomString } from '../../util/random-string';
3
3
  import { zipObject } from 'lodash-es';
4
4
  /**
@@ -15,30 +15,6 @@ import { zipObject } from 'lodash-es';
15
15
  */
16
16
  export class Menu {
17
17
  constructor() {
18
- /**
19
- * A list of items and separators to show in the menu.
20
- */
21
- this.items = [];
22
- /**
23
- * Sets the disabled state of the menu.
24
- */
25
- this.disabled = false;
26
- /**
27
- * Decides the menu's location in relation to its trigger
28
- */
29
- this.openDirection = 'bottom-start';
30
- /**
31
- * Sets the open state of the menu.
32
- */
33
- this.open = false;
34
- /**
35
- * Defines whether the menu should show badges.
36
- */
37
- this.badgeIcons = false;
38
- /**
39
- * Renders list items in a grid layout, rather than a vertical list
40
- */
41
- this.gridLayout = false;
42
18
  this.setTriggerAttributes = (element) => {
43
19
  const attributes = {
44
20
  'aria-haspopup': true,
@@ -66,13 +42,8 @@ export class Menu {
66
42
  }
67
43
  this.open = !this.open;
68
44
  };
69
- this.onListChange = (event) => {
70
- this.items = this.items.map((item) => {
71
- if (item === event.detail) {
72
- return event.detail;
73
- }
74
- return item;
75
- });
45
+ this.handleSelect = (event) => {
46
+ event.stopPropagation();
76
47
  this.select.emit(event.detail);
77
48
  this.open = false;
78
49
  };
@@ -88,14 +59,14 @@ export class Menu {
88
59
  const menuElements = Array.from(this.list.shadowRoot.querySelectorAll('[role="menuitem"]'));
89
60
  (_a = menuElements[selectedIndex]) === null || _a === void 0 ? void 0 : _a.focus();
90
61
  };
62
+ this.items = [];
63
+ this.disabled = false;
64
+ this.openDirection = 'bottom-start';
65
+ this.open = false;
66
+ this.badgeIcons = false;
67
+ this.gridLayout = false;
91
68
  this.portalId = createRandomString();
92
69
  }
93
- componentDidLoad() {
94
- if (!this.host.querySelector('[slot="trigger"]')) {
95
- // eslint-disable-next-line no-console
96
- console.warn('Using limel-menu with the default trigger is deprecated. Please provide your own trigger element.');
97
- }
98
- }
99
70
  openWatcher() {
100
71
  if (!this.open) {
101
72
  return;
@@ -109,15 +80,11 @@ export class Menu {
109
80
  render() {
110
81
  const cssProperties = this.getCssProperties();
111
82
  const dropdownZIndex = getComputedStyle(this.host).getPropertyValue('--dropdown-z-index');
112
- return (h("div", { class: "mdc-menu-surface--anchor", onClick: this.onTriggerClick },
113
- h("slot", { name: "trigger" }),
114
- h("limel-portal", { visible: this.open, containerId: this.portalId, openDirection: this.openDirection, position: "absolute", containerStyle: { 'z-index': dropdownZIndex } },
115
- h("limel-menu-surface", { open: this.open, onDismiss: this.onClose, style: cssProperties, class: {
116
- 'has-grid-layout': this.gridLayout,
117
- } },
118
- h("limel-menu-list", { class: {
119
- 'has-grid-layout has-interactive-items': this.gridLayout,
120
- }, items: this.items, type: "menu", badgeIcons: this.badgeIcons, onChange: this.onListChange, ref: this.setListElement })))));
83
+ return (h("div", { class: "mdc-menu-surface--anchor", onClick: this.onTriggerClick }, h("slot", { name: "trigger" }), h("limel-portal", { visible: this.open, containerId: this.portalId, openDirection: this.openDirection, position: "absolute", containerStyle: { 'z-index': dropdownZIndex } }, h("limel-menu-surface", { open: this.open, onDismiss: this.onClose, style: cssProperties, class: {
84
+ 'has-grid-layout': this.gridLayout,
85
+ } }, h("limel-menu-list", { class: {
86
+ 'has-grid-layout has-interactive-items': this.gridLayout,
87
+ }, items: this.items, type: "menu", badgeIcons: this.badgeIcons, onSelect: this.handleSelect, ref: this.setListElement })))));
121
88
  }
122
89
  componentDidRender() {
123
90
  const slotElement = this.host.shadowRoot.querySelector('slot');
@@ -141,176 +108,186 @@ export class Menu {
141
108
  }
142
109
  static get is() { return "limel-menu"; }
143
110
  static get encapsulation() { return "shadow"; }
144
- static get originalStyleUrls() { return {
145
- "$": ["menu.scss"]
146
- }; }
147
- static get styleUrls() { return {
148
- "$": ["menu.css"]
149
- }; }
150
- static get properties() { return {
151
- "items": {
152
- "type": "unknown",
153
- "mutable": false,
154
- "complexType": {
155
- "original": "Array<MenuItem | ListSeparator>",
156
- "resolved": "(ListSeparator | MenuItem<any>)[]",
157
- "references": {
158
- "Array": {
159
- "location": "global"
160
- },
161
- "MenuItem": {
162
- "location": "import",
163
- "path": "@limetech/lime-elements"
164
- },
165
- "ListSeparator": {
166
- "location": "import",
167
- "path": "@limetech/lime-elements"
111
+ static get originalStyleUrls() {
112
+ return {
113
+ "$": ["menu.scss"]
114
+ };
115
+ }
116
+ static get styleUrls() {
117
+ return {
118
+ "$": ["menu.css"]
119
+ };
120
+ }
121
+ static get properties() {
122
+ return {
123
+ "items": {
124
+ "type": "unknown",
125
+ "mutable": false,
126
+ "complexType": {
127
+ "original": "Array<MenuItem | ListSeparator>",
128
+ "resolved": "(MenuItem<any> | ListSeparator)[]",
129
+ "references": {
130
+ "Array": {
131
+ "location": "global"
132
+ },
133
+ "MenuItem": {
134
+ "location": "import",
135
+ "path": "@limetech/lime-elements"
136
+ },
137
+ "ListSeparator": {
138
+ "location": "import",
139
+ "path": "@limetech/lime-elements"
140
+ }
168
141
  }
169
- }
170
- },
171
- "required": false,
172
- "optional": false,
173
- "docs": {
174
- "tags": [],
175
- "text": "A list of items and separators to show in the menu."
142
+ },
143
+ "required": false,
144
+ "optional": false,
145
+ "docs": {
146
+ "tags": [],
147
+ "text": "A list of items and separators to show in the menu."
148
+ },
149
+ "defaultValue": "[]"
176
150
  },
177
- "defaultValue": "[]"
178
- },
179
- "disabled": {
180
- "type": "boolean",
181
- "mutable": false,
182
- "complexType": {
183
- "original": "boolean",
184
- "resolved": "boolean",
185
- "references": {}
151
+ "disabled": {
152
+ "type": "boolean",
153
+ "mutable": false,
154
+ "complexType": {
155
+ "original": "boolean",
156
+ "resolved": "boolean",
157
+ "references": {}
158
+ },
159
+ "required": false,
160
+ "optional": false,
161
+ "docs": {
162
+ "tags": [],
163
+ "text": "Sets the disabled state of the menu."
164
+ },
165
+ "attribute": "disabled",
166
+ "reflect": true,
167
+ "defaultValue": "false"
186
168
  },
187
- "required": false,
188
- "optional": false,
189
- "docs": {
190
- "tags": [],
191
- "text": "Sets the disabled state of the menu."
192
- },
193
- "attribute": "disabled",
194
- "reflect": true,
195
- "defaultValue": "false"
196
- },
197
- "openDirection": {
198
- "type": "string",
199
- "mutable": false,
200
- "complexType": {
201
- "original": "OpenDirection",
202
- "resolved": "\"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\"",
203
- "references": {
204
- "OpenDirection": {
205
- "location": "import",
206
- "path": "@limetech/lime-elements"
169
+ "openDirection": {
170
+ "type": "string",
171
+ "mutable": false,
172
+ "complexType": {
173
+ "original": "OpenDirection",
174
+ "resolved": "\"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\"",
175
+ "references": {
176
+ "OpenDirection": {
177
+ "location": "import",
178
+ "path": "@limetech/lime-elements"
179
+ }
207
180
  }
208
- }
209
- },
210
- "required": false,
211
- "optional": false,
212
- "docs": {
213
- "tags": [],
214
- "text": "Decides the menu's location in relation to its trigger"
215
- },
216
- "attribute": "open-direction",
217
- "reflect": true,
218
- "defaultValue": "'bottom-start'"
219
- },
220
- "open": {
221
- "type": "boolean",
222
- "mutable": true,
223
- "complexType": {
224
- "original": "boolean",
225
- "resolved": "boolean",
226
- "references": {}
227
- },
228
- "required": false,
229
- "optional": false,
230
- "docs": {
231
- "tags": [],
232
- "text": "Sets the open state of the menu."
233
- },
234
- "attribute": "open",
235
- "reflect": true,
236
- "defaultValue": "false"
237
- },
238
- "badgeIcons": {
239
- "type": "boolean",
240
- "mutable": false,
241
- "complexType": {
242
- "original": "boolean",
243
- "resolved": "boolean",
244
- "references": {}
245
- },
246
- "required": false,
247
- "optional": false,
248
- "docs": {
249
- "tags": [],
250
- "text": "Defines whether the menu should show badges."
181
+ },
182
+ "required": false,
183
+ "optional": false,
184
+ "docs": {
185
+ "tags": [],
186
+ "text": "Decides the menu's location in relation to its trigger"
187
+ },
188
+ "attribute": "open-direction",
189
+ "reflect": true,
190
+ "defaultValue": "'bottom-start'"
251
191
  },
252
- "attribute": "badge-icons",
253
- "reflect": true,
254
- "defaultValue": "false"
255
- },
256
- "gridLayout": {
257
- "type": "boolean",
258
- "mutable": false,
259
- "complexType": {
260
- "original": "boolean",
261
- "resolved": "boolean",
262
- "references": {}
192
+ "open": {
193
+ "type": "boolean",
194
+ "mutable": true,
195
+ "complexType": {
196
+ "original": "boolean",
197
+ "resolved": "boolean",
198
+ "references": {}
199
+ },
200
+ "required": false,
201
+ "optional": false,
202
+ "docs": {
203
+ "tags": [],
204
+ "text": "Sets the open state of the menu."
205
+ },
206
+ "attribute": "open",
207
+ "reflect": true,
208
+ "defaultValue": "false"
263
209
  },
264
- "required": false,
265
- "optional": false,
266
- "docs": {
267
- "tags": [],
268
- "text": "Renders list items in a grid layout, rather than a vertical list"
210
+ "badgeIcons": {
211
+ "type": "boolean",
212
+ "mutable": false,
213
+ "complexType": {
214
+ "original": "boolean",
215
+ "resolved": "boolean",
216
+ "references": {}
217
+ },
218
+ "required": false,
219
+ "optional": false,
220
+ "docs": {
221
+ "tags": [],
222
+ "text": "Defines whether the menu should show badges."
223
+ },
224
+ "attribute": "badge-icons",
225
+ "reflect": true,
226
+ "defaultValue": "false"
269
227
  },
270
- "attribute": "grid-layout",
271
- "reflect": true,
272
- "defaultValue": "false"
273
- }
274
- }; }
275
- static get events() { return [{
276
- "method": "cancel",
277
- "name": "cancel",
278
- "bubbles": true,
279
- "cancelable": true,
280
- "composed": true,
281
- "docs": {
282
- "tags": [],
283
- "text": "Is emitted when the menu is cancelled."
284
- },
285
- "complexType": {
286
- "original": "void",
287
- "resolved": "void",
288
- "references": {}
228
+ "gridLayout": {
229
+ "type": "boolean",
230
+ "mutable": false,
231
+ "complexType": {
232
+ "original": "boolean",
233
+ "resolved": "boolean",
234
+ "references": {}
235
+ },
236
+ "required": false,
237
+ "optional": false,
238
+ "docs": {
239
+ "tags": [],
240
+ "text": "Renders list items in a grid layout, rather than a vertical list"
241
+ },
242
+ "attribute": "grid-layout",
243
+ "reflect": true,
244
+ "defaultValue": "false"
289
245
  }
290
- }, {
291
- "method": "select",
292
- "name": "select",
293
- "bubbles": true,
294
- "cancelable": true,
295
- "composed": true,
296
- "docs": {
297
- "tags": [],
298
- "text": "Is emitted when a menu item is selected."
299
- },
300
- "complexType": {
301
- "original": "MenuItem | MenuItem[]",
302
- "resolved": "MenuItem<any> | MenuItem<any>[]",
303
- "references": {
304
- "MenuItem": {
305
- "location": "import",
306
- "path": "@limetech/lime-elements"
246
+ };
247
+ }
248
+ static get events() {
249
+ return [{
250
+ "method": "cancel",
251
+ "name": "cancel",
252
+ "bubbles": true,
253
+ "cancelable": true,
254
+ "composed": true,
255
+ "docs": {
256
+ "tags": [],
257
+ "text": "Is emitted when the menu is cancelled."
258
+ },
259
+ "complexType": {
260
+ "original": "void",
261
+ "resolved": "void",
262
+ "references": {}
263
+ }
264
+ }, {
265
+ "method": "select",
266
+ "name": "select",
267
+ "bubbles": true,
268
+ "cancelable": true,
269
+ "composed": true,
270
+ "docs": {
271
+ "tags": [],
272
+ "text": "Is emitted when a menu item is selected."
273
+ },
274
+ "complexType": {
275
+ "original": "MenuItem | MenuItem[]",
276
+ "resolved": "MenuItem<any> | MenuItem<any>[]",
277
+ "references": {
278
+ "MenuItem": {
279
+ "location": "import",
280
+ "path": "@limetech/lime-elements"
281
+ }
307
282
  }
308
283
  }
309
- }
310
- }]; }
284
+ }];
285
+ }
311
286
  static get elementRef() { return "host"; }
312
- static get watchers() { return [{
313
- "propName": "open",
314
- "methodName": "openWatcher"
315
- }]; }
287
+ static get watchers() {
288
+ return [{
289
+ "propName": "open",
290
+ "methodName": "openWatcher"
291
+ }];
292
+ }
316
293
  }
@@ -55,10 +55,7 @@ export class MenuListRenderer {
55
55
  if (index === this.applyTabIndexToItemAtIndex) {
56
56
  attributes.tabindex = '0';
57
57
  }
58
- return (h("li", Object.assign({ class: classNames, role: "menuitem", "aria-disabled": item.disabled ? 'true' : 'false', "aria-selected": item.selected ? 'true' : 'false', "data-index": index }, attributes),
59
- item.icon ? this.renderIcon(this.config, item) : null,
60
- this.renderText(item),
61
- this.twoLines && this.avatarList ? this.renderDivider() : null));
58
+ return (h("li", Object.assign({ class: classNames, role: "menuitem", "aria-disabled": item.disabled ? 'true' : 'false', "aria-selected": item.selected ? 'true' : 'false', "data-index": index }, attributes), item.icon ? this.renderIcon(this.config, item) : null, this.renderText(item), this.twoLines && this.avatarList ? this.renderDivider() : null));
62
59
  };
63
60
  /**
64
61
  * Render the text of the list item
@@ -70,11 +67,7 @@ export class MenuListRenderer {
70
67
  if (this.isSimpleItem(item)) {
71
68
  return (h("span", { class: "mdc-deprecated-list-item__text" }, item.text));
72
69
  }
73
- return (h("div", { class: "mdc-deprecated-list-item__text" },
74
- h("div", { class: "mdc-deprecated-list-item__primary-command-text" },
75
- h("div", { class: "mdc-deprecated-list-item__primary-text" }, item.text),
76
- this.renderCommandText(item)),
77
- h("div", { class: "mdc-deprecated-list-item__secondary-text" }, item.secondaryText)));
70
+ return (h("div", { class: "mdc-deprecated-list-item__text" }, h("div", { class: "mdc-deprecated-list-item__primary-command-text" }, h("div", { class: "mdc-deprecated-list-item__primary-text" }, item.text), this.renderCommandText(item)), h("div", { class: "mdc-deprecated-list-item__secondary-text" }, item.secondaryText)));
78
71
  };
79
72
  this.renderCommandText = (item) => {
80
73
  if (!('commandText' in item)) {