@getflip/swirl-components 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (961) hide show
  1. package/components.json +648 -106
  2. package/dist/cjs/balancetext-7a0bdee3.js +763 -0
  3. package/dist/cjs/file-manager.cjs.entry.js +3 -1
  4. package/dist/cjs/{floating-ui.dom.esm-75453e4e.js → floating-ui.dom.esm-35943202.js} +0 -0
  5. package/dist/cjs/{index-72831c5f.js → index-83363034.js} +584 -274
  6. package/dist/cjs/loader.cjs.js +4 -3
  7. package/dist/cjs/swirl-action-list-item.cjs.entry.js +9 -4
  8. package/dist/cjs/swirl-action-list-section.cjs.entry.js +2 -1
  9. package/dist/cjs/swirl-action-list.cjs.entry.js +2 -2
  10. package/dist/cjs/swirl-app-layout_5.cjs.entry.js +41 -9
  11. package/dist/cjs/swirl-autocomplete.cjs.entry.js +22 -11
  12. package/dist/cjs/swirl-avatar-group.cjs.entry.js +2 -1
  13. package/dist/cjs/swirl-avatar.cjs.entry.js +13 -7
  14. package/dist/cjs/swirl-badge.cjs.entry.js +3 -1
  15. package/dist/cjs/swirl-banner.cjs.entry.js +9 -7
  16. package/dist/cjs/swirl-button-group.cjs.entry.js +4 -1
  17. package/dist/cjs/swirl-button.cjs.entry.js +20 -6
  18. package/dist/cjs/swirl-card.cjs.entry.js +5 -1
  19. package/dist/cjs/swirl-checkbox.cjs.entry.js +11 -3
  20. package/dist/cjs/swirl-chip.cjs.entry.js +7 -4
  21. package/dist/cjs/swirl-components.cjs.js +10 -3
  22. package/dist/cjs/swirl-console-layout.cjs.entry.js +14 -8
  23. package/dist/cjs/swirl-date-input.cjs.entry.js +23 -8
  24. package/dist/cjs/swirl-date-picker_2.cjs.entry.js +19 -82
  25. package/dist/cjs/swirl-description-list-item.cjs.entry.js +2 -1
  26. package/dist/cjs/swirl-description-list.cjs.entry.js +1 -1
  27. package/dist/cjs/swirl-dialog.cjs.entry.js +7 -3
  28. package/dist/cjs/swirl-file-uploader.cjs.entry.js +12 -5
  29. package/dist/cjs/swirl-file-viewer_7.cjs.entry.js +40 -16
  30. package/dist/cjs/swirl-form-control.cjs.entry.js +24 -2
  31. package/dist/cjs/swirl-form-group.cjs.entry.js +1 -1
  32. package/dist/cjs/swirl-heading.cjs.entry.js +19 -2
  33. package/dist/cjs/swirl-icon-add-photo.cjs.entry.js +1 -1
  34. package/dist/cjs/swirl-icon-add_4.cjs.entry.js +1 -1
  35. package/dist/cjs/swirl-icon-admin-panel-settings.cjs.entry.js +1 -1
  36. package/dist/cjs/swirl-icon-arrow-back.cjs.entry.js +1 -1
  37. package/dist/cjs/swirl-icon-arrow-downward_2.cjs.entry.js +1 -1
  38. package/dist/cjs/swirl-icon-arrow-forward.cjs.entry.js +1 -1
  39. package/dist/cjs/swirl-icon-arrow-left_3.cjs.entry.js +1 -1
  40. package/dist/cjs/swirl-icon-arrow-right-small.cjs.entry.js +1 -1
  41. package/dist/cjs/swirl-icon-attachment.cjs.entry.js +1 -1
  42. package/dist/cjs/swirl-icon-block.cjs.entry.js +1 -1
  43. package/dist/cjs/swirl-icon-cancel_4.cjs.entry.js +1 -1
  44. package/dist/cjs/swirl-icon-chat-bubble.cjs.entry.js +1 -1
  45. package/dist/cjs/swirl-icon-chats-filled.cjs.entry.js +1 -1
  46. package/dist/cjs/swirl-icon-chats-outlined.cjs.entry.js +1 -1
  47. package/dist/cjs/swirl-icon-check-circle.cjs.entry.js +1 -1
  48. package/dist/cjs/swirl-icon-check-small_4.cjs.entry.js +3452 -0
  49. package/dist/cjs/swirl-icon-check-strong.cjs.entry.js +1 -1
  50. package/dist/cjs/swirl-icon-check.cjs.entry.js +1 -1
  51. package/dist/cjs/swirl-icon-chevron-left.cjs.entry.js +1 -1
  52. package/dist/cjs/swirl-icon-chevron-right.cjs.entry.js +1 -1
  53. package/dist/cjs/swirl-icon-close-small.cjs.entry.js +1 -1
  54. package/dist/cjs/swirl-icon-close.cjs.entry.js +1 -1
  55. package/dist/cjs/swirl-icon-cloud-upload.cjs.entry.js +1 -1
  56. package/dist/cjs/swirl-icon-column.cjs.entry.js +1 -1
  57. package/dist/cjs/swirl-icon-comment.cjs.entry.js +1 -1
  58. package/dist/cjs/swirl-icon-copy.cjs.entry.js +1 -1
  59. package/dist/cjs/swirl-icon-date-range.cjs.entry.js +1 -1
  60. package/dist/cjs/swirl-icon-delete.cjs.entry.js +1 -1
  61. package/dist/cjs/swirl-icon-description.cjs.entry.js +1 -1
  62. package/dist/cjs/swirl-icon-edit.cjs.entry.js +1 -1
  63. package/dist/cjs/swirl-icon-emoji-mood.cjs.entry.js +1 -1
  64. package/dist/cjs/swirl-icon-emoji-satisfied.cjs.entry.js +1 -1
  65. package/dist/cjs/swirl-icon-error_3.cjs.entry.js +5 -3
  66. package/dist/cjs/swirl-icon-expand-more.cjs.entry.js +1 -1
  67. package/dist/cjs/swirl-icon-file.cjs.entry.js +1 -1
  68. package/dist/cjs/swirl-icon-filter.cjs.entry.js +1 -1
  69. package/dist/cjs/swirl-icon-folder-shared.cjs.entry.js +1 -1
  70. package/dist/cjs/swirl-icon-group-assign.cjs.entry.js +1 -1
  71. package/dist/cjs/swirl-icon-groups-custom.cjs.entry.js +1 -1
  72. package/dist/cjs/swirl-icon-groups-filled.cjs.entry.js +1 -1
  73. package/dist/cjs/swirl-icon-groups-outlined.cjs.entry.js +1 -1
  74. package/dist/cjs/swirl-icon-groups.cjs.entry.js +1 -1
  75. package/dist/cjs/swirl-icon-help.cjs.entry.js +1 -1
  76. package/dist/cjs/swirl-icon-image.cjs.entry.js +1 -1
  77. package/dist/cjs/swirl-icon-info.cjs.entry.js +1 -1
  78. package/dist/cjs/swirl-icon-inventory.cjs.entry.js +1 -1
  79. package/dist/cjs/swirl-icon-like.cjs.entry.js +1 -1
  80. package/dist/cjs/swirl-icon-link.cjs.entry.js +1 -1
  81. package/dist/cjs/swirl-icon-lock.cjs.entry.js +1 -1
  82. package/dist/cjs/swirl-icon-logout.cjs.entry.js +1 -1
  83. package/dist/cjs/swirl-icon-mail.cjs.entry.js +1 -1
  84. package/dist/cjs/swirl-icon-manage-accounts.cjs.entry.js +1 -1
  85. package/dist/cjs/swirl-icon-mention.cjs.entry.js +1 -1
  86. package/dist/cjs/swirl-icon-menu-filled.cjs.entry.js +1 -1
  87. package/dist/cjs/swirl-icon-menu-outlined.cjs.entry.js +1 -1
  88. package/dist/cjs/swirl-icon-menu.cjs.entry.js +1 -1
  89. package/dist/cjs/swirl-icon-message.cjs.entry.js +1 -1
  90. package/dist/cjs/swirl-icon-more-horizontal.cjs.entry.js +1 -1
  91. package/dist/cjs/swirl-icon-more-vertikal.cjs.entry.js +1 -1
  92. package/dist/cjs/swirl-icon-news-filled.cjs.entry.js +1 -1
  93. package/dist/cjs/swirl-icon-news-outlined.cjs.entry.js +1 -1
  94. package/dist/cjs/swirl-icon-notifications-active.cjs.entry.js +1 -1
  95. package/dist/cjs/swirl-icon-notifications-off.cjs.entry.js +1 -1
  96. package/dist/cjs/swirl-icon-notifications.cjs.entry.js +1 -1
  97. package/dist/cjs/swirl-icon-open-in-new.cjs.entry.js +1 -1
  98. package/dist/cjs/swirl-icon-people-alt.cjs.entry.js +1 -1
  99. package/dist/cjs/swirl-icon-person-off.cjs.entry.js +1 -1
  100. package/dist/cjs/swirl-icon-person.cjs.entry.js +1 -1
  101. package/dist/cjs/swirl-icon-phone.cjs.entry.js +1 -1
  102. package/dist/cjs/swirl-icon-poll.cjs.entry.js +1 -1
  103. package/dist/cjs/swirl-icon-print.cjs.entry.js +1 -1
  104. package/dist/cjs/swirl-icon-recieved.cjs.entry.js +1 -1
  105. package/dist/cjs/swirl-icon-search-strong.cjs.entry.js +1 -1
  106. package/dist/cjs/swirl-icon-search.cjs.entry.js +1 -1
  107. package/dist/cjs/swirl-icon-send.cjs.entry.js +1 -1
  108. package/dist/cjs/swirl-icon-settings.cjs.entry.js +1 -1
  109. package/dist/cjs/swirl-icon-sync.cjs.entry.js +1 -1
  110. package/dist/cjs/swirl-icon-tasks-filled.cjs.entry.js +1 -1
  111. package/dist/cjs/swirl-icon-tasks-outlined.cjs.entry.js +1 -1
  112. package/dist/cjs/swirl-icon-time-filled.cjs.entry.js +1 -1
  113. package/dist/cjs/swirl-icon-time-outlined.cjs.entry.js +1 -1
  114. package/dist/cjs/swirl-icon-user-assign.cjs.entry.js +1 -1
  115. package/dist/cjs/swirl-icon-video-camera.cjs.entry.js +1 -1
  116. package/dist/cjs/swirl-icon-warning.cjs.entry.js +1 -1
  117. package/dist/cjs/swirl-lightbox.cjs.entry.js +10 -8
  118. package/dist/cjs/swirl-link.cjs.entry.js +4 -1
  119. package/dist/cjs/swirl-list.cjs.entry.js +1 -1
  120. package/dist/cjs/swirl-modal.cjs.entry.js +9 -6
  121. package/dist/cjs/swirl-option-list-section.cjs.entry.js +2 -1
  122. package/dist/cjs/swirl-pagination.cjs.entry.js +11 -8
  123. package/dist/cjs/swirl-pdf-reader.cjs.entry.js +16 -12
  124. package/dist/cjs/swirl-popover.cjs.entry.js +14 -9
  125. package/dist/cjs/swirl-progress-indicator.cjs.entry.js +2 -1
  126. package/dist/cjs/swirl-radio-group.cjs.entry.js +3 -1
  127. package/dist/cjs/swirl-radio.cjs.entry.js +9 -3
  128. package/dist/cjs/swirl-resource-list-file-item.cjs.entry.js +9 -4
  129. package/dist/cjs/swirl-search.cjs.entry.js +10 -4
  130. package/dist/cjs/swirl-select.cjs.entry.js +14 -4
  131. package/dist/cjs/swirl-separator.cjs.entry.js +1 -1
  132. package/dist/cjs/swirl-skeleton-box.cjs.entry.js +34 -0
  133. package/dist/cjs/swirl-skeleton-text.cjs.entry.js +26 -0
  134. package/dist/cjs/swirl-stack.cjs.entry.js +1 -1
  135. package/dist/cjs/swirl-switch.cjs.entry.js +8 -4
  136. package/dist/cjs/swirl-tab.cjs.entry.js +4 -1
  137. package/dist/cjs/swirl-table-cell.cjs.entry.js +1 -1
  138. package/dist/cjs/swirl-table-column.cjs.entry.js +6 -1
  139. package/dist/cjs/swirl-table-row-group.cjs.entry.js +2 -1
  140. package/dist/cjs/swirl-table-row.cjs.entry.js +3 -1
  141. package/dist/cjs/swirl-table.cjs.entry.js +9 -3
  142. package/dist/cjs/swirl-tabs.cjs.entry.js +4 -1
  143. package/dist/cjs/swirl-tag.cjs.entry.js +5 -3
  144. package/dist/cjs/swirl-text-input.cjs.entry.js +34 -10
  145. package/dist/cjs/swirl-text.cjs.entry.js +19 -3
  146. package/dist/cjs/swirl-theme-provider.cjs.entry.js +2 -1
  147. package/dist/cjs/swirl-thumbnail.cjs.entry.js +3 -1
  148. package/dist/cjs/swirl-toast-provider.cjs.entry.js +3 -2
  149. package/dist/cjs/swirl-toast.cjs.entry.js +9 -4
  150. package/dist/cjs/swirl-tooltip.cjs.entry.js +7 -5
  151. package/dist/cjs/swirl-tree-navigation-item.cjs.entry.js +4 -1
  152. package/dist/cjs/swirl-video-thumbnail.cjs.entry.js +4 -1
  153. package/dist/cjs/swirl-visually-hidden.cjs.entry.js +1 -1
  154. package/dist/cjs/{utils-9c9476b4.js → utils-a07ee0db.js} +18 -0
  155. package/dist/cjs/wc-datepicker.cjs.entry.js +471 -0
  156. package/dist/collection/collection-manifest.json +13 -3
  157. package/dist/collection/components/swirl-action-list/swirl-action-list.js +12 -10
  158. package/dist/collection/components/swirl-action-list-item/swirl-action-list-item.js +146 -139
  159. package/dist/collection/components/swirl-action-list-section/swirl-action-list-section.js +36 -31
  160. package/dist/collection/components/swirl-app-layout/swirl-app-layout.js +425 -427
  161. package/dist/collection/components/swirl-autocomplete/swirl-autocomplete.js +310 -275
  162. package/dist/collection/components/swirl-avatar/swirl-avatar.js +238 -228
  163. package/dist/collection/components/swirl-avatar-group/swirl-avatar-group.js +36 -30
  164. package/dist/collection/components/swirl-badge/swirl-badge.js +114 -106
  165. package/dist/collection/components/swirl-banner/swirl-banner.js +192 -187
  166. package/dist/collection/components/swirl-box/swirl-box.js +144 -134
  167. package/dist/collection/components/swirl-button/swirl-button.js +382 -360
  168. package/dist/collection/components/swirl-button-group/swirl-button-group.js +93 -85
  169. package/dist/collection/components/swirl-card/swirl-card.js +104 -96
  170. package/dist/collection/components/swirl-checkbox/swirl-checkbox.js +210 -204
  171. package/dist/collection/components/swirl-chip/swirl-chip.js +108 -102
  172. package/dist/collection/components/swirl-console-layout/swirl-console-layout.js +312 -322
  173. package/dist/collection/components/swirl-date-input/swirl-date-input.css +11 -0
  174. package/dist/collection/components/swirl-date-input/swirl-date-input.js +294 -223
  175. package/dist/collection/components/swirl-date-picker/swirl-date-picker.css +168 -121
  176. package/dist/collection/components/swirl-date-picker/swirl-date-picker.js +134 -199
  177. package/dist/collection/components/swirl-date-picker/swirl-date-picker.stories.js +0 -5
  178. package/dist/collection/components/swirl-description-list/swirl-description-list.js +12 -10
  179. package/dist/collection/components/swirl-description-list-item/swirl-description-list-item.js +36 -31
  180. package/dist/collection/components/swirl-dialog/swirl-dialog.js +182 -174
  181. package/dist/collection/components/swirl-empty-state/swirl-empty-state.js +53 -50
  182. package/dist/collection/components/swirl-file-uploader/swirl-file-uploader.js +249 -241
  183. package/dist/collection/components/swirl-file-viewer/swirl-file-viewer.js +214 -208
  184. package/dist/collection/components/swirl-file-viewer/viewers/swirl-file-viewer-audio/swirl-file-viewer-audio.js +90 -79
  185. package/dist/collection/components/swirl-file-viewer/viewers/swirl-file-viewer-csv/swirl-file-viewer-csv.js +87 -77
  186. package/dist/collection/components/swirl-file-viewer/viewers/swirl-file-viewer-image/swirl-file-viewer-image.js +160 -148
  187. package/dist/collection/components/swirl-file-viewer/viewers/swirl-file-viewer-pdf/swirl-file-viewer-pdf.js +224 -214
  188. package/dist/collection/components/swirl-file-viewer/viewers/swirl-file-viewer-text/swirl-file-viewer-text.js +87 -75
  189. package/dist/collection/components/swirl-file-viewer/viewers/swirl-file-viewer-video/swirl-file-viewer-video.js +90 -79
  190. package/dist/collection/components/swirl-form-control/swirl-form-control.css +22 -0
  191. package/dist/collection/components/swirl-form-control/swirl-form-control.js +167 -122
  192. package/dist/collection/components/swirl-form-group/swirl-form-group.js +38 -33
  193. package/dist/collection/components/swirl-heading/swirl-heading.js +154 -102
  194. package/dist/collection/components/swirl-heading/swirl-heading.stories.js +6 -1
  195. package/dist/collection/components/swirl-icon/icons/swirl-icon-add-photo.js +38 -38
  196. package/dist/collection/components/swirl-icon/icons/swirl-icon-add.js +38 -38
  197. package/dist/collection/components/swirl-icon/icons/swirl-icon-admin-panel-settings.js +38 -41
  198. package/dist/collection/components/swirl-icon/icons/swirl-icon-arrow-back.js +38 -38
  199. package/dist/collection/components/swirl-icon/icons/swirl-icon-arrow-downward.js +38 -38
  200. package/dist/collection/components/swirl-icon/icons/swirl-icon-arrow-forward.js +38 -38
  201. package/dist/collection/components/swirl-icon/icons/swirl-icon-arrow-left.js +38 -38
  202. package/dist/collection/components/swirl-icon/icons/swirl-icon-arrow-right-small.js +38 -38
  203. package/dist/collection/components/swirl-icon/icons/swirl-icon-arrow-right.js +38 -38
  204. package/dist/collection/components/swirl-icon/icons/swirl-icon-arrow-upward.js +38 -38
  205. package/dist/collection/components/swirl-icon/icons/swirl-icon-attachment.js +38 -38
  206. package/dist/collection/components/swirl-icon/icons/swirl-icon-block.js +38 -38
  207. package/dist/collection/components/swirl-icon/icons/swirl-icon-cancel.js +38 -38
  208. package/dist/collection/components/swirl-icon/icons/swirl-icon-chat-bubble.js +38 -38
  209. package/dist/collection/components/swirl-icon/icons/swirl-icon-chats-filled.js +38 -38
  210. package/dist/collection/components/swirl-icon/icons/swirl-icon-chats-outlined.js +38 -44
  211. package/dist/collection/components/swirl-icon/icons/swirl-icon-check-circle.js +38 -38
  212. package/dist/collection/components/swirl-icon/icons/swirl-icon-check-small.js +38 -38
  213. package/dist/collection/components/swirl-icon/icons/swirl-icon-check-strong.js +38 -38
  214. package/dist/collection/components/swirl-icon/icons/swirl-icon-check.js +38 -38
  215. package/dist/collection/components/swirl-icon/icons/swirl-icon-chevron-left.js +38 -38
  216. package/dist/collection/components/swirl-icon/icons/swirl-icon-chevron-right.js +38 -38
  217. package/dist/collection/components/swirl-icon/icons/swirl-icon-close-small.js +38 -38
  218. package/dist/collection/components/swirl-icon/icons/swirl-icon-close.js +38 -38
  219. package/dist/collection/components/swirl-icon/icons/swirl-icon-cloud-upload.js +38 -38
  220. package/dist/collection/components/swirl-icon/icons/swirl-icon-column.js +38 -38
  221. package/dist/collection/components/swirl-icon/icons/swirl-icon-comment.js +38 -41
  222. package/dist/collection/components/swirl-icon/icons/swirl-icon-copy.js +38 -38
  223. package/dist/collection/components/swirl-icon/icons/swirl-icon-date-range.js +38 -38
  224. package/dist/collection/components/swirl-icon/icons/swirl-icon-delete.js +38 -41
  225. package/dist/collection/components/swirl-icon/icons/swirl-icon-description.js +38 -38
  226. package/dist/collection/components/swirl-icon/icons/swirl-icon-download.js +38 -38
  227. package/dist/collection/components/swirl-icon/icons/swirl-icon-drag-handle.js +52 -0
  228. package/dist/collection/components/swirl-icon/icons/swirl-icon-edit.js +38 -38
  229. package/dist/collection/components/swirl-icon/icons/swirl-icon-emoji-mood.js +38 -38
  230. package/dist/collection/components/swirl-icon/icons/swirl-icon-emoji-satisfied.js +38 -38
  231. package/dist/collection/components/swirl-icon/icons/swirl-icon-error.js +38 -38
  232. package/dist/collection/components/swirl-icon/icons/swirl-icon-expand-less.js +38 -38
  233. package/dist/collection/components/swirl-icon/icons/swirl-icon-expand-more.js +38 -38
  234. package/dist/collection/components/swirl-icon/icons/swirl-icon-file.js +38 -38
  235. package/dist/collection/components/swirl-icon/icons/swirl-icon-filter.js +38 -38
  236. package/dist/collection/components/swirl-icon/icons/swirl-icon-folder-shared.js +38 -38
  237. package/dist/collection/components/swirl-icon/icons/swirl-icon-fullscreen-exit.js +38 -38
  238. package/dist/collection/components/swirl-icon/icons/swirl-icon-fullscreen.js +38 -38
  239. package/dist/collection/components/swirl-icon/icons/swirl-icon-group-assign.js +38 -38
  240. package/dist/collection/components/swirl-icon/icons/swirl-icon-groups-custom.js +38 -53
  241. package/dist/collection/components/swirl-icon/icons/swirl-icon-groups-filled.js +38 -53
  242. package/dist/collection/components/swirl-icon/icons/swirl-icon-groups-outlined.js +38 -53
  243. package/dist/collection/components/swirl-icon/icons/swirl-icon-groups.js +38 -38
  244. package/dist/collection/components/swirl-icon/icons/swirl-icon-help.js +38 -38
  245. package/dist/collection/components/swirl-icon/icons/swirl-icon-image.js +38 -38
  246. package/dist/collection/components/swirl-icon/icons/swirl-icon-info.js +38 -38
  247. package/dist/collection/components/swirl-icon/icons/swirl-icon-inventory.js +38 -38
  248. package/dist/collection/components/swirl-icon/icons/swirl-icon-like.js +38 -41
  249. package/dist/collection/components/swirl-icon/icons/swirl-icon-link.js +38 -38
  250. package/dist/collection/components/swirl-icon/icons/swirl-icon-lock.js +38 -38
  251. package/dist/collection/components/swirl-icon/icons/swirl-icon-logout.js +38 -38
  252. package/dist/collection/components/swirl-icon/icons/swirl-icon-mail.js +38 -38
  253. package/dist/collection/components/swirl-icon/icons/swirl-icon-manage-accounts.js +38 -44
  254. package/dist/collection/components/swirl-icon/icons/swirl-icon-mention.js +38 -38
  255. package/dist/collection/components/swirl-icon/icons/swirl-icon-menu-filled.js +38 -47
  256. package/dist/collection/components/swirl-icon/icons/swirl-icon-menu-outlined.js +38 -47
  257. package/dist/collection/components/swirl-icon/icons/swirl-icon-menu.js +38 -38
  258. package/dist/collection/components/swirl-icon/icons/swirl-icon-message.js +38 -38
  259. package/dist/collection/components/swirl-icon/icons/swirl-icon-more-horizontal.js +38 -38
  260. package/dist/collection/components/swirl-icon/icons/swirl-icon-more-vertikal.js +38 -38
  261. package/dist/collection/components/swirl-icon/icons/swirl-icon-news-filled.js +38 -38
  262. package/dist/collection/components/swirl-icon/icons/swirl-icon-news-outlined.js +38 -44
  263. package/dist/collection/components/swirl-icon/icons/swirl-icon-notifications-active.js +38 -38
  264. package/dist/collection/components/swirl-icon/icons/swirl-icon-notifications-off.js +38 -38
  265. package/dist/collection/components/swirl-icon/icons/swirl-icon-notifications.js +38 -38
  266. package/dist/collection/components/swirl-icon/icons/swirl-icon-open-in-new.js +38 -38
  267. package/dist/collection/components/swirl-icon/icons/swirl-icon-people-alt.js +38 -47
  268. package/dist/collection/components/swirl-icon/icons/swirl-icon-person-off.js +38 -38
  269. package/dist/collection/components/swirl-icon/icons/swirl-icon-person.js +38 -38
  270. package/dist/collection/components/swirl-icon/icons/swirl-icon-phone.js +38 -38
  271. package/dist/collection/components/swirl-icon/icons/swirl-icon-poll.js +38 -38
  272. package/dist/collection/components/swirl-icon/icons/swirl-icon-print.js +38 -38
  273. package/dist/collection/components/swirl-icon/icons/swirl-icon-recieved.js +38 -41
  274. package/dist/collection/components/swirl-icon/icons/swirl-icon-remove.js +38 -38
  275. package/dist/collection/components/swirl-icon/icons/swirl-icon-search-strong.js +38 -38
  276. package/dist/collection/components/swirl-icon/icons/swirl-icon-search.js +38 -38
  277. package/dist/collection/components/swirl-icon/icons/swirl-icon-send.js +38 -38
  278. package/dist/collection/components/swirl-icon/icons/swirl-icon-settings.js +38 -38
  279. package/dist/collection/components/swirl-icon/icons/swirl-icon-sync.js +38 -38
  280. package/dist/collection/components/swirl-icon/icons/swirl-icon-tasks-filled.js +38 -38
  281. package/dist/collection/components/swirl-icon/icons/swirl-icon-tasks-outlined.js +38 -41
  282. package/dist/collection/components/swirl-icon/icons/swirl-icon-time-filled.js +38 -38
  283. package/dist/collection/components/swirl-icon/icons/swirl-icon-time-outlined.js +38 -38
  284. package/dist/collection/components/swirl-icon/icons/swirl-icon-today.js +38 -38
  285. package/dist/collection/components/swirl-icon/icons/swirl-icon-user-assign.js +38 -38
  286. package/dist/collection/components/swirl-icon/icons/swirl-icon-video-camera.js +38 -38
  287. package/dist/collection/components/swirl-icon/icons/swirl-icon-visibility-off.js +38 -38
  288. package/dist/collection/components/swirl-icon/icons/swirl-icon-visibility.js +38 -38
  289. package/dist/collection/components/swirl-icon/icons/swirl-icon-warning.js +38 -38
  290. package/dist/collection/components/swirl-inline-error/swirl-inline-error.js +56 -52
  291. package/dist/collection/components/swirl-lightbox/swirl-lightbox.js +170 -178
  292. package/dist/collection/components/swirl-link/swirl-link.js +74 -63
  293. package/dist/collection/components/swirl-list/swirl-list.js +12 -10
  294. package/dist/collection/components/swirl-modal/swirl-modal.js +205 -200
  295. package/dist/collection/components/swirl-option-list/swirl-option-list.js +364 -126
  296. package/dist/collection/components/swirl-option-list/swirl-option-list.stories.js +6 -8
  297. package/dist/collection/components/swirl-option-list-item/swirl-option-list-item.css +64 -1
  298. package/dist/collection/components/swirl-option-list-item/swirl-option-list-item.js +234 -123
  299. package/dist/collection/components/swirl-option-list-item/swirl-option-list-item.stories.js +8 -0
  300. package/dist/collection/components/swirl-option-list-section/swirl-option-list-section.js +36 -31
  301. package/dist/collection/components/swirl-pagination/swirl-pagination.js +218 -223
  302. package/dist/collection/components/swirl-pdf-reader/swirl-pdf-reader.js +233 -245
  303. package/dist/collection/components/swirl-popover/swirl-popover.js +263 -249
  304. package/dist/collection/components/swirl-progress-indicator/swirl-progress-indicator.js +93 -89
  305. package/dist/collection/components/swirl-radio/swirl-radio.js +183 -176
  306. package/dist/collection/components/swirl-radio-group/swirl-radio-group.js +70 -60
  307. package/dist/collection/components/swirl-resource-list/swirl-resource-list.js +34 -29
  308. package/dist/collection/components/swirl-resource-list-file-item/swirl-resource-list-file-item.js +158 -156
  309. package/dist/collection/components/swirl-resource-list-item/swirl-resource-list-item.js +240 -232
  310. package/dist/collection/components/swirl-search/swirl-search.js +216 -205
  311. package/dist/collection/components/swirl-select/swirl-select.css +4 -0
  312. package/dist/collection/components/swirl-select/swirl-select.js +186 -153
  313. package/dist/collection/components/swirl-separator/swirl-separator.js +12 -9
  314. package/dist/collection/components/swirl-skeleton-box/swirl-skeleton-box.css +54 -0
  315. package/dist/collection/components/swirl-skeleton-box/swirl-skeleton-box.js +130 -0
  316. package/dist/collection/components/swirl-skeleton-box/swirl-skeleton-box.stories.js +20 -0
  317. package/dist/collection/components/swirl-skeleton-text/swirl-skeleton-text.css +173 -0
  318. package/dist/collection/components/swirl-skeleton-text/swirl-skeleton-text.js +89 -0
  319. package/dist/collection/components/swirl-skeleton-text/swirl-skeleton-text.stories.js +19 -0
  320. package/dist/collection/components/swirl-spinner/swirl-spinner.js +55 -53
  321. package/dist/collection/components/swirl-stack/swirl-stack.js +135 -127
  322. package/dist/collection/components/swirl-switch/swirl-switch.js +169 -160
  323. package/dist/collection/components/swirl-tab/swirl-tab.js +70 -61
  324. package/dist/collection/components/swirl-table/swirl-table.js +90 -88
  325. package/dist/collection/components/swirl-table-cell/swirl-table-cell.js +12 -9
  326. package/dist/collection/components/swirl-table-column/swirl-table-column.js +123 -117
  327. package/dist/collection/components/swirl-table-row/swirl-table-row.js +53 -44
  328. package/dist/collection/components/swirl-table-row-group/swirl-table-row-group.js +36 -30
  329. package/dist/collection/components/swirl-tabs/swirl-tabs.js +112 -101
  330. package/dist/collection/components/swirl-tag/swirl-tag.js +111 -104
  331. package/dist/collection/components/swirl-text/swirl-text.js +197 -146
  332. package/dist/collection/components/swirl-text/swirl-text.stories.js +5 -0
  333. package/dist/collection/components/swirl-text-input/swirl-text-input.css +21 -0
  334. package/dist/collection/components/swirl-text-input/swirl-text-input.js +594 -557
  335. package/dist/collection/components/swirl-theme-provider/swirl-theme-provider.js +141 -122
  336. package/dist/collection/components/swirl-thumbnail/swirl-thumbnail.js +93 -85
  337. package/dist/collection/components/swirl-toast/swirl-toast.js +165 -155
  338. package/dist/collection/components/swirl-toast-provider/swirl-toast-provider.js +112 -104
  339. package/dist/collection/components/swirl-tooltip/swirl-tooltip.js +122 -113
  340. package/dist/collection/components/swirl-tree-navigation-item/swirl-tree-navigation-item.js +68 -61
  341. package/dist/collection/components/swirl-video-thumbnail/swirl-video-thumbnail.js +85 -83
  342. package/dist/collection/components/swirl-visually-hidden/swirl-visually-hidden.js +12 -9
  343. package/dist/collection/prototypes/file-manager/file-manager.js +12 -22
  344. package/dist/collection/utils.js +17 -0
  345. package/dist/components/balancetext.js +761 -0
  346. package/dist/components/file-manager.js +36 -29
  347. package/dist/components/index.d.ts +9 -172
  348. package/dist/components/index.js +1 -170
  349. package/dist/components/index2.js +35 -2
  350. package/dist/components/swirl-action-list-item.js +7 -3
  351. package/dist/components/swirl-action-list-section.js +1 -1
  352. package/dist/components/swirl-action-list.js +0 -1
  353. package/dist/components/swirl-app-layout2.js +20 -6
  354. package/dist/components/swirl-autocomplete.js +33 -16
  355. package/dist/components/swirl-avatar-group.js +1 -1
  356. package/dist/components/swirl-avatar.js +12 -7
  357. package/dist/components/swirl-badge.js +2 -1
  358. package/dist/components/swirl-banner.js +7 -6
  359. package/dist/components/swirl-box2.js +4 -1
  360. package/dist/components/swirl-button-group2.js +3 -1
  361. package/dist/components/swirl-button2.js +18 -5
  362. package/dist/components/swirl-card.js +4 -1
  363. package/dist/components/swirl-checkbox.js +10 -3
  364. package/dist/components/swirl-chip.js +5 -3
  365. package/dist/components/swirl-console-layout.js +12 -7
  366. package/dist/components/swirl-date-input.js +38 -16
  367. package/dist/components/swirl-date-picker2.js +26 -86
  368. package/dist/components/swirl-description-list-item.js +1 -1
  369. package/dist/components/swirl-description-list.js +0 -1
  370. package/dist/components/swirl-dialog.js +6 -3
  371. package/dist/components/swirl-empty-state2.js +2 -1
  372. package/dist/components/swirl-file-uploader.js +11 -5
  373. package/dist/components/swirl-file-viewer-audio2.js +3 -1
  374. package/dist/components/swirl-file-viewer-csv2.js +5 -2
  375. package/dist/components/swirl-file-viewer-image2.js +6 -5
  376. package/dist/components/swirl-file-viewer-pdf2.js +12 -9
  377. package/dist/components/swirl-file-viewer-text2.js +4 -1
  378. package/dist/components/swirl-file-viewer-video2.js +3 -1
  379. package/dist/components/swirl-file-viewer2.js +8 -5
  380. package/dist/components/swirl-form-control.js +24 -2
  381. package/dist/components/swirl-form-group.js +0 -1
  382. package/dist/components/swirl-heading2.js +20 -3
  383. package/dist/components/swirl-icon-add-photo.js +0 -1
  384. package/dist/components/swirl-icon-add2.js +0 -1
  385. package/dist/components/swirl-icon-admin-panel-settings.js +0 -1
  386. package/dist/components/swirl-icon-arrow-back.js +0 -1
  387. package/dist/components/swirl-icon-arrow-downward2.js +0 -1
  388. package/dist/components/swirl-icon-arrow-forward.js +0 -1
  389. package/dist/components/swirl-icon-arrow-left2.js +0 -1
  390. package/dist/components/swirl-icon-arrow-right-small.js +0 -1
  391. package/dist/components/swirl-icon-arrow-right2.js +0 -1
  392. package/dist/components/swirl-icon-arrow-upward2.js +0 -1
  393. package/dist/components/swirl-icon-attachment.js +0 -1
  394. package/dist/components/swirl-icon-block.js +0 -1
  395. package/dist/components/swirl-icon-cancel2.js +0 -1
  396. package/dist/components/swirl-icon-chat-bubble.js +0 -1
  397. package/dist/components/swirl-icon-chats-filled.js +0 -1
  398. package/dist/components/swirl-icon-chats-outlined.js +0 -1
  399. package/dist/components/swirl-icon-check-circle.js +0 -1
  400. package/dist/components/swirl-icon-check-small2.js +0 -1
  401. package/dist/components/swirl-icon-check-strong2.js +0 -1
  402. package/dist/components/swirl-icon-check.js +0 -1
  403. package/dist/components/swirl-icon-chevron-left.js +0 -1
  404. package/dist/components/swirl-icon-chevron-right.js +0 -1
  405. package/dist/components/swirl-icon-close-small.js +0 -1
  406. package/dist/components/swirl-icon-close2.js +0 -1
  407. package/dist/components/swirl-icon-cloud-upload2.js +0 -1
  408. package/dist/components/swirl-icon-column.js +0 -1
  409. package/dist/components/swirl-icon-comment.js +0 -1
  410. package/dist/components/swirl-icon-copy.js +0 -1
  411. package/dist/components/swirl-icon-date-range.js +0 -1
  412. package/dist/components/swirl-icon-delete.js +0 -1
  413. package/dist/components/swirl-icon-description.js +0 -1
  414. package/dist/components/swirl-icon-download2.js +0 -1
  415. package/dist/components/swirl-icon-drag-handle.d.ts +11 -0
  416. package/dist/components/swirl-icon-drag-handle.js +6 -0
  417. package/dist/components/swirl-icon-drag-handle2.js +36 -0
  418. package/dist/components/swirl-icon-edit.js +0 -1
  419. package/dist/components/swirl-icon-emoji-mood.js +0 -1
  420. package/dist/components/swirl-icon-emoji-satisfied.js +0 -1
  421. package/dist/components/swirl-icon-error2.js +0 -1
  422. package/dist/components/swirl-icon-expand-less2.js +0 -1
  423. package/dist/components/swirl-icon-expand-more2.js +0 -1
  424. package/dist/components/swirl-icon-file.js +0 -1
  425. package/dist/components/swirl-icon-filter.js +0 -1
  426. package/dist/components/swirl-icon-folder-shared.js +0 -1
  427. package/dist/components/swirl-icon-fullscreen-exit2.js +0 -1
  428. package/dist/components/swirl-icon-fullscreen2.js +0 -1
  429. package/dist/components/swirl-icon-group-assign.js +0 -1
  430. package/dist/components/swirl-icon-groups-custom.js +0 -1
  431. package/dist/components/swirl-icon-groups-filled.js +0 -1
  432. package/dist/components/swirl-icon-groups-outlined.js +0 -1
  433. package/dist/components/swirl-icon-groups.js +0 -1
  434. package/dist/components/swirl-icon-help.js +0 -1
  435. package/dist/components/swirl-icon-image.js +0 -1
  436. package/dist/components/swirl-icon-info.js +0 -1
  437. package/dist/components/swirl-icon-inventory.js +0 -1
  438. package/dist/components/swirl-icon-like.js +0 -1
  439. package/dist/components/swirl-icon-link.js +0 -1
  440. package/dist/components/swirl-icon-lock.js +0 -1
  441. package/dist/components/swirl-icon-logout.js +0 -1
  442. package/dist/components/swirl-icon-mail.js +0 -1
  443. package/dist/components/swirl-icon-manage-accounts.js +0 -1
  444. package/dist/components/swirl-icon-mention.js +0 -1
  445. package/dist/components/swirl-icon-menu-filled.js +0 -1
  446. package/dist/components/swirl-icon-menu-outlined.js +0 -1
  447. package/dist/components/swirl-icon-menu.js +0 -1
  448. package/dist/components/swirl-icon-message.js +0 -1
  449. package/dist/components/swirl-icon-more-horizontal.js +0 -1
  450. package/dist/components/swirl-icon-more-vertikal.js +0 -1
  451. package/dist/components/swirl-icon-news-filled.js +0 -1
  452. package/dist/components/swirl-icon-news-outlined.js +0 -1
  453. package/dist/components/swirl-icon-notifications-active.js +0 -1
  454. package/dist/components/swirl-icon-notifications-off.js +0 -1
  455. package/dist/components/swirl-icon-notifications.js +0 -1
  456. package/dist/components/swirl-icon-open-in-new.js +0 -1
  457. package/dist/components/swirl-icon-people-alt.js +0 -1
  458. package/dist/components/swirl-icon-person-off.js +0 -1
  459. package/dist/components/swirl-icon-person2.js +0 -1
  460. package/dist/components/swirl-icon-phone.js +0 -1
  461. package/dist/components/swirl-icon-poll.js +0 -1
  462. package/dist/components/swirl-icon-print.js +0 -1
  463. package/dist/components/swirl-icon-recieved.js +0 -1
  464. package/dist/components/swirl-icon-remove2.js +0 -1
  465. package/dist/components/swirl-icon-search-strong.js +0 -1
  466. package/dist/components/swirl-icon-search2.js +0 -1
  467. package/dist/components/swirl-icon-send.js +0 -1
  468. package/dist/components/swirl-icon-settings.js +0 -1
  469. package/dist/components/swirl-icon-sync.js +0 -1
  470. package/dist/components/swirl-icon-tasks-filled.js +0 -1
  471. package/dist/components/swirl-icon-tasks-outlined.js +0 -1
  472. package/dist/components/swirl-icon-time-filled.js +0 -1
  473. package/dist/components/swirl-icon-time-outlined.js +0 -1
  474. package/dist/components/swirl-icon-today2.js +0 -1
  475. package/dist/components/swirl-icon-user-assign.js +0 -1
  476. package/dist/components/swirl-icon-video-camera.js +0 -1
  477. package/dist/components/swirl-icon-visibility-off2.js +0 -1
  478. package/dist/components/swirl-icon-visibility2.js +0 -1
  479. package/dist/components/swirl-icon-warning.js +0 -1
  480. package/dist/components/swirl-inline-error2.js +2 -2
  481. package/dist/components/swirl-lightbox.js +8 -7
  482. package/dist/components/swirl-link.js +3 -1
  483. package/dist/components/swirl-list.js +0 -1
  484. package/dist/components/swirl-modal.js +8 -6
  485. package/dist/components/swirl-option-list-item2.js +39 -13
  486. package/dist/components/swirl-option-list-section.js +1 -1
  487. package/dist/components/swirl-option-list2.js +3184 -17
  488. package/dist/components/swirl-pagination.js +10 -8
  489. package/dist/components/swirl-pdf-reader.js +14 -11
  490. package/dist/components/swirl-popover2.js +11 -7
  491. package/dist/components/swirl-progress-indicator.js +1 -1
  492. package/dist/components/swirl-radio-group.js +2 -1
  493. package/dist/components/swirl-radio.js +8 -3
  494. package/dist/components/swirl-resource-list-file-item.js +7 -3
  495. package/dist/components/swirl-resource-list-item2.js +12 -3
  496. package/dist/components/swirl-resource-list2.js +1 -1
  497. package/dist/components/swirl-search.js +8 -3
  498. package/dist/components/swirl-select.js +28 -12
  499. package/dist/components/swirl-separator.js +0 -1
  500. package/dist/components/swirl-skeleton-box.d.ts +11 -0
  501. package/dist/components/swirl-skeleton-box.js +53 -0
  502. package/dist/components/swirl-skeleton-text.d.ts +11 -0
  503. package/dist/components/swirl-skeleton-text.js +43 -0
  504. package/dist/components/swirl-spinner2.js +1 -1
  505. package/dist/components/swirl-stack2.js +0 -1
  506. package/dist/components/swirl-switch.js +7 -4
  507. package/dist/components/swirl-tab.js +3 -1
  508. package/dist/components/swirl-table-cell.js +0 -1
  509. package/dist/components/swirl-table-column.js +5 -1
  510. package/dist/components/swirl-table-row-group.js +1 -1
  511. package/dist/components/swirl-table-row.js +2 -1
  512. package/dist/components/swirl-table.js +7 -2
  513. package/dist/components/swirl-tabs.js +3 -1
  514. package/dist/components/swirl-tag.js +4 -3
  515. package/dist/components/swirl-text-input2.js +33 -9
  516. package/dist/components/swirl-text2.js +21 -6
  517. package/dist/components/swirl-theme-provider.js +1 -1
  518. package/dist/components/swirl-thumbnail.js +2 -1
  519. package/dist/components/swirl-toast-provider.js +2 -2
  520. package/dist/components/swirl-toast2.js +7 -3
  521. package/dist/components/swirl-tooltip.js +5 -4
  522. package/dist/components/swirl-tree-navigation-item.js +3 -1
  523. package/dist/components/swirl-video-thumbnail.js +3 -1
  524. package/dist/components/swirl-visually-hidden2.js +0 -1
  525. package/dist/components/utils.js +18 -1
  526. package/dist/components/wc-datepicker.js +6 -0
  527. package/dist/components/wc-datepicker2.js +504 -0
  528. package/dist/{components/_commonjsHelpers.js → esm/_commonjsHelpers-10467d11.js} +1 -1
  529. package/dist/esm/balancetext-31f1ec68.js +761 -0
  530. package/dist/esm/file-manager.entry.js +3 -1
  531. package/dist/esm/{floating-ui.dom.esm-1a4e8b8a.js → floating-ui.dom.esm-b9f28f6d.js} +0 -0
  532. package/dist/esm/{index-5a3b2828.js → index-0ff2c8e0.js} +584 -275
  533. package/dist/esm/{index-c3028f7d.js → index-47862d62.js} +1 -1
  534. package/dist/esm/loader.js +4 -3
  535. package/dist/esm/polyfills/css-shim.js +1 -1
  536. package/dist/esm/swirl-action-list-item.entry.js +11 -6
  537. package/dist/esm/swirl-action-list-section.entry.js +2 -1
  538. package/dist/esm/swirl-action-list.entry.js +2 -2
  539. package/dist/esm/swirl-app-layout_5.entry.js +43 -11
  540. package/dist/esm/swirl-autocomplete.entry.js +24 -13
  541. package/dist/esm/swirl-avatar-group.entry.js +4 -3
  542. package/dist/esm/swirl-avatar.entry.js +15 -9
  543. package/dist/esm/swirl-badge.entry.js +5 -3
  544. package/dist/esm/swirl-banner.entry.js +11 -9
  545. package/dist/esm/swirl-button-group.entry.js +6 -3
  546. package/dist/esm/swirl-button.entry.js +22 -8
  547. package/dist/esm/swirl-card.entry.js +7 -3
  548. package/dist/esm/swirl-checkbox.entry.js +13 -5
  549. package/dist/esm/swirl-chip.entry.js +9 -6
  550. package/dist/esm/swirl-components.js +7 -3
  551. package/dist/esm/swirl-console-layout.entry.js +16 -10
  552. package/dist/esm/swirl-date-input.entry.js +24 -9
  553. package/dist/esm/swirl-date-picker_2.entry.js +20 -83
  554. package/dist/esm/swirl-description-list-item.entry.js +2 -1
  555. package/dist/esm/swirl-description-list.entry.js +1 -1
  556. package/dist/esm/swirl-dialog.entry.js +9 -5
  557. package/dist/esm/swirl-file-uploader.entry.js +14 -7
  558. package/dist/esm/swirl-file-viewer_7.entry.js +41 -17
  559. package/dist/esm/swirl-form-control.entry.js +26 -4
  560. package/dist/esm/swirl-form-group.entry.js +3 -3
  561. package/dist/esm/swirl-heading.entry.js +21 -4
  562. package/dist/esm/swirl-icon-add-photo.entry.js +3 -3
  563. package/dist/esm/swirl-icon-add_4.entry.js +3 -3
  564. package/dist/esm/swirl-icon-admin-panel-settings.entry.js +3 -3
  565. package/dist/esm/swirl-icon-arrow-back.entry.js +3 -3
  566. package/dist/esm/swirl-icon-arrow-downward_2.entry.js +3 -3
  567. package/dist/esm/swirl-icon-arrow-forward.entry.js +3 -3
  568. package/dist/esm/swirl-icon-arrow-left_3.entry.js +3 -3
  569. package/dist/esm/swirl-icon-arrow-right-small.entry.js +3 -3
  570. package/dist/esm/swirl-icon-attachment.entry.js +3 -3
  571. package/dist/esm/swirl-icon-block.entry.js +3 -3
  572. package/dist/esm/swirl-icon-cancel_4.entry.js +3 -3
  573. package/dist/esm/swirl-icon-chat-bubble.entry.js +3 -3
  574. package/dist/esm/swirl-icon-chats-filled.entry.js +3 -3
  575. package/dist/esm/swirl-icon-chats-outlined.entry.js +3 -3
  576. package/dist/esm/swirl-icon-check-circle.entry.js +3 -3
  577. package/dist/esm/swirl-icon-check-small_4.entry.js +3445 -0
  578. package/dist/esm/swirl-icon-check-strong.entry.js +3 -3
  579. package/dist/esm/swirl-icon-check.entry.js +3 -3
  580. package/dist/esm/swirl-icon-chevron-left.entry.js +3 -3
  581. package/dist/esm/swirl-icon-chevron-right.entry.js +3 -3
  582. package/dist/esm/swirl-icon-close-small.entry.js +3 -3
  583. package/dist/esm/swirl-icon-close.entry.js +3 -3
  584. package/dist/esm/swirl-icon-cloud-upload.entry.js +3 -3
  585. package/dist/esm/swirl-icon-column.entry.js +3 -3
  586. package/dist/esm/swirl-icon-comment.entry.js +3 -3
  587. package/dist/esm/swirl-icon-copy.entry.js +3 -3
  588. package/dist/esm/swirl-icon-date-range.entry.js +3 -3
  589. package/dist/esm/swirl-icon-delete.entry.js +3 -3
  590. package/dist/esm/swirl-icon-description.entry.js +3 -3
  591. package/dist/esm/swirl-icon-edit.entry.js +3 -3
  592. package/dist/esm/swirl-icon-emoji-mood.entry.js +3 -3
  593. package/dist/esm/swirl-icon-emoji-satisfied.entry.js +3 -3
  594. package/dist/esm/swirl-icon-error_3.entry.js +7 -5
  595. package/dist/esm/swirl-icon-expand-more.entry.js +3 -3
  596. package/dist/esm/swirl-icon-file.entry.js +3 -3
  597. package/dist/esm/swirl-icon-filter.entry.js +3 -3
  598. package/dist/esm/swirl-icon-folder-shared.entry.js +3 -3
  599. package/dist/esm/swirl-icon-group-assign.entry.js +3 -3
  600. package/dist/esm/swirl-icon-groups-custom.entry.js +3 -3
  601. package/dist/esm/swirl-icon-groups-filled.entry.js +3 -3
  602. package/dist/esm/swirl-icon-groups-outlined.entry.js +3 -3
  603. package/dist/esm/swirl-icon-groups.entry.js +3 -3
  604. package/dist/esm/swirl-icon-help.entry.js +3 -3
  605. package/dist/esm/swirl-icon-image.entry.js +3 -3
  606. package/dist/esm/swirl-icon-info.entry.js +3 -3
  607. package/dist/esm/swirl-icon-inventory.entry.js +3 -3
  608. package/dist/esm/swirl-icon-like.entry.js +3 -3
  609. package/dist/esm/swirl-icon-link.entry.js +3 -3
  610. package/dist/esm/swirl-icon-lock.entry.js +3 -3
  611. package/dist/esm/swirl-icon-logout.entry.js +3 -3
  612. package/dist/esm/swirl-icon-mail.entry.js +3 -3
  613. package/dist/esm/swirl-icon-manage-accounts.entry.js +3 -3
  614. package/dist/esm/swirl-icon-mention.entry.js +3 -3
  615. package/dist/esm/swirl-icon-menu-filled.entry.js +3 -3
  616. package/dist/esm/swirl-icon-menu-outlined.entry.js +3 -3
  617. package/dist/esm/swirl-icon-menu.entry.js +3 -3
  618. package/dist/esm/swirl-icon-message.entry.js +3 -3
  619. package/dist/esm/swirl-icon-more-horizontal.entry.js +3 -3
  620. package/dist/esm/swirl-icon-more-vertikal.entry.js +3 -3
  621. package/dist/esm/swirl-icon-news-filled.entry.js +3 -3
  622. package/dist/esm/swirl-icon-news-outlined.entry.js +3 -3
  623. package/dist/esm/swirl-icon-notifications-active.entry.js +3 -3
  624. package/dist/esm/swirl-icon-notifications-off.entry.js +3 -3
  625. package/dist/esm/swirl-icon-notifications.entry.js +3 -3
  626. package/dist/esm/swirl-icon-open-in-new.entry.js +3 -3
  627. package/dist/esm/swirl-icon-people-alt.entry.js +3 -3
  628. package/dist/esm/swirl-icon-person-off.entry.js +3 -3
  629. package/dist/esm/swirl-icon-person.entry.js +3 -3
  630. package/dist/esm/swirl-icon-phone.entry.js +3 -3
  631. package/dist/esm/swirl-icon-poll.entry.js +3 -3
  632. package/dist/esm/swirl-icon-print.entry.js +3 -3
  633. package/dist/esm/swirl-icon-recieved.entry.js +3 -3
  634. package/dist/esm/swirl-icon-search-strong.entry.js +3 -3
  635. package/dist/esm/swirl-icon-search.entry.js +3 -3
  636. package/dist/esm/swirl-icon-send.entry.js +3 -3
  637. package/dist/esm/swirl-icon-settings.entry.js +3 -3
  638. package/dist/esm/swirl-icon-sync.entry.js +3 -3
  639. package/dist/esm/swirl-icon-tasks-filled.entry.js +3 -3
  640. package/dist/esm/swirl-icon-tasks-outlined.entry.js +3 -3
  641. package/dist/esm/swirl-icon-time-filled.entry.js +3 -3
  642. package/dist/esm/swirl-icon-time-outlined.entry.js +3 -3
  643. package/dist/esm/swirl-icon-user-assign.entry.js +3 -3
  644. package/dist/esm/swirl-icon-video-camera.entry.js +3 -3
  645. package/dist/esm/swirl-icon-warning.entry.js +3 -3
  646. package/dist/esm/swirl-lightbox.entry.js +12 -10
  647. package/dist/esm/swirl-link.entry.js +4 -1
  648. package/dist/esm/swirl-list.entry.js +1 -1
  649. package/dist/esm/swirl-modal.entry.js +11 -8
  650. package/dist/esm/swirl-option-list-section.entry.js +2 -1
  651. package/dist/esm/swirl-pagination.entry.js +13 -10
  652. package/dist/esm/swirl-pdf-reader.entry.js +18 -14
  653. package/dist/esm/swirl-popover.entry.js +16 -11
  654. package/dist/esm/swirl-progress-indicator.entry.js +4 -3
  655. package/dist/esm/swirl-radio-group.entry.js +3 -1
  656. package/dist/esm/swirl-radio.entry.js +11 -5
  657. package/dist/esm/swirl-resource-list-file-item.entry.js +11 -6
  658. package/dist/esm/swirl-search.entry.js +12 -6
  659. package/dist/esm/swirl-select.entry.js +16 -6
  660. package/dist/esm/swirl-separator.entry.js +1 -1
  661. package/dist/esm/swirl-skeleton-box.entry.js +30 -0
  662. package/dist/esm/swirl-skeleton-text.entry.js +22 -0
  663. package/dist/esm/swirl-stack.entry.js +3 -3
  664. package/dist/esm/swirl-switch.entry.js +10 -6
  665. package/dist/esm/swirl-tab.entry.js +6 -3
  666. package/dist/esm/swirl-table-cell.entry.js +1 -1
  667. package/dist/esm/swirl-table-column.entry.js +6 -1
  668. package/dist/esm/swirl-table-row-group.entry.js +2 -1
  669. package/dist/esm/swirl-table-row.entry.js +5 -3
  670. package/dist/esm/swirl-table.entry.js +9 -3
  671. package/dist/esm/swirl-tabs.entry.js +6 -3
  672. package/dist/esm/swirl-tag.entry.js +7 -5
  673. package/dist/esm/swirl-text-input.entry.js +36 -12
  674. package/dist/esm/swirl-text.entry.js +21 -5
  675. package/dist/esm/swirl-theme-provider.entry.js +2 -1
  676. package/dist/esm/swirl-thumbnail.entry.js +5 -3
  677. package/dist/esm/swirl-toast-provider.entry.js +3 -2
  678. package/dist/esm/swirl-toast.entry.js +11 -6
  679. package/dist/esm/swirl-tooltip.entry.js +7 -5
  680. package/dist/esm/swirl-tree-navigation-item.entry.js +6 -3
  681. package/dist/esm/swirl-video-thumbnail.entry.js +4 -1
  682. package/dist/esm/swirl-visually-hidden.entry.js +1 -1
  683. package/dist/esm/{utils-7efaa1c6.js → utils-33d31b58.js} +18 -1
  684. package/dist/esm/wc-datepicker.entry.js +467 -0
  685. package/dist/swirl-components/{p-435c746a.entry.js → p-00978344.entry.js} +1 -1
  686. package/dist/swirl-components/{p-96ac53d5.entry.js → p-00ce0096.entry.js} +1 -1
  687. package/dist/swirl-components/{p-ffe7373d.entry.js → p-026a6c8f.entry.js} +1 -1
  688. package/dist/swirl-components/{p-6e4135eb.entry.js → p-027680e2.entry.js} +1 -1
  689. package/dist/swirl-components/{p-98827f45.entry.js → p-0319e9d6.entry.js} +1 -1
  690. package/dist/swirl-components/p-05c15d47.js +2 -0
  691. package/dist/swirl-components/{p-90559cbf.entry.js → p-090aa1c5.entry.js} +1 -1
  692. package/dist/swirl-components/p-0dcc2cbc.entry.js +1 -0
  693. package/dist/swirl-components/{p-cd8446b2.entry.js → p-0e59a667.entry.js} +1 -1
  694. package/dist/swirl-components/{p-4935dc49.entry.js → p-0f3b28e9.entry.js} +1 -1
  695. package/dist/swirl-components/p-107e3594.entry.js +1 -0
  696. package/dist/swirl-components/{p-0924336d.entry.js → p-121b8ab9.entry.js} +1 -1
  697. package/dist/swirl-components/{p-0dd24ec2.entry.js → p-12633c5e.entry.js} +1 -1
  698. package/dist/swirl-components/p-13376409.entry.js +1 -0
  699. package/dist/swirl-components/{p-e419a9cb.entry.js → p-142ceff7.entry.js} +1 -1
  700. package/dist/swirl-components/p-148b7b70.entry.js +1 -0
  701. package/dist/swirl-components/p-1614639e.entry.js +1 -0
  702. package/dist/swirl-components/{p-86bd3473.js → p-16e63a98.js} +1 -1
  703. package/dist/swirl-components/p-19caf328.entry.js +1 -0
  704. package/dist/swirl-components/p-1a6ca33d.entry.js +7 -0
  705. package/dist/swirl-components/p-1aa44f84.entry.js +1 -0
  706. package/dist/swirl-components/p-1b7876da.entry.js +1 -0
  707. package/dist/swirl-components/{p-c215db6a.entry.js → p-1c12a405.entry.js} +1 -1
  708. package/dist/swirl-components/p-1e7a0c4a.entry.js +1 -0
  709. package/dist/swirl-components/{p-692e4e5c.entry.js → p-2056c612.entry.js} +1 -1
  710. package/dist/swirl-components/p-2057f4dc.entry.js +1 -0
  711. package/dist/swirl-components/{p-a2a3e866.entry.js → p-217b2507.entry.js} +1 -1
  712. package/dist/swirl-components/p-21ff58e8.entry.js +1 -0
  713. package/dist/swirl-components/{p-b27dfc38.entry.js → p-27566da1.entry.js} +1 -1
  714. package/dist/swirl-components/{p-8cabe3e0.entry.js → p-2aede2ed.entry.js} +1 -1
  715. package/dist/swirl-components/{p-027eabd9.entry.js → p-2c78c2d5.entry.js} +1 -1
  716. package/dist/swirl-components/p-2c941975.entry.js +1 -0
  717. package/dist/swirl-components/p-2e733839.entry.js +1 -0
  718. package/dist/swirl-components/{p-5028921b.entry.js → p-2ea576e0.entry.js} +1 -1
  719. package/dist/swirl-components/{p-15b398b3.entry.js → p-2edc08f0.entry.js} +1 -1
  720. package/dist/swirl-components/p-33e4b66d.entry.js +8 -0
  721. package/dist/swirl-components/p-34e4e242.entry.js +1 -0
  722. package/dist/swirl-components/{p-f8b0f92a.entry.js → p-354e974d.entry.js} +1 -1
  723. package/dist/swirl-components/{p-ab7a08a6.entry.js → p-3a8af86e.entry.js} +1 -1
  724. package/dist/swirl-components/{p-9f45803b.entry.js → p-3e0f6d31.entry.js} +1 -1
  725. package/dist/swirl-components/{p-f09a3f4e.entry.js → p-429005ee.entry.js} +1 -1
  726. package/dist/swirl-components/p-4464e2c4.entry.js +1 -0
  727. package/dist/swirl-components/{p-e3293a79.entry.js → p-447ef6eb.entry.js} +1 -1
  728. package/dist/swirl-components/{p-409900a9.entry.js → p-44a74d62.entry.js} +1 -1
  729. package/dist/swirl-components/p-4a847ce0.entry.js +1 -0
  730. package/dist/swirl-components/p-4ef99de5.js +1 -0
  731. package/dist/swirl-components/p-50430bab.entry.js +1 -0
  732. package/dist/swirl-components/{p-70805149.entry.js → p-50ae0963.entry.js} +1 -1
  733. package/dist/swirl-components/{p-5d0acbf4.entry.js → p-5166e355.entry.js} +1 -1
  734. package/dist/swirl-components/{p-968adc69.entry.js → p-537b28c8.entry.js} +1 -1
  735. package/dist/swirl-components/{p-e8618da9.entry.js → p-541c943f.entry.js} +1 -1
  736. package/dist/swirl-components/{p-8f3d1f73.entry.js → p-5540b8cf.entry.js} +1 -1
  737. package/dist/swirl-components/p-56499a10.entry.js +1 -0
  738. package/dist/swirl-components/{p-4307ddfe.entry.js → p-58f83fcc.entry.js} +1 -1
  739. package/dist/swirl-components/p-619061ef.entry.js +1 -0
  740. package/dist/swirl-components/{p-294983c3.entry.js → p-61ad8c1a.entry.js} +1 -1
  741. package/dist/swirl-components/p-61b7f41b.entry.js +1 -0
  742. package/dist/swirl-components/{p-17e7ea80.entry.js → p-62f0b76b.entry.js} +1 -1
  743. package/dist/swirl-components/{p-5f461f84.entry.js → p-64cdef0c.entry.js} +1 -1
  744. package/dist/swirl-components/p-6526bf3e.js +1 -0
  745. package/dist/swirl-components/{p-6c620f94.entry.js → p-668539d3.entry.js} +1 -1
  746. package/dist/swirl-components/p-67e86a11.entry.js +1 -0
  747. package/dist/swirl-components/{p-e7c325b7.entry.js → p-730760c1.entry.js} +1 -1
  748. package/dist/swirl-components/{p-1bff5707.entry.js → p-79486690.entry.js} +1 -1
  749. package/dist/swirl-components/{p-474f4c76.entry.js → p-7a6f1bf2.entry.js} +1 -1
  750. package/dist/swirl-components/p-7b0adf16.js +7 -0
  751. package/dist/swirl-components/{p-582364ee.entry.js → p-7c32e01c.entry.js} +1 -1
  752. package/dist/swirl-components/{p-d69a0a99.entry.js → p-7cad01ab.entry.js} +1 -1
  753. package/dist/swirl-components/{p-8d998974.entry.js → p-7de7d7c4.entry.js} +1 -1
  754. package/dist/swirl-components/p-7f5648ca.entry.js +1 -0
  755. package/dist/swirl-components/{p-eac6d46d.entry.js → p-80c7ab11.entry.js} +1 -1
  756. package/dist/swirl-components/{p-2bcb979a.entry.js → p-81b80dd4.entry.js} +1 -1
  757. package/dist/swirl-components/p-8317b681.entry.js +1 -0
  758. package/dist/swirl-components/{p-c6b1fe02.entry.js → p-8342ee34.entry.js} +1 -1
  759. package/dist/swirl-components/{p-1391e221.entry.js → p-8667eb55.entry.js} +1 -1
  760. package/dist/swirl-components/p-87ce453b.entry.js +49 -0
  761. package/dist/swirl-components/{p-0a5d1a8f.entry.js → p-87d2ee0e.entry.js} +1 -1
  762. package/dist/swirl-components/p-8ea0a318.entry.js +1 -0
  763. package/dist/swirl-components/{p-3335383c.entry.js → p-8effa03e.entry.js} +1 -1
  764. package/dist/swirl-components/{p-d9760e10.entry.js → p-8f07da3d.entry.js} +1 -1
  765. package/dist/swirl-components/{p-2fa4c633.entry.js → p-8f52577a.entry.js} +1 -1
  766. package/dist/swirl-components/{p-170a2b48.entry.js → p-8fd083ba.entry.js} +1 -1
  767. package/dist/swirl-components/p-905e3f32.entry.js +1 -0
  768. package/dist/swirl-components/p-9142e03b.js +1 -0
  769. package/dist/swirl-components/p-92b0a462.entry.js +1 -0
  770. package/dist/swirl-components/p-94cefacc.entry.js +1 -0
  771. package/dist/swirl-components/{p-c9307120.entry.js → p-99ba3b0c.entry.js} +1 -1
  772. package/dist/swirl-components/{p-c63c0897.entry.js → p-9d8e7ff0.entry.js} +1 -1
  773. package/dist/swirl-components/{p-d2311589.entry.js → p-9d94f15b.entry.js} +1 -1
  774. package/dist/swirl-components/p-9dce0e50.entry.js +1 -0
  775. package/dist/swirl-components/p-9f24f03d.entry.js +1 -0
  776. package/dist/swirl-components/{p-67626481.entry.js → p-a0c73040.entry.js} +1 -1
  777. package/dist/swirl-components/p-a0e0322a.entry.js +1 -0
  778. package/dist/swirl-components/p-a6c15dd2.entry.js +1 -0
  779. package/dist/swirl-components/{p-99244721.entry.js → p-a8fde9b6.entry.js} +1 -1
  780. package/dist/swirl-components/{p-d730ab29.entry.js → p-aba143bd.entry.js} +1 -1
  781. package/dist/swirl-components/p-ada769a2.entry.js +1 -0
  782. package/dist/swirl-components/{p-3991c596.entry.js → p-aebd2770.entry.js} +1 -1
  783. package/dist/swirl-components/{p-8ee094ca.entry.js → p-b40d02ab.entry.js} +1 -1
  784. package/dist/swirl-components/{p-91039432.entry.js → p-b5886f1e.entry.js} +1 -1
  785. package/dist/swirl-components/{p-49abf88c.entry.js → p-b5bff846.entry.js} +1 -1
  786. package/dist/swirl-components/{p-4e08d391.entry.js → p-b73f46e9.entry.js} +1 -1
  787. package/dist/swirl-components/{p-898341d1.entry.js → p-bb664758.entry.js} +1 -1
  788. package/dist/swirl-components/{p-32c2d812.entry.js → p-bbc4dfae.entry.js} +1 -1
  789. package/dist/swirl-components/p-bc1985c0.entry.js +1 -0
  790. package/dist/swirl-components/p-c0036f1f.entry.js +1 -0
  791. package/dist/swirl-components/p-c00ec508.entry.js +1 -0
  792. package/dist/swirl-components/{p-297800ad.entry.js → p-c089a86f.entry.js} +1 -1
  793. package/dist/swirl-components/p-c1119f03.entry.js +1 -0
  794. package/dist/swirl-components/{p-38d22e69.entry.js → p-c1407ccd.entry.js} +1 -1
  795. package/dist/swirl-components/{p-d16f5f72.entry.js → p-c1afbdd8.entry.js} +1 -1
  796. package/dist/swirl-components/p-c1d740a2.entry.js +1 -0
  797. package/dist/swirl-components/p-c3a1b027.entry.js +1 -0
  798. package/dist/swirl-components/p-c3badef7.entry.js +1 -0
  799. package/dist/swirl-components/{p-d78eb6d8.entry.js → p-c4f0b6bd.entry.js} +1 -1
  800. package/dist/swirl-components/p-c6902302.entry.js +1 -0
  801. package/dist/swirl-components/p-c7326b88.entry.js +1 -0
  802. package/dist/swirl-components/p-c783221d.entry.js +1 -0
  803. package/dist/swirl-components/{p-5af19090.entry.js → p-c81bd519.entry.js} +1 -1
  804. package/dist/swirl-components/{p-33e363ed.entry.js → p-cb7bca01.entry.js} +1 -1
  805. package/dist/swirl-components/p-cddec2c8.entry.js +1 -0
  806. package/dist/swirl-components/p-cef24ae4.entry.js +1 -0
  807. package/dist/swirl-components/{p-7a1181b5.entry.js → p-d02acd75.entry.js} +1 -1
  808. package/dist/swirl-components/p-d20dbf47.entry.js +1 -0
  809. package/dist/swirl-components/{p-20ac0472.entry.js → p-d3243268.entry.js} +1 -1
  810. package/dist/swirl-components/p-d51a5f4f.entry.js +1 -0
  811. package/dist/swirl-components/{p-941e7960.entry.js → p-d5b02a31.entry.js} +1 -1
  812. package/dist/swirl-components/{p-3310a6e2.entry.js → p-d82fce3d.entry.js} +1 -1
  813. package/dist/swirl-components/{p-634e09ad.entry.js → p-d8c4dfb3.entry.js} +1 -1
  814. package/dist/swirl-components/{p-2aaeb1e6.entry.js → p-ddb3b371.entry.js} +1 -1
  815. package/dist/swirl-components/p-ddd49304.entry.js +1 -0
  816. package/dist/swirl-components/{p-043d093e.entry.js → p-e0193bd5.entry.js} +1 -1
  817. package/dist/swirl-components/p-e1abf6d5.entry.js +1 -0
  818. package/dist/swirl-components/{p-5e45f6dc.entry.js → p-e407f7c4.entry.js} +1 -1
  819. package/dist/swirl-components/{p-acd8fa1d.entry.js → p-e4177f2f.entry.js} +1 -1
  820. package/dist/swirl-components/p-e60c8c01.entry.js +1 -0
  821. package/dist/swirl-components/p-e89d3b8c.entry.js +1 -0
  822. package/dist/swirl-components/p-e8bebe03.entry.js +1 -0
  823. package/dist/swirl-components/p-e8f693b7.entry.js +1 -0
  824. package/dist/swirl-components/{p-ed56aa85.entry.js → p-ec21cd3f.entry.js} +1 -1
  825. package/dist/swirl-components/{p-1339648a.entry.js → p-ec750d72.entry.js} +1 -1
  826. package/dist/swirl-components/{p-4268041a.entry.js → p-ed5bdc5c.entry.js} +1 -1
  827. package/dist/swirl-components/{p-4d7dcfee.entry.js → p-eed748e6.entry.js} +1 -1
  828. package/dist/swirl-components/{p-0d66f638.entry.js → p-ef58fc1e.entry.js} +1 -1
  829. package/dist/swirl-components/{p-d15994cb.entry.js → p-f4b96d3b.entry.js} +1 -1
  830. package/dist/swirl-components/{p-92709d5b.entry.js → p-f573b3f3.entry.js} +1 -1
  831. package/dist/swirl-components/p-f5c1afb6.entry.js +1 -0
  832. package/dist/swirl-components/{p-38d67d0e.entry.js → p-f828f836.entry.js} +1 -1
  833. package/dist/swirl-components/{p-88abc2db.entry.js → p-fa67dbce.entry.js} +1 -1
  834. package/dist/swirl-components/p-fbd4380b.entry.js +1 -0
  835. package/dist/swirl-components/{p-dbd1b662.entry.js → p-fc65574b.entry.js} +1 -1
  836. package/dist/swirl-components/{p-6043df71.entry.js → p-fe82f579.entry.js} +1 -1
  837. package/dist/swirl-components/{p-ebc078da.entry.js → p-feda757e.entry.js} +1 -1
  838. package/dist/swirl-components/p-ff161795.entry.js +1 -0
  839. package/dist/swirl-components/swirl-components.css +11 -1
  840. package/dist/swirl-components/swirl-components.esm.js +1 -1
  841. package/dist/types/components/swirl-action-list-item/swirl-action-list-item.d.ts +2 -2
  842. package/dist/types/components/swirl-app-layout/swirl-app-layout.d.ts +2 -2
  843. package/dist/types/components/swirl-autocomplete/swirl-autocomplete.d.ts +3 -2
  844. package/dist/types/components/swirl-avatar/swirl-avatar.d.ts +4 -4
  845. package/dist/types/components/swirl-badge/swirl-badge.d.ts +3 -3
  846. package/dist/types/components/swirl-banner/swirl-banner.d.ts +2 -2
  847. package/dist/types/components/swirl-box/swirl-box.d.ts +2 -2
  848. package/dist/types/components/swirl-button/swirl-button.d.ts +5 -5
  849. package/dist/types/components/swirl-button-group/swirl-button-group.d.ts +1 -1
  850. package/dist/types/components/swirl-checkbox/swirl-checkbox.d.ts +1 -1
  851. package/dist/types/components/swirl-chip/swirl-chip.d.ts +1 -1
  852. package/dist/types/components/swirl-date-input/swirl-date-input.d.ts +6 -3
  853. package/dist/types/components/swirl-date-picker/swirl-date-picker.d.ts +6 -10
  854. package/dist/types/components/swirl-date-picker/swirl-date-picker.stories.d.ts +0 -7
  855. package/dist/types/components/swirl-dialog/swirl-dialog.d.ts +1 -1
  856. package/dist/types/components/swirl-file-viewer/viewers/swirl-file-viewer-pdf/swirl-file-viewer-pdf.d.ts +1 -1
  857. package/dist/types/components/swirl-form-control/swirl-form-control.d.ts +2 -0
  858. package/dist/types/components/swirl-form-group/swirl-form-group.d.ts +1 -1
  859. package/dist/types/components/swirl-heading/swirl-heading.d.ts +8 -3
  860. package/dist/types/components/swirl-heading/swirl-heading.stories.d.ts +5 -0
  861. package/dist/types/components/swirl-icon/icons/swirl-icon-drag-handle.d.ts +5 -0
  862. package/dist/types/components/swirl-icon/swirl-icon.types.d.ts +1 -1
  863. package/dist/types/components/swirl-inline-error/swirl-inline-error.d.ts +1 -1
  864. package/dist/types/components/swirl-link/swirl-link.d.ts +1 -1
  865. package/dist/types/components/swirl-option-list/swirl-option-list.d.ts +21 -0
  866. package/dist/types/components/swirl-option-list-item/swirl-option-list-item.d.ts +9 -1
  867. package/dist/types/components/swirl-option-list-item/swirl-option-list-item.stories.d.ts +8 -0
  868. package/dist/types/components/swirl-pagination/swirl-pagination.d.ts +1 -1
  869. package/dist/types/components/swirl-popover/swirl-popover.d.ts +1 -1
  870. package/dist/types/components/swirl-progress-indicator/swirl-progress-indicator.d.ts +2 -2
  871. package/dist/types/components/swirl-radio/swirl-radio.d.ts +1 -1
  872. package/dist/types/components/swirl-select/swirl-select.d.ts +2 -1
  873. package/dist/types/components/swirl-skeleton-box/swirl-skeleton-box.d.ts +9 -0
  874. package/dist/types/components/swirl-skeleton-box/swirl-skeleton-box.stories.d.ts +13 -0
  875. package/dist/types/components/swirl-skeleton-text/swirl-skeleton-text.d.ts +7 -0
  876. package/dist/types/components/swirl-skeleton-text/swirl-skeleton-text.stories.d.ts +13 -0
  877. package/dist/types/components/swirl-spinner/swirl-spinner.d.ts +1 -1
  878. package/dist/types/components/swirl-stack/swirl-stack.d.ts +4 -4
  879. package/dist/types/components/swirl-switch/swirl-switch.d.ts +1 -1
  880. package/dist/types/components/swirl-table-column/swirl-table-column.d.ts +1 -1
  881. package/dist/types/components/swirl-tag/swirl-tag.d.ts +1 -1
  882. package/dist/types/components/swirl-text/swirl-text.d.ts +11 -5
  883. package/dist/types/components/swirl-text/swirl-text.stories.d.ts +5 -0
  884. package/dist/types/components/swirl-text-input/swirl-text-input.d.ts +3 -2
  885. package/dist/types/components/swirl-theme-provider/swirl-theme-provider.d.ts +5 -5
  886. package/dist/types/components/swirl-thumbnail/swirl-thumbnail.d.ts +2 -2
  887. package/dist/types/components/swirl-toast/swirl-toast.d.ts +1 -1
  888. package/dist/types/components/swirl-toast-provider/swirl-toast-provider.d.ts +2 -2
  889. package/dist/types/components/swirl-tooltip/swirl-tooltip.d.ts +1 -1
  890. package/dist/types/components.d.ts +151 -13
  891. package/dist/types/index.d.ts +2 -0
  892. package/dist/types/prototypes/file-manager/file-manager.d.ts +2 -2
  893. package/dist/types/stencil-public-runtime.d.ts +91 -19
  894. package/dist/types/utils.d.ts +1 -0
  895. package/dist/typings.d.ts +1 -0
  896. package/loader/index.d.ts +9 -0
  897. package/loader/package.json +1 -0
  898. package/package.json +27 -15
  899. package/vscode-data.json +166 -0
  900. package/dist/cjs/swirl-icon-check-small_3.cjs.entry.js +0 -261
  901. package/dist/esm/_commonjsHelpers-44457d8d.js +0 -36
  902. package/dist/esm/swirl-icon-check-small_3.entry.js +0 -255
  903. package/dist/swirl-components/p-0206d806.entry.js +0 -1
  904. package/dist/swirl-components/p-06e76536.entry.js +0 -1
  905. package/dist/swirl-components/p-0cb291d0.entry.js +0 -1
  906. package/dist/swirl-components/p-0dcba8b2.entry.js +0 -1
  907. package/dist/swirl-components/p-0ed40682.entry.js +0 -1
  908. package/dist/swirl-components/p-1133d7f4.entry.js +0 -1
  909. package/dist/swirl-components/p-1253d22b.entry.js +0 -1
  910. package/dist/swirl-components/p-13295f24.entry.js +0 -1
  911. package/dist/swirl-components/p-21267175.entry.js +0 -1
  912. package/dist/swirl-components/p-29e918f4.entry.js +0 -36
  913. package/dist/swirl-components/p-2a9cacb2.entry.js +0 -1
  914. package/dist/swirl-components/p-30740007.entry.js +0 -1
  915. package/dist/swirl-components/p-31943bc0.entry.js +0 -1
  916. package/dist/swirl-components/p-31f9bc42.entry.js +0 -1
  917. package/dist/swirl-components/p-36573727.entry.js +0 -1
  918. package/dist/swirl-components/p-4181aa7a.entry.js +0 -1
  919. package/dist/swirl-components/p-4a16e7e1.entry.js +0 -1
  920. package/dist/swirl-components/p-4af06a9d.entry.js +0 -1
  921. package/dist/swirl-components/p-4f04a176.entry.js +0 -1
  922. package/dist/swirl-components/p-51097641.entry.js +0 -1
  923. package/dist/swirl-components/p-5612f03c.entry.js +0 -1
  924. package/dist/swirl-components/p-59bfb6f7.entry.js +0 -1
  925. package/dist/swirl-components/p-6272f11a.entry.js +0 -1
  926. package/dist/swirl-components/p-659b4fcb.entry.js +0 -1
  927. package/dist/swirl-components/p-6baff764.entry.js +0 -1
  928. package/dist/swirl-components/p-6f039422.entry.js +0 -1
  929. package/dist/swirl-components/p-708ea5cf.entry.js +0 -1
  930. package/dist/swirl-components/p-733abfbd.entry.js +0 -1
  931. package/dist/swirl-components/p-745ae10f.entry.js +0 -1
  932. package/dist/swirl-components/p-7602ab40.entry.js +0 -1
  933. package/dist/swirl-components/p-76e4350f.entry.js +0 -1
  934. package/dist/swirl-components/p-7a00efe8.entry.js +0 -1
  935. package/dist/swirl-components/p-7c514ca1.entry.js +0 -1
  936. package/dist/swirl-components/p-7f642be8.entry.js +0 -1
  937. package/dist/swirl-components/p-8157c96f.entry.js +0 -1
  938. package/dist/swirl-components/p-96ee66e7.entry.js +0 -1
  939. package/dist/swirl-components/p-9a74850d.entry.js +0 -1
  940. package/dist/swirl-components/p-9fe00e8a.js +0 -2
  941. package/dist/swirl-components/p-a0a3e5d3.entry.js +0 -1
  942. package/dist/swirl-components/p-a333b07d.entry.js +0 -1
  943. package/dist/swirl-components/p-a5497705.entry.js +0 -1
  944. package/dist/swirl-components/p-a61783f1.entry.js +0 -1
  945. package/dist/swirl-components/p-a76e4ffc.entry.js +0 -1
  946. package/dist/swirl-components/p-bd4b3edf.entry.js +0 -1
  947. package/dist/swirl-components/p-c0402092.entry.js +0 -1
  948. package/dist/swirl-components/p-c45a50a2.entry.js +0 -1
  949. package/dist/swirl-components/p-cbd8f173.entry.js +0 -1
  950. package/dist/swirl-components/p-d09dc70d.entry.js +0 -7
  951. package/dist/swirl-components/p-d3d722dc.js +0 -7
  952. package/dist/swirl-components/p-d46f437e.entry.js +0 -1
  953. package/dist/swirl-components/p-d97d183f.js +0 -1
  954. package/dist/swirl-components/p-e0aca739.entry.js +0 -1
  955. package/dist/swirl-components/p-e8bb09e8.js +0 -1
  956. package/dist/swirl-components/p-ea5e12d7.entry.js +0 -1
  957. package/dist/swirl-components/p-f06a85d3.entry.js +0 -1
  958. package/dist/swirl-components/p-f17a9780.entry.js +0 -1
  959. package/dist/swirl-components/p-f2763bd6.entry.js +0 -1
  960. package/dist/swirl-components/p-fa9e7b73.entry.js +0 -1
  961. package/dist/swirl-components/p-fb50f7b6.entry.js +0 -1
