@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
@@ -12,6 +12,8 @@
12
12
  */
13
13
  .button {
14
14
  all: unset;
15
+ cursor: pointer;
16
+ transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
15
17
  box-sizing: border-box;
16
18
  display: flex;
17
19
  align-items: center;
@@ -25,20 +27,20 @@
25
27
  color: var(--limel-dock-item-text-color);
26
28
  background-color: var(--dock-background-color);
27
29
  }
28
- .button:focus-visible {
29
- box-shadow: var(--shadow-depth-8-focused);
30
- }
31
- .dock-item:not(.selected) .button:not(.disabled) {
32
- cursor: pointer;
33
- transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
34
- }
35
- .dock-item:not(.selected) .button:not(.disabled):hover {
30
+ .button:hover {
36
31
  box-shadow: var(--button-shadow-hovered);
37
32
  }
38
- .dock-item:not(.selected) .button:not(.disabled):active {
33
+ .button:active {
39
34
  box-shadow: var(--button-shadow-pressed);
40
35
  transform: translate3d(0, 0.08rem, 0);
41
36
  }
37
+ .button:focus {
38
+ outline: none;
39
+ }
40
+ .button:focus-visible {
41
+ outline: none;
42
+ box-shadow: var(--shadow-depth-8-focused);
43
+ }
42
44
  .button:hover {
43
45
  z-index: 1;
44
46
  }
@@ -47,12 +49,16 @@
47
49
  background-color: var(--dock-item-background-color--selected, rgb(var(--contrast-200)));
48
50
  box-shadow: var(--button-shadow-inset);
49
51
  }
52
+ .button.selected:focus-visible {
53
+ box-shadow: var(--button-shadow-inset), var(--shadow-depth-8-focused);
54
+ }
50
55
  .button.selected .icon {
51
56
  color: var(--limel-dock-item-text--selected);
52
57
  }
53
58
 
54
59
  limel-popover {
55
60
  display: grid;
61
+ grid-template-columns: 100%;
56
62
  }
57
63
 
58
64
  .text {
@@ -1,22 +1,17 @@
1
- import { Component, Event, h, Prop, State } from '@stencil/core';
1
+ import { h, } from '@stencil/core';
2
2
  import { createRandomString } from '../../../util/random-string';
3
3
  /**
4
4
  * @private
5
5
  */
6
6
  export class DockButton {
7
7
  constructor() {
8
- /**
9
- * @inheritdoc
10
- */
11
- this.expanded = false;
12
- /**
13
- * @inheritdoc
14
- */
15
- this.useMobileLayout = false;
16
- this.isOpen = false;
17
8
  this.openPopover = (event) => {
18
9
  event.stopPropagation();
19
10
  this.isOpen = true;
11
+ this.menuOpen.emit(this.item);
12
+ };
13
+ this.setCustomComponentElement = (element) => {
14
+ this.customComponentElement = element;
20
15
  };
21
16
  this.onPopoverClose = () => {
22
17
  this.isOpen = false;
@@ -24,8 +19,18 @@ export class DockButton {
24
19
  };
25
20
  this.handleClick = (event) => {
26
21
  event.stopPropagation();
27
- this.interact.emit(this.item);
22
+ this.itemSelected.emit(this.item);
28
23
  };
24
+ this.focusCustomComponentElement = () => {
25
+ var _a, _b, _c;
26
+ if ((_b = (_a = this.customComponentElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.delegatesFocus) {
27
+ (_c = this.customComponentElement) === null || _c === void 0 ? void 0 : _c.focus();
28
+ }
29
+ };
30
+ this.item = undefined;
31
+ this.expanded = false;
32
+ this.useMobileLayout = false;
33
+ this.isOpen = false;
29
34
  this.tooltipId = createRandomString();
30
35
  }
31
36
  render() {
@@ -35,22 +40,24 @@ export class DockButton {
35
40
  }
36
41
  return this.renderButton(this.handleClick);
37
42
  }
43
+ openWatcher() {
44
+ if (!this.isOpen) {
45
+ return;
46
+ }
47
+ const observer = new IntersectionObserver(this.focusCustomComponentElement);
48
+ observer.observe(this.customComponentElement);
49
+ }
38
50
  renderPopover() {
39
51
  var _a;
40
52
  const CustomComponent = (_a = this.item) === null || _a === void 0 ? void 0 : _a.dockMenu.componentName;
41
- return (h("limel-popover", { openDirection: this.useMobileLayout ? 'top' : 'right', open: this.isOpen || this.item.dockMenu.menuOpen, onClose: this.onPopoverClose },
42
- this.renderButton(this.openPopover, 'trigger'),
43
- h(CustomComponent, Object.assign({}, (this.item.dockMenu.props || {}), { onClose: this.onPopoverClose }))));
53
+ return (h("limel-popover", { openDirection: this.useMobileLayout ? 'top' : 'right', open: this.isOpen || this.item.dockMenu.menuOpen, onClose: this.onPopoverClose }, this.renderButton(this.openPopover, 'trigger'), h(CustomComponent, Object.assign({ ref: this.setCustomComponentElement }, (this.item.dockMenu.props || {}), { onClose: this.onPopoverClose }))));
44
54
  }
45
55
  renderButton(handleClick, slot) {
46
56
  var _a;
47
57
  return (h("button", { slot: slot, tabindex: "0", id: this.tooltipId, type: "button", class: {
48
58
  button: true,
49
59
  selected: (_a = this.item) === null || _a === void 0 ? void 0 : _a.selected,
50
- }, onClick: handleClick },
51
- this.renderIcon(),
52
- this.renderLabel(),
53
- this.renderTooltip()));
60
+ }, onClick: handleClick }, this.renderIcon(), this.renderLabel(), this.renderTooltip()));
54
61
  }
55
62
  renderIcon() {
56
63
  if (!this.item.icon) {
@@ -72,116 +79,143 @@ export class DockButton {
72
79
  }
73
80
  }
74
81
  static get is() { return "limel-dock-button"; }
75
- static get originalStyleUrls() { return {
76
- "$": ["dock-button.scss"]
77
- }; }
78
- static get styleUrls() { return {
79
- "$": ["dock-button.css"]
80
- }; }
81
- static get properties() { return {
82
- "item": {
83
- "type": "unknown",
84
- "mutable": false,
85
- "complexType": {
86
- "original": "DockItem",
87
- "resolved": "DockItem",
88
- "references": {
89
- "DockItem": {
90
- "location": "import",
91
- "path": "../dock.types"
82
+ static get originalStyleUrls() {
83
+ return {
84
+ "$": ["dock-button.scss"]
85
+ };
86
+ }
87
+ static get styleUrls() {
88
+ return {
89
+ "$": ["dock-button.css"]
90
+ };
91
+ }
92
+ static get properties() {
93
+ return {
94
+ "item": {
95
+ "type": "unknown",
96
+ "mutable": false,
97
+ "complexType": {
98
+ "original": "DockItem",
99
+ "resolved": "DockItem",
100
+ "references": {
101
+ "DockItem": {
102
+ "location": "import",
103
+ "path": "../dock.types"
104
+ }
92
105
  }
106
+ },
107
+ "required": true,
108
+ "optional": false,
109
+ "docs": {
110
+ "tags": [],
111
+ "text": "Item that is placed in the dock."
93
112
  }
94
113
  },
95
- "required": true,
96
- "optional": false,
97
- "docs": {
98
- "tags": [{
99
- "name": "inheritdoc",
100
- "text": undefined
101
- }],
102
- "text": ""
103
- }
104
- },
105
- "expanded": {
106
- "type": "boolean",
107
- "mutable": false,
108
- "complexType": {
109
- "original": "boolean",
110
- "resolved": "boolean",
111
- "references": {}
112
- },
113
- "required": false,
114
- "optional": true,
115
- "docs": {
116
- "tags": [{
117
- "name": "inheritdoc",
118
- "text": undefined
119
- }],
120
- "text": ""
114
+ "expanded": {
115
+ "type": "boolean",
116
+ "mutable": false,
117
+ "complexType": {
118
+ "original": "boolean",
119
+ "resolved": "boolean",
120
+ "references": {}
121
+ },
122
+ "required": false,
123
+ "optional": true,
124
+ "docs": {
125
+ "tags": [],
126
+ "text": "When the dock is expanded or collapsed, dock items\nshow labels and tooltips as suitable for the layout."
127
+ },
128
+ "attribute": "expanded",
129
+ "reflect": true,
130
+ "defaultValue": "false"
121
131
  },
122
- "attribute": "expanded",
123
- "reflect": true,
124
- "defaultValue": "false"
125
- },
126
- "useMobileLayout": {
127
- "type": "boolean",
128
- "mutable": false,
129
- "complexType": {
130
- "original": "boolean",
131
- "resolved": "boolean",
132
- "references": {}
133
- },
134
- "required": false,
135
- "optional": true,
136
- "docs": {
137
- "tags": [{
138
- "name": "inheritdoc",
139
- "text": undefined
140
- }],
141
- "text": ""
142
- },
143
- "attribute": "use-mobile-layout",
144
- "reflect": true,
145
- "defaultValue": "false"
146
- }
147
- }; }
148
- static get states() { return {
149
- "isOpen": {}
150
- }; }
151
- static get events() { return [{
152
- "method": "interact",
153
- "name": "interact",
154
- "bubbles": true,
155
- "cancelable": true,
156
- "composed": true,
157
- "docs": {
158
- "tags": [],
159
- "text": "Fired when clicking on the flow item."
160
- },
161
- "complexType": {
162
- "original": "DockItem",
163
- "resolved": "DockItem",
164
- "references": {
165
- "DockItem": {
166
- "location": "import",
167
- "path": "../dock.types"
132
+ "useMobileLayout": {
133
+ "type": "boolean",
134
+ "mutable": false,
135
+ "complexType": {
136
+ "original": "boolean",
137
+ "resolved": "boolean",
138
+ "references": {}
139
+ },
140
+ "required": false,
141
+ "optional": true,
142
+ "docs": {
143
+ "tags": [],
144
+ "text": "When dock is using mobile layout, dock items\nshow labels and tooltips as suitable for the layout."
145
+ },
146
+ "attribute": "use-mobile-layout",
147
+ "reflect": true,
148
+ "defaultValue": "false"
149
+ }
150
+ };
151
+ }
152
+ static get states() {
153
+ return {
154
+ "isOpen": {}
155
+ };
156
+ }
157
+ static get events() {
158
+ return [{
159
+ "method": "itemSelected",
160
+ "name": "itemSelected",
161
+ "bubbles": true,
162
+ "cancelable": true,
163
+ "composed": true,
164
+ "docs": {
165
+ "tags": [],
166
+ "text": "Fired when a dock item has been selected from the dock."
167
+ },
168
+ "complexType": {
169
+ "original": "DockItem",
170
+ "resolved": "DockItem",
171
+ "references": {
172
+ "DockItem": {
173
+ "location": "import",
174
+ "path": "../dock.types"
175
+ }
168
176
  }
169
177
  }
170
- }
171
- }, {
172
- "method": "close",
173
- "name": "close",
174
- "bubbles": true,
175
- "cancelable": true,
176
- "composed": true,
177
- "docs": {
178
- "tags": [],
179
- "text": ""
180
- },
181
- "complexType": {
182
- "original": "void",
183
- "resolved": "void",
184
- "references": {}
185
- }
186
- }]; }
178
+ }, {
179
+ "method": "menuOpen",
180
+ "name": "menuOpen",
181
+ "bubbles": true,
182
+ "cancelable": true,
183
+ "composed": true,
184
+ "docs": {
185
+ "tags": [],
186
+ "text": "Fired when a dock menu is opened."
187
+ },
188
+ "complexType": {
189
+ "original": "DockItem",
190
+ "resolved": "DockItem",
191
+ "references": {
192
+ "DockItem": {
193
+ "location": "import",
194
+ "path": "../dock.types"
195
+ }
196
+ }
197
+ }
198
+ }, {
199
+ "method": "close",
200
+ "name": "close",
201
+ "bubbles": true,
202
+ "cancelable": true,
203
+ "composed": true,
204
+ "docs": {
205
+ "tags": [],
206
+ "text": "Fired when the popover is closed."
207
+ },
208
+ "complexType": {
209
+ "original": "void",
210
+ "resolved": "void",
211
+ "references": {}
212
+ }
213
+ }];
214
+ }
215
+ static get watchers() {
216
+ return [{
217
+ "propName": "isOpen",
218
+ "methodName": "openWatcher"
219
+ }];
220
+ }
187
221
  }
@@ -92,15 +92,19 @@ nav::-webkit-scrollbar {
92
92
  box-shadow: var(--button-shadow-pressed);
93
93
  transform: translate3d(0, 0.08rem, 0);
94
94
  }
95
+ .expand-shrink:focus {
96
+ outline: none;
97
+ }
98
+ .expand-shrink:focus-visible {
99
+ outline: none;
100
+ box-shadow: var(--shadow-depth-8-focused);
101
+ }
95
102
  .expand-shrink.expanded {
96
103
  justify-content: flex-end;
97
104
  }
98
105
  .expand-shrink.expanded limel-icon {
99
106
  transform: rotateY(180deg);
100
107
  }
101
- .expand-shrink:focus-visible {
102
- box-shadow: var(--shadow-depth-8-focused);
103
- }
104
108
  .expand-shrink limel-icon {
105
109
  width: calc(var(--dock-expand-shrink-button-height) - 0.25rem);
106
110
  color: var(--dock-item-icon-color, var(--limel-dock-item-text-color));