@limetech/lime-elements 38.7.1 → 38.7.2

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 (290) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cjs/{checkbox.template-f86d05d4.js → checkbox.template-60f3ffb2.js} +2 -2
  3. package/dist/cjs/{checkbox.template-f86d05d4.js.map → checkbox.template-60f3ffb2.js.map} +1 -1
  4. package/dist/cjs/{index-d1052409.js → index-174a078a.js} +387 -9
  5. package/dist/cjs/index-174a078a.js.map +1 -0
  6. package/dist/cjs/lime-elements.cjs.js +2 -2
  7. package/dist/cjs/limel-3d-hover-effect-glow.cjs.entry.js +1 -1
  8. package/dist/cjs/limel-action-bar-item_2.cjs.entry.js +2 -2
  9. package/dist/cjs/limel-action-bar_2.cjs.entry.js +1 -1
  10. package/dist/cjs/limel-badge_3.cjs.entry.js +1 -1
  11. package/dist/cjs/limel-banner.cjs.entry.js +1 -1
  12. package/dist/cjs/{limel-breadcrumbs_7.cjs.entry.js → limel-breadcrumbs_8.cjs.entry.js} +40 -22
  13. package/dist/cjs/limel-breadcrumbs_8.cjs.entry.js.map +1 -0
  14. package/dist/cjs/limel-button-group.cjs.entry.js +1 -1
  15. package/dist/cjs/limel-button.cjs.entry.js +2 -2
  16. package/dist/cjs/limel-callout.cjs.entry.js +1 -1
  17. package/dist/cjs/limel-card.cjs.entry.js +1 -1
  18. package/dist/cjs/limel-chart.cjs.entry.js +1 -1
  19. package/dist/cjs/limel-checkbox.cjs.entry.js +2 -2
  20. package/dist/cjs/limel-chip_2.cjs.entry.js +53 -56
  21. package/dist/cjs/limel-chip_2.cjs.entry.js.map +1 -1
  22. package/dist/cjs/limel-circular-progress.cjs.entry.js +1 -1
  23. package/dist/cjs/limel-code-editor.cjs.entry.js +1 -1
  24. package/dist/cjs/limel-collapsible-section.cjs.entry.js +2 -2
  25. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +1 -1
  26. package/dist/cjs/limel-color-picker.cjs.entry.js +1 -1
  27. package/dist/cjs/limel-config.cjs.entry.js +1 -1
  28. package/dist/cjs/limel-date-picker.cjs.entry.js +1 -1
  29. package/dist/cjs/limel-dialog.cjs.entry.js +1 -1
  30. package/dist/cjs/limel-dock-button.cjs.entry.js +1 -1
  31. package/dist/cjs/limel-dock.cjs.entry.js +1 -1
  32. package/dist/cjs/limel-dynamic-label_2.cjs.entry.js +1 -1
  33. package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +1 -1
  34. package/dist/cjs/limel-file-viewer.cjs.entry.js +1 -1
  35. package/dist/cjs/limel-file.cjs.entry.js +1 -1
  36. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
  37. package/dist/cjs/limel-flex-container.cjs.entry.js +1 -1
  38. package/dist/cjs/limel-form.cjs.entry.js +1 -1
  39. package/dist/cjs/limel-grid.cjs.entry.js +1 -1
  40. package/dist/cjs/limel-header.cjs.entry.js +1 -1
  41. package/dist/cjs/limel-help-content.cjs.entry.js +1 -1
  42. package/dist/cjs/limel-help.cjs.entry.js +1 -1
  43. package/dist/cjs/limel-icon-button.cjs.entry.js +2 -2
  44. package/dist/cjs/limel-icon.cjs.entry.js +1 -1
  45. package/dist/cjs/limel-info-tile.cjs.entry.js +1 -1
  46. package/dist/cjs/limel-linear-progress.cjs.entry.js +1 -1
  47. package/dist/cjs/limel-markdown.cjs.entry.js +1 -1
  48. package/dist/cjs/limel-picker.cjs.entry.js +1 -1
  49. package/dist/cjs/limel-popover_2.cjs.entry.js +1 -1
  50. package/dist/cjs/limel-portal.cjs.entry.js +1 -1
  51. package/dist/cjs/limel-progress-flow-item.cjs.entry.js +1 -1
  52. package/dist/cjs/limel-progress-flow.cjs.entry.js +1 -1
  53. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +1 -1
  54. package/dist/cjs/limel-select.cjs.entry.js +11 -25
  55. package/dist/cjs/limel-select.cjs.entry.js.map +1 -1
  56. package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
  57. package/dist/cjs/limel-slider.cjs.entry.js +1 -1
  58. package/dist/cjs/limel-snackbar.cjs.entry.js +1 -1
  59. package/dist/cjs/limel-split-button.cjs.entry.js +1 -1
  60. package/dist/cjs/limel-switch.cjs.entry.js +2 -2
  61. package/dist/cjs/limel-tab-bar.cjs.entry.js +1 -1
  62. package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
  63. package/dist/cjs/limel-table.cjs.entry.js +1 -1
  64. package/dist/cjs/limel-text-editor.cjs.entry.js +8 -27
  65. package/dist/cjs/limel-text-editor.cjs.entry.js.map +1 -1
  66. package/dist/cjs/loader.cjs.js +2 -2
  67. package/dist/cjs/{make-enter-clickable-c116ac4f.js → make-enter-clickable-71e4750b.js} +2 -2
  68. package/dist/cjs/{make-enter-clickable-c116ac4f.js.map → make-enter-clickable-71e4750b.js.map} +1 -1
  69. package/dist/collection/collection-manifest.json +1 -0
  70. package/dist/collection/components/chip-set/chip-set.css +28 -412
  71. package/dist/collection/components/chip-set/chip-set.js +51 -54
  72. package/dist/collection/components/chip-set/chip-set.js.map +1 -1
  73. package/dist/collection/components/input-field/input-field.css +9 -300
  74. package/dist/collection/components/input-field/input-field.js +1 -17
  75. package/dist/collection/components/input-field/input-field.js.map +1 -1
  76. package/dist/collection/components/notched-outline/notched-outline.css +297 -0
  77. package/dist/collection/components/notched-outline/notched-outline.js +221 -0
  78. package/dist/collection/components/notched-outline/notched-outline.js.map +1 -0
  79. package/dist/collection/components/select/select.css +5 -33
  80. package/dist/collection/components/select/select.template.js +8 -19
  81. package/dist/collection/components/select/select.template.js.map +1 -1
  82. package/dist/collection/components/text-editor/text-editor.css +5 -102
  83. package/dist/collection/components/text-editor/text-editor.js +7 -26
  84. package/dist/collection/components/text-editor/text-editor.js.map +1 -1
  85. package/dist/collection/style/internal/shared_input-select-picker.scss +8 -2
  86. package/dist/esm/{checkbox.template-c42b7020.js → checkbox.template-1fd53d7b.js} +2 -2
  87. package/dist/esm/{checkbox.template-c42b7020.js.map → checkbox.template-1fd53d7b.js.map} +1 -1
  88. package/dist/esm/{index-6156b4fd.js → index-2714248e.js} +387 -9
  89. package/dist/esm/index-2714248e.js.map +1 -0
  90. package/dist/esm/lime-elements.js +3 -3
  91. package/dist/esm/limel-3d-hover-effect-glow.entry.js +1 -1
  92. package/dist/esm/limel-action-bar-item_2.entry.js +2 -2
  93. package/dist/esm/limel-action-bar_2.entry.js +1 -1
  94. package/dist/esm/limel-badge_3.entry.js +1 -1
  95. package/dist/esm/limel-banner.entry.js +1 -1
  96. package/dist/esm/{limel-breadcrumbs_7.entry.js → limel-breadcrumbs_8.entry.js} +40 -23
  97. package/dist/esm/limel-breadcrumbs_8.entry.js.map +1 -0
  98. package/dist/esm/limel-button-group.entry.js +1 -1
  99. package/dist/esm/limel-button.entry.js +2 -2
  100. package/dist/esm/limel-callout.entry.js +1 -1
  101. package/dist/esm/limel-card.entry.js +1 -1
  102. package/dist/esm/limel-chart.entry.js +1 -1
  103. package/dist/esm/limel-checkbox.entry.js +2 -2
  104. package/dist/esm/limel-chip_2.entry.js +53 -56
  105. package/dist/esm/limel-chip_2.entry.js.map +1 -1
  106. package/dist/esm/limel-circular-progress.entry.js +1 -1
  107. package/dist/esm/limel-code-editor.entry.js +1 -1
  108. package/dist/esm/limel-collapsible-section.entry.js +2 -2
  109. package/dist/esm/limel-color-picker-palette.entry.js +1 -1
  110. package/dist/esm/limel-color-picker.entry.js +1 -1
  111. package/dist/esm/limel-config.entry.js +1 -1
  112. package/dist/esm/limel-date-picker.entry.js +1 -1
  113. package/dist/esm/limel-dialog.entry.js +1 -1
  114. package/dist/esm/limel-dock-button.entry.js +1 -1
  115. package/dist/esm/limel-dock.entry.js +1 -1
  116. package/dist/esm/limel-dynamic-label_2.entry.js +1 -1
  117. package/dist/esm/limel-file-dropzone_2.entry.js +1 -1
  118. package/dist/esm/limel-file-viewer.entry.js +1 -1
  119. package/dist/esm/limel-file.entry.js +1 -1
  120. package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
  121. package/dist/esm/limel-flex-container.entry.js +1 -1
  122. package/dist/esm/limel-form.entry.js +1 -1
  123. package/dist/esm/limel-grid.entry.js +1 -1
  124. package/dist/esm/limel-header.entry.js +1 -1
  125. package/dist/esm/limel-help-content.entry.js +1 -1
  126. package/dist/esm/limel-help.entry.js +1 -1
  127. package/dist/esm/limel-icon-button.entry.js +2 -2
  128. package/dist/esm/limel-icon.entry.js +1 -1
  129. package/dist/esm/limel-info-tile.entry.js +1 -1
  130. package/dist/esm/limel-linear-progress.entry.js +1 -1
  131. package/dist/esm/limel-markdown.entry.js +1 -1
  132. package/dist/esm/limel-picker.entry.js +1 -1
  133. package/dist/esm/limel-popover_2.entry.js +1 -1
  134. package/dist/esm/limel-portal.entry.js +1 -1
  135. package/dist/esm/limel-progress-flow-item.entry.js +1 -1
  136. package/dist/esm/limel-progress-flow.entry.js +1 -1
  137. package/dist/esm/limel-prosemirror-adapter.entry.js +1 -1
  138. package/dist/esm/limel-select.entry.js +11 -25
  139. package/dist/esm/limel-select.entry.js.map +1 -1
  140. package/dist/esm/limel-shortcut.entry.js +1 -1
  141. package/dist/esm/limel-slider.entry.js +1 -1
  142. package/dist/esm/limel-snackbar.entry.js +1 -1
  143. package/dist/esm/limel-split-button.entry.js +1 -1
  144. package/dist/esm/limel-switch.entry.js +2 -2
  145. package/dist/esm/limel-tab-bar.entry.js +1 -1
  146. package/dist/esm/limel-tab-panel.entry.js +1 -1
  147. package/dist/esm/limel-table.entry.js +1 -1
  148. package/dist/esm/limel-text-editor.entry.js +8 -27
  149. package/dist/esm/limel-text-editor.entry.js.map +1 -1
  150. package/dist/esm/loader.js +3 -3
  151. package/dist/esm/{make-enter-clickable-a30589fb.js → make-enter-clickable-5334fc26.js} +2 -2
  152. package/dist/esm/{make-enter-clickable-a30589fb.js.map → make-enter-clickable-5334fc26.js.map} +1 -1
  153. package/dist/lime-elements/lime-elements.esm.js +1 -1
  154. package/dist/lime-elements/lime-elements.esm.js.map +1 -1
  155. package/dist/lime-elements/{p-fda881a3.entry.js → p-02197b98.entry.js} +2 -2
  156. package/dist/lime-elements/{p-f95a5cb5.entry.js → p-0960ca61.entry.js} +2 -2
  157. package/dist/lime-elements/{p-fd0ea2e9.entry.js → p-0aa2f9c0.entry.js} +2 -2
  158. package/dist/lime-elements/{p-85ffcf55.entry.js → p-10d1256b.entry.js} +2 -2
  159. package/dist/lime-elements/{p-2b294a69.entry.js → p-1942e25c.entry.js} +2 -2
  160. package/dist/lime-elements/{p-d93f1964.entry.js → p-19688e05.entry.js} +2 -2
  161. package/dist/lime-elements/{p-c923b97d.entry.js → p-1f142e39.entry.js} +2 -2
  162. package/dist/lime-elements/{p-4f70c0aa.entry.js → p-254c9b18.entry.js} +2 -2
  163. package/dist/lime-elements/{p-3a605df3.entry.js → p-26e06ef4.entry.js} +2 -2
  164. package/dist/lime-elements/p-288f0842.js +3 -0
  165. package/dist/lime-elements/p-288f0842.js.map +1 -0
  166. package/dist/lime-elements/{p-8f1b76df.entry.js → p-28a6fec9.entry.js} +2 -2
  167. package/dist/lime-elements/{p-e329fd1e.entry.js → p-28e5fef5.entry.js} +2 -2
  168. package/dist/lime-elements/{p-211456f2.entry.js → p-2c7e5deb.entry.js} +2 -2
  169. package/dist/lime-elements/{p-28c76ae8.entry.js → p-30cef284.entry.js} +2 -2
  170. package/dist/lime-elements/{p-fe08f7c9.entry.js → p-3cd846eb.entry.js} +2 -2
  171. package/dist/lime-elements/p-447e573c.entry.js +2 -0
  172. package/dist/lime-elements/p-447e573c.entry.js.map +1 -0
  173. package/dist/lime-elements/{p-e86af8b6.js → p-46cbc6d9.js} +2 -2
  174. package/dist/lime-elements/{p-f340d860.entry.js → p-48e9f4ea.entry.js} +2 -2
  175. package/dist/lime-elements/{p-36cf3031.entry.js → p-49432af9.entry.js} +2 -2
  176. package/dist/lime-elements/{p-89eaca66.entry.js → p-4eae90f7.entry.js} +2 -2
  177. package/dist/lime-elements/{p-ea98795d.entry.js → p-4ed15eb7.entry.js} +2 -2
  178. package/dist/lime-elements/{p-0aeff0b6.entry.js → p-54ff8dcb.entry.js} +2 -2
  179. package/dist/lime-elements/{p-3d6dc7de.entry.js → p-56de9524.entry.js} +2 -2
  180. package/dist/lime-elements/{p-02564969.entry.js → p-58acbdcc.entry.js} +2 -2
  181. package/dist/lime-elements/{p-dc6846e1.entry.js → p-5e325fee.entry.js} +2 -2
  182. package/dist/lime-elements/{p-16e4ca3e.entry.js → p-5e68e5f7.entry.js} +2 -2
  183. package/dist/lime-elements/{p-c632261b.entry.js → p-5f39d366.entry.js} +2 -2
  184. package/dist/lime-elements/{p-a2eee29e.entry.js → p-5fd7abb8.entry.js} +2 -2
  185. package/dist/lime-elements/{p-06b5aa10.entry.js → p-61766ba1.entry.js} +2 -2
  186. package/dist/lime-elements/{p-b5f723e2.entry.js → p-69b6119b.entry.js} +2 -2
  187. package/dist/lime-elements/{p-1bcdc70b.entry.js → p-6c2fdad7.entry.js} +2 -2
  188. package/dist/lime-elements/{p-5d08ef7d.entry.js → p-74a15b9e.entry.js} +2 -2
  189. package/dist/lime-elements/{p-f3cbbaf5.entry.js → p-76b845b0.entry.js} +2 -2
  190. package/dist/lime-elements/p-7993102f.entry.js +68 -0
  191. package/dist/lime-elements/p-7993102f.entry.js.map +1 -0
  192. package/dist/lime-elements/{p-40016256.entry.js → p-818f71b8.entry.js} +2 -2
  193. package/dist/lime-elements/{p-8baf79cf.entry.js → p-82290560.entry.js} +2 -2
  194. package/dist/lime-elements/{p-3c5a0769.entry.js → p-874e3af6.entry.js} +2 -2
  195. package/dist/lime-elements/{p-8579a166.entry.js → p-8b61a573.entry.js} +2 -2
  196. package/dist/lime-elements/{p-d6660d2a.entry.js → p-93d5ebeb.entry.js} +2 -2
  197. package/dist/lime-elements/{p-54ac08f5.entry.js → p-9cec73a7.entry.js} +2 -2
  198. package/dist/lime-elements/{p-8f6f643d.entry.js → p-a809b9a8.entry.js} +2 -2
  199. package/dist/lime-elements/{p-66501d69.entry.js → p-aabeba98.entry.js} +2 -2
  200. package/dist/lime-elements/p-ad568d69.entry.js +2 -0
  201. package/dist/lime-elements/p-ad568d69.entry.js.map +1 -0
  202. package/dist/lime-elements/{p-0863261f.entry.js → p-bab6b677.entry.js} +2 -2
  203. package/dist/lime-elements/{p-fa8ea2db.entry.js → p-bd278c51.entry.js} +2 -2
  204. package/dist/lime-elements/{p-8e7788a1.entry.js → p-c30e11ce.entry.js} +2 -2
  205. package/dist/lime-elements/{p-6500050d.entry.js → p-d05ebeb1.entry.js} +2 -2
  206. package/dist/lime-elements/{p-1c5f50f0.entry.js → p-d532cab0.entry.js} +2 -2
  207. package/dist/lime-elements/{p-ad3f6808.entry.js → p-d814fd97.entry.js} +2 -2
  208. package/dist/lime-elements/{p-9c5f2c45.entry.js → p-da37b2af.entry.js} +2 -2
  209. package/dist/lime-elements/{p-dbcde7db.entry.js → p-dcacda04.entry.js} +2 -2
  210. package/dist/lime-elements/{p-2078a6e2.entry.js → p-e655e6a1.entry.js} +2 -2
  211. package/dist/lime-elements/{p-26623b2d.entry.js → p-e9015886.entry.js} +2 -2
  212. package/dist/lime-elements/{p-1c16aa9b.entry.js → p-e9d11321.entry.js} +2 -2
  213. package/dist/lime-elements/{p-869d6d77.js → p-f221011c.js} +2 -2
  214. package/dist/lime-elements/{p-53404aa6.entry.js → p-f6aad3ee.entry.js} +9 -9
  215. package/dist/lime-elements/p-f6aad3ee.entry.js.map +1 -0
  216. package/dist/lime-elements/{p-ece3a0f5.entry.js → p-fc078f90.entry.js} +2 -2
  217. package/dist/lime-elements/{p-2793f6d0.entry.js → p-fe5fd06b.entry.js} +2 -2
  218. package/dist/lime-elements/style/internal/shared_input-select-picker.scss +8 -2
  219. package/dist/types/components/chip-set/chip-set.d.ts +4 -4
  220. package/dist/types/components/input-field/input-field.d.ts +0 -2
  221. package/dist/types/components/notched-outline/notched-outline.d.ts +75 -0
  222. package/dist/types/components/text-editor/text-editor.d.ts +1 -2
  223. package/dist/types/components.d.ts +145 -0
  224. package/package.json +1 -1
  225. package/dist/cjs/index-d1052409.js.map +0 -1
  226. package/dist/cjs/limel-breadcrumbs_7.cjs.entry.js.map +0 -1
  227. package/dist/esm/index-6156b4fd.js.map +0 -1
  228. package/dist/esm/limel-breadcrumbs_7.entry.js.map +0 -1
  229. package/dist/lime-elements/p-443111b3.js +0 -3
  230. package/dist/lime-elements/p-443111b3.js.map +0 -1
  231. package/dist/lime-elements/p-53404aa6.entry.js.map +0 -1
  232. package/dist/lime-elements/p-62a21e92.entry.js +0 -2
  233. package/dist/lime-elements/p-62a21e92.entry.js.map +0 -1
  234. package/dist/lime-elements/p-8900110f.entry.js +0 -2
  235. package/dist/lime-elements/p-8900110f.entry.js.map +0 -1
  236. package/dist/lime-elements/p-d05a7803.entry.js +0 -68
  237. package/dist/lime-elements/p-d05a7803.entry.js.map +0 -1
  238. /package/dist/lime-elements/{p-fda881a3.entry.js.map → p-02197b98.entry.js.map} +0 -0
  239. /package/dist/lime-elements/{p-f95a5cb5.entry.js.map → p-0960ca61.entry.js.map} +0 -0
  240. /package/dist/lime-elements/{p-fd0ea2e9.entry.js.map → p-0aa2f9c0.entry.js.map} +0 -0
  241. /package/dist/lime-elements/{p-85ffcf55.entry.js.map → p-10d1256b.entry.js.map} +0 -0
  242. /package/dist/lime-elements/{p-2b294a69.entry.js.map → p-1942e25c.entry.js.map} +0 -0
  243. /package/dist/lime-elements/{p-d93f1964.entry.js.map → p-19688e05.entry.js.map} +0 -0
  244. /package/dist/lime-elements/{p-c923b97d.entry.js.map → p-1f142e39.entry.js.map} +0 -0
  245. /package/dist/lime-elements/{p-4f70c0aa.entry.js.map → p-254c9b18.entry.js.map} +0 -0
  246. /package/dist/lime-elements/{p-3a605df3.entry.js.map → p-26e06ef4.entry.js.map} +0 -0
  247. /package/dist/lime-elements/{p-8f1b76df.entry.js.map → p-28a6fec9.entry.js.map} +0 -0
  248. /package/dist/lime-elements/{p-e329fd1e.entry.js.map → p-28e5fef5.entry.js.map} +0 -0
  249. /package/dist/lime-elements/{p-211456f2.entry.js.map → p-2c7e5deb.entry.js.map} +0 -0
  250. /package/dist/lime-elements/{p-28c76ae8.entry.js.map → p-30cef284.entry.js.map} +0 -0
  251. /package/dist/lime-elements/{p-fe08f7c9.entry.js.map → p-3cd846eb.entry.js.map} +0 -0
  252. /package/dist/lime-elements/{p-e86af8b6.js.map → p-46cbc6d9.js.map} +0 -0
  253. /package/dist/lime-elements/{p-f340d860.entry.js.map → p-48e9f4ea.entry.js.map} +0 -0
  254. /package/dist/lime-elements/{p-36cf3031.entry.js.map → p-49432af9.entry.js.map} +0 -0
  255. /package/dist/lime-elements/{p-89eaca66.entry.js.map → p-4eae90f7.entry.js.map} +0 -0
  256. /package/dist/lime-elements/{p-ea98795d.entry.js.map → p-4ed15eb7.entry.js.map} +0 -0
  257. /package/dist/lime-elements/{p-0aeff0b6.entry.js.map → p-54ff8dcb.entry.js.map} +0 -0
  258. /package/dist/lime-elements/{p-3d6dc7de.entry.js.map → p-56de9524.entry.js.map} +0 -0
  259. /package/dist/lime-elements/{p-02564969.entry.js.map → p-58acbdcc.entry.js.map} +0 -0
  260. /package/dist/lime-elements/{p-dc6846e1.entry.js.map → p-5e325fee.entry.js.map} +0 -0
  261. /package/dist/lime-elements/{p-16e4ca3e.entry.js.map → p-5e68e5f7.entry.js.map} +0 -0
  262. /package/dist/lime-elements/{p-c632261b.entry.js.map → p-5f39d366.entry.js.map} +0 -0
  263. /package/dist/lime-elements/{p-a2eee29e.entry.js.map → p-5fd7abb8.entry.js.map} +0 -0
  264. /package/dist/lime-elements/{p-06b5aa10.entry.js.map → p-61766ba1.entry.js.map} +0 -0
  265. /package/dist/lime-elements/{p-b5f723e2.entry.js.map → p-69b6119b.entry.js.map} +0 -0
  266. /package/dist/lime-elements/{p-1bcdc70b.entry.js.map → p-6c2fdad7.entry.js.map} +0 -0
  267. /package/dist/lime-elements/{p-5d08ef7d.entry.js.map → p-74a15b9e.entry.js.map} +0 -0
  268. /package/dist/lime-elements/{p-f3cbbaf5.entry.js.map → p-76b845b0.entry.js.map} +0 -0
  269. /package/dist/lime-elements/{p-40016256.entry.js.map → p-818f71b8.entry.js.map} +0 -0
  270. /package/dist/lime-elements/{p-8baf79cf.entry.js.map → p-82290560.entry.js.map} +0 -0
  271. /package/dist/lime-elements/{p-3c5a0769.entry.js.map → p-874e3af6.entry.js.map} +0 -0
  272. /package/dist/lime-elements/{p-8579a166.entry.js.map → p-8b61a573.entry.js.map} +0 -0
  273. /package/dist/lime-elements/{p-d6660d2a.entry.js.map → p-93d5ebeb.entry.js.map} +0 -0
  274. /package/dist/lime-elements/{p-54ac08f5.entry.js.map → p-9cec73a7.entry.js.map} +0 -0
  275. /package/dist/lime-elements/{p-8f6f643d.entry.js.map → p-a809b9a8.entry.js.map} +0 -0
  276. /package/dist/lime-elements/{p-66501d69.entry.js.map → p-aabeba98.entry.js.map} +0 -0
  277. /package/dist/lime-elements/{p-0863261f.entry.js.map → p-bab6b677.entry.js.map} +0 -0
  278. /package/dist/lime-elements/{p-fa8ea2db.entry.js.map → p-bd278c51.entry.js.map} +0 -0
  279. /package/dist/lime-elements/{p-8e7788a1.entry.js.map → p-c30e11ce.entry.js.map} +0 -0
  280. /package/dist/lime-elements/{p-6500050d.entry.js.map → p-d05ebeb1.entry.js.map} +0 -0
  281. /package/dist/lime-elements/{p-1c5f50f0.entry.js.map → p-d532cab0.entry.js.map} +0 -0
  282. /package/dist/lime-elements/{p-ad3f6808.entry.js.map → p-d814fd97.entry.js.map} +0 -0
  283. /package/dist/lime-elements/{p-9c5f2c45.entry.js.map → p-da37b2af.entry.js.map} +0 -0
  284. /package/dist/lime-elements/{p-dbcde7db.entry.js.map → p-dcacda04.entry.js.map} +0 -0
  285. /package/dist/lime-elements/{p-2078a6e2.entry.js.map → p-e655e6a1.entry.js.map} +0 -0
  286. /package/dist/lime-elements/{p-26623b2d.entry.js.map → p-e9015886.entry.js.map} +0 -0
  287. /package/dist/lime-elements/{p-1c16aa9b.entry.js.map → p-e9d11321.entry.js.map} +0 -0
  288. /package/dist/lime-elements/{p-869d6d77.js.map → p-f221011c.js.map} +0 -0
  289. /package/dist/lime-elements/{p-ece3a0f5.entry.js.map → p-fc078f90.entry.js.map} +0 -0
  290. /package/dist/lime-elements/{p-2793f6d0.entry.js.map → p-fe5fd06b.entry.js.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## [38.7.2](https://github.com/Lundalogik/lime-elements/compare/v38.7.1...v38.7.2) (2025-04-16)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+
7
+ * **text-editor:** improve accessibility, using more aria roles ([6eb35c2](https://github.com/Lundalogik/lime-elements/commit/6eb35c2666961707963a85efbd7d916e9cb7c477))
8
+
1
9
  ## [38.7.1](https://github.com/Lundalogik/lime-elements/compare/v38.7.0...v38.7.1) (2025-04-01)
2
10
 
3
11
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index-d1052409.js');
3
+ const index = require('./index-174a078a.js');
4
4
 
5
5
  const CheckboxTemplate = (props) => {
6
6
  const inputProps = {};
@@ -54,4 +54,4 @@ const HelperText = (props) => {
54
54
 
55
55
  exports.CheckboxTemplate = CheckboxTemplate;
56
56
 
57
- //# sourceMappingURL=checkbox.template-f86d05d4.js.map
57
+ //# sourceMappingURL=checkbox.template-60f3ffb2.js.map
@@ -1 +1 @@
1
- {"file":"checkbox.template-f86d05d4.js","mappings":";;;;MAmBa,gBAAgB,GAA+C,CACxE,KAAK;EAEL,MAAM,UAAU,GAAG,EAAE,CAAC;EACtB,IAAI,KAAK,CAAC,QAAQ,EAAE;IAChB,IAAI,IAAI,GAAkB,OAAO,CAAC;IAClC,IAAI,KAAK,CAAC,OAAO,EAAE;MACf,IAAI,GAAG;QACH,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,0BAA0B;OACpC,CAAC;KACL;IAED,OAAO;MACHA,iCACI,KAAK,EAAE,KAAK,CAAC,OAAO,mBACL,KAAK,CAAC,YAAY,EACjC,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAC/C,MAAM,EAAE,KAAK,CAAC,cAAc,GAC9B;MACFA,QAAC,UAAU,IACP,IAAI,EAAE,KAAK,CAAC,UAAU,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,OAAO,EAAE,KAAK,CAAC,OAAO,GACxB;KACL,CAAC;GACL;EAED,IAAI,KAAK,CAAC,aAAa,EAAE;IACrB,UAAU,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC;GAC7C;EAED,OAAO;IACHA,iBAAK,KAAK,EAAC,iBAAiB;MACxBA,iBACI,KAAK,EAAE;UACH,cAAc,EAAE,IAAI;UACpB,uBAAuB,EAAE,KAAK,CAAC,OAAO;UACtC,wBAAwB,EAAE,KAAK,CAAC,QAAQ;UACxC,wBAAwB,EAAE,KAAK,CAAC,QAAQ;UACxC,6BAA6B,EAAE,KAAK,CAAC,aAAa;UAClD,yBAAyB,EAAE,KAAK,CAAC,QAAQ;SAC5C;QAEDA,iCACI,IAAI,EAAC,UAAU,EACf,KAAK,EAAC,8BAA8B,EACpC,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAC1C,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,mBACT,KAAK,CAAC,YAAY,sBACf,KAAK,CAAC,YAAY,IAChC,UAAU,EAChB;QACFA,iBAAK,KAAK,EAAC,0BAA0B;UACjCA,iBAAK,KAAK,EAAC,yBAAyB,EAAC,OAAO,EAAC,WAAW;YACpDA,kBACI,KAAK,EAAC,8BAA8B,EACpC,IAAI,EAAC,MAAM,EACX,CAAC,EAAC,kCAAkC,GACtC,CACA;UACNA,iBAAK,KAAK,EAAC,yBAAyB,GAAG,CACrC,CACJ;MACNA,mBACI,KAAK,EAAE;UACH,uBAAuB,EAAE,KAAK,CAAC,OAAO;UACtC,wBAAwB,EAAE,KAAK,CAAC,QAAQ;UACxC,wBAAwB,EAAE,KAAK,CAAC,QAAQ;UACxC,6BAA6B,EAAE,KAAK,CAAC,aAAa;UAClD,yBAAyB,EAAE,KAAK,CAAC,QAAQ;SAC5C,EACD,OAAO,EAAE,KAAK,CAAC,EAAE,IAEhB,KAAK,CAAC,KAAK,CACR,CACN;IACNA,QAAC,UAAU,IACP,IAAI,EAAE,KAAK,CAAC,UAAU,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,OAAO,EAAE,KAAK,CAAC,OAAO,GACxB;GACL,CAAC;AACN,EAAE;AAEF,MAAM,UAAU,GAIX,CAAC,KAAK;EACP,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;IAChC,OAAO;GACV;EAED,QACIA,+BACI,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAC7B,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,OAAO,EAAE,KAAK,CAAC,OAAO,GACxB,EACJ;AACN,CAAC;;;;","names":["h"],"sources":["./src/components/checkbox/checkbox.template.tsx"],"sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\nimport { Label } from '../dynamic-label/label.types';\nimport { Icon } from '../../interface';\n\ninterface CheckboxTemplateProps {\n disabled?: boolean;\n id: string;\n checked?: boolean;\n readonly?: boolean;\n indeterminate?: boolean;\n required?: boolean;\n invalid?: boolean;\n onChange?: (event: Event) => void;\n label?: string;\n helperText?: string;\n helperTextId?: string;\n readonlyLabels?: Array<Label<boolean>>;\n}\n\nexport const CheckboxTemplate: FunctionalComponent<CheckboxTemplateProps> = (\n props,\n) => {\n const inputProps = {};\n if (props.readonly) {\n let icon: string | Icon = 'minus';\n if (props.checked) {\n icon = {\n name: 'ok',\n color: 'var(--mdc-theme-primary)',\n };\n }\n\n return [\n <limel-dynamic-label\n value={props.checked}\n aria-controls={props.helperTextId}\n defaultLabel={{ text: props.label, icon: icon }}\n labels={props.readonlyLabels}\n />,\n <HelperText\n text={props.helperText}\n helperTextId={props.helperTextId}\n invalid={props.invalid}\n />,\n ];\n }\n\n if (props.indeterminate) {\n inputProps['data-indeterminate'] = 'true';\n }\n\n return [\n <div class=\"mdc-form-field \">\n <div\n class={{\n 'mdc-checkbox': true,\n 'mdc-checkbox--invalid': props.invalid,\n 'mdc-checkbox--disabled': props.disabled,\n 'mdc-checkbox--required': props.required,\n 'mdc-checkbox--indeterminate': props.indeterminate,\n 'lime-checkbox--readonly': props.readonly,\n }}\n >\n <input\n type=\"checkbox\"\n class=\"mdc-checkbox__native-control\"\n id={props.id}\n checked={props.checked}\n disabled={props.disabled || props.readonly}\n required={props.required}\n onChange={props.onChange}\n aria-controls={props.helperTextId}\n aria-describedby={props.helperTextId}\n {...inputProps}\n />\n <div class=\"mdc-checkbox__background\">\n <svg class=\"mdc-checkbox__checkmark\" viewBox=\"0 0 24 24\">\n <path\n class=\"mdc-checkbox__checkmark-path\"\n fill=\"none\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"\n />\n </svg>\n <div class=\"mdc-checkbox__mixedmark\" />\n </div>\n </div>\n <label\n class={{\n 'mdc-checkbox--invalid': props.invalid,\n 'mdc-checkbox--disabled': props.disabled,\n 'mdc-checkbox--required': props.required,\n 'mdc-checkbox--indeterminate': props.indeterminate,\n 'lime-checkbox--readonly': props.readonly,\n }}\n htmlFor={props.id}\n >\n {props.label}\n </label>\n </div>,\n <HelperText\n text={props.helperText}\n helperTextId={props.helperTextId}\n invalid={props.invalid}\n />,\n ];\n};\n\nconst HelperText: FunctionalComponent<{\n helperTextId: string;\n text: string;\n invalid?: boolean;\n}> = (props) => {\n if (typeof props.text !== 'string') {\n return;\n }\n\n return (\n <limel-helper-line\n helperText={props.text.trim()}\n helperTextId={props.helperTextId}\n invalid={props.invalid}\n />\n );\n};\n"],"version":3}
1
+ {"file":"checkbox.template-60f3ffb2.js","mappings":";;;;MAmBa,gBAAgB,GAA+C,CACxE,KAAK;EAEL,MAAM,UAAU,GAAG,EAAE,CAAC;EACtB,IAAI,KAAK,CAAC,QAAQ,EAAE;IAChB,IAAI,IAAI,GAAkB,OAAO,CAAC;IAClC,IAAI,KAAK,CAAC,OAAO,EAAE;MACf,IAAI,GAAG;QACH,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,0BAA0B;OACpC,CAAC;KACL;IAED,OAAO;MACHA,iCACI,KAAK,EAAE,KAAK,CAAC,OAAO,mBACL,KAAK,CAAC,YAAY,EACjC,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAC/C,MAAM,EAAE,KAAK,CAAC,cAAc,GAC9B;MACFA,QAAC,UAAU,IACP,IAAI,EAAE,KAAK,CAAC,UAAU,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,OAAO,EAAE,KAAK,CAAC,OAAO,GACxB;KACL,CAAC;GACL;EAED,IAAI,KAAK,CAAC,aAAa,EAAE;IACrB,UAAU,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC;GAC7C;EAED,OAAO;IACHA,iBAAK,KAAK,EAAC,iBAAiB;MACxBA,iBACI,KAAK,EAAE;UACH,cAAc,EAAE,IAAI;UACpB,uBAAuB,EAAE,KAAK,CAAC,OAAO;UACtC,wBAAwB,EAAE,KAAK,CAAC,QAAQ;UACxC,wBAAwB,EAAE,KAAK,CAAC,QAAQ;UACxC,6BAA6B,EAAE,KAAK,CAAC,aAAa;UAClD,yBAAyB,EAAE,KAAK,CAAC,QAAQ;SAC5C;QAEDA,iCACI,IAAI,EAAC,UAAU,EACf,KAAK,EAAC,8BAA8B,EACpC,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAC1C,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,mBACT,KAAK,CAAC,YAAY,sBACf,KAAK,CAAC,YAAY,IAChC,UAAU,EAChB;QACFA,iBAAK,KAAK,EAAC,0BAA0B;UACjCA,iBAAK,KAAK,EAAC,yBAAyB,EAAC,OAAO,EAAC,WAAW;YACpDA,kBACI,KAAK,EAAC,8BAA8B,EACpC,IAAI,EAAC,MAAM,EACX,CAAC,EAAC,kCAAkC,GACtC,CACA;UACNA,iBAAK,KAAK,EAAC,yBAAyB,GAAG,CACrC,CACJ;MACNA,mBACI,KAAK,EAAE;UACH,uBAAuB,EAAE,KAAK,CAAC,OAAO;UACtC,wBAAwB,EAAE,KAAK,CAAC,QAAQ;UACxC,wBAAwB,EAAE,KAAK,CAAC,QAAQ;UACxC,6BAA6B,EAAE,KAAK,CAAC,aAAa;UAClD,yBAAyB,EAAE,KAAK,CAAC,QAAQ;SAC5C,EACD,OAAO,EAAE,KAAK,CAAC,EAAE,IAEhB,KAAK,CAAC,KAAK,CACR,CACN;IACNA,QAAC,UAAU,IACP,IAAI,EAAE,KAAK,CAAC,UAAU,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,OAAO,EAAE,KAAK,CAAC,OAAO,GACxB;GACL,CAAC;AACN,EAAE;AAEF,MAAM,UAAU,GAIX,CAAC,KAAK;EACP,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;IAChC,OAAO;GACV;EAED,QACIA,+BACI,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAC7B,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,OAAO,EAAE,KAAK,CAAC,OAAO,GACxB,EACJ;AACN,CAAC;;;;","names":["h"],"sources":["./src/components/checkbox/checkbox.template.tsx"],"sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\nimport { Label } from '../dynamic-label/label.types';\nimport { Icon } from '../../interface';\n\ninterface CheckboxTemplateProps {\n disabled?: boolean;\n id: string;\n checked?: boolean;\n readonly?: boolean;\n indeterminate?: boolean;\n required?: boolean;\n invalid?: boolean;\n onChange?: (event: Event) => void;\n label?: string;\n helperText?: string;\n helperTextId?: string;\n readonlyLabels?: Array<Label<boolean>>;\n}\n\nexport const CheckboxTemplate: FunctionalComponent<CheckboxTemplateProps> = (\n props,\n) => {\n const inputProps = {};\n if (props.readonly) {\n let icon: string | Icon = 'minus';\n if (props.checked) {\n icon = {\n name: 'ok',\n color: 'var(--mdc-theme-primary)',\n };\n }\n\n return [\n <limel-dynamic-label\n value={props.checked}\n aria-controls={props.helperTextId}\n defaultLabel={{ text: props.label, icon: icon }}\n labels={props.readonlyLabels}\n />,\n <HelperText\n text={props.helperText}\n helperTextId={props.helperTextId}\n invalid={props.invalid}\n />,\n ];\n }\n\n if (props.indeterminate) {\n inputProps['data-indeterminate'] = 'true';\n }\n\n return [\n <div class=\"mdc-form-field \">\n <div\n class={{\n 'mdc-checkbox': true,\n 'mdc-checkbox--invalid': props.invalid,\n 'mdc-checkbox--disabled': props.disabled,\n 'mdc-checkbox--required': props.required,\n 'mdc-checkbox--indeterminate': props.indeterminate,\n 'lime-checkbox--readonly': props.readonly,\n }}\n >\n <input\n type=\"checkbox\"\n class=\"mdc-checkbox__native-control\"\n id={props.id}\n checked={props.checked}\n disabled={props.disabled || props.readonly}\n required={props.required}\n onChange={props.onChange}\n aria-controls={props.helperTextId}\n aria-describedby={props.helperTextId}\n {...inputProps}\n />\n <div class=\"mdc-checkbox__background\">\n <svg class=\"mdc-checkbox__checkmark\" viewBox=\"0 0 24 24\">\n <path\n class=\"mdc-checkbox__checkmark-path\"\n fill=\"none\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"\n />\n </svg>\n <div class=\"mdc-checkbox__mixedmark\" />\n </div>\n </div>\n <label\n class={{\n 'mdc-checkbox--invalid': props.invalid,\n 'mdc-checkbox--disabled': props.disabled,\n 'mdc-checkbox--required': props.required,\n 'mdc-checkbox--indeterminate': props.indeterminate,\n 'lime-checkbox--readonly': props.readonly,\n }}\n htmlFor={props.id}\n >\n {props.label}\n </label>\n </div>,\n <HelperText\n text={props.helperText}\n helperTextId={props.helperTextId}\n invalid={props.invalid}\n />,\n ];\n};\n\nconst HelperText: FunctionalComponent<{\n helperTextId: string;\n text: string;\n invalid?: boolean;\n}> = (props) => {\n if (typeof props.text !== 'string') {\n return;\n }\n\n return (\n <limel-helper-line\n helperText={props.text.trim()}\n helperTextId={props.helperTextId}\n invalid={props.invalid}\n />\n );\n};\n"],"version":3}
@@ -31,7 +31,11 @@ const NAMESPACE = 'lime-elements';
31
31
  * Modified for Stencil's renderer and slot projection
32
32
  */
33
33
  let scopeId;
34
+ let contentRef;
34
35
  let hostTagName;
36
+ let useNativeShadowDom = false;
37
+ let checkSlotFallbackVisibility = false;
38
+ let checkSlotRelocate = false;
35
39
  let isSvgMode = false;
36
40
  let queuePending = false;
37
41
  const createTime = (fnName, tagName = '') => {
@@ -101,6 +105,7 @@ function queryNonceMetaTagContent(doc) {
101
105
  const h = (nodeName, vnodeData, ...children) => {
102
106
  let child = null;
103
107
  let key = null;
108
+ let slotName = null;
104
109
  let simple = false;
105
110
  let lastSimple = false;
106
111
  const vNodeChildren = [];
@@ -132,6 +137,9 @@ const h = (nodeName, vnodeData, ...children) => {
132
137
  if (vnodeData.key) {
133
138
  key = vnodeData.key;
134
139
  }
140
+ if (vnodeData.name) {
141
+ slotName = vnodeData.name;
142
+ }
135
143
  {
136
144
  const classData = vnodeData.className || vnodeData.class;
137
145
  if (classData) {
@@ -156,6 +164,9 @@ const h = (nodeName, vnodeData, ...children) => {
156
164
  {
157
165
  vnode.$key$ = key;
158
166
  }
167
+ {
168
+ vnode.$name$ = slotName;
169
+ }
159
170
  return vnode;
160
171
  };
161
172
  /**
@@ -180,6 +191,9 @@ const newVNode = (tag, text) => {
180
191
  {
181
192
  vnode.$key$ = null;
182
193
  }
194
+ {
195
+ vnode.$name$ = null;
196
+ }
183
197
  return vnode;
184
198
  };
185
199
  const Host = {};
@@ -582,16 +596,39 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
582
596
  let i = 0;
583
597
  let elm;
584
598
  let childNode;
599
+ let oldVNode;
600
+ if (!useNativeShadowDom) {
601
+ // remember for later we need to check to relocate nodes
602
+ checkSlotRelocate = true;
603
+ if (newVNode.$tag$ === 'slot') {
604
+ if (scopeId) {
605
+ // scoped css needs to add its scoped id to the parent element
606
+ parentElm.classList.add(scopeId + '-s');
607
+ }
608
+ newVNode.$flags$ |= newVNode.$children$
609
+ ? // slot element has fallback content
610
+ 2 /* VNODE_FLAGS.isSlotFallback */
611
+ : // slot element does not have fallback content
612
+ 1 /* VNODE_FLAGS.isSlotReference */;
613
+ }
614
+ }
585
615
  if (newVNode.$text$ !== null) {
586
616
  // create text node
587
617
  elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
588
618
  }
619
+ else if (newVNode.$flags$ & 1 /* VNODE_FLAGS.isSlotReference */) {
620
+ // create a slot reference node
621
+ elm = newVNode.$elm$ =
622
+ doc.createTextNode('');
623
+ }
589
624
  else {
590
625
  if (!isSvgMode) {
591
626
  isSvgMode = newVNode.$tag$ === 'svg';
592
627
  }
593
628
  // create element
594
- elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$tag$)
629
+ elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$flags$ & 2 /* VNODE_FLAGS.isSlotFallback */
630
+ ? 'slot-fb'
631
+ : newVNode.$tag$)
595
632
  );
596
633
  if (isSvgMode && newVNode.$tag$ === 'foreignObject') {
597
634
  isSvgMode = false;
@@ -608,7 +645,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
608
645
  if (newVNode.$children$) {
609
646
  for (i = 0; i < newVNode.$children$.length; ++i) {
610
647
  // create the node
611
- childNode = createElm(oldParentVNode, newVNode, i);
648
+ childNode = createElm(oldParentVNode, newVNode, i, elm);
612
649
  // return node could have been null
613
650
  if (childNode) {
614
651
  // append our new node
@@ -627,8 +664,50 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
627
664
  }
628
665
  }
629
666
  }
667
+ {
668
+ elm['s-hn'] = hostTagName;
669
+ if (newVNode.$flags$ & (2 /* VNODE_FLAGS.isSlotFallback */ | 1 /* VNODE_FLAGS.isSlotReference */)) {
670
+ // remember the content reference comment
671
+ elm['s-sr'] = true;
672
+ // remember the content reference comment
673
+ elm['s-cr'] = contentRef;
674
+ // remember the slot name, or empty string for default slot
675
+ elm['s-sn'] = newVNode.$name$ || '';
676
+ // check if we've got an old vnode for this slot
677
+ oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
678
+ if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {
679
+ // we've got an old slot vnode and the wrapper is being replaced
680
+ // so let's move the old slot content back to it's original location
681
+ putBackInOriginalLocation(oldParentVNode.$elm$, false);
682
+ }
683
+ }
684
+ }
630
685
  return elm;
631
686
  };
687
+ const putBackInOriginalLocation = (parentElm, recursive) => {
688
+ plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
689
+ const oldSlotChildNodes = parentElm.childNodes;
690
+ for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
691
+ const childNode = oldSlotChildNodes[i];
692
+ if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {
693
+ // // this child node in the old element is from another component
694
+ // // remove this node from the old slot's parent
695
+ // childNode.remove();
696
+ // and relocate it back to it's original location
697
+ parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
698
+ // remove the old original location comment entirely
699
+ // later on the patch function will know what to do
700
+ // and move this to the correct spot in need be
701
+ childNode['s-ol'].remove();
702
+ childNode['s-ol'] = undefined;
703
+ checkSlotRelocate = true;
704
+ }
705
+ if (recursive) {
706
+ putBackInOriginalLocation(childNode, recursive);
707
+ }
708
+ }
709
+ plt.$flags$ &= ~1 /* PLATFORM_FLAGS.isTmpDisconnected */;
710
+ };
632
711
  /**
633
712
  * Create DOM nodes corresponding to a list of {@link d.Vnode} objects and
634
713
  * add them to the DOM in the appropriate place.
@@ -645,17 +724,17 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
645
724
  * creating DOM nodes (inclusive)
646
725
  */
647
726
  const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
648
- let containerElm = (parentElm);
727
+ let containerElm = ((parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);
649
728
  let childNode;
650
729
  if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
651
730
  containerElm = containerElm.shadowRoot;
652
731
  }
653
732
  for (; startIdx <= endIdx; ++startIdx) {
654
733
  if (vnodes[startIdx]) {
655
- childNode = createElm(null, parentVNode, startIdx);
734
+ childNode = createElm(null, parentVNode, startIdx, parentElm);
656
735
  if (childNode) {
657
736
  vnodes[startIdx].$elm$ = childNode;
658
- containerElm.insertBefore(childNode, before);
737
+ containerElm.insertBefore(childNode, referenceNode(before) );
659
738
  }
660
739
  }
661
740
  }
@@ -678,6 +757,20 @@ const removeVnodes = (vnodes, startIdx, endIdx) => {
678
757
  const elm = vnode.$elm$;
679
758
  nullifyVNodeRefs(vnode);
680
759
  if (elm) {
760
+ {
761
+ // we're removing this element
762
+ // so it's possible we need to show slot fallback content now
763
+ checkSlotFallbackVisibility = true;
764
+ if (elm['s-ol']) {
765
+ // remove the original location comment
766
+ elm['s-ol'].remove();
767
+ }
768
+ else {
769
+ // it's possible that child nodes of the node
770
+ // that's being removed are slot nodes
771
+ putBackInOriginalLocation(elm, true);
772
+ }
773
+ }
681
774
  // remove the vnode's element from the dom
682
775
  elm.remove();
683
776
  }
@@ -797,6 +890,23 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
797
890
  newEndVnode = newCh[--newEndIdx];
798
891
  }
799
892
  else if (isSameVnode(oldStartVnode, newEndVnode)) {
893
+ // case: "Vnode moved right"
894
+ //
895
+ // We've found that the last node in our window on the new children is
896
+ // the same VNode as the _first_ node in our window on the old children
897
+ // we're dealing with now. Visually, this is the layout of these two
898
+ // nodes:
899
+ //
900
+ // newCh: [..., newStartVnode , ... , newEndVnode , ...]
901
+ // ^^^^^^^^^^^
902
+ // oldCh: [..., oldStartVnode , ... , oldEndVnode , ...]
903
+ // ^^^^^^^^^^^^^
904
+ //
905
+ // In this situation we need to patch `newEndVnode` onto `oldStartVnode`
906
+ // and move the DOM element for `oldStartVnode`.
907
+ if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
908
+ putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
909
+ }
800
910
  patch(oldStartVnode, newEndVnode);
801
911
  // We need to move the element for `oldStartVnode` into a position which
802
912
  // will be appropriate for `newEndVnode`. For this we can use
@@ -820,6 +930,24 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
820
930
  newEndVnode = newCh[--newEndIdx];
821
931
  }
822
932
  else if (isSameVnode(oldEndVnode, newStartVnode)) {
933
+ // case: "Vnode moved left"
934
+ //
935
+ // We've found that the first node in our window on the new children is
936
+ // the same VNode as the _last_ node in our window on the old children.
937
+ // Visually, this is the layout of these two nodes:
938
+ //
939
+ // newCh: [..., newStartVnode , ... , newEndVnode , ...]
940
+ // ^^^^^^^^^^^^^
941
+ // oldCh: [..., oldStartVnode , ... , oldEndVnode , ...]
942
+ // ^^^^^^^^^^^
943
+ //
944
+ // In this situation we need to patch `newStartVnode` onto `oldEndVnode`
945
+ // (which will handle updating any changed attributes, reconciling their
946
+ // children etc) but we also need to move the DOM node to which
947
+ // `oldEndVnode` corresponds.
948
+ if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
949
+ putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
950
+ }
823
951
  patch(oldEndVnode, newStartVnode);
824
952
  // We've already checked above if `oldStartVnode` and `newStartVnode` are
825
953
  // the same node, so since we're here we know that they are not. Thus we
@@ -854,7 +982,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
854
982
  elmToMove = oldCh[idxInOld];
855
983
  if (elmToMove.$tag$ !== newStartVnode.$tag$) {
856
984
  // the tag doesn't match so we'll need a new DOM element
857
- node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld);
985
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld, parentElm);
858
986
  }
859
987
  else {
860
988
  patch(elmToMove, newStartVnode);
@@ -870,13 +998,13 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
870
998
  // the key of the first new child OR the build is not using `key`
871
999
  // attributes at all. In either case we need to create a new element
872
1000
  // for the new node.
873
- node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx);
1001
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm);
874
1002
  newStartVnode = newCh[++newStartIdx];