@@ -1,5 +1,13 @@
1
1
  const NAMESPACE = 'swirl-components';
2
2
 
3
+ /**
4
+ * Virtual DOM patching algorithm based on Snabbdom by
5
+ * Simon Friis Vindum (@paldepind)
6
+ * Licensed under the MIT License
7
+ * https://github.com/snabbdom/snabbdom/blob/master/LICENSE
8
+ *
9
+ * Modified for Stencil's renderer and slot projection
10
+ */
3
11
  let scopeId;
4
12
  let contentRef;
5
13
  let hostTagName;
@@ -8,63 +16,6 @@ let checkSlotFallbackVisibility = false;
8
16
  let checkSlotRelocate = false;
9
17
  let isSvgMode = false;
10
18
  let queuePending = false;
11
- const win = typeof window !== 'undefined' ? window : {};
12
- const doc = win.document || { head: {} };
13
- const plt = {
14
- $flags$: 0,
15
- $resourcesUrl$: '',
16
- jmp: (h) => h(),
17
- raf: (h) => requestAnimationFrame(h),
18
- ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),
19
- rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
20
- ce: (eventName, opts) => new CustomEvent(eventName, opts),
21
- };
22
- const promiseResolve = (v) => Promise.resolve(v);
23
- const supportsConstructableStylesheets = /*@__PURE__*/ (() => {
24
- try {
25
- new CSSStyleSheet();
26
- return typeof new CSSStyleSheet().replaceSync === 'function';
27
- }
28
- catch (e) { }
29
- return false;
30
- })()
31
- ;
32
- const addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
33
- if (listeners) {
34
- listeners.map(([flags, name, method]) => {
35
- const target = getHostListenerTarget(elm, flags) ;
36
- const handler = hostListenerProxy(hostRef, method);
37
- const opts = hostListenerOpts(flags);
38
- plt.ael(target, name, handler, opts);
39
- (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
40
- });
41
- }
42
- };
43
- const hostListenerProxy = (hostRef, methodName) => (ev) => {
44
- try {
45
- {
46
- if (hostRef.$flags$ & 256 /* isListenReady */) {
47
- // instance is ready, let's call it's member method for this event
48
- hostRef.$lazyInstance$[methodName](ev);
49
- }
50
- else {
51
- (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
52
- }
53
- }
54
- }
55
- catch (e) {
56
- consoleError(e);
57
- }
58
- };
59
- const getHostListenerTarget = (elm, flags) => {
60
- if (flags & 8 /* TargetWindow */)
61
- return win;
62
- return elm;
63
- };
64
- // prettier-ignore
65
- const hostListenerOpts = (flags) => (flags & 2 /* Capture */) !== 0;
66
- const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
67
- const XLINK_NS = 'http://www.w3.org/1999/xlink';
68
19
  const createTime = (fnName, tagName = '') => {
69
20
  {
70
21
  return () => {
@@ -79,79 +30,8 @@ const uniqueTime = (key, measureText) => {
79
30
  };
80
31
  }
81
32
  };
82
- const rootAppliedStyles = new WeakMap();
83
- const registerStyle = (scopeId, cssText, allowCS) => {
84
- let style = styles.get(scopeId);
85
- if (supportsConstructableStylesheets && allowCS) {
86
- style = (style || new CSSStyleSheet());
87
- if (typeof style === 'string') {
88
- style = cssText;
89
- }
90
- else {
91
- style.replaceSync(cssText);
92
- }
93
- }
94
- else {
95
- style = cssText;
96
- }
97
- styles.set(scopeId, style);
98
- };
99
- const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
100
- let scopeId = getScopeId(cmpMeta);
101
- const style = styles.get(scopeId);
102
- // if an element is NOT connected then getRootNode() will return the wrong root node
103
- // so the fallback is to always use the document for the root node in those cases
104
- styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;
105
- if (style) {
106
- if (typeof style === 'string') {
107
- styleContainerNode = styleContainerNode.head || styleContainerNode;
108
- let appliedStyles = rootAppliedStyles.get(styleContainerNode);
109
- let styleElm;
110
- if (!appliedStyles) {
111
- rootAppliedStyles.set(styleContainerNode, (appliedStyles = new Set()));
112
- }
113
- if (!appliedStyles.has(scopeId)) {
114
- {
115
- {
116
- styleElm = doc.createElement('style');
117
- styleElm.innerHTML = style;
118
- }
119
- styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
120
- }
121
- if (appliedStyles) {
122
- appliedStyles.add(scopeId);
123
- }
124
- }
125
- }
126
- else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
127
- styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
128
- }
129
- }
130
- return scopeId;
131
- };
132
- const attachStyles = (hostRef) => {
133
- const cmpMeta = hostRef.$cmpMeta$;
134
- const elm = hostRef.$hostElement$;
135
- const flags = cmpMeta.$flags$;
136
- const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
137
- const scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
138
- if (flags & 10 /* needsScopedEncapsulation */) {
139
- // only required when we're NOT using native shadow dom (slot)
140
- // or this browser doesn't support native shadow dom
141
- // and this host element was NOT created with SSR
142
- // let's pick out the inner content for slot projection
143
- // create a node to represent where the original
144
- // content was first placed, which is useful later on
145
- // DOM WRITE!!
146
- elm['s-sc'] = scopeId;
147
- elm.classList.add(scopeId + '-h');
148
- if (flags & 2 /* scopedCssEncapsulation */) {
149
- elm.classList.add(scopeId + '-s');
150
- }
151
- }
152
- endAttachStyles();
153
- };
154
- const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
33
+ const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
34
+ const XLINK_NS = 'http://www.w3.org/1999/xlink';
155
35
  /**
156
36
  * Default style mode id
157
37
  */
@@ -171,6 +51,18 @@ const isComplexType = (o) => {
171
51
  o = typeof o;
172
52
  return o === 'object' || o === 'function';
173
53
  };
54
+ /**
55
+ * Helper method for querying a `meta` tag that contains a nonce value
56
+ * out of a DOM's head.
57
+ *
58
+ * @param doc The DOM containing the `head` to query against
59
+ * @returns The content of the meta tag representing the nonce value, or `undefined` if no tag
60
+ * exists or the tag has no content.
61
+ */
62
+ function queryNonceMetaTagContent(doc) {
63
+ var _a, _b, _c;
64
+ return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;
65
+ }
174
66
  /**
175
67
  * Production h() function based on Preact by
176
68
  * Jason Miller (@developit)
@@ -179,7 +71,6 @@ const isComplexType = (o) => {
179
71
  *
180
72
  * Modified for Stencil's compiler and vdom
181
73
  */
182
- // const stack: any[] = [];
183
74
  // export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, child?: d.ChildType): d.VNode;
184
75
  // export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;
185
76
  const h = (nodeName, vnodeData, ...children) => {
@@ -249,6 +140,14 @@ const h = (nodeName, vnodeData, ...children) => {
249
140
  }
250
141
  return vnode;
251
142
  };
143
+ /**
144
+ * A utility function for creating a virtual DOM node from a tag and some
145
+ * possible text content.
146
+ *
147
+ * @param tag the tag for this element
148
+ * @param text possible text content for the node
149
+ * @returns a newly-minted virtual DOM node
150
+ */
252
151
  const newVNode = (tag, text) => {
253
152
  const vnode = {
254
153
  $flags$: 0,
@@ -269,11 +168,31 @@ const newVNode = (tag, text) => {
269
168
  return vnode;
270
169
  };
271
170
  const Host = {};
171
+ /**
172
+ * Check whether a given node is a Host node or not
173
+ *
174
+ * @param node the virtual DOM node to check
175
+ * @returns whether it's a Host node or not
176
+ */
272
177
  const isHost = (node) => node && node.$tag$ === Host;
178
+ /**
179
+ * Implementation of {@link d.FunctionalUtilities} for Stencil's VDom.
180
+ *
181
+ * Note that these functions convert from {@link d.VNode} to
182
+ * {@link d.ChildNode} to give functional component developers a friendly
183
+ * interface.
184
+ */
273
185
  const vdomFnUtils = {
274
186
  forEach: (children, cb) => children.map(convertToPublic).forEach(cb),
275
187
  map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate),
276
188
  };
189
+ /**
190
+ * Convert a {@link d.VNode} to a {@link d.ChildNode} in order to present a
191
+ * friendlier public interface (hence, 'convertToPublic').
192
+ *
193
+ * @param node the virtual DOM node to convert
194
+ * @returns a converted child node
195
+ */
277
196
  const convertToPublic = (node) => ({
278
197
  vattrs: node.$attrs$,
279
198
  vchildren: node.$children$,
@@ -282,6 +201,15 @@ const convertToPublic = (node) => ({
282
201
  vtag: node.$tag$,
283
202
  vtext: node.$text$,
284
203
  });
204
+ /**
205
+ * Convert a {@link d.ChildNode} back to an equivalent {@link d.VNode} in
206
+ * order to use the resulting object in the virtual DOM. The initial object was
207
+ * likely created as part of presenting a public API, so converting it back
208
+ * involved making it 'private' again (hence, `convertToPrivate`).
209
+ *
210
+ * @param node the child node to convert
211
+ * @returns a converted virtual DOM node
212
+ */
285
213
  const convertToPrivate = (node) => {
286
214
  if (typeof node.vtag === 'function') {
287
215
  const vnodeData = Object.assign({}, node.vattrs);
@@ -300,6 +228,160 @@ const convertToPrivate = (node) => {
300
228
  vnode.$name$ = node.vname;
301
229
  return vnode;
302
230
  };
231
+ /**
232
+ * Parse a new property value for a given property type.
233
+ *
234
+ * While the prop value can reasonably be expected to be of `any` type as far as TypeScript's type checker is concerned,
235
+ * it is not safe to assume that the string returned by evaluating `typeof propValue` matches:
236
+ * 1. `any`, the type given to `propValue` in the function signature
237
+ * 2. the type stored from `propType`.
238
+ *
239
+ * This function provides the capability to parse/coerce a property's value to potentially any other JavaScript type.
240
+ *
241
+ * Property values represented in TSX preserve their type information. In the example below, the number 0 is passed to
242
+ * a component. This `propValue` will preserve its type information (`typeof propValue === 'number'`). Note that is
243
+ * based on the type of the value being passed in, not the type declared of the class member decorated with `@Prop`.
244
+ * ```tsx
245
+ * <my-cmp prop-val={0}></my-cmp>
246
+ * ```
247
+ *
248
+ * HTML prop values on the other hand, will always a string
249
+ *
250
+ * @param propValue the new value to coerce to some type
251
+ * @param propType the type of the prop, expressed as a binary number
252
+ * @returns the parsed/coerced value
253
+ */
254
+ const parsePropertyValue = (propValue, propType) => {
255
+ // ensure this value is of the correct prop type
256
+ if (propValue != null && !isComplexType(propValue)) {
257
+ if (propType & 4 /* MEMBER_FLAGS.Boolean */) {
258
+ // per the HTML spec, any string value means it is a boolean true value
259
+ // but we'll cheat here and say that the string "false" is the boolean false
260
+ return propValue === 'false' ? false : propValue === '' || !!propValue;
261
+ }
262
+ if (propType & 2 /* MEMBER_FLAGS.Number */) {
263
+ // force it to be a number
264
+ return parseFloat(propValue);
265
+ }
266
+ if (propType & 1 /* MEMBER_FLAGS.String */) {
267
+ // could have been passed as a number or boolean
268
+ // but we still want it as a string
269
+ return String(propValue);
270
+ }
271
+ // redundant return here for better minification
272
+ return propValue;
273
+ }
274
+ // not sure exactly what type we want
275
+ // so no need to change to a different type
276
+ return propValue;
277
+ };
278
+ const getElement = (ref) => (getHostRef(ref).$hostElement$ );
279
+ const createEvent = (ref, name, flags) => {
280
+ const elm = getElement(ref);
281
+ return {
282
+ emit: (detail) => {
283
+ return emitEvent(elm, name, {
284
+ bubbles: !!(flags & 4 /* EVENT_FLAGS.Bubbles */),
285
+ composed: !!(flags & 2 /* EVENT_FLAGS.Composed */),
286
+ cancelable: !!(flags & 1 /* EVENT_FLAGS.Cancellable */),
287
+ detail,
288
+ });
289
+ },
290
+ };
291
+ };
292
+ /**
293
+ * Helper function to create & dispatch a custom Event on a provided target
294
+ * @param elm the target of the Event
295
+ * @param name the name to give the custom Event
296
+ * @param opts options for configuring a custom Event
297
+ * @returns the custom Event
298
+ */
299
+ const emitEvent = (elm, name, opts) => {
300
+ const ev = plt.ce(name, opts);
301
+ elm.dispatchEvent(ev);
302
+ return ev;
303
+ };
304
+ const rootAppliedStyles = /*@__PURE__*/ new WeakMap();
305
+ const registerStyle = (scopeId, cssText, allowCS) => {
306
+ let style = styles.get(scopeId);
307
+ if (supportsConstructableStylesheets && allowCS) {
308
+ style = (style || new CSSStyleSheet());
309
+ if (typeof style === 'string') {
310
+ style = cssText;
311
+ }
312
+ else {
313
+ style.replaceSync(cssText);
314
+ }
315
+ }
316
+ else {
317
+ style = cssText;
318
+ }
319
+ styles.set(scopeId, style);
320
+ };
321
+ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
322
+ var _a;
323
+ let scopeId = getScopeId(cmpMeta);
324
+ const style = styles.get(scopeId);
325
+ // if an element is NOT connected then getRootNode() will return the wrong root node
326
+ // so the fallback is to always use the document for the root node in those cases
327
+ styleContainerNode = styleContainerNode.nodeType === 11 /* NODE_TYPE.DocumentFragment */ ? styleContainerNode : doc;
328
+ if (style) {
329
+ if (typeof style === 'string') {
330
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
331
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
332
+ let styleElm;
333
+ if (!appliedStyles) {
334
+ rootAppliedStyles.set(styleContainerNode, (appliedStyles = new Set()));
335
+ }
336
+ if (!appliedStyles.has(scopeId)) {
337
+ {
338
+ // TODO(STENCIL-659): Remove code implementing the CSS variable shim
339
+ {
340
+ styleElm = doc.createElement('style');
341
+ styleElm.innerHTML = style;
342
+ }
343
+ // Apply CSP nonce to the style tag if it exists
344
+ const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
345
+ if (nonce != null) {
346
+ styleElm.setAttribute('nonce', nonce);
347
+ }
348
+ styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
349
+ }
350
+ if (appliedStyles) {
351
+ appliedStyles.add(scopeId);
352
+ }
353
+ }
354
+ }
355
+ else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
356
+ styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
357
+ }
358
+ }
359
+ return scopeId;
360
+ };
361
+ const attachStyles = (hostRef) => {
362
+ const cmpMeta = hostRef.$cmpMeta$;
363
+ const elm = hostRef.$hostElement$;
364
+ const flags = cmpMeta.$flags$;
365
+ const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
366
+ const scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
367
+ // TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
368
+ if (flags & 10 /* CMP_FLAGS.needsScopedEncapsulation */) {
369
+ // only required when we're NOT using native shadow dom (slot)
370
+ // or this browser doesn't support native shadow dom
371
+ // and this host element was NOT created with SSR
372
+ // let's pick out the inner content for slot projection
373
+ // create a node to represent where the original
374
+ // content was first placed, which is useful later on
375
+ // DOM WRITE!!
376
+ elm['s-sc'] = scopeId;
377
+ elm.classList.add(scopeId + '-h');
378
+ if (flags & 2 /* CMP_FLAGS.scopedCssEncapsulation */) {
379
+ elm.classList.add(scopeId + '-s');
380
+ }
381
+ }
382
+ endAttachStyles();
383
+ };
384
+ const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
303
385
  /**
304
386
  * Production setAccessor() function based on Preact by
305
387
  * Jason Miller (@developit)
@@ -436,7 +518,7 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
436
518
  }
437
519
  }
438
520
  }
439
- else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {
521
+ else if ((!isProp || flags & 4 /* VNODE_FLAGS.isHost */ || isSvg) && !isComplex) {
440
522
  newValue = newValue === true ? '' : newValue;
441
523
  if (xlink) {
442
524
  elm.setAttributeNS(XLINK_NS, memberName, newValue);
@@ -454,7 +536,7 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
454
536
  // if the element passed in is a shadow root, which is a document fragment
455
537
  // then we want to be adding attrs/props to the shadow root's "host" element
456
538
  // if it's not a shadow root, then we add attrs/props to the same element
457
- const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host
539
+ const elm = newVnode.$elm$.nodeType === 11 /* NODE_TYPE.DocumentFragment */ && newVnode.$elm$.host
458
540
  ? newVnode.$elm$.host
459
541
  : newVnode.$elm$;
460
542
  const oldVnodeAttrs = (oldVnode && oldVnode.$attrs$) || EMPTY_OBJ;
@@ -472,6 +554,16 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
472
554
  setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);
473
555
  }
474
556
  };