875
1003
  }
876
1004
  if (node) {
877
1005
  // if we created a new node then handle inserting it to the DOM
878
1006
  {
879
- oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);
1007
+ parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));
880
1008
  }
881
1009
  }
882
1010
  }
@@ -914,6 +1042,9 @@ const isSameVnode = (leftVNode, rightVNode) => {
914
1042
  // compare if two vnode to see if they're "technically" the same
915
1043
  // need to have the same element tag, and same key to be the same
916
1044
  if (leftVNode.$tag$ === rightVNode.$tag$) {
1045
+ if (leftVNode.$tag$ === 'slot') {
1046
+ return leftVNode.$name$ === rightVNode.$name$;
1047
+ }
917
1048
  // this will be set if components in the build have `key` attrs set on them
918
1049
  {
919
1050
  return leftVNode.$key$ === rightVNode.$key$;
@@ -921,6 +1052,14 @@ const isSameVnode = (leftVNode, rightVNode) => {
921
1052
  }
922
1053
  return false;
923
1054
  };
1055
+ const referenceNode = (node) => {
1056
+ // this node was relocated to a new location in the dom
1057
+ // because of some other component's slot
1058
+ // but we still have an html comment in place of where
1059
+ // it's original location was according to it's original vdom
1060
+ return (node && node['s-ol']) || node;
1061
+ };
1062
+ const parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).parentNode;
924
1063
  /**
925
1064
  * Handle reconciling an outdated VNode with a new one which corresponds to
926
1065
  * it. This function handles flushing updates to the DOM and reconciling the
@@ -935,6 +1074,7 @@ const patch = (oldVNode, newVNode) => {
935
1074
  const newChildren = newVNode.$children$;
936
1075
  const tag = newVNode.$tag$;
937
1076
  const text = newVNode.$text$;
1077
+ let defaultHolder;
938
1078
  if (text === null) {
939
1079
  {
940
1080
  // test if we're rendering an svg element, or still rendering nodes inside of one
@@ -973,12 +1113,147 @@ const patch = (oldVNode, newVNode) => {
973
1113
  isSvgMode = false;
974
1114
  }
975
1115
  }
1116
+ else if ((defaultHolder = elm['s-cr'])) {
1117
+ // this element has slotted content
1118
+ defaultHolder.parentNode.textContent = text;
1119
+ }
976
1120
  else if (oldVNode.$text$ !== text) {
977
1121
  // update the text content for the text only vnode
978
1122
  // and also only if the text is different than before
979
1123
  elm.data = text;
980
1124
  }
981
1125
  };
1126
+ const updateFallbackSlotVisibility = (elm) => {
1127
+ // tslint:disable-next-line: prefer-const
1128
+ const childNodes = elm.childNodes;
1129
+ let childNode;
1130
+ let i;
1131
+ let ilen;
1132
+ let j;
1133
+ let slotNameAttr;
1134
+ let nodeType;
1135
+ for (i = 0, ilen = childNodes.length; i < ilen; i++) {
1136
+ childNode = childNodes[i];
1137
+ if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1138
+ if (childNode['s-sr']) {
1139
+ // this is a slot fallback node
1140
+ // get the slot name for this slot reference node
1141
+ slotNameAttr = childNode['s-sn'];
1142
+ // by default always show a fallback slot node
1143
+ // then hide it if there are other slots in the light dom
1144
+ childNode.hidden = false;
1145
+ for (j = 0; j < ilen; j++) {
1146
+ nodeType = childNodes[j].nodeType;
1147
+ if (childNodes[j]['s-hn'] !== childNode['s-hn'] || slotNameAttr !== '') {
1148
+ // this sibling node is from a different component OR is a named fallback slot node
1149
+ if (nodeType === 1 /* NODE_TYPE.ElementNode */ && slotNameAttr === childNodes[j].getAttribute('slot')) {
1150
+ childNode.hidden = true;
1151
+ break;
1152
+ }
1153
+ }
1154
+ else {
1155
+ // this is a default fallback slot node
1156
+ // any element or text node (with content)
1157
+ // should hide the default fallback slot node
1158
+ if (nodeType === 1 /* NODE_TYPE.ElementNode */ ||
1159
+ (nodeType === 3 /* NODE_TYPE.TextNode */ && childNodes[j].textContent.trim() !== '')) {
1160
+ childNode.hidden = true;
1161
+ break;
1162
+ }
1163
+ }
1164
+ }
1165
+ }
1166
+ // keep drilling down
1167
+ updateFallbackSlotVisibility(childNode);
1168
+ }
1169
+ }
1170
+ };
1171
+ const relocateNodes = [];
1172
+ const relocateSlotContent = (elm) => {
1173
+ // tslint:disable-next-line: prefer-const
1174
+ let childNode;
1175
+ let node;
1176
+ let hostContentNodes;
1177
+ let slotNameAttr;
1178
+ let relocateNodeData;
1179
+ let j;
1180
+ let i = 0;
1181
+ const childNodes = elm.childNodes;
1182
+ const ilen = childNodes.length;
1183
+ for (; i < ilen; i++) {
1184
+ childNode = childNodes[i];
1185
+ if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {
1186
+ // first got the content reference comment node
1187
+ // then we got it's parent, which is where all the host content is in now
1188
+ hostContentNodes = node.parentNode.childNodes;
1189
+ slotNameAttr = childNode['s-sn'];
1190
+ for (j = hostContentNodes.length - 1; j >= 0; j--) {
1191
+ node = hostContentNodes[j];
1192
+ if (!node['s-cn'] && !node['s-nr'] && node['s-hn'] !== childNode['s-hn']) {
1193
+ // let's do some relocating to its new home
1194
+ // but never relocate a content reference node
1195
+ // that is suppose to always represent the original content location
1196
+ if (isNodeLocatedInSlot(node, slotNameAttr)) {
1197
+ // it's possible we've already decided to relocate this node
1198
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1199
+ // made some changes to slots
1200
+ // let's make sure we also double check
1201
+ // fallbacks are correctly hidden or shown
1202
+ checkSlotFallbackVisibility = true;
1203
+ node['s-sn'] = node['s-sn'] || slotNameAttr;
1204
+ if (relocateNodeData) {
1205
+ // previously we never found a slot home for this node
1206
+ // but turns out we did, so let's remember it now
1207
+ relocateNodeData.$slotRefNode$ = childNode;
1208
+ }
1209
+ else {
1210
+ // add to our list of nodes to relocate
1211
+ relocateNodes.push({
1212
+ $slotRefNode$: childNode,
1213
+ $nodeToRelocate$: node,
1214
+ });
1215
+ }
1216
+ if (node['s-sr']) {
1217
+ relocateNodes.map((relocateNode) => {
1218
+ if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {
1219
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1220
+ if (relocateNodeData && !relocateNode.$slotRefNode$) {
1221
+ relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
1222
+ }
1223
+ }
1224
+ });
1225
+ }
1226
+ }
1227
+ else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
1228
+ // so far this element does not have a slot home, not setting slotRefNode on purpose
1229
+ // if we never find a home for this element then we'll need to hide it
1230
+ relocateNodes.push({
1231
+ $nodeToRelocate$: node,
1232
+ });
1233
+ }
1234
+ }
1235
+ }
1236
+ }
1237
+ if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1238
+ relocateSlotContent(childNode);
1239
+ }
1240
+ }
1241
+ };
1242
+ const isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => {
1243
+ if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1244
+ if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {
1245
+ return true;
1246
+ }
1247
+ if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {
1248
+ return true;
1249
+ }
1250
+ return false;
1251
+ }
1252
+ if (nodeToRelocate['s-sn'] === slotNameAttr) {
1253
+ return true;
1254
+ }
1255
+ return slotNameAttr === '';
1256
+ };
982
1257
  /**
983
1258
  * 'Nullify' any VDom `ref` callbacks on a VDom node or its children by
984
1259
  * calling them with `null`. This signals that the DOM element corresponding to
@@ -1021,8 +1296,90 @@ const renderVdom = (hostRef, renderFnResults) => {
1021
1296
  {
1022
1297
  scopeId = hostElm['s-sc'];
1023
1298
  }
1299
+ {
1300
+ contentRef = hostElm['s-cr'];
1301
+ useNativeShadowDom = (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) !== 0;
1302
+ // always reset
1303
+ checkSlotFallbackVisibility = false;
1304
+ }
1024
1305
  // synchronous patch
1025
1306
  patch(oldVNode, rootVnode);
1307
+ {
1308
+ // while we're moving nodes around existing nodes, temporarily disable
1309
+ // the disconnectCallback from working
1310
+ plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1311
+ if (checkSlotRelocate) {
1312
+ relocateSlotContent(rootVnode.$elm$);
1313
+ let relocateData;
1314
+ let nodeToRelocate;
1315
+ let orgLocationNode;
1316
+ let parentNodeRef;
1317
+ let insertBeforeNode;
1318
+ let refNode;
1319
+ let i = 0;
1320
+ for (; i < relocateNodes.length; i++) {
1321
+ relocateData = relocateNodes[i];
1322
+ nodeToRelocate = relocateData.$nodeToRelocate$;
1323
+ if (!nodeToRelocate['s-ol']) {
1324
+ // add a reference node marking this node's original location
1325
+ // keep a reference to this node for later lookups
1326
+ orgLocationNode =
1327
+ doc.createTextNode('');
1328
+ orgLocationNode['s-nr'] = nodeToRelocate;
1329
+ nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
1330
+ }
1331
+ }
1332
+ for (i = 0; i < relocateNodes.length; i++) {
1333
+ relocateData = relocateNodes[i];
1334
+ nodeToRelocate = relocateData.$nodeToRelocate$;
1335
+ if (relocateData.$slotRefNode$) {
1336
+ // by default we're just going to insert it directly
1337
+ // after the slot reference node
1338
+ parentNodeRef = relocateData.$slotRefNode$.parentNode;
1339
+ insertBeforeNode = relocateData.$slotRefNode$.nextSibling;
1340
+ orgLocationNode = nodeToRelocate['s-ol'];
1341
+ while ((orgLocationNode = orgLocationNode.previousSibling)) {
1342
+ refNode = orgLocationNode['s-nr'];
1343
+ if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
1344
+ refNode = refNode.nextSibling;
1345
+ if (!refNode || !refNode['s-nr']) {
1346
+ insertBeforeNode = refNode;
1347
+ break;
1348
+ }
1349
+ }
1350
+ }
1351
+ if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
1352
+ nodeToRelocate.nextSibling !== insertBeforeNode) {
1353
+ // we've checked that it's worth while to relocate
1354
+ // since that the node to relocate
1355
+ // has a different next sibling or parent relocated
1356
+ if (nodeToRelocate !== insertBeforeNode) {
1357
+ if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
1358
+ // probably a component in the index.html that doesn't have it's hostname set
1359
+ nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
1360
+ }
1361
+ // add it back to the dom but in its new home
1362
+ parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
1363
+ }
1364
+ }
1365
+ }
1366
+ else {
1367
+ // this node doesn't have a slot home to go to, so let's hide it
1368
+ if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1369
+ nodeToRelocate.hidden = true;
1370
+ }
1371
+ }
1372
+ }
1373
+ }
1374
+ if (checkSlotFallbackVisibility) {
1375
+ updateFallbackSlotVisibility(rootVnode.$elm$);
1376
+ }
1377
+ // done moving nodes around
1378
+ // allow the disconnect callback to work again
1379
+ plt.$flags$ &= ~1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1380
+ // always reset
1381
+ relocateNodes.length = 0;
1382
+ }
1026
1383
  };
1027
1384
  const attachToAncestor = (hostRef, ancestorComponent) => {
1028
1385
  if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
@@ -1523,6 +1880,16 @@ const connectedCallback = (elm) => {
1523
1880
  if (!(hostRef.$flags$ & 1 /* HOST_FLAGS.hasConnected */)) {
1524
1881
  // first time this component has connected
1525
1882
  hostRef.$flags$ |= 1 /* HOST_FLAGS.hasConnected */;
1883
+ {
1884
+ // initUpdate
1885
+ // if the slot polyfill is required we'll need to put some nodes
1886
+ // in here to act as original content anchors as we move nodes around
1887
+ // host element has been connected to the DOM
1888
+ if ((// TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
1889
+ cmpMeta.$flags$ & (4 /* CMP_FLAGS.hasSlotRelocation */ | 8 /* CMP_FLAGS.needsShadowDomShim */))) {
1890
+ setContentReference(elm);
1891
+ }
1892
+ }
1526
1893
  {
1527
1894
  // find the first ancestor component (if there is one) and register
1528
1895
  // this component as one of the actively loading child components for its ancestor
@@ -1564,6 +1931,17 @@ const connectedCallback = (elm) => {
1564
1931
  endConnected();
1565
1932
  }
1566
1933
  };
1934
+ const setContentReference = (elm) => {
1935
+ // only required when we're NOT using native shadow dom (slot)
1936
+ // or this browser doesn't support native shadow dom
1937
+ // and this host element was NOT created with SSR
1938
+ // let's pick out the inner content for slot projection
1939
+ // create a node to represent where the original
1940
+ // content was first placed, which is useful later on
1941
+ const contentRefElm = (elm['s-cr'] = doc.createComment(''));
1942
+ contentRefElm['s-cn'] = true;
1943
+ elm.insertBefore(contentRefElm, elm.firstChild);
1944
+ };
1567
1945
  const disconnectedCallback = (elm) => {
1568
1946
  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
1569
1947
  const hostRef = getHostRef(elm);
@@ -1847,4 +2225,4 @@ exports.promiseResolve = promiseResolve;
1847
2225
  exports.registerInstance = registerInstance;
1848
2226
  exports.setNonce = setNonce;
1849
2227
 
1850
- //# sourceMappingURL=index-d1052409.js.map
2228
+ //# sourceMappingURL=index-174a078a.js.map