557
+ /**
558
+ * Create a DOM Node corresponding to one of the children of a given VNode.
559
+ *
560
+ * @param oldParentVNode the parent VNode from the previous render
561
+ * @param newParentVNode the parent VNode from the current render
562
+ * @param childIndex the index of the VNode, in the _new_ parent node's
563
+ * children, for which we will create a new DOM node
564
+ * @param parentElm the parent DOM node which our new node will be a child of
565
+ * @returns the newly created node
566
+ */
475
567
  const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
476
568
  // tslint:disable-next-line: prefer-const
477
569
  const newVNode = newParentVNode.$children$[childIndex];
@@ -489,16 +581,16 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
489
581
  }
490
582
  newVNode.$flags$ |= newVNode.$children$
491
583
  ? // slot element has fallback content
492
- 2 /* isSlotFallback */
584
+ 2 /* VNODE_FLAGS.isSlotFallback */
493
585
  : // slot element does not have fallback content
494
- 1 /* isSlotReference */;
586
+ 1 /* VNODE_FLAGS.isSlotReference */;
495
587
  }
496
588
  }
497
589
  if (newVNode.$text$ !== null) {
498
590
  // create text node
499
591
  elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
500
592
  }
501
- else if (newVNode.$flags$ & 1 /* isSlotReference */) {
593
+ else if (newVNode.$flags$ & 1 /* VNODE_FLAGS.isSlotReference */) {
502
594
  // create a slot reference node
503
595
  elm = newVNode.$elm$ =
504
596
  doc.createTextNode('');
@@ -508,7 +600,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
508
600
  isSvgMode = newVNode.$tag$ === 'svg';
509
601
  }
510
602
  // create element
511
- elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$flags$ & 2 /* isSlotFallback */
603
+ elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$flags$ & 2 /* VNODE_FLAGS.isSlotFallback */
512
604
  ? 'slot-fb'
513
605
  : newVNode.$tag$)
514
606
  );
@@ -548,7 +640,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
548
640
  }
549
641
  {
550
642
  elm['s-hn'] = hostTagName;
551
- if (newVNode.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
643
+ if (newVNode.$flags$ & (2 /* VNODE_FLAGS.isSlotFallback */ | 1 /* VNODE_FLAGS.isSlotReference */)) {
552
644
  // remember the content reference comment
553
645
  elm['s-sr'] = true;
554
646
  // remember the content reference comment
@@ -567,7 +659,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
567
659
  return elm;
568
660
  };
569
661
  const putBackInOriginalLocation = (parentElm, recursive) => {
570
- plt.$flags$ |= 1 /* isTmpDisconnected */;
662
+ plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
571
663
  const oldSlotChildNodes = parentElm.childNodes;
572
664
  for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
573
665
  const childNode = oldSlotChildNodes[i];
@@ -588,8 +680,23 @@ const putBackInOriginalLocation = (parentElm, recursive) => {
588
680
  putBackInOriginalLocation(childNode, recursive);
589
681
  }
590
682
  }
591
- plt.$flags$ &= ~1 /* isTmpDisconnected */;
683
+ plt.$flags$ &= ~1 /* PLATFORM_FLAGS.isTmpDisconnected */;
592
684
  };
685
+ /**
686
+ * Create DOM nodes corresponding to a list of {@link d.Vnode} objects and
687
+ * add them to the DOM in the appropriate place.
688
+ *
689
+ * @param parentElm the DOM node which should be used as a parent for the new
690
+ * DOM nodes
691
+ * @param before a child of the `parentElm` which the new children should be
692
+ * inserted before (optional)
693
+ * @param parentVNode the parent virtual DOM node
694
+ * @param vnodes the new child virtual DOM nodes to produce DOM nodes for
695
+ * @param startIdx the index in the child virtual DOM nodes at which to start
696
+ * creating DOM nodes (inclusive)
697
+ * @param endIdx the index in the child virtual DOM nodes at which to stop
698
+ * creating DOM nodes (inclusive)
699
+ */
593
700
  const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
594
701
  let containerElm = ((parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);
595
702
  let childNode;
@@ -606,6 +713,19 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
606
713
  }
607
714
  }
608
715
  };
716
+ /**
717
+ * Remove the DOM elements corresponding to a list of {@link d.VNode} objects.
718
+ * This can be used to, for instance, clean up after a list of children which
719
+ * should no longer be shown.
720
+ *
721
+ * This function also handles some of Stencil's slot relocation logic.
722
+ *
723
+ * @param vnodes a list of virtual DOM nodes to remove
724
+ * @param startIdx the index at which to start removing nodes (inclusive)
725
+ * @param endIdx the index at which to stop removing nodes (inclusive)
726
+ * @param vnode a VNode
727
+ * @param elm an element
728
+ */
609
729
  const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
610
730
  for (; startIdx <= endIdx; ++startIdx) {
611
731
  if ((vnode = vnodes[startIdx])) {
@@ -630,6 +750,74 @@ const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
630
750
  }
631
751
  }
632
752
  };
753
+ /**
754
+ * Reconcile the children of a new VNode with the children of an old VNode by
755
+ * traversing the two collections of children, identifying nodes that are
756
+ * conserved or changed, calling out to `patch` to make any necessary
757
+ * updates to the DOM, and rearranging DOM nodes as needed.
758
+ *
759
+ * The algorithm for reconciling children works by analyzing two 'windows' onto
760
+ * the two arrays of children (`oldCh` and `newCh`). We keep track of the
761
+ * 'windows' by storing start and end indices and references to the
762
+ * corresponding array entries. Initially the two 'windows' are basically equal
763
+ * to the entire array, but we progressively narrow the windows until there are
764
+ * no children left to update by doing the following:
765
+ *
766
+ * 1. Skip any `null` entries at the beginning or end of the two arrays, so
767
+ * that if we have an initial array like the following we'll end up dealing
768
+ * only with a window bounded by the highlighted elements:
769
+ *
770
+ * [null, null, VNode1 , ... , VNode2, null, null]
771
+ * ^^^^^^ ^^^^^^
772
+ *
773
+ * 2. Check to see if the elements at the head and tail positions are equal
774
+ * across the windows. This will basically detect elements which haven't
775
+ * been added, removed, or changed position, i.e. if you had the following
776
+ * VNode elements (represented as HTML):
777
+ *
778
+ * oldVNode: `<div><p><span>HEY</span></p></div>`
779
+ * newVNode: `<div><p><span>THERE</span></p></div>`
780
+ *
781
+ * Then when comparing the children of the `<div>` tag we check the equality
782
+ * of the VNodes corresponding to the `<p>` tags and, since they are the
783
+ * same tag in the same position, we'd be able to avoid completely
784
+ * re-rendering the subtree under them with a new DOM element and would just
785
+ * call out to `patch` to handle reconciling their children and so on.
786
+ *
787
+ * 3. Check, for both windows, to see if the element at the beginning of the
788
+ * window corresponds to the element at the end of the other window. This is
789
+ * a heuristic which will let us identify _some_ situations in which
790
+ * elements have changed position, for instance it _should_ detect that the
791
+ * children nodes themselves have not changed but merely moved in the
792
+ * following example:
793
+ *
794
+ * oldVNode: `<div><element-one /><element-two /></div>`
795
+ * newVNode: `<div><element-two /><element-one /></div>`
796
+ *
797
+ * If we find cases like this then we also need to move the concrete DOM
798
+ * elements corresponding to the moved children to write the re-order to the
799
+ * DOM.
800
+ *
801
+ * 4. Finally, if VNodes have the `key` attribute set on them we check for any
802
+ * nodes in the old children which have the same key as the first element in
803
+ * our window on the new children. If we find such a node we handle calling
804
+ * out to `patch`, moving relevant DOM nodes, and so on, in accordance with
805
+ * what we find.
806
+ *
807
+ * Finally, once we've narrowed our 'windows' to the point that either of them
808
+ * collapse (i.e. they have length 0) we then handle any remaining VNode
809
+ * insertion or deletion that needs to happen to get a DOM state that correctly
810
+ * reflects the new child VNodes. If, for instance, after our window on the old
811
+ * children has collapsed we still have more nodes on the new children that
812
+ * we haven't dealt with yet then we need to add them, or if the new children
813
+ * collapse but we still have unhandled _old_ children then we need to make
814
+ * sure the corresponding DOM nodes are removed.
815
+ *
816
+ * @param parentElm the node into which the parent VNode is rendered
817
+ * @param oldCh the old children of the parent node
818
+ * @param newVNode the new VNode which will replace the parent
819
+ * @param newCh the new children of the parent node
820
+ */
633
821
  const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
634
822
  let oldStartIdx = 0;
635
823
  let newStartIdx = 0;
@@ -645,7 +833,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
645
833
  let elmToMove;
646
834
  while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
647
835
  if (oldStartVnode == null) {
648
- // Vnode might have been moved left
836
+ // VNode might have been moved left
649
837
  oldStartVnode = oldCh[++oldStartIdx];
650
838
  }
651
839
  else if (oldEndVnode == null) {
@@ -658,37 +846,100 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
658
846
  newEndVnode = newCh[--newEndIdx];
659
847
  }
660
848
  else if (isSameVnode(oldStartVnode, newStartVnode)) {
849
+ // if the start nodes are the same then we should patch the new VNode
850
+ // onto the old one, and increment our `newStartIdx` and `oldStartIdx`
851
+ // indices to reflect that. We don't need to move any DOM Nodes around
852
+ // since things are matched up in order.
661
853
  patch(oldStartVnode, newStartVnode);
662
854
  oldStartVnode = oldCh[++oldStartIdx];
663
855
  newStartVnode = newCh[++newStartIdx];
664
856
  }
665
857
  else if (isSameVnode(oldEndVnode, newEndVnode)) {
858
+ // likewise, if the end nodes are the same we patch new onto old and
859
+ // decrement our end indices, and also likewise in this case we don't
860
+ // need to move any DOM Nodes.
666
861
  patch(oldEndVnode, newEndVnode);
667
862
  oldEndVnode = oldCh[--oldEndIdx];
668
863
  newEndVnode = newCh[--newEndIdx];
669
864
  }
670
865
  else if (isSameVnode(oldStartVnode, newEndVnode)) {
671
- // Vnode moved right
866
+ // case: "Vnode moved right"
867
+ //
868
+ // We've found that the last node in our window on the new children is
869
+ // the same VNode as the _first_ node in our window on the old children
870
+ // we're dealing with now. Visually, this is the layout of these two
871
+ // nodes:
872
+ //
873
+ // newCh: [..., newStartVnode , ... , newEndVnode , ...]
874
+ // ^^^^^^^^^^^
875
+ // oldCh: [..., oldStartVnode , ... , oldEndVnode , ...]
876
+ // ^^^^^^^^^^^^^
877
+ //
878
+ // In this situation we need to patch `newEndVnode` onto `oldStartVnode`
879
+ // and move the DOM element for `oldStartVnode`.
672
880
  if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
673
881
  putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
674
882
  }
675
883
  patch(oldStartVnode, newEndVnode);
884
+ // We need to move the element for `oldStartVnode` into a position which
885
+ // will be appropriate for `newEndVnode`. For this we can use
886
+ // `.insertBefore` and `oldEndVnode.$elm$.nextSibling`. If there is a
887
+ // sibling for `oldEndVnode.$elm$` then we want to move the DOM node for
888
+ // `oldStartVnode` between `oldEndVnode` and it's sibling, like so:
889
+ //
890
+ // <old-start-node />
891
+ // <some-intervening-node />
892
+ // <old-end-node />
893
+ // <!-- -> <-- `oldStartVnode.$elm$` should be inserted here
894
+ // <next-sibling />
895
+ //
896
+ // If instead `oldEndVnode.$elm$` has no sibling then we just want to put
897
+ // the node for `oldStartVnode` at the end of the children of
898
+ // `parentElm`. Luckily, `Node.nextSibling` will return `null` if there
899
+ // aren't any siblings, and passing `null` to `Node.insertBefore` will
900
+ // append it to the children of the parent element.
676
901
  parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
677
902
  oldStartVnode = oldCh[++oldStartIdx];
678
903
  newEndVnode = newCh[--newEndIdx];
679
904
  }
680
905
  else if (isSameVnode(oldEndVnode, newStartVnode)) {
681
- // Vnode moved left
906
+ // case: "Vnode moved left"
907
+ //
908
+ // We've found that the first node in our window on the new children is
909
+ // the same VNode as the _last_ node in our window on the old children.
910
+ // Visually, this is the layout of these two nodes:
911
+ //
912
+ // newCh: [..., newStartVnode , ... , newEndVnode , ...]
913
+ // ^^^^^^^^^^^^^
914
+ // oldCh: [..., oldStartVnode , ... , oldEndVnode , ...]
915
+ // ^^^^^^^^^^^
916
+ //
917
+ // In this situation we need to patch `newStartVnode` onto `oldEndVnode`
918
+ // (which will handle updating any changed attributes, reconciling their
919
+ // children etc) but we also need to move the DOM node to which
920
+ // `oldEndVnode` corresponds.
682
921
  if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
683
922
  putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
684
923
  }
685
924
  patch(oldEndVnode, newStartVnode);
925
+ // We've already checked above if `oldStartVnode` and `newStartVnode` are
926
+ // the same node, so since we're here we know that they are not. Thus we
927
+ // can move the element for `oldEndVnode` _before_ the element for
928
+ // `oldStartVnode`, leaving `oldStartVnode` to be reconciled in the
929
+ // future.
686
930
  parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);
687
931
  oldEndVnode = oldCh[--oldEndIdx];
688
932
  newStartVnode = newCh[++newStartIdx];
689
933
  }
690
934
  else {
691
- // createKeyToOldIdx
935
+ // Here we do some checks to match up old and new nodes based on the
936
+ // `$key$` attribute, which is set by putting a `key="my-key"` attribute
937
+ // in the JSX for a DOM element in the implementation of a Stencil
938
+ // component.
939
+ //
940
+ // First we check to see if there are any nodes in the array of old
941
+ // children which have the same key as the first node in the new
942
+ // children.
692
943
  idxInOld = -1;
693
944
  {
694
945
  for (i = oldStartIdx; i <= oldEndIdx; ++i) {
@@ -699,23 +950,32 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
699
950
  }
700
951
  }
701
952
  if (idxInOld >= 0) {
953
+ // We found a node in the old children which matches up with the first
954
+ // node in the new children! So let's deal with that
702
955
  elmToMove = oldCh[idxInOld];
703
956
  if (elmToMove.$tag$ !== newStartVnode.$tag$) {
957
+ // the tag doesn't match so we'll need a new DOM element
704
958
  node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld, parentElm);
705
959
  }
706
960
  else {
707
961
  patch(elmToMove, newStartVnode);
962
+ // invalidate the matching old node so that we won't try to update it
963
+ // again later on
708
964
  oldCh[idxInOld] = undefined;
709
965
  node = elmToMove.$elm$;
710
966
  }
711
967
  newStartVnode = newCh[++newStartIdx];
712
968
  }
713
969
  else {
714
- // new element
970
+ // We either didn't find an element in the old children that matches
971
+ // the key of the first new child OR the build is not using `key`
972
+ // attributes at all. In either case we need to create a new element
973
+ // for the new node.
715
974
  node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm);
716
975
  newStartVnode = newCh[++newStartIdx];
717
976
  }
718
977
  if (node) {
978
+ // if we created a new node then handle inserting it to the DOM
719
979
  {
720
980
  parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));
721
981
  }
@@ -723,21 +983,44 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
723
983
  }
724
984
  }
725
985
  if (oldStartIdx > oldEndIdx) {
986
+ // we have some more new nodes to add which don't match up with old nodes
726
987
  addVnodes(parentElm, newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$, newVNode, newCh, newStartIdx, newEndIdx);
727
988
  }
728
989
  else if (newStartIdx > newEndIdx) {
990
+ // there are nodes in the `oldCh` array which no longer correspond to nodes
991
+ // in the new array, so lets remove them (which entails cleaning up the
992
+ // relevant DOM nodes)
729
993
  removeVnodes(oldCh, oldStartIdx, oldEndIdx);
730
994
  }
731
995
  };
732
- const isSameVnode = (vnode1, vnode2) => {
996
+ /**
997
+ * Compare two VNodes to determine if they are the same
998
+ *
999
+ * **NB**: This function is an equality _heuristic_ based on the available
1000
+ * information set on the two VNodes and can be misleading under certain
1001
+ * circumstances. In particular, if the two nodes do not have `key` attrs
1002
+ * (available under `$key$` on VNodes) then the function falls back on merely
1003
+ * checking that they have the same tag.
1004
+ *
1005
+ * So, in other words, if `key` attrs are not set on VNodes which may be
1006
+ * changing order within a `children` array or something along those lines then
1007
+ * we could obtain a false negative and then have to do needless re-rendering
1008
+ * (i.e. we'd say two VNodes aren't equal when in fact they should be).
1009
+ *
1010
+ * @param leftVNode the first VNode to check
1011
+ * @param rightVNode the second VNode to check
1012
+ * @returns whether they're equal or not
1013
+ */
1014
+ const isSameVnode = (leftVNode, rightVNode) => {
733
1015
  // compare if two vnode to see if they're "technically" the same
734
1016
  // need to have the same element tag, and same key to be the same
735
- if (vnode1.$tag$ === vnode2.$tag$) {
736
- if (vnode1.$tag$ === 'slot') {
737
- return vnode1.$name$ === vnode2.$name$;
1017
+ if (leftVNode.$tag$ === rightVNode.$tag$) {
1018
+ if (leftVNode.$tag$ === 'slot') {
1019
+ return leftVNode.$name$ === rightVNode.$name$;
738
1020
  }
1021
+ // this will be set if components in the build have `key` attrs set on them
739
1022
  {
740
- return vnode1.$key$ === vnode2.$key$;
1023
+ return leftVNode.$key$ === rightVNode.$key$;
741
1024
  }
742
1025
  }
743
1026
  return false;
@@ -750,6 +1033,14 @@ const referenceNode = (node) => {
750
1033
  return (node && node['s-ol']) || node;
751
1034
  };
752
1035
  const parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).parentNode;
1036
+ /**
1037
+ * Handle reconciling an outdated VNode with a new one which corresponds to
1038
+ * it. This function handles flushing updates to the DOM and reconciling the
1039
+ * children of the two nodes (if any).
1040
+ *
1041
+ * @param oldVNode an old VNode whose DOM element and children we want to update
1042
+ * @param newVNode a new VNode representing an updated version of the old one
1043
+ */
753
1044
  const patch = (oldVNode, newVNode) => {
754
1045
  const elm = (newVNode.$elm$ = oldVNode.$elm$);
755
1046
  const oldChildren = oldVNode.$children$;
@@ -763,7 +1054,6 @@ const patch = (oldVNode, newVNode) => {
763
1054
  // only add this to the when the compiler sees we're using an svg somewhere
764
1055
  isSvgMode = tag === 'svg' ? true : tag === 'foreignObject' ? false : isSvgMode;
765
1056
  }
766
- // element node
767
1057
  {
768
1058
  if (tag === 'slot')
769
1059
  ;
@@ -776,6 +1066,7 @@ const patch = (oldVNode, newVNode) => {
776
1066
  }
777
1067
  if (oldChildren !== null && newChildren !== null) {
778
1068
  // looks like there's child vnodes for both the old and new vnodes
1069
+ // so we need to call `updateChildren` to reconcile them
779
1070
  updateChildren(elm, oldChildren, newVNode, newChildren);
780
1071
  }
781
1072
  else if (newChildren !== null) {
@@ -816,7 +1107,7 @@ const updateFallbackSlotVisibility = (elm) => {
816
1107
  let nodeType;
817
1108
  for (i = 0, ilen = childNodes.length; i < ilen; i++) {
818
1109
  childNode = childNodes[i];
819
- if (childNode.nodeType === 1 /* ElementNode */) {
1110
+ if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
820
1111
  if (childNode['s-sr']) {
821
1112
  // this is a slot fallback node
822
1113
  // get the slot name for this slot reference node
@@ -828,7 +1119,7 @@ const updateFallbackSlotVisibility = (elm) => {
828
1119
  nodeType = childNodes[j].nodeType;
829
1120
  if (childNodes[j]['s-hn'] !== childNode['s-hn'] || slotNameAttr !== '') {
830
1121
  // this sibling node is from a different component OR is a named fallback slot node
831
- if (nodeType === 1 /* ElementNode */ && slotNameAttr === childNodes[j].getAttribute('slot')) {
1122
+ if (nodeType === 1 /* NODE_TYPE.ElementNode */ && slotNameAttr === childNodes[j].getAttribute('slot')) {
832
1123
  childNode.hidden = true;
833
1124
  break;
834
1125
  }
@@ -837,8 +1128,8 @@ const updateFallbackSlotVisibility = (elm) => {
837
1128
  // this is a default fallback slot node
838
1129
  // any element or text node (with content)
839
1130
  // should hide the default fallback slot node
840
- if (nodeType === 1 /* ElementNode */ ||
841
- (nodeType === 3 /* TextNode */ && childNodes[j].textContent.trim() !== '')) {
1131
+ if (nodeType === 1 /* NODE_TYPE.ElementNode */ ||
1132
+ (nodeType === 3 /* NODE_TYPE.TextNode */ && childNodes[j].textContent.trim() !== '')) {
842
1133
  childNode.hidden = true;
843
1134
  break;
844
1135
  }
@@ -916,13 +1207,13 @@ const relocateSlotContent = (elm) => {
916
1207
  }
917
1208
  }
918
1209
  }
919
- if (childNode.nodeType === 1 /* ElementNode */) {
1210
+ if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
920
1211
  relocateSlotContent(childNode);
921
1212
  }
922
1213
  }
923
1214
  };
924
1215
  const isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => {
925
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
1216
+ if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
926
1217
  if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {
927
1218
  return true;
928
1219
  }
@@ -942,6 +1233,18 @@ const callNodeRefs = (vNode) => {
942
1233
  vNode.$children$ && vNode.$children$.map(callNodeRefs);
943
1234
  }
944
1235
  };
1236
+ /**
1237
+ * The main entry point for Stencil's virtual DOM-based rendering engine
1238
+ *
1239
+ * Given a {@link d.HostRef} container and some virtual DOM nodes, this
1240
+ * function will handle creating a virtual DOM tree with a single root, patching
1241
+ * the current virtual DOM tree onto an old one (if any), dealing with slot
1242
+ * relocation, and reflecting attributes.
1243
+ *
1244
+ * @param hostRef data needed to root and render the virtual DOM tree, such as
1245
+ * the DOM node into which it should be rendered.
1246
+ * @param renderFnResults the virtual DOM nodes to be rendered
1247
+ */
945
1248
  const renderVdom = (hostRef, renderFnResults) => {
946
1249
  const hostElm = hostRef.$hostElement$;
947
1250
  const cmpMeta = hostRef.$cmpMeta$;
@@ -953,7 +1256,7 @@ const renderVdom = (hostRef, renderFnResults) => {
953
1256
  cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));
954
1257
  }
955
1258
  rootVnode.$tag$ = null;
956
- rootVnode.$flags$ |= 4 /* isHost */;
1259
+ rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
957
1260
  hostRef.$vnode$ = rootVnode;
958
1261
  rootVnode.$elm$ = oldVNode.$elm$ = (hostElm.shadowRoot || hostElm );
959
1262
  {
@@ -961,7 +1264,7 @@ const renderVdom = (hostRef, renderFnResults) => {
961
1264
  }
962
1265
  {
963
1266
  contentRef = hostElm['s-cr'];
964
- useNativeShadowDom = (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;
1267
+ useNativeShadowDom = (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) !== 0;
965
1268
  // always reset
966
1269
  checkSlotFallbackVisibility = false;
967
1270
  }
@@ -970,7 +1273,7 @@ const renderVdom = (hostRef, renderFnResults) => {
970
1273
  {
971
1274
  // while we're moving nodes around existing nodes, temporarily disable
972
1275
  // the disconnectCallback from working
973
- plt.$flags$ |= 1 /* isTmpDisconnected */;
1276
+ plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
974
1277
  if (checkSlotRelocate) {
975
1278
  relocateSlotContent(rootVnode.$elm$);
976
1279
  let relocateData;
@@ -1028,7 +1331,7 @@ const renderVdom = (hostRef, renderFnResults) => {
1028
1331
  }
1029
1332
  else {
1030
1333
  // this node doesn't have a slot home to go to, so let's hide it
1031
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
1334
+ if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1032
1335
  nodeToRelocate.hidden = true;
1033
1336
  }
1034
1337
  }
@@ -1039,37 +1342,11 @@ const renderVdom = (hostRef, renderFnResults) => {
1039
1342
  }
1040
1343
  // done moving nodes around
1041
1344
  // allow the disconnect callback to work again
1042
- plt.$flags$ &= ~1 /* isTmpDisconnected */;
1345
+ plt.$flags$ &= ~1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1043
1346
  // always reset
1044
1347
  relocateNodes.length = 0;
1045
1348
  }
1046
1349
  };
1047
- const getElement = (ref) => (getHostRef(ref).$hostElement$ );
1048
- const createEvent = (ref, name, flags) => {
1049
- const elm = getElement(ref);
1050
- return {
1051
- emit: (detail) => {
1052
- return emitEvent(elm, name, {
1053
- bubbles: !!(flags & 4 /* Bubbles */),
1054
- composed: !!(flags & 2 /* Composed */),
1055
- cancelable: !!(flags & 1 /* Cancellable */),
1056
- detail,
1057
- });
1058
- },
1059
- };
1060
- };
1061
- /**
1062
- * Helper function to create & dispatch a custom Event on a provided target
1063
- * @param elm the target of the Event
1064
- * @param name the name to give the custom Event
1065
- * @param opts options for configuring a custom Event
1066
- * @returns the custom Event
1067
- */
1068
- const emitEvent = (elm, name, opts) => {
1069
- const ev = plt.ce(name, opts);
1070
- elm.dispatchEvent(ev);
1071
- return ev;
1072
- };
1073
1350
  const attachToAncestor = (hostRef, ancestorComponent) => {
1074
1351
  if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
1075
1352
  ancestorComponent['s-p'].push(new Promise((r) => (hostRef.$onRenderResolve$ = r)));
@@ -1077,10 +1354,10 @@ const attachToAncestor = (hostRef, ancestorComponent) => {
1077
1354
  };
1078
1355
  const scheduleUpdate = (hostRef, isInitialLoad) => {
1079
1356
  {
1080
- hostRef.$flags$ |= 16 /* isQueuedForUpdate */;
1357
+ hostRef.$flags$ |= 16 /* HOST_FLAGS.isQueuedForUpdate */;
1081
1358
  }
1082
- if (hostRef.$flags$ & 4 /* isWaitingForChildren */) {
1083
- hostRef.$flags$ |= 512 /* needsRerender */;
1359
+ if (hostRef.$flags$ & 4 /* HOST_FLAGS.isWaitingForChildren */) {
1360
+ hostRef.$flags$ |= 512 /* HOST_FLAGS.needsRerender */;
1084
1361
  return;
1085
1362
  }
1086
1363
  attachToAncestor(hostRef, hostRef.$ancestorComponent$);
@@ -1096,7 +1373,7 @@ const dispatchHooks = (hostRef, isInitialLoad) => {
1096
1373
  let promise;
1097
1374
  if (isInitialLoad) {
1098
1375
  {
1099
- hostRef.$flags$ |= 256 /* isListenReady */;
1376
+ hostRef.$flags$ |= 256 /* HOST_FLAGS.isListenReady */;
1100
1377
  if (hostRef.$queuedListeners$) {
1101
1378
  hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
1102
1379
  hostRef.$queuedListeners$ = null;
@@ -1139,7 +1416,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1139
1416
  }
1140
1417
  else {
1141
1418
  Promise.all(childrenPromises).then(postUpdate);
1142
- hostRef.$flags$ |= 4 /* isWaitingForChildren */;
1419
+ hostRef.$flags$ |= 4 /* HOST_FLAGS.isWaitingForChildren */;
1143
1420
  childrenPromises.length = 0;
1144
1421
  }
1145
1422
  }
@@ -1148,10 +1425,10 @@ const callRender = (hostRef, instance, elm) => {
1148
1425
  try {
1149
1426
  instance = instance.render() ;
1150
1427
  {
1151
- hostRef.$flags$ &= ~16 /* isQueuedForUpdate */;
1428
+ hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
1152
1429
  }
1153
1430
  {
1154
- hostRef.$flags$ |= 2 /* hasRendered */;
1431
+ hostRef.$flags$ |= 2 /* HOST_FLAGS.hasRendered */;
1155
1432
  }
1156
1433
  {
1157
1434
  {
@@ -1178,8 +1455,8 @@ const postUpdateComponent = (hostRef) => {
1178
1455
  {
1179
1456
  safeCall(instance, 'componentDidRender');
1180
1457
  }
1181
- if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
1182
- hostRef.$flags$ |= 64 /* hasLoadedComponent */;
1458
+ if (!(hostRef.$flags$ & 64 /* HOST_FLAGS.hasLoadedComponent */)) {
1459
+ hostRef.$flags$ |= 64 /* HOST_FLAGS.hasLoadedComponent */;
1183
1460
  {
1184
1461
  // DOM WRITE!
1185
1462
  addHydratedFlag(elm);
@@ -1208,10 +1485,10 @@ const postUpdateComponent = (hostRef) => {
1208
1485
  hostRef.$onRenderResolve$();
1209
1486
  hostRef.$onRenderResolve$ = undefined;
1210
1487
  }
1211
- if (hostRef.$flags$ & 512 /* needsRerender */) {
1488
+ if (hostRef.$flags$ & 512 /* HOST_FLAGS.needsRerender */) {
1212
1489
  nextTick(() => scheduleUpdate(hostRef, false));
1213
1490
  }
1214
- hostRef.$flags$ &= ~(4 /* isWaitingForChildren */ | 512 /* needsRerender */);
1491
+ hostRef.$flags$ &= ~(4 /* HOST_FLAGS.isWaitingForChildren */ | 512 /* HOST_FLAGS.needsRerender */);
1215
1492
  }
1216
1493
  // ( •_•)
1217
1494
  // ( •_•)>⌐■-■
@@ -1241,53 +1518,6 @@ const then = (promise, thenFn) => {
1241
1518
  };
1242
1519
  const addHydratedFlag = (elm) => elm.classList.add('hydrated')
1243
1520
  ;
1244
- /**
1245
- * Parse a new property value for a given property type.
1246
- *
1247
- * While the prop value can reasonably be expected to be of `any` type as far as TypeScript's type checker is concerned,
1248
- * it is not safe to assume that the string returned by evaluating `typeof propValue` matches:
1249
- * 1. `any`, the type given to `propValue` in the function signature
1250
- * 2. the type stored from `propType`.
1251
- *
1252
- * This function provides the capability to parse/coerce a property's value to potentially any other JavaScript type.
1253
- *
1254
- * Property values represented in TSX preserve their type information. In the example below, the number 0 is passed to
1255
- * a component. This `propValue` will preserve its type information (`typeof propValue === 'number'`). Note that is
1256
- * based on the type of the value being passed in, not the type declared of the class member decorated with `@Prop`.
1257
- * ```tsx
1258
- * <my-cmp prop-val={0}></my-cmp>
1259
- * ```
1260
- *
1261
- * HTML prop values on the other hand, will always a string
1262
- *
1263
- * @param propValue the new value to coerce to some type
1264
- * @param propType the type of the prop, expressed as a binary number
1265
- * @returns the parsed/coerced value
1266
- */
1267
- const parsePropertyValue = (propValue, propType) => {
1268
- // ensure this value is of the correct prop type
1269
- if (propValue != null && !isComplexType(propValue)) {
1270
- if (propType & 4 /* Boolean */) {
1271
- // per the HTML spec, any string value means it is a boolean true value
1272
- // but we'll cheat here and say that the string "false" is the boolean false
1273
- return propValue === 'false' ? false : propValue === '' || !!propValue;
1274
- }
1275
- if (propType & 2 /* Number */) {
1276
- // force it to be a number
1277
- return parseFloat(propValue);
1278
- }
1279
- if (propType & 1 /* String */) {
1280
- // could have been passed as a number or boolean
1281
- // but we still want it as a string
1282
- return String(propValue);
1283
- }
1284
- // redundant return here for better minification
1285
- return propValue;
1286
- }
1287
- // not sure exactly what type we want
1288
- // so no need to change to a different type
1289
- return propValue;
1290
- };
1291
1521
  const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
1292
1522
  const setValue = (ref, propName, newVal, cmpMeta) => {
1293
1523
  // check our new property value against our internal value
@@ -1300,13 +1530,13 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
1300
1530
  // explicitly check for NaN on both sides, as `NaN === NaN` is always false
1301
1531
  const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
1302
1532
  const didValueChange = newVal !== oldVal && !areBothNaN;
1303
- if ((!(flags & 8 /* isConstructingInstance */) || oldVal === undefined) && didValueChange) {
1533
+ if ((!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) || oldVal === undefined) && didValueChange) {
1304
1534
  // gadzooks! the property's value has changed!!
1305
1535
  // set our new value!
1306
1536
  hostRef.$instanceValues$.set(propName, newVal);
1307
1537
  if (instance) {
1308
1538
  // get an array of method names of watch functions to call
1309
- if (cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {
1539
+ if (cmpMeta.$watchers$ && flags & 128 /* HOST_FLAGS.isWatchReady */) {
1310
1540
  const watchMethods = cmpMeta.$watchers$[propName];
1311
1541
  if (watchMethods) {
1312
1542
  // this instance is watching for when this property changed
@@ -1321,7 +1551,7 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
1321
1551
  });
1322
1552
  }
1323
1553
  }
1324
- if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
1554
+ if ((flags & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
1325
1555
  // looks like this value actually changed, so we've got work to do!
1326
1556
  // but only if we've already rendered, otherwise just chill out
1327
1557
  // queue that we need to do an update, but don't worry about queuing
@@ -1331,6 +1561,16 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
1331
1561
  }
1332
1562
  }
1333
1563
  };
1564
+ /**
1565
+ * Attach a series of runtime constructs to a compiled Stencil component
1566
+ * constructor, including getters and setters for the `@Prop` and `@State`
1567
+ * decorators, callbacks for when attributes change, and so on.
1568
+ *
1569
+ * @param Cstr the constructor for a component that we need to process
1570
+ * @param cmpMeta metadata collected previously about the component
1571
+ * @param flags a number used to store a series of bit flags
1572
+ * @returns a reference to the same constructor passed in (but now mutated)
1573
+ */
1334
1574
  const proxyComponent = (Cstr, cmpMeta, flags) => {
1335
1575
  if (cmpMeta.$members$) {
1336
1576
  if (Cstr.watchers) {
@@ -1340,8 +1580,8 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1340
1580
  const members = Object.entries(cmpMeta.$members$);
1341
1581
  const prototype = Cstr.prototype;
1342
1582
  members.map(([memberName, [memberFlags]]) => {
1343
- if ((memberFlags & 31 /* Prop */ ||
1344
- ((flags & 2 /* proxyState */) && memberFlags & 32 /* State */))) {
1583
+ if ((memberFlags & 31 /* MEMBER_FLAGS.Prop */ ||
1584
+ ((flags & 2 /* PROXY_FLAGS.proxyState */) && memberFlags & 32 /* MEMBER_FLAGS.State */))) {
1345
1585
  // proxyComponent - prop
1346
1586
  Object.defineProperty(prototype, memberName, {
1347
1587
  get() {
@@ -1356,8 +1596,8 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1356
1596
  enumerable: true,
1357
1597
  });
1358
1598
  }
1359
- else if (flags & 1 /* isElementConstructor */ &&
1360
- memberFlags & 64 /* Method */) {
1599
+ else if (flags & 1 /* PROXY_FLAGS.isElementConstructor */ &&
1600
+ memberFlags & 64 /* MEMBER_FLAGS.Method */) {
1361
1601
  // proxyComponent - method
1362
1602
  Object.defineProperty(prototype, memberName, {
1363
1603
  value(...args) {
@@ -1367,7 +1607,7 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1367
1607
  });
1368
1608
  }
1369
1609
  });
1370
- if ((flags & 1 /* isElementConstructor */)) {
1610
+ if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
1371
1611
  const attrNameToPropName = new Map();
1372
1612
  prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
1373
1613
  plt.jmp(() => {
@@ -1423,11 +1663,11 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1423
1663
  // create an array of attributes to observe
1424
1664
  // and also create a map of html attribute name to js property name
1425
1665
  Cstr.observedAttributes = members
1426
- .filter(([_, m]) => m[0] & 15 /* HasAttribute */) // filter to only keep props that should match attributes
1666
+ .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */) // filter to only keep props that should match attributes
1427
1667
  .map(([propName, m]) => {
1428
1668
  const attrName = m[1] || propName;
1429
1669
  attrNameToPropName.set(attrName, propName);
1430
- if (m[0] & 512 /* ReflectAttr */) {
1670
+ if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
1431
1671
  cmpMeta.$attrsToReflect$.push([propName, attrName]);
1432
1672
  }
1433
1673
  return attrName;
@@ -1438,10 +1678,10 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1438
1678
  };
1439
1679
  const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
1440
1680
  // initializeComponent
1441
- if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {
1681
+ if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
1442
1682
  {
1443
1683
  // we haven't initialized this element yet
1444
- hostRef.$flags$ |= 32 /* hasInitializedComponent */;
1684
+ hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1445
1685
  // lazy loaded components
1446
1686
  // request the component's implementation to be
1447
1687
  // wired up with the host element
@@ -1459,7 +1699,7 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
1459
1699
  {
1460
1700
  cmpMeta.$watchers$ = Cstr.watchers;
1461
1701
  }
1462
- proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
1702
+ proxyComponent(Cstr, cmpMeta, 2 /* PROXY_FLAGS.proxyState */);
1463
1703
  Cstr.isProxied = true;
1464
1704
  }
1465
1705
  const endNewInstance = createTime('createInstance', cmpMeta.$tagName$);
@@ -1467,7 +1707,7 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
1467
1707
  // but let's keep track of when we start and stop
1468
1708
  // so that the getters/setters don't incorrectly step on data
1469
1709
  {
1470
- hostRef.$flags$ |= 8 /* isConstructingInstance */;
1710
+ hostRef.$flags$ |= 8 /* HOST_FLAGS.isConstructingInstance */;
1471
1711
  }
1472
1712
  // construct the lazy-loaded component implementation
1473
1713
  // passing the hostRef is very important during
@@ -1480,10 +1720,10 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
1480
1720
  consoleError(e);
1481
1721
  }
1482
1722
  {
1483
- hostRef.$flags$ &= ~8 /* isConstructingInstance */;
1723
+ hostRef.$flags$ &= ~8 /* HOST_FLAGS.isConstructingInstance */;
1484
1724
  }
1485
1725
  {
1486
- hostRef.$flags$ |= 128 /* isWatchReady */;
1726
+ hostRef.$flags$ |= 128 /* HOST_FLAGS.isWatchReady */;
1487
1727
  }
1488
1728
  endNewInstance();
1489
1729
  }
@@ -1493,7 +1733,7 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
1493
1733
  const scopeId = getScopeId(cmpMeta);
1494
1734
  if (!styles.has(scopeId)) {
1495
1735
  const endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);
1496
- registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));
1736
+ registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */));
1497
1737
  endRegisterStyles();
1498
1738
  }
1499
1739
  }
@@ -1515,19 +1755,20 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
1515
1755
  }
1516
1756
  };
1517
1757
  const connectedCallback = (elm) => {
1518
- if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
1758
+ if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
1519
1759
  const hostRef = getHostRef(elm);
1520
1760
  const cmpMeta = hostRef.$cmpMeta$;
1521
1761
  const endConnected = createTime('connectedCallback', cmpMeta.$tagName$);
1522
- if (!(hostRef.$flags$ & 1 /* hasConnected */)) {
1762
+ if (!(hostRef.$flags$ & 1 /* HOST_FLAGS.hasConnected */)) {
1523
1763
  // first time this component has connected
1524
- hostRef.$flags$ |= 1 /* hasConnected */;
1764
+ hostRef.$flags$ |= 1 /* HOST_FLAGS.hasConnected */;
1525
1765
  {
1526
1766
  // initUpdate
1527
1767
  // if the slot polyfill is required we'll need to put some nodes
1528
1768
  // in here to act as original content anchors as we move nodes around
1529
1769
  // host element has been connected to the DOM
1530
- if ((cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */))) {
1770
+ if ((// TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
1771
+ cmpMeta.$flags$ & (4 /* CMP_FLAGS.hasSlotRelocation */ | 8 /* CMP_FLAGS.needsShadowDomShim */))) {
1531
1772
  setContentReference(elm);
1532
1773
  }
1533
1774
  }
@@ -1550,7 +1791,7 @@ const connectedCallback = (elm) => {
1550
1791
  // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
1551
1792
  if (cmpMeta.$members$) {
1552
1793
  Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {
1553
- if (memberFlags & 31 /* Prop */ && elm.hasOwnProperty(memberName)) {
1794
+ if (memberFlags & 31 /* MEMBER_FLAGS.Prop */ && elm.hasOwnProperty(memberName)) {
1554
1795
  const value = elm[memberName];
1555
1796
  delete elm[memberName];
1556
1797
  elm[memberName] = value;
@@ -1582,7 +1823,7 @@ const setContentReference = (elm) => {
1582
1823
  elm.insertBefore(contentRefElm, elm.firstChild);
1583
1824
  };
1584
1825
  const disconnectedCallback = (elm) => {
1585
- if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
1826
+ if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
1586
1827
  const hostRef = getHostRef(elm);
1587
1828
  const instance = hostRef.$lazyInstance$ ;
1588
1829
  {
@@ -1597,6 +1838,7 @@ const disconnectedCallback = (elm) => {
1597
1838
  }
1598
1839
  };
1599
1840
  const bootstrapLazy = (lazyBundles, options = {}) => {
1841
+ var _a;
1600
1842
  const endBootstrap = createTime();
1601
1843
  const cmpTags = [];
1602
1844
  const exclude = options.exclude || [];
@@ -1637,7 +1879,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1637
1879
  super(self);
1638
1880
  self = this;
1639
1881
  registerHost(self, cmpMeta);
1640
- if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
1882
+ if (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) {
1641
1883
  // this component is using shadow dom
1642
1884
  // and this browser supports shadow dom
1643
1885
  // add the read-only property "shadowRoot" to the host element
@@ -1672,13 +1914,18 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1672
1914
  cmpMeta.$lazyBundleId$ = lazyBundle[0];
1673
1915
  if (!exclude.includes(tagName) && !customElements.get(tagName)) {
1674
1916
  cmpTags.push(tagName);
1675
- customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* isElementConstructor */));
1917
+ customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* PROXY_FLAGS.isElementConstructor */));
1676
1918
  }
1677
1919
  });
1678
1920
  });
1679
1921
  {
1680
1922
  visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
1681
1923
  visibilityStyle.setAttribute('data-styles', '');
1924
+ // Apply CSP nonce to the style tag if it exists
1925
+ const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
1926
+ if (nonce != null) {
1927
+ visibilityStyle.setAttribute('nonce', nonce);
1928
+ }
1682
1929
  head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
1683
1930
  }
1684
1931
  // Process deferred connectedCallbacks now all components have been registered
@@ -1695,7 +1942,48 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1695
1942
  endBootstrap();
1696
1943
  };
1697
1944
  const Fragment = (_, children) => children;
1698
- const hostRefs = new WeakMap();
1945
+ const addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
1946
+ if (listeners) {
1947
+ listeners.map(([flags, name, method]) => {
1948
+ const target = getHostListenerTarget(elm, flags) ;
1949
+ const handler = hostListenerProxy(hostRef, method);
1950
+ const opts = hostListenerOpts(flags);
1951
+ plt.ael(target, name, handler, opts);
1952
+ (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
1953
+ });
1954
+ }
1955
+ };
1956
+ const hostListenerProxy = (hostRef, methodName) => (ev) => {
1957
+ try {
1958
+ {
1959
+ if (hostRef.$flags$ & 256 /* HOST_FLAGS.isListenReady */) {
1960
+ // instance is ready, let's call it's member method for this event
1961
+ hostRef.$lazyInstance$[methodName](ev);
1962
+ }
1963
+ else {
1964
+ (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
1965
+ }
1966
+ }
1967
+ }
1968
+ catch (e) {
1969
+ consoleError(e);
1970
+ }
1971
+ };
1972
+ const getHostListenerTarget = (elm, flags) => {
1973
+ if (flags & 8 /* LISTENER_FLAGS.TargetWindow */)
1974
+ return win;
1975
+ return elm;
1976
+ };
1977
+ // prettier-ignore
1978
+ const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !== 0;
1979
+ /**
1980
+ * Assigns the given value to the nonce property on the runtime platform object.
1981
+ * During runtime, this value is used to set the nonce attribute on all dynamically created script and style tags.
1982
+ * @param nonce The value to be assigned to the platform nonce property.
1983
+ * @returns void
1984
+ */
1985
+ const setNonce = (nonce) => (plt.$nonce$ = nonce);
1986
+ const hostRefs = /*@__PURE__*/ new WeakMap();
1699
1987
  const getHostRef = (ref) => hostRefs.get(ref);
1700
1988
  const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
1701
1989
  const registerHost = (elm, cmpMeta) => {
@@ -1740,14 +2028,35 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
1740
2028
  return importedModule[exportName];
1741
2029
  }, consoleError);
1742
2030
  };
1743
- const styles = new Map();
2031
+ const styles = /*@__PURE__*/ new Map();
2032
+ const win = typeof window !== 'undefined' ? window : {};
2033
+ const doc = win.document || { head: {} };
2034
+ const plt = {
2035
+ $flags$: 0,
2036
+ $resourcesUrl$: '',
2037
+ jmp: (h) => h(),
2038
+ raf: (h) => requestAnimationFrame(h),
2039
+ ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),
2040
+ rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
2041
+ ce: (eventName, opts) => new CustomEvent(eventName, opts),
2042
+ };
2043
+ const promiseResolve = (v) => Promise.resolve(v);
2044
+ const supportsConstructableStylesheets = /*@__PURE__*/ (() => {
2045
+ try {
2046
+ new CSSStyleSheet();
2047
+ return typeof new CSSStyleSheet().replaceSync === 'function';
2048
+ }
2049
+ catch (e) { }
2050
+ return false;
2051
+ })()
2052
+ ;
1744
2053
  const queueDomReads = [];
1745
2054
  const queueDomWrites = [];
1746
2055
  const queueTask = (queue, write) => (cb) => {
1747
2056
  queue.push(cb);
1748
2057
  if (!queuePending) {
1749
2058
  queuePending = true;
1750
- if (write && plt.$flags$ & 4 /* queueSync */) {
2059
+ if (write && plt.$flags$ & 4 /* PLATFORM_FLAGS.queueSync */) {
1751
2060
  nextTick(flush);
1752
2061
  }
1753
2062
  else {
@@ -1784,4 +2093,4 @@ const flush = () => {
1784
2093
  const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
1785
2094
  const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
1786
2095
 
1787
- export { Fragment as F, Host as H, bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r };
2096
+ export { Fragment as F, Host as H, bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };