@scania/tegel 0.0.1-beta.9 → 0.0.31

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 (689) hide show
  1. package/dist/cjs/index-18eb94f0.js +2182 -0
  2. package/dist/cjs/index-18eb94f0.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +4 -0
  4. package/dist/cjs/index.cjs.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +24 -0
  6. package/dist/cjs/loader.cjs.js.map +1 -0
  7. package/dist/cjs/popper-11d5f714.js +1803 -0
  8. package/dist/cjs/popper-11d5f714.js.map +1 -0
  9. package/dist/cjs/sdds-accordion-item.cjs.entry.js +36 -0
  10. package/dist/cjs/sdds-accordion-item.cjs.entry.js.map +1 -0
  11. package/dist/cjs/sdds-accordion.cjs.entry.js +23 -0
  12. package/dist/cjs/sdds-accordion.cjs.entry.js.map +1 -0
  13. package/dist/cjs/sdds-badges.cjs.entry.js +56 -0
  14. package/dist/cjs/sdds-badges.cjs.entry.js.map +1 -0
  15. package/dist/cjs/sdds-banner.cjs.entry.js +81 -0
  16. package/dist/cjs/sdds-banner.cjs.entry.js.map +1 -0
  17. package/dist/cjs/sdds-block.cjs.entry.js +34 -0
  18. package/dist/cjs/sdds-block.cjs.entry.js.map +1 -0
  19. package/dist/cjs/sdds-body-cell_2.cjs.entry.js +175 -0
  20. package/dist/cjs/sdds-body-cell_2.cjs.entry.js.map +1 -0
  21. package/dist/cjs/sdds-breadcrumb-item.cjs.entry.js +27 -0
  22. package/dist/cjs/sdds-breadcrumb-item.cjs.entry.js.map +1 -0
  23. package/dist/cjs/sdds-breadcrumb.cjs.entry.js +25 -0
  24. package/dist/cjs/sdds-breadcrumb.cjs.entry.js.map +1 -0
  25. package/dist/cjs/sdds-button.cjs.entry.js +39 -0
  26. package/dist/cjs/sdds-button.cjs.entry.js.map +1 -0
  27. package/dist/cjs/sdds-card.cjs.entry.js +58 -0
  28. package/dist/cjs/sdds-card.cjs.entry.js.map +1 -0
  29. package/dist/cjs/sdds-checkbox.cjs.entry.js +57 -0
  30. package/dist/cjs/sdds-checkbox.cjs.entry.js.map +1 -0
  31. package/dist/cjs/sdds-datetime.cjs.entry.js +97 -0
  32. package/dist/cjs/sdds-datetime.cjs.entry.js.map +1 -0
  33. package/dist/cjs/sdds-dropdown-filter.cjs.entry.js +94 -0
  34. package/dist/cjs/sdds-dropdown-filter.cjs.entry.js.map +1 -0
  35. package/dist/cjs/sdds-dropdown_2.cjs.entry.js +343 -0
  36. package/dist/cjs/sdds-dropdown_2.cjs.entry.js.map +1 -0
  37. package/dist/cjs/sdds-header-cell.cjs.entry.js +141 -0
  38. package/dist/cjs/sdds-header-cell.cjs.entry.js.map +1 -0
  39. package/dist/cjs/sdds-icon.cjs.entry.js +44 -0
  40. package/dist/cjs/sdds-icon.cjs.entry.js.map +1 -0
  41. package/dist/cjs/sdds-inline-tab.cjs.entry.js +24 -0
  42. package/dist/cjs/sdds-inline-tab.cjs.entry.js.map +1 -0
  43. package/dist/cjs/sdds-inline-tabs-fullbleed.cjs.entry.js +100 -0
  44. package/dist/cjs/sdds-inline-tabs-fullbleed.cjs.entry.js.map +1 -0
  45. package/dist/cjs/sdds-inline-tabs.cjs.entry.js +223 -0
  46. package/dist/cjs/sdds-inline-tabs.cjs.entry.js.map +1 -0
  47. package/dist/cjs/sdds-link.cjs.entry.js +30 -0
  48. package/dist/cjs/sdds-link.cjs.entry.js.map +1 -0
  49. package/dist/cjs/sdds-message.cjs.entry.js +43 -0
  50. package/dist/cjs/sdds-message.cjs.entry.js.map +1 -0
  51. package/dist/cjs/sdds-modal.cjs.entry.js +53 -0
  52. package/dist/cjs/sdds-modal.cjs.entry.js.map +1 -0
  53. package/dist/cjs/sdds-navigation-tabs.cjs.entry.js +100 -0
  54. package/dist/cjs/sdds-navigation-tabs.cjs.entry.js.map +1 -0
  55. package/dist/cjs/sdds-popover-canvas.cjs.entry.js +86 -0
  56. package/dist/cjs/sdds-popover-canvas.cjs.entry.js.map +1 -0
  57. package/dist/cjs/sdds-popover-menu.cjs.entry.js +87 -0
  58. package/dist/cjs/sdds-popover-menu.cjs.entry.js.map +1 -0
  59. package/dist/cjs/sdds-radio-button.cjs.entry.js +34 -0
  60. package/dist/cjs/sdds-radio-button.cjs.entry.js.map +1 -0
  61. package/dist/cjs/sdds-slider.cjs.entry.js +359 -0
  62. package/dist/cjs/sdds-slider.cjs.entry.js.map +1 -0
  63. package/dist/cjs/sdds-spinner.cjs.entry.js +23 -0
  64. package/dist/cjs/sdds-spinner.cjs.entry.js.map +1 -0
  65. package/dist/cjs/sdds-table-body-row-expandable.cjs.entry.js +84 -0
  66. package/dist/cjs/sdds-table-body-row-expandable.cjs.entry.js.map +1 -0
  67. package/dist/cjs/sdds-table-body.cjs.entry.js +291 -0
  68. package/dist/cjs/sdds-table-body.cjs.entry.js.map +1 -0
  69. package/dist/cjs/sdds-table-footer.cjs.entry.js +166 -0
  70. package/dist/cjs/sdds-table-footer.cjs.entry.js.map +1 -0
  71. package/dist/cjs/sdds-table-header.cjs.entry.js +101 -0
  72. package/dist/cjs/sdds-table-header.cjs.entry.js.map +1 -0
  73. package/dist/cjs/sdds-table-toolbar.cjs.entry.js +67 -0
  74. package/dist/cjs/sdds-table-toolbar.cjs.entry.js.map +1 -0
  75. package/dist/cjs/sdds-table.cjs.entry.js +70 -0
  76. package/dist/cjs/sdds-table.cjs.entry.js.map +1 -0
  77. package/dist/cjs/sdds-textarea.cjs.entry.js +76 -0
  78. package/dist/cjs/sdds-textarea.cjs.entry.js.map +1 -0
  79. package/dist/cjs/sdds-textfield.cjs.entry.js +93 -0
  80. package/dist/cjs/sdds-textfield.cjs.entry.js.map +1 -0
  81. package/dist/cjs/sdds-toast.cjs.entry.js +88 -0
  82. package/dist/cjs/sdds-toast.cjs.entry.js.map +1 -0
  83. package/dist/cjs/sdds-toggle.cjs.entry.js +46 -0
  84. package/dist/cjs/sdds-toggle.cjs.entry.js.map +1 -0
  85. package/dist/cjs/sdds-tooltip.cjs.entry.js +106 -0
  86. package/dist/cjs/sdds-tooltip.cjs.entry.js.map +1 -0
  87. package/dist/cjs/tegel.cjs.js +28 -0
  88. package/dist/cjs/tegel.cjs.js.map +1 -0
  89. package/dist/collection/collection-manifest.json +52 -0
  90. package/dist/collection/components/accordion/accordion-item/accordion-item.css +153 -0
  91. package/dist/collection/components/accordion/accordion-item/accordion-item.js +147 -0
  92. package/dist/collection/components/accordion/accordion-item/accordion-item.js.map +1 -0
  93. package/dist/collection/components/accordion/accordion.css +63 -0
  94. package/dist/collection/components/accordion/accordion.js +63 -0
  95. package/dist/collection/components/accordion/accordion.js.map +1 -0
  96. package/dist/collection/components/accordion/accordion.stories.js +100 -0
  97. package/dist/collection/components/accordion/accordion.stories.js.map +1 -0
  98. package/dist/collection/components/badge/badge.stories.js +103 -0
  99. package/dist/collection/components/badge/badge.stories.js.map +1 -0
  100. package/dist/collection/components/badge/badges.css +42 -0
  101. package/dist/collection/components/badge/badges.js +148 -0
  102. package/dist/collection/components/badge/badges.js.map +1 -0
  103. package/dist/collection/components/banner/banner.stories.js +93 -0
  104. package/dist/collection/components/banner/banner.stories.js.map +1 -0
  105. package/dist/collection/components/banner/sdds-banner.css +88 -0
  106. package/dist/collection/components/banner/sdds-banner.js +331 -0
  107. package/dist/collection/components/banner/sdds-banner.js.map +1 -0
  108. package/dist/collection/components/banner/sdds-banner.stories.js +130 -0
  109. package/dist/collection/components/banner/sdds-banner.stories.js.map +1 -0
  110. package/dist/collection/components/block/block-native.stories.js +49 -0
  111. package/dist/collection/components/block/block-native.stories.js.map +1 -0
  112. package/dist/collection/components/block/sdds-block.css +22 -0
  113. package/dist/collection/components/block/sdds-block.js +56 -0
  114. package/dist/collection/components/block/sdds-block.js.map +1 -0
  115. package/dist/collection/components/block/sdds-block.stories.js +49 -0
  116. package/dist/collection/components/block/sdds-block.stories.js.map +1 -0
  117. package/dist/collection/components/breadcrumb/breadcrumb-component.css +30 -0
  118. package/dist/collection/components/breadcrumb/breadcrumb-item/breadcrumb-item.css +43 -0
  119. package/dist/collection/components/breadcrumb/breadcrumb-item/breadcrumb-item.js +84 -0
  120. package/dist/collection/components/breadcrumb/breadcrumb-item/breadcrumb-item.js.map +1 -0
  121. package/dist/collection/components/breadcrumb/breadcrumb.js +23 -0
  122. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -0
  123. package/dist/collection/components/breadcrumb/breadcrumb.stories.js +27 -0
  124. package/dist/collection/components/breadcrumb/breadcrumb.stories.js.map +1 -0
  125. package/dist/collection/components/button/button-component.js +156 -0
  126. package/dist/collection/components/button/button-component.js.map +1 -0
  127. package/dist/collection/components/button/button-native.stories.js +188 -0
  128. package/dist/collection/components/button/button-native.stories.js.map +1 -0
  129. package/dist/collection/components/button/button-webcomponent.stories.js +190 -0
  130. package/dist/collection/components/button/button-webcomponent.stories.js.map +1 -0
  131. package/dist/collection/components/button/button.css +670 -0
  132. package/dist/collection/components/card/card.stories.js +168 -0
  133. package/dist/collection/components/card/card.stories.js.map +1 -0
  134. package/dist/collection/components/card/sdds-card.css +78 -0
  135. package/dist/collection/components/card/sdds-card.js +277 -0
  136. package/dist/collection/components/card/sdds-card.js.map +1 -0
  137. package/dist/collection/components/card/sdds-card.stories.js +169 -0
  138. package/dist/collection/components/card/sdds-card.stories.js.map +1 -0
  139. package/dist/collection/components/checkbox/checkbox.stories.js +55 -0
  140. package/dist/collection/components/checkbox/checkbox.stories.js.map +1 -0
  141. package/dist/collection/components/checkbox/sdds-checkbox.css +95 -0
  142. package/dist/collection/components/checkbox/sdds-checkbox.js +240 -0
  143. package/dist/collection/components/checkbox/sdds-checkbox.js.map +1 -0
  144. package/dist/collection/components/checkbox/sdds-checkbox.stories.js +72 -0
  145. package/dist/collection/components/checkbox/sdds-checkbox.stories.js.map +1 -0
  146. package/dist/collection/components/chips/chips.stories.js +107 -0
  147. package/dist/collection/components/chips/chips.stories.js.map +1 -0
  148. package/dist/collection/components/data-table/native-table.stories.js +161 -0
  149. package/dist/collection/components/data-table/native-table.stories.js.map +1 -0
  150. package/dist/collection/components/data-table/table/table.css +15 -0
  151. package/dist/collection/components/data-table/table/table.js +254 -0
  152. package/dist/collection/components/data-table/table/table.js.map +1 -0
  153. package/dist/collection/components/data-table/table-body/table-body.css +22 -0
  154. package/dist/collection/components/data-table/table-body/table-body.js +426 -0
  155. package/dist/collection/components/data-table/table-body/table-body.js.map +1 -0
  156. package/dist/collection/components/data-table/table-body-cell/table-body-cell.css +40 -0
  157. package/dist/collection/components/data-table/table-body-cell/table-body-cell.js +169 -0
  158. package/dist/collection/components/data-table/table-body-cell/table-body-cell.js.map +1 -0
  159. package/dist/collection/components/data-table/table-body-row/table-body-row.css +175 -0
  160. package/dist/collection/components/data-table/table-body-row/table-body-row.js +166 -0
  161. package/dist/collection/components/data-table/table-body-row/table-body-row.js.map +1 -0
  162. package/dist/collection/components/data-table/table-body-row-expandable/table-body-row-expandable.css +78 -0
  163. package/dist/collection/components/data-table/table-body-row-expandable/table-body-row-expandable.js +157 -0
  164. package/dist/collection/components/data-table/table-body-row-expandable/table-body-row-expandable.js.map +1 -0
  165. package/dist/collection/components/data-table/table-component-basic.stories.js +162 -0
  166. package/dist/collection/components/data-table/table-component-basic.stories.js.map +1 -0
  167. package/dist/collection/components/data-table/table-component-batch-actions.stories.js +129 -0
  168. package/dist/collection/components/data-table/table-component-batch-actions.stories.js.map +1 -0
  169. package/dist/collection/components/data-table/table-component-bodydata.stories.js +59 -0
  170. package/dist/collection/components/data-table/table-component-bodydata.stories.js.map +1 -0
  171. package/dist/collection/components/data-table/table-component-custom-width.stories.js +198 -0
  172. package/dist/collection/components/data-table/table-component-custom-width.stories.js.map +1 -0
  173. package/dist/collection/components/data-table/table-component-event-listeners.stories.js +152 -0
  174. package/dist/collection/components/data-table/table-component-event-listeners.stories.js.map +1 -0
  175. package/dist/collection/components/data-table/table-component-expandable-rows.stories.js +136 -0
  176. package/dist/collection/components/data-table/table-component-expandable-rows.stories.js.map +1 -0
  177. package/dist/collection/components/data-table/table-component-filtering.stories.js +138 -0
  178. package/dist/collection/components/data-table/table-component-filtering.stories.js.map +1 -0
  179. package/dist/collection/components/data-table/table-component-multiselect.stories.js +159 -0
  180. package/dist/collection/components/data-table/table-component-multiselect.stories.js.map +1 -0
  181. package/dist/collection/components/data-table/table-component-pagination.stories.js +128 -0
  182. package/dist/collection/components/data-table/table-component-pagination.stories.js.map +1 -0
  183. package/dist/collection/components/data-table/table-component-sorting.stories.js +127 -0
  184. package/dist/collection/components/data-table/table-component-sorting.stories.js.map +1 -0
  185. package/dist/collection/components/data-table/table-footer/table-footer.css +97 -0
  186. package/dist/collection/components/data-table/table-footer/table-footer.js +355 -0
  187. package/dist/collection/components/data-table/table-footer/table-footer.js.map +1 -0
  188. package/dist/collection/components/data-table/table-header/table-header.css +190 -0
  189. package/dist/collection/components/data-table/table-header/table-header.js +153 -0
  190. package/dist/collection/components/data-table/table-header/table-header.js.map +1 -0
  191. package/dist/collection/components/data-table/table-header-cell/table-header-cell.css +127 -0
  192. package/dist/collection/components/data-table/table-header-cell/table-header-cell.js +318 -0
  193. package/dist/collection/components/data-table/table-header-cell/table-header-cell.js.map +1 -0
  194. package/dist/collection/components/data-table/table-toolbar/table-toolbar.css +93 -0
  195. package/dist/collection/components/data-table/table-toolbar/table-toolbar.js +142 -0
  196. package/dist/collection/components/data-table/table-toolbar/table-toolbar.js.map +1 -0
  197. package/dist/collection/components/datetime/datetime.css +385 -0
  198. package/dist/collection/components/datetime/datetime.js +353 -0
  199. package/dist/collection/components/datetime/datetime.js.map +1 -0
  200. package/dist/collection/components/datetime/datetime.stories.js +208 -0
  201. package/dist/collection/components/datetime/datetime.stories.js.map +1 -0
  202. package/dist/collection/components/divider/divider.stories.js +134 -0
  203. package/dist/collection/components/divider/divider.stories.js.map +1 -0
  204. package/dist/collection/components/dropdown/dropdown-filter/dropdown-filter.js +340 -0
  205. package/dist/collection/components/dropdown/dropdown-filter/dropdown-filter.js.map +1 -0
  206. package/dist/collection/components/dropdown/dropdown-filter/dropdown-filter.stories.js +131 -0
  207. package/dist/collection/components/dropdown/dropdown-filter/dropdown-filter.stories.js.map +1 -0
  208. package/dist/collection/components/dropdown/dropdown-native.stories.js +91 -0
  209. package/dist/collection/components/dropdown/dropdown-native.stories.js.map +1 -0
  210. package/dist/collection/components/dropdown/dropdown-option/dropdown-option.js +186 -0
  211. package/dist/collection/components/dropdown/dropdown-option/dropdown-option.js.map +1 -0
  212. package/dist/collection/components/dropdown/dropdown-wc-default.stories.js +168 -0
  213. package/dist/collection/components/dropdown/dropdown-wc-default.stories.js.map +1 -0
  214. package/dist/collection/components/dropdown/dropdown-wc-multiselect.stories.js +147 -0
  215. package/dist/collection/components/dropdown/dropdown-wc-multiselect.stories.js.map +1 -0
  216. package/dist/collection/components/dropdown/dropdown.css +951 -0
  217. package/dist/collection/components/dropdown/dropdown.js +578 -0
  218. package/dist/collection/components/dropdown/dropdown.js.map +1 -0
  219. package/dist/collection/components/footer/footer.stories.js +118 -0
  220. package/dist/collection/components/footer/footer.stories.js.map +1 -0
  221. package/dist/collection/components/header/header-all.stories.js +218 -0
  222. package/dist/collection/components/header/header-all.stories.js.map +1 -0
  223. package/dist/collection/components/header/header-default.stories.js +48 -0
  224. package/dist/collection/components/header/header-default.stories.js.map +1 -0
  225. package/dist/collection/components/header/header-inline.stories.js +114 -0
  226. package/dist/collection/components/header/header-inline.stories.js.map +1 -0
  227. package/dist/collection/components/header/header-search.stories.js +264 -0
  228. package/dist/collection/components/header/header-search.stories.js.map +1 -0
  229. package/dist/collection/components/header/header-toolbar.stories.js +205 -0
  230. package/dist/collection/components/header/header-toolbar.stories.js.map +1 -0
  231. package/dist/collection/components/icon/icon-font.stories.js +58 -0
  232. package/dist/collection/components/icon/icon-font.stories.js.map +1 -0
  233. package/dist/collection/components/icon/icon-web-component.stories.js +52 -0
  234. package/dist/collection/components/icon/icon-web-component.stories.js.map +1 -0
  235. package/dist/collection/components/icon/icon.css +16 -0
  236. package/dist/collection/components/icon/icon.js +90 -0
  237. package/dist/collection/components/icon/icon.js.map +1 -0
  238. package/dist/collection/components/icon/iconsArray.js +2 -0
  239. package/dist/collection/components/link/link.stories.js +46 -0
  240. package/dist/collection/components/link/link.stories.js.map +1 -0
  241. package/dist/collection/components/link/sdds-link.css +36 -0
  242. package/dist/collection/components/link/sdds-link.js +122 -0
  243. package/dist/collection/components/link/sdds-link.js.map +1 -0
  244. package/dist/collection/components/link/sdds-link.stories.js +71 -0
  245. package/dist/collection/components/link/sdds-link.stories.js.map +1 -0
  246. package/dist/collection/components/message/message.stories.js +109 -0
  247. package/dist/collection/components/message/message.stories.js.map +1 -0
  248. package/dist/collection/components/message/sdds-message.css +70 -0
  249. package/dist/collection/components/message/sdds-message.js +136 -0
  250. package/dist/collection/components/message/sdds-message.js.map +1 -0
  251. package/dist/collection/components/message/sdds-message.stories.js +107 -0
  252. package/dist/collection/components/message/sdds-message.stories.js.map +1 -0
  253. package/dist/collection/components/modal/modal-native.stories.js +130 -0
  254. package/dist/collection/components/modal/modal-native.stories.js.map +1 -0
  255. package/dist/collection/components/modal/modal-webcomponent.stories.js +87 -0
  256. package/dist/collection/components/modal/modal-webcomponent.stories.js.map +1 -0
  257. package/dist/collection/components/modal/modal.css +350 -0
  258. package/dist/collection/components/modal/modal.js +149 -0
  259. package/dist/collection/components/modal/modal.js.map +1 -0
  260. package/dist/collection/components/popover-canvas/popover-canvas.css +20 -0
  261. package/dist/collection/components/popover-canvas/popover-canvas.js +220 -0
  262. package/dist/collection/components/popover-canvas/popover-canvas.js.map +1 -0
  263. package/dist/collection/components/popover-canvas/popover-canvas.stories.js +90 -0
  264. package/dist/collection/components/popover-canvas/popover-canvas.stories.js.map +1 -0
  265. package/dist/collection/components/popover-menu/popover-menu-icons.stories.js +122 -0
  266. package/dist/collection/components/popover-menu/popover-menu-icons.stories.js.map +1 -0
  267. package/dist/collection/components/popover-menu/popover-menu.css +19 -0
  268. package/dist/collection/components/popover-menu/popover-menu.js +221 -0
  269. package/dist/collection/components/popover-menu/popover-menu.js.map +1 -0
  270. package/dist/collection/components/popover-menu/popover-menu.stories.js +115 -0
  271. package/dist/collection/components/popover-menu/popover-menu.stories.js.map +1 -0
  272. package/dist/collection/components/radio-button/radio-button-component.css +123 -0
  273. package/dist/collection/components/radio-button/radio-button-component.stories.js +92 -0
  274. package/dist/collection/components/radio-button/radio-button-component.stories.js.map +1 -0
  275. package/dist/collection/components/radio-button/radio-button.js +161 -0
  276. package/dist/collection/components/radio-button/radio-button.js.map +1 -0
  277. package/dist/collection/components/radio-button/radio-button.stories.js +69 -0
  278. package/dist/collection/components/radio-button/radio-button.stories.js.map +1 -0
  279. package/dist/collection/components/side-menu/side-menu.stories.js +183 -0
  280. package/dist/collection/components/side-menu/side-menu.stories.js.map +1 -0
  281. package/dist/collection/components/slider/slider.css +297 -0
  282. package/dist/collection/components/slider/slider.js +722 -0
  283. package/dist/collection/components/slider/slider.js.map +1 -0
  284. package/dist/collection/components/slider/slider.stories.js +209 -0
  285. package/dist/collection/components/slider/slider.stories.js.map +1 -0
  286. package/dist/collection/components/spinner/spinner.css +79 -0
  287. package/dist/collection/components/spinner/spinner.js +62 -0
  288. package/dist/collection/components/spinner/spinner.js.map +1 -0
  289. package/dist/collection/components/spinner/spinner.stories.js +60 -0
  290. package/dist/collection/components/spinner/spinner.stories.js.map +1 -0
  291. package/dist/collection/components/stepper/stepper.stories.js +140 -0
  292. package/dist/collection/components/stepper/stepper.stories.js.map +1 -0
  293. package/dist/collection/components/tabs/inline-tabs-default/inline-tab/inline-tab.css +3 -0
  294. package/dist/collection/components/tabs/inline-tabs-default/inline-tab/inline-tab.js +81 -0
  295. package/dist/collection/components/tabs/inline-tabs-default/inline-tab/inline-tab.js.map +1 -0
  296. package/dist/collection/components/tabs/inline-tabs-default/inline-tabs.css +156 -0
  297. package/dist/collection/components/tabs/inline-tabs-default/inline-tabs.js +313 -0
  298. package/dist/collection/components/tabs/inline-tabs-default/inline-tabs.js.map +1 -0
  299. package/dist/collection/components/tabs/inline-tabs-default/inline-tabs.stories.js +72 -0
  300. package/dist/collection/components/tabs/inline-tabs-default/inline-tabs.stories.js.map +1 -0
  301. package/dist/collection/components/tabs/inline-tabs-fullbleed/inline-tabs-fullbleed.css +141 -0
  302. package/dist/collection/components/tabs/inline-tabs-fullbleed/inline-tabs-fullbleed.js +129 -0
  303. package/dist/collection/components/tabs/inline-tabs-fullbleed/inline-tabs-fullbleed.js.map +1 -0
  304. package/dist/collection/components/tabs/inline-tabs-fullbleed/inline-tabs-fullbleed.stories.js +47 -0
  305. package/dist/collection/components/tabs/inline-tabs-fullbleed/inline-tabs-fullbleed.stories.js.map +1 -0
  306. package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.css +157 -0
  307. package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.js +129 -0
  308. package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.js.map +1 -0
  309. package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.stories.js +33 -0
  310. package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.stories.js.map +1 -0
  311. package/dist/collection/components/textarea/textarea.css +298 -0
  312. package/dist/collection/components/textarea/textarea.js +403 -0
  313. package/dist/collection/components/textarea/textarea.js.map +1 -0
  314. package/dist/collection/components/textarea/textarea.stories.js +170 -0
  315. package/dist/collection/components/textarea/textarea.stories.js.map +1 -0
  316. package/dist/collection/components/textfield/textfield.css +502 -0
  317. package/dist/collection/components/textfield/textfield.js +440 -0
  318. package/dist/collection/components/textfield/textfield.js.map +1 -0
  319. package/dist/collection/components/textfield/textfield.stories.js +240 -0
  320. package/dist/collection/components/textfield/textfield.stories.js.map +1 -0
  321. package/dist/collection/components/toast/sdds-toast.css +102 -0
  322. package/dist/collection/components/toast/sdds-toast.js +257 -0
  323. package/dist/collection/components/toast/sdds-toast.js.map +1 -0
  324. package/dist/collection/components/toast/sdds-toast.stories.js +87 -0
  325. package/dist/collection/components/toast/sdds-toast.stories.js.map +1 -0
  326. package/dist/collection/components/toast/toast.stories.js +130 -0
  327. package/dist/collection/components/toast/toast.stories.js.map +1 -0
  328. package/dist/collection/components/toggle/sdds-toggle.css +104 -0
  329. package/dist/collection/components/toggle/sdds-toggle.js +262 -0
  330. package/dist/collection/components/toggle/sdds-toggle.js.map +1 -0
  331. package/dist/collection/components/toggle/sdds-toggle.stories.js +93 -0
  332. package/dist/collection/components/toggle/sdds-toggle.stories.js.map +1 -0
  333. package/dist/collection/components/toggle/toggle.stories.js +73 -0
  334. package/dist/collection/components/toggle/toggle.stories.js.map +1 -0
  335. package/dist/collection/components/tooltip/tooltip.css +46 -0
  336. package/dist/collection/components/tooltip/tooltip.js +230 -0
  337. package/dist/collection/components/tooltip/tooltip.js.map +1 -0
  338. package/dist/collection/components/tooltip/tooltip.stories.js +116 -0
  339. package/dist/collection/components/tooltip/tooltip.stories.js.map +1 -0
  340. package/dist/collection/components/utility/colour/background-color.stories.js +97 -0
  341. package/dist/collection/components/utility/colour/background-color.stories.js.map +1 -0
  342. package/dist/collection/components/utility/colour/text-color.stories.js +95 -0
  343. package/dist/collection/components/utility/colour/text-color.stories.js.map +1 -0
  344. package/dist/collection/foundations-stories/colour/colour-brand.stories.js +39 -0
  345. package/dist/collection/foundations-stories/colour/colour-brand.stories.js.map +1 -0
  346. package/dist/collection/foundations-stories/colour/colour-scales.stories.js +72 -0
  347. package/dist/collection/foundations-stories/colour/colour-scales.stories.js.map +1 -0
  348. package/dist/collection/foundations-stories/colour/colour-semantic.stories.js +41 -0
  349. package/dist/collection/foundations-stories/colour/colour-semantic.stories.js.map +1 -0
  350. package/dist/collection/foundations-stories/grid/grid.stories.js +387 -0
  351. package/dist/collection/foundations-stories/grid/grid.stories.js.map +1 -0
  352. package/dist/collection/foundations-stories/spacing/spacing-element.stories.js +101 -0
  353. package/dist/collection/foundations-stories/spacing/spacing-element.stories.js.map +1 -0
  354. package/dist/collection/foundations-stories/spacing/spacing-layout.stories.js +95 -0
  355. package/dist/collection/foundations-stories/spacing/spacing-layout.stories.js.map +1 -0
  356. package/dist/collection/foundations-stories/typography/typography-body.stories.js +17 -0
  357. package/dist/collection/foundations-stories/typography/typography-body.stories.js.map +1 -0
  358. package/dist/collection/foundations-stories/typography/typography-detail.stories.js +18 -0
  359. package/dist/collection/foundations-stories/typography/typography-detail.stories.js.map +1 -0
  360. package/dist/collection/foundations-stories/typography/typography-headline.stories.js +40 -0
  361. package/dist/collection/foundations-stories/typography/typography-headline.stories.js.map +1 -0
  362. package/dist/collection/foundations-stories/typography/typography-paragraph.stories.js +13 -0
  363. package/dist/collection/foundations-stories/typography/typography-paragraph.stories.js.map +1 -0
  364. package/dist/collection/index.js +2 -0
  365. package/dist/collection/index.js.map +1 -0
  366. package/dist/collection/stories/assets/code-brackets.svg +1 -0
  367. package/dist/collection/stories/assets/colors.svg +1 -0
  368. package/dist/collection/stories/assets/comments.svg +1 -0
  369. package/dist/collection/stories/assets/direction.svg +1 -0
  370. package/dist/collection/stories/assets/flow.svg +1 -0
  371. package/dist/collection/stories/assets/plugin.svg +1 -0
  372. package/dist/collection/stories/assets/repo.svg +1 -0
  373. package/dist/collection/stories/assets/stackalt.svg +1 -0
  374. package/dist/collection/utils/utils.js +13 -0
  375. package/dist/collection/utils/utils.js.map +1 -0
  376. package/dist/esm/index-96563708.js +2153 -0
  377. package/dist/esm/index-96563708.js.map +1 -0
  378. package/dist/esm/index.js +3 -0
  379. package/dist/esm/index.js.map +1 -0
  380. package/dist/esm/loader.js +20 -0
  381. package/dist/esm/loader.js.map +1 -0
  382. package/dist/esm/polyfills/core-js.js +11 -0
  383. package/dist/esm/polyfills/css-shim.js +1 -0
  384. package/dist/esm/polyfills/dom.js +79 -0
  385. package/dist/esm/polyfills/es5-html-element.js +1 -0
  386. package/dist/esm/polyfills/index.js +34 -0
  387. package/dist/esm/polyfills/system.js +6 -0
  388. package/dist/esm/popper-f860750c.js +1801 -0
  389. package/dist/esm/popper-f860750c.js.map +1 -0
  390. package/dist/esm/sdds-accordion-item.entry.js +32 -0
  391. package/dist/esm/sdds-accordion-item.entry.js.map +1 -0
  392. package/dist/esm/sdds-accordion.entry.js +19 -0
  393. package/dist/esm/sdds-accordion.entry.js.map +1 -0
  394. package/dist/esm/sdds-badges.entry.js +52 -0
  395. package/dist/esm/sdds-badges.entry.js.map +1 -0
  396. package/dist/esm/sdds-banner.entry.js +77 -0
  397. package/dist/esm/sdds-banner.entry.js.map +1 -0
  398. package/dist/esm/sdds-block.entry.js +30 -0
  399. package/dist/esm/sdds-block.entry.js.map +1 -0
  400. package/dist/esm/sdds-body-cell_2.entry.js +170 -0
  401. package/dist/esm/sdds-body-cell_2.entry.js.map +1 -0
  402. package/dist/esm/sdds-breadcrumb-item.entry.js +23 -0
  403. package/dist/esm/sdds-breadcrumb-item.entry.js.map +1 -0
  404. package/dist/esm/sdds-breadcrumb.entry.js +21 -0
  405. package/dist/esm/sdds-breadcrumb.entry.js.map +1 -0
  406. package/dist/esm/sdds-button.entry.js +35 -0
  407. package/dist/esm/sdds-button.entry.js.map +1 -0
  408. package/dist/esm/sdds-card.entry.js +54 -0
  409. package/dist/esm/sdds-card.entry.js.map +1 -0
  410. package/dist/esm/sdds-checkbox.entry.js +53 -0
  411. package/dist/esm/sdds-checkbox.entry.js.map +1 -0
  412. package/dist/esm/sdds-datetime.entry.js +93 -0
  413. package/dist/esm/sdds-datetime.entry.js.map +1 -0
  414. package/dist/esm/sdds-dropdown-filter.entry.js +90 -0
  415. package/dist/esm/sdds-dropdown-filter.entry.js.map +1 -0
  416. package/dist/esm/sdds-dropdown_2.entry.js +338 -0
  417. package/dist/esm/sdds-dropdown_2.entry.js.map +1 -0
  418. package/dist/esm/sdds-header-cell.entry.js +137 -0
  419. package/dist/esm/sdds-header-cell.entry.js.map +1 -0
  420. package/dist/esm/sdds-icon.entry.js +40 -0
  421. package/dist/esm/sdds-icon.entry.js.map +1 -0
  422. package/dist/esm/sdds-inline-tab.entry.js +20 -0
  423. package/dist/esm/sdds-inline-tab.entry.js.map +1 -0
  424. package/dist/esm/sdds-inline-tabs-fullbleed.entry.js +96 -0
  425. package/dist/esm/sdds-inline-tabs-fullbleed.entry.js.map +1 -0
  426. package/dist/esm/sdds-inline-tabs.entry.js +219 -0
  427. package/dist/esm/sdds-inline-tabs.entry.js.map +1 -0
  428. package/dist/esm/sdds-link.entry.js +26 -0
  429. package/dist/esm/sdds-link.entry.js.map +1 -0
  430. package/dist/esm/sdds-message.entry.js +39 -0
  431. package/dist/esm/sdds-message.entry.js.map +1 -0
  432. package/dist/esm/sdds-modal.entry.js +49 -0
  433. package/dist/esm/sdds-modal.entry.js.map +1 -0
  434. package/dist/esm/sdds-navigation-tabs.entry.js +96 -0
  435. package/dist/esm/sdds-navigation-tabs.entry.js.map +1 -0
  436. package/dist/esm/sdds-popover-canvas.entry.js +82 -0
  437. package/dist/esm/sdds-popover-canvas.entry.js.map +1 -0
  438. package/dist/esm/sdds-popover-menu.entry.js +83 -0
  439. package/dist/esm/sdds-popover-menu.entry.js.map +1 -0
  440. package/dist/esm/sdds-radio-button.entry.js +30 -0
  441. package/dist/esm/sdds-radio-button.entry.js.map +1 -0
  442. package/dist/esm/sdds-slider.entry.js +355 -0
  443. package/dist/esm/sdds-slider.entry.js.map +1 -0
  444. package/dist/esm/sdds-spinner.entry.js +19 -0
  445. package/dist/esm/sdds-spinner.entry.js.map +1 -0
  446. package/dist/esm/sdds-table-body-row-expandable.entry.js +80 -0
  447. package/dist/esm/sdds-table-body-row-expandable.entry.js.map +1 -0
  448. package/dist/esm/sdds-table-body.entry.js +287 -0
  449. package/dist/esm/sdds-table-body.entry.js.map +1 -0
  450. package/dist/esm/sdds-table-footer.entry.js +162 -0
  451. package/dist/esm/sdds-table-footer.entry.js.map +1 -0
  452. package/dist/esm/sdds-table-header.entry.js +97 -0
  453. package/dist/esm/sdds-table-header.entry.js.map +1 -0
  454. package/dist/esm/sdds-table-toolbar.entry.js +63 -0
  455. package/dist/esm/sdds-table-toolbar.entry.js.map +1 -0
  456. package/dist/esm/sdds-table.entry.js +66 -0
  457. package/dist/esm/sdds-table.entry.js.map +1 -0
  458. package/dist/esm/sdds-textarea.entry.js +72 -0
  459. package/dist/esm/sdds-textarea.entry.js.map +1 -0
  460. package/dist/esm/sdds-textfield.entry.js +89 -0
  461. package/dist/esm/sdds-textfield.entry.js.map +1 -0
  462. package/dist/esm/sdds-toast.entry.js +84 -0
  463. package/dist/esm/sdds-toast.entry.js.map +1 -0
  464. package/dist/esm/sdds-toggle.entry.js +42 -0
  465. package/dist/esm/sdds-toggle.entry.js.map +1 -0
  466. package/dist/esm/sdds-tooltip.entry.js +102 -0
  467. package/dist/esm/sdds-tooltip.entry.js.map +1 -0
  468. package/dist/esm/tegel.js +23 -0
  469. package/dist/esm/tegel.js.map +1 -0
  470. package/dist/index.cjs.js +1 -0
  471. package/dist/index.js +1 -0
  472. package/dist/node_modules/@types/jest/index.d.ts +1512 -0
  473. package/dist/tegel/index.esm.js +2 -0
  474. package/dist/tegel/index.esm.js.map +1 -0
  475. package/dist/tegel/p-07c7c2e7.entry.js +2 -0
  476. package/dist/tegel/p-07c7c2e7.entry.js.map +1 -0
  477. package/dist/tegel/p-0953710b.entry.js +2 -0
  478. package/dist/tegel/p-0953710b.entry.js.map +1 -0
  479. package/dist/tegel/p-0b4eba86.js +3 -0
  480. package/dist/tegel/p-0b4eba86.js.map +1 -0
  481. package/dist/tegel/p-1eb8dd92.entry.js +2 -0
  482. package/dist/tegel/p-1eb8dd92.entry.js.map +1 -0
  483. package/dist/tegel/p-25af32a7.entry.js +2 -0
  484. package/dist/tegel/p-25af32a7.entry.js.map +1 -0
  485. package/dist/tegel/p-262dca00.entry.js +2 -0
  486. package/dist/tegel/p-262dca00.entry.js.map +1 -0
  487. package/dist/tegel/p-2fad34c4.entry.js +2 -0
  488. package/dist/tegel/p-2fad34c4.entry.js.map +1 -0
  489. package/dist/tegel/p-336efb27.entry.js +2 -0
  490. package/dist/tegel/p-336efb27.entry.js.map +1 -0
  491. package/dist/tegel/p-33e7f7e5.entry.js +2 -0
  492. package/dist/tegel/p-33e7f7e5.entry.js.map +1 -0
  493. package/dist/tegel/p-458cda76.entry.js +2 -0
  494. package/dist/tegel/p-458cda76.entry.js.map +1 -0
  495. package/dist/tegel/p-46013562.entry.js +2 -0
  496. package/dist/tegel/p-46013562.entry.js.map +1 -0
  497. package/dist/tegel/p-525ec252.entry.js +2 -0
  498. package/dist/tegel/p-525ec252.entry.js.map +1 -0
  499. package/dist/tegel/p-5c390692.entry.js +2 -0
  500. package/dist/tegel/p-5c390692.entry.js.map +1 -0
  501. package/dist/tegel/p-5e50ce81.entry.js +2 -0
  502. package/dist/tegel/p-5e50ce81.entry.js.map +1 -0
  503. package/dist/tegel/p-62ed6fdc.entry.js +2 -0
  504. package/dist/tegel/p-62ed6fdc.entry.js.map +1 -0
  505. package/dist/tegel/p-68fca08c.entry.js +2 -0
  506. package/dist/tegel/p-68fca08c.entry.js.map +1 -0
  507. package/dist/tegel/p-6bdce8c1.entry.js +2 -0
  508. package/dist/tegel/p-6bdce8c1.entry.js.map +1 -0
  509. package/dist/tegel/p-6e54f5a2.entry.js +2 -0
  510. package/dist/tegel/p-6e54f5a2.entry.js.map +1 -0
  511. package/dist/tegel/p-72099402.entry.js +2 -0
  512. package/dist/tegel/p-72099402.entry.js.map +1 -0
  513. package/dist/tegel/p-77a4950d.entry.js +2 -0
  514. package/dist/tegel/p-77a4950d.entry.js.map +1 -0
  515. package/dist/tegel/p-84e5d141.entry.js +2 -0
  516. package/dist/tegel/p-84e5d141.entry.js.map +1 -0
  517. package/dist/tegel/p-913cb5e9.entry.js +2 -0
  518. package/dist/tegel/p-913cb5e9.entry.js.map +1 -0
  519. package/dist/tegel/p-92869ad1.entry.js +2 -0
  520. package/dist/tegel/p-92869ad1.entry.js.map +1 -0
  521. package/dist/tegel/p-93571e36.entry.js +2 -0
  522. package/dist/tegel/p-93571e36.entry.js.map +1 -0
  523. package/dist/tegel/p-9904d7ec.entry.js +2 -0
  524. package/dist/tegel/p-9904d7ec.entry.js.map +1 -0
  525. package/dist/tegel/p-a3741fdd.entry.js +2 -0
  526. package/dist/tegel/p-a3741fdd.entry.js.map +1 -0
  527. package/dist/tegel/p-aff4d273.entry.js +2 -0
  528. package/dist/tegel/p-aff4d273.entry.js.map +1 -0
  529. package/dist/tegel/p-b2dde7a5.entry.js +2 -0
  530. package/dist/tegel/p-b2dde7a5.entry.js.map +1 -0
  531. package/dist/tegel/p-b9ec54c5.entry.js +2 -0
  532. package/dist/tegel/p-b9ec54c5.entry.js.map +1 -0
  533. package/dist/tegel/p-ba975249.entry.js +2 -0
  534. package/dist/tegel/p-ba975249.entry.js.map +1 -0
  535. package/dist/tegel/p-c79b3861.entry.js +2 -0
  536. package/dist/tegel/p-c79b3861.entry.js.map +1 -0
  537. package/dist/tegel/p-cd08f5f0.entry.js +2 -0
  538. package/dist/tegel/p-cd08f5f0.entry.js.map +1 -0
  539. package/dist/tegel/p-d910763a.entry.js +2 -0
  540. package/dist/tegel/p-d910763a.entry.js.map +1 -0
  541. package/dist/tegel/p-e25424af.entry.js +2 -0
  542. package/dist/tegel/p-e25424af.entry.js.map +1 -0
  543. package/dist/tegel/p-e5e10d8f.entry.js +2 -0
  544. package/dist/tegel/p-e5e10d8f.entry.js.map +1 -0
  545. package/dist/tegel/p-e662e68d.entry.js +2 -0
  546. package/dist/tegel/p-e662e68d.entry.js.map +1 -0
  547. package/dist/tegel/p-ebffa726.entry.js +2 -0
  548. package/dist/tegel/p-ebffa726.entry.js.map +1 -0
  549. package/dist/tegel/p-ec26fc38.js +2 -0
  550. package/dist/tegel/p-ec26fc38.js.map +1 -0
  551. package/dist/tegel/p-fa3dbeec.entry.js +2 -0
  552. package/dist/tegel/p-fa3dbeec.entry.js.map +1 -0
  553. package/dist/tegel/p-fbcdf3d9.entry.js +2 -0
  554. package/dist/tegel/p-fbcdf3d9.entry.js.map +1 -0
  555. package/dist/tegel/p-fc96cf21.entry.js +2 -0
  556. package/dist/tegel/p-fc96cf21.entry.js.map +1 -0
  557. package/dist/tegel/tegel.css +109 -0
  558. package/dist/tegel/tegel.esm.js +2 -0
  559. package/dist/tegel/tegel.esm.js.map +1 -0
  560. package/dist/types/components/accordion/accordion-item/accordion-item.d.ts +17 -0
  561. package/dist/types/components/accordion/accordion.d.ts +7 -0
  562. package/dist/types/components/accordion/accordion.stories.d.ts +77 -0
  563. package/dist/types/components/badge/badge.stories.d.ts +66 -0
  564. package/dist/types/components/badge/badges.d.ts +16 -0
  565. package/dist/types/components/banner/banner.stories.d.ts +68 -0
  566. package/dist/types/components/banner/sdds-banner.d.ts +48 -0
  567. package/dist/types/components/banner/sdds-banner.stories.d.ts +109 -0
  568. package/dist/types/components/block/block-native.stories.d.ts +31 -0
  569. package/dist/types/components/block/sdds-block.d.ts +9 -0
  570. package/dist/types/components/block/sdds-block.stories.d.ts +32 -0
  571. package/dist/types/components/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +9 -0
  572. package/dist/types/components/breadcrumb/breadcrumb.d.ts +5 -0
  573. package/dist/types/components/breadcrumb/breadcrumb.stories.d.ts +12 -0
  574. package/dist/types/components/button/button-component.d.ts +18 -0
  575. package/dist/types/components/button/button-native.stories.d.ts +148 -0
  576. package/dist/types/components/button/button-webcomponent.stories.d.ts +147 -0
  577. package/dist/types/components/card/card.stories.d.ts +138 -0
  578. package/dist/types/components/card/sdds-card.d.ts +39 -0
  579. package/dist/types/components/card/sdds-card.stories.d.ts +139 -0
  580. package/dist/types/components/checkbox/checkbox.stories.d.ts +39 -0
  581. package/dist/types/components/checkbox/sdds-checkbox.d.ts +38 -0
  582. package/dist/types/components/checkbox/sdds-checkbox.stories.d.ts +40 -0
  583. package/dist/types/components/chips/chips.stories.d.ts +77 -0
  584. package/dist/types/components/data-table/native-table.stories.d.ts +133 -0
  585. package/dist/types/components/data-table/table/table.d.ts +47 -0
  586. package/dist/types/components/data-table/table-body/table-body.d.ts +54 -0
  587. package/dist/types/components/data-table/table-body-cell/table-body-cell.d.ts +24 -0
  588. package/dist/types/components/data-table/table-body-row/table-body-row.d.ts +27 -0
  589. package/dist/types/components/data-table/table-body-row-expandable/table-body-row-expandable.d.ts +27 -0
  590. package/dist/types/components/data-table/table-component-basic.stories.d.ts +101 -0
  591. package/dist/types/components/data-table/table-component-batch-actions.stories.d.ts +99 -0
  592. package/dist/types/components/data-table/table-component-bodydata.stories.d.ts +38 -0
  593. package/dist/types/components/data-table/table-component-custom-width.stories.d.ts +148 -0
  594. package/dist/types/components/data-table/table-component-event-listeners.stories.d.ts +88 -0
  595. package/dist/types/components/data-table/table-component-expandable-rows.stories.d.ts +88 -0
  596. package/dist/types/components/data-table/table-component-filtering.stories.d.ts +101 -0
  597. package/dist/types/components/data-table/table-component-multiselect.stories.d.ts +101 -0
  598. package/dist/types/components/data-table/table-component-pagination.stories.d.ts +101 -0
  599. package/dist/types/components/data-table/table-component-sorting.stories.d.ts +100 -0
  600. package/dist/types/components/data-table/table-footer/table-footer.d.ts +50 -0
  601. package/dist/types/components/data-table/table-header/table-header.d.ts +27 -0
  602. package/dist/types/components/data-table/table-header-cell/table-header-cell.d.ts +44 -0
  603. package/dist/types/components/data-table/table-toolbar/table-toolbar.d.ts +22 -0
  604. package/dist/types/components/datetime/datetime.d.ts +42 -0
  605. package/dist/types/components/datetime/datetime.stories.d.ts +127 -0
  606. package/dist/types/components/divider/divider.stories.d.ts +65 -0
  607. package/dist/types/components/dropdown/dropdown-filter/dropdown-filter.d.ts +42 -0
  608. package/dist/types/components/dropdown/dropdown-filter/dropdown-filter.stories.d.ts +73 -0
  609. package/dist/types/components/dropdown/dropdown-native.stories.d.ts +57 -0
  610. package/dist/types/components/dropdown/dropdown-option/dropdown-option.d.ts +19 -0
  611. package/dist/types/components/dropdown/dropdown-wc-default.stories.d.ts +129 -0
  612. package/dist/types/components/dropdown/dropdown-wc-multiselect.stories.d.ts +115 -0
  613. package/dist/types/components/dropdown/dropdown.d.ts +58 -0
  614. package/dist/types/components/footer/footer.stories.d.ts +45 -0
  615. package/dist/types/components/header/header-all.stories.d.ts +29 -0
  616. package/dist/types/components/header/header-default.stories.d.ts +29 -0
  617. package/dist/types/components/header/header-inline.stories.d.ts +29 -0
  618. package/dist/types/components/header/header-search.stories.d.ts +29 -0
  619. package/dist/types/components/header/header-toolbar.stories.d.ts +29 -0
  620. package/dist/types/components/icon/icon-font.stories.d.ts +38 -0
  621. package/dist/types/components/icon/icon-web-component.stories.d.ts +38 -0
  622. package/dist/types/components/icon/icon.d.ts +12 -0
  623. package/dist/types/components/link/link.stories.d.ts +33 -0
  624. package/dist/types/components/link/sdds-link.d.ts +13 -0
  625. package/dist/types/components/link/sdds-link.stories.d.ts +58 -0
  626. package/dist/types/components/message/message.stories.d.ts +69 -0
  627. package/dist/types/components/message/sdds-message.d.ts +14 -0
  628. package/dist/types/components/message/sdds-message.stories.d.ts +87 -0
  629. package/dist/types/components/modal/modal-native.stories.d.ts +59 -0
  630. package/dist/types/components/modal/modal-webcomponent.stories.d.ts +52 -0
  631. package/dist/types/components/modal/modal.d.ts +17 -0
  632. package/dist/types/components/popover-canvas/popover-canvas.d.ts +24 -0
  633. package/dist/types/components/popover-canvas/popover-canvas.stories.d.ts +25 -0
  634. package/dist/types/components/popover-menu/popover-menu-icons.stories.d.ts +27 -0
  635. package/dist/types/components/popover-menu/popover-menu.d.ts +24 -0
  636. package/dist/types/components/popover-menu/popover-menu.stories.d.ts +27 -0
  637. package/dist/types/components/radio-button/radio-button-component.stories.d.ts +39 -0
  638. package/dist/types/components/radio-button/radio-button.d.ts +26 -0
  639. package/dist/types/components/radio-button/radio-button.stories.d.ts +33 -0
  640. package/dist/types/components/side-menu/side-menu.stories.d.ts +42 -0
  641. package/dist/types/components/slider/slider.d.ts +86 -0
  642. package/dist/types/components/slider/slider.stories.d.ts +169 -0
  643. package/dist/types/components/spinner/spinner.d.ts +7 -0
  644. package/dist/types/components/spinner/spinner.stories.d.ts +37 -0
  645. package/dist/types/components/stepper/stepper.stories.d.ts +56 -0
  646. package/dist/types/components/tabs/inline-tabs-default/inline-tab/inline-tab.d.ts +6 -0
  647. package/dist/types/components/tabs/inline-tabs-default/inline-tabs.d.ts +40 -0
  648. package/dist/types/components/tabs/inline-tabs-default/inline-tabs.stories.d.ts +49 -0
  649. package/dist/types/components/tabs/inline-tabs-fullbleed/inline-tabs-fullbleed.d.ts +20 -0
  650. package/dist/types/components/tabs/inline-tabs-fullbleed/inline-tabs-fullbleed.stories.d.ts +30 -0
  651. package/dist/types/components/tabs/navigation-tabs/navigation-tabs.d.ts +20 -0
  652. package/dist/types/components/tabs/navigation-tabs/navigation-tabs.stories.d.ts +13 -0
  653. package/dist/types/components/textarea/textarea.d.ts +48 -0
  654. package/dist/types/components/textarea/textarea.stories.d.ts +116 -0
  655. package/dist/types/components/textfield/textfield.d.ts +52 -0
  656. package/dist/types/components/textfield/textfield.stories.d.ts +180 -0
  657. package/dist/types/components/toast/sdds-toast.d.ts +36 -0
  658. package/dist/types/components/toast/sdds-toast.stories.d.ts +56 -0
  659. package/dist/types/components/toast/toast.stories.d.ts +69 -0
  660. package/dist/types/components/toggle/sdds-toggle.d.ts +34 -0
  661. package/dist/types/components/toggle/sdds-toggle.stories.d.ts +74 -0
  662. package/dist/types/components/toggle/toggle.stories.d.ts +55 -0
  663. package/dist/types/components/tooltip/tooltip.d.ts +24 -0
  664. package/dist/types/components/tooltip/tooltip.stories.d.ts +54 -0
  665. package/dist/types/components/utility/colour/background-color.stories.d.ts +58 -0
  666. package/dist/types/components/utility/colour/text-color.stories.d.ts +58 -0
  667. package/dist/types/components.d.ts +2645 -0
  668. package/dist/types/foundations-stories/colour/colour-brand.stories.d.ts +13 -0
  669. package/dist/types/foundations-stories/colour/colour-scales.stories.d.ts +13 -0
  670. package/dist/types/foundations-stories/colour/colour-semantic.stories.d.ts +13 -0
  671. package/dist/types/foundations-stories/grid/grid.stories.d.ts +35 -0
  672. package/dist/types/foundations-stories/spacing/spacing-element.stories.d.ts +8 -0
  673. package/dist/types/foundations-stories/spacing/spacing-layout.stories.d.ts +8 -0
  674. package/dist/types/foundations-stories/typography/typography-body.stories.d.ts +8 -0
  675. package/dist/types/foundations-stories/typography/typography-detail.stories.d.ts +8 -0
  676. package/dist/types/foundations-stories/typography/typography-headline.stories.d.ts +21 -0
  677. package/dist/types/foundations-stories/typography/typography-paragraph.stories.d.ts +8 -0
  678. package/dist/types/global.d.ts +2 -0
  679. package/dist/types/index.d.ts +1 -0
  680. package/dist/types/stencil-public-runtime.d.ts +1637 -0
  681. package/dist/types/utils/utils.d.ts +2 -0
  682. package/loader/cdn.js +3 -0
  683. package/loader/index.cjs.js +3 -0
  684. package/loader/index.d.ts +21 -0
  685. package/loader/index.es2017.js +3 -0
  686. package/loader/index.js +4 -0
  687. package/loader/package.json +11 -0
  688. package/package.json +3 -3
  689. package/readme.md +34 -0
@@ -0,0 +1 @@
1
+ {"file":"sdds-inline-tabs-fullbleed.entry.js","mappings":"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","names":[],"sources":["./src/components/tabs/inline-tabs-fullbleed/inline-tabs-fullbleed.scss?tag=sdds-inline-tabs-fullbleed&encapsulation=shadow","./src/components/tabs/inline-tabs-fullbleed/inline-tabs-fullbleed.tsx"],"sourcesContent":["@import '../../../mixins/focus-state';\n@import '../../../mixins/box-sizing';\n\n.sdds-inline-tabs-fullbleed {\n @include sdds-box-sizing;\n\n display: flex;\n position: relative;\n\n &::after {\n content: ' ';\n display: block;\n border-bottom: 1px solid var(--sdds-inline-tabs-fullbleed-horizontal-divider-background);\n opacity: var(--sdds-inline-tabs-fullbleed-horizontal-divider-opacity);\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n }\n\n &-wrapper {\n display: flex;\n flex-wrap: nowrap;\n width: 100%;\n overflow-x: scroll;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n &--forward,\n &--back {\n cursor: pointer;\n width: 48px;\n height: 100%;\n border: 0;\n position: absolute;\n right: 0;\n top: 0;\n background-color: var(--sdds-inline-tabs-fullbleed-scroll-btn-background);\n display: flex;\n justify-content: center;\n align-items: center;\n opacity: 0;\n pointer-events: none;\n\n &__show {\n opacity: 1;\n pointer-events: all;\n }\n\n &:hover {\n background-color: var(--sdds-inline-tabs-fullbleed-scroll-btn-background-hover);\n }\n\n &:active {\n background-color: var(--sdds-inline-tabs-fullbleed-scroll-btn-background-active);\n }\n\n &:focus {\n @include sdds-focus-state;\n }\n svg{\n fill:var(--sdds-inline-tabs-scroll-btn-color);\n }\n }\n\n &-centered {\n justify-content: center;\n }\n\n /* tab */\n ::slotted(&--tab) {\n //fixme: headline-07 has a line-height that is not matching old storybook\n font: var(--sdds-headline-07);\n letter-spacing: var(--sdds-headline-07-ls);\n color: var(--sdds-inline-tabs-fullbleed-tab-color);\n opacity: 0.6;\n padding: 16px 0;\n margin-right: 32px;\n text-decoration: none;\n display: block;\n position: relative;\n transition: color 0.15s ease-in-out;\n white-space: nowrap;\n text-align: left;\n\n &::after {\n content: ' ';\n position: absolute;\n bottom: 0;\n right: 0;\n left: 0;\n margin-left: auto;\n width: 0;\n margin-right: auto;\n height: 2px;\n background-color: var(--sdds-inline-tabs-fullbleed-tab-indicator-background-hover);\n transition: width 0.15s ease-in-out;\n z-index: 1;\n }\n }\n \n ::slotted(&--tab__active) {\n color: var(--sdds-inline-tabs-fullbleed-tab-color-active);\n opacity:1;\n\n &::after {\n width: 100%;\n background-color: var(--sdds-inline-tabs-fullbleed-tab-indicator-background-active);\n }\n }\n\n ::slotted(&--tab:first-child) {\n margin-left: 32px;\n }\n\n ::slotted(&--tab:last-child) {\n margin-right: 32px;\n }\n\n /* tab states */\n ::slotted(&--tab:hover) {\n color: var(--sdds-inline-tabs-fullbleed-tab-color-hover);\n opacity:1;\n\n &::after {\n width: 100%;\n }\n }\n\n ::slotted(&--tab:focus) {\n @include sdds-focus-state;\n\n color: var(--sdds-inline-tabs-fullbleed-tab-color-focus);\n opacity:1;\n \n &::after {\n width: 0;\n }\n }\n\n ::slotted(&--tab__active:focus)::after {\n width: 100%;\n }\n\n ::slotted(&--tab__disabled) {\n color: var(--sdds-inline-tabs-fullbleed-tab-color-disabled);\n pointer-events: none;\n opacity: var(--sdds-inline-tabs-fullbleed-tab-color-opacity-disabled);\n }\n}\n\n.sdds-inline-tabs-fullbleed {\n background-color: var(--sdds-inline-tabs-fullbleed-tab-background);\n\n .sdds-inline-tabs-fullbleed--forward {\n background-color: var(--sdds-inline-tabs-fullbleed-tab-background);\n }\n\n .sdds-inline-tabs-fullbleed--back {\n background-color: var(--sdds-inline-tabs-fullbleed-tab-background);\n }\n}\n","import { Component, Host, State, Element, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'sdds-inline-tabs-fullbleed',\n styleUrl: 'inline-tabs-fullbleed.scss',\n shadow: true,\n})\nexport class InlineTabsFullbleed {\n /** Variant of the tabs, primary= on white, secondary= on grey50 */\n @Prop() modeVariant: 'primary' | 'secondary' = null;\n\n @Element() host: HTMLElement;\n\n @State() tabs: Array<any> = []; // array with metadata for slotted children\n\n @State() showLeftScroll: boolean = false;\n\n @State() showRightScroll: boolean = false;\n\n navWrapperElement: HTMLElement = null; // reference to container with nav buttons\n\n componentWidth: number = 0; // visible width of this component\n\n buttonsWidth: number = 0; // total width of all nav items combined\n\n scrollWidth: number = 0; // total amount that is possible to scroll in the nav wrapper\n\n buttonWidth: number = 0; // current calculated width of the largest nav button\n\n componentDidRender() {\n this.calculateButtonWidth();\n }\n\n componentDidLoad() {\n const resizeObserver = new ResizeObserver((entries) => {\n entries.forEach((entry) => {\n const componentWidth = entry.contentRect.width;\n let buttonsWidth = 0;\n\n const navButtons = Array.from(this.host.children);\n navButtons.forEach((navButton: HTMLElement) => {\n const style = window.getComputedStyle(navButton);\n buttonsWidth +=\n navButton.clientWidth + parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n\n navButton.classList.add('sdds-inline-tabs-fullbleed--tab');\n });\n\n this.componentWidth = componentWidth;\n this.buttonsWidth = buttonsWidth;\n this.scrollWidth = buttonsWidth - componentWidth;\n\n if (this.buttonsWidth > this.componentWidth) {\n this.evaluateScrollButtons();\n } else {\n this.showLeftScroll = false;\n this.showRightScroll = false;\n }\n });\n });\n\n resizeObserver.observe(this.navWrapperElement);\n\n this.calculateButtonWidth();\n }\n\n calculateButtonWidth() {\n let best = 0;\n const navButtons = Array.from(this.host.children);\n navButtons.forEach((navButton: HTMLElement) => {\n const style = window.getComputedStyle(navButton);\n const width =\n navButton.clientWidth + parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n\n if (width > best) {\n best = width;\n }\n });\n\n this.buttonWidth = best;\n }\n\n scrollRight() {\n const scroll = this.navWrapperElement.scrollLeft;\n this.navWrapperElement.scrollLeft = scroll + this.buttonWidth;\n\n this.evaluateScrollButtons();\n }\n\n scrollLeft() {\n const scroll = this.navWrapperElement.scrollLeft;\n this.navWrapperElement.scrollLeft = scroll - this.buttonWidth;\n\n this.evaluateScrollButtons();\n }\n\n evaluateScrollButtons() {\n const scroll = this.navWrapperElement.scrollLeft;\n\n if (scroll >= this.scrollWidth) {\n this.showRightScroll = false;\n } else {\n this.showRightScroll = true;\n }\n\n if (scroll <= 0) {\n this.showLeftScroll = false;\n } else {\n this.showLeftScroll = true;\n }\n }\n\n render() {\n return (\n <Host class={`${this.modeVariant !== null ? `sdds-mode-variant-${this.modeVariant}`: ''}`}>\n <div class={`sdds-inline-tabs-fullbleed`}>\n <div\n class=\"sdds-inline-tabs-fullbleed-wrapper\"\n ref={(el) => {\n this.navWrapperElement = el as HTMLElement;\n }}\n >\n <slot />\n </div>\n <div class=\"sdds-inline-tabs-fullbleed-navigation\">\n <button\n class={`sdds-inline-tabs-fullbleed--forward ${\n this.showRightScroll ? 'sdds-inline-tabs-fullbleed--back__show' : ''\n }`}\n onClick={() => this.scrollRight()}\n disabled={!this.showRightScroll}\n >\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M6.1147 17.3291C5.87062 17.0851 5.87062 16.6893 6.1147 16.4453L12.2948 10.2652C12.4412 10.1187 12.4412 9.8813 12.2948 9.73485L6.1147 3.55476C5.87062 3.31068 5.87062 2.91496 6.1147 2.67088C6.35878 2.4268 6.75451 2.4268 6.99858 2.67088L13.1787 8.85097C13.8133 9.48557 13.8133 10.5145 13.1787 11.1491L6.99858 17.3291C6.75451 17.5732 6.35878 17.5732 6.1147 17.3291Z\"\n ></path>\n </svg>\n </button>\n <button\n class={`sdds-inline-tabs-fullbleed--back ${\n this.showLeftScroll ? 'sdds-inline-tabs-fullbleed--back__show' : ''\n }`}\n onClick={() => this.scrollLeft()}\n disabled={!this.showLeftScroll}\n >\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.8853 2.67085C14.1294 2.91493 14.1294 3.31066 13.8853 3.55473L7.70522 9.73482C7.55878 9.88127 7.55878 10.1187 7.70522 10.2652L13.8853 16.4452C14.1294 16.6893 14.1294 17.085 13.8853 17.3291C13.6412 17.5732 13.2455 17.5732 13.0014 17.3291L6.82134 11.149C6.18674 10.5144 6.18674 9.48554 6.82134 8.85094L13.0014 2.67085C13.2455 2.42677 13.6412 2.42677 13.8853 2.67085Z\"\n ></path>\n </svg>\n </button>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,219 @@
1
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-96563708.js';
2
+
3
+ const inlineTabsCss = ":host{outline:0 !important;box-sizing:border-box}:host *{box-sizing:border-box}.sdds-inline-tabs{overflow:hidden;outline:0}.sdds-inline-tabs-header{position:relative}.sdds-inline-tabs-main{background-color:var(--sdds-inline-tabs-main-background);padding:24px 24px 48px}.sdds-inline-tabs-wrapper{display:flex;overflow-x:scroll;scrollbar-width:none}.sdds-inline-tabs-wrapper::-webkit-scrollbar{display:none}.sdds-inline-tabs--forward,.sdds-inline-tabs--back{cursor:pointer;width:48px;height:100%;border:0;position:absolute;top:0;background-color:var(--sdds-inline-tabs-scroll-btn-background);display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none}.sdds-inline-tabs--forward__show,.sdds-inline-tabs--back__show{opacity:1;pointer-events:all}.sdds-inline-tabs--forward:hover,.sdds-inline-tabs--back:hover{background-color:var(--sdds-inline-tabs-scroll-btn-background-hover)}.sdds-inline-tabs--forward:active,.sdds-inline-tabs--back:active{background-color:var(--sdds-inline-tabs-scroll-btn-background-active)}.sdds-inline-tabs--forward:focus,.sdds-inline-tabs--back:focus{outline:2px solid var(--sdds-blue-400);outline-offset:-2px}.sdds-inline-tabs--forward svg,.sdds-inline-tabs--back svg{fill:var(--sdds-inline-tabs-scroll-btn-color)}.sdds-inline-tabs--back{left:0}.sdds-inline-tabs--forward{right:0}.sdds-inline-tabs--tab{font:var(--sdds-headline-07);letter-spacing:var(--sdds-headline-07-ls);cursor:pointer;border:0;color:var(--sdds-inline-tabs-tab-color);background-color:var(--sdds-inline-tabs-tab-background);padding:16px;min-width:142px;text-decoration:none;display:block;position:relative;transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out;white-space:nowrap;flex-shrink:0;text-align:left;outline:none}.sdds-inline-tabs--tab>*{opacity:0.6}.sdds-inline-tabs--tab:not(:last-child){border-right:1px solid var(--sdds-inline-tabs-tab-border-color)}.sdds-inline-tabs--tab::after{content:\" \";position:absolute;top:0;right:0;left:0;margin-left:auto;width:0;margin-right:auto;height:2px;background-color:var(--sdds-inline-tabs-tab-indicator-background);transition:width 0.15s ease-in-out}.sdds-inline-tabs--tab:hover{background-color:var(--sdds-inline-tabs-tab-background-hover);color:var(--sdds-inline-tabs-tab-color-hover);text-decoration:none}.sdds-inline-tabs--tab:focus{outline:2px solid var(--sdds-blue-400);outline-offset:-2px}.sdds-inline-tabs--tab__active{background-color:var(--sdds-inline-tabs-tab-background-active);color:var(--sdds-inline-tabs-tab-color-active);cursor:initial;border-right:1px solid transparent !important}.sdds-inline-tabs--tab__active>*{opacity:1}.sdds-inline-tabs--tab__active:hover{background-color:var(--sdds-inline-tabs-tab-background-active)}.sdds-inline-tabs--tab__active::after{width:calc(100% + 2px);left:-1px;background-color:var(--sdds-inline-tabs-tab-indicator-background-active)}.sdds-inline-tabs--tab__active::before{content:\" \";background-color:var(--sdds-inline-tabs-tab-background-active);width:1px;top:0;bottom:0;left:-1px;display:block;position:absolute}.sdds-inline-tabs--tab__active:first-child:focus::before{left:0}.sdds-inline-tabs--tab:disabled,.sdds-inline-tabs--tab__disabled{cursor:initial;color:var(--sdds-navigation-tabs-tab-color-disabled);pointer-events:none}.sdds-inline-tabs--tab:disabled>*,.sdds-inline-tabs--tab__disabled>*{opacity:0.16}.sdds-inline-tabs--tab__active{background-color:var(--sdds-inline-tabs-tab-background-active)}.sdds-inline-tabs-main{background-color:var(--sdds-inline-tabs-main-background)}";
4
+
5
+ function generateKeyFromName(name) {
6
+ return name
7
+ .replace(/\s/g, '-')
8
+ .replace(/[^a-z0-9-]/gi, '')
9
+ .toLowerCase();
10
+ }
11
+ const InlineTabs = class {
12
+ constructor(hostRef) {
13
+ registerInstance(this, hostRef);
14
+ this.startingTab = null; // name of the tab to show by default (infered from either "default-tab"-prop (on component) or "default"-prop (on a slotted child)
15
+ this.navWrapperElement = null; // reference to container with nav buttons
16
+ this.tabWrapperElement = null; // reference to container with slotted children
17
+ this.componentWidth = 0; // visible width of this component
18
+ this.buttonsWidth = 0; // total width of all nav items combined
19
+ this.scrollWidth = 0; // total amount that is possible to scroll in the nav wrapper
20
+ this.useAutoHeight = false; // set height for slotted children or not
21
+ this.defaultTab = '';
22
+ this.autoHeight = false;
23
+ this.modeVariant = null;
24
+ this.tabs = [];
25
+ this.buttonWidth = 0;
26
+ this.tabHeight = 0;
27
+ this.showLeftScroll = false;
28
+ this.showRightScroll = false;
29
+ }
30
+ /** used for switching to a tab programmatically */
31
+ async showTab(key) {
32
+ this.switchToTab(key);
33
+ }
34
+ componentWillLoad() {
35
+ this.initComponent();
36
+ }
37
+ initComponent(createInitialState = true) {
38
+ if (this.autoHeight) {
39
+ this.useAutoHeight = true;
40
+ }
41
+ this.tabs = Array.from(this.host.children).map((item, index) => {
42
+ const name = item.label ? item.label : item.getAttribute('name') || `Tab ${index + 1}`;
43
+ const key = generateKeyFromName(name);
44
+ if (item.default) {
45
+ this.startingTab = key;
46
+ }
47
+ let disabled = false;
48
+ if (item.disabled) {
49
+ disabled = true;
50
+ }
51
+ return {
52
+ name,
53
+ key,
54
+ element: item,
55
+ disabled,
56
+ visible: true,
57
+ initialDisplay: window.getComputedStyle(item).display,
58
+ };
59
+ });
60
+ if (createInitialState) {
61
+ this.setInitialState();
62
+ }
63
+ this.tabs = Array.from(this.tabs);
64
+ }
65
+ calculateButtonWidth() {
66
+ const navButtons = this.navWrapperElement.querySelectorAll('button.sdds-inline-tabs--tab');
67
+ let best = 0;
68
+ Array.from(navButtons).forEach((navButton) => {
69
+ const oldStyle = navButton.style.width;
70
+ // eslint-disable-next-line no-param-reassign
71
+ navButton.style.width = '';
72
+ const width = navButton.clientWidth;
73
+ // eslint-disable-next-line no-param-reassign
74
+ navButton.style.width = oldStyle;
75
+ if (navButton.clientWidth > best) {
76
+ best = width;
77
+ }
78
+ });
79
+ this.buttonWidth = best;
80
+ }
81
+ calculateTabHeight() {
82
+ let best = 0;
83
+ this.tabs.forEach((_, tabIndex) => {
84
+ const tab = this.tabs[tabIndex];
85
+ // TODO: add comment on what this does
86
+ const oldStyle = tab.element.style.display;
87
+ tab.element.style.display = '';
88
+ const height = tab.element.clientHeight;
89
+ tab.element.style.display = oldStyle;
90
+ if (height > best) {
91
+ best = height;
92
+ }
93
+ });
94
+ this.tabHeight = best;
95
+ }
96
+ componentDidRender() {
97
+ this.calculateTabHeight();
98
+ this.calculateButtonWidth();
99
+ }
100
+ componentDidLoad() {
101
+ const mutationObserver = new MutationObserver(( /* mutations, observer */) => {
102
+ const visibleTab = this.tabs.find((tab) => tab.visible);
103
+ this.initComponent(false);
104
+ this.calculateTabHeight();
105
+ this.calculateButtonWidth();
106
+ if (visibleTab) {
107
+ this.switchToTab(visibleTab.key);
108
+ }
109
+ });
110
+ const resizeObserver = new ResizeObserver((entries) => {
111
+ entries.forEach((entry) => {
112
+ const componentWidth = entry.contentRect.width;
113
+ let buttonsWidth = 0;
114
+ const navButtons = entry.target.querySelectorAll('button.sdds-inline-tabs--tab');
115
+ Array.from(navButtons).forEach((navButton) => {
116
+ buttonsWidth += navButton.clientWidth;
117
+ });
118
+ this.componentWidth = componentWidth;
119
+ this.buttonsWidth = buttonsWidth;
120
+ this.scrollWidth = buttonsWidth - componentWidth;
121
+ if (this.buttonsWidth > this.componentWidth) {
122
+ this.evaluateScrollButtons();
123
+ }
124
+ else {
125
+ this.showLeftScroll = false;
126
+ this.showRightScroll = false;
127
+ }
128
+ this.calculateTabHeight();
129
+ });
130
+ });
131
+ mutationObserver.observe(this.host, {
132
+ childList: true,
133
+ attributes: true,
134
+ });
135
+ resizeObserver.observe(this.navWrapperElement);
136
+ this.calculateButtonWidth();
137
+ this.calculateTabHeight();
138
+ }
139
+ setInitialState() {
140
+ if (this.defaultTab) {
141
+ this.startingTab = this.defaultTab;
142
+ }
143
+ this.tabs.forEach((tab, index) => {
144
+ if (this.startingTab) {
145
+ if (tab.key !== this.startingTab) {
146
+ this.hideTab(index);
147
+ }
148
+ }
149
+ else {
150
+ if (index > 0) {
151
+ this.hideTab(index);
152
+ }
153
+ }
154
+ });
155
+ }
156
+ unhideTab(tabIndex) {
157
+ const tab = this.tabs[tabIndex];
158
+ tab.element.style.display = '';
159
+ tab.visible = true;
160
+ }
161
+ hideTab(tabIndex) {
162
+ const tab = this.tabs[tabIndex];
163
+ tab.element.style.display = 'none';
164
+ tab.visible = false;
165
+ }
166
+ switchToTab(key) {
167
+ this.tabs.forEach((tab, index) => {
168
+ if (tab.key === key) {
169
+ this.unhideTab(index);
170
+ }
171
+ else {
172
+ this.hideTab(index);
173
+ }
174
+ });
175
+ this.tabs = Array.from(this.tabs);
176
+ }
177
+ scrollRight() {
178
+ const scroll = this.navWrapperElement.scrollLeft;
179
+ this.navWrapperElement.scrollLeft = scroll + this.buttonWidth;
180
+ this.evaluateScrollButtons();
181
+ }
182
+ scrollLeft() {
183
+ const scroll = this.navWrapperElement.scrollLeft;
184
+ this.navWrapperElement.scrollLeft = scroll - this.buttonWidth;
185
+ this.evaluateScrollButtons();
186
+ }
187
+ evaluateScrollButtons() {
188
+ const scroll = this.navWrapperElement.scrollLeft;
189
+ if (scroll >= this.scrollWidth) {
190
+ this.showRightScroll = false;
191
+ }
192
+ else {
193
+ this.showRightScroll = true;
194
+ }
195
+ if (scroll <= 0) {
196
+ this.showLeftScroll = false;
197
+ }
198
+ else {
199
+ this.showLeftScroll = true;
200
+ }
201
+ }
202
+ render() {
203
+ const style = {};
204
+ if (this.useAutoHeight) {
205
+ style.height = `${this.tabHeight}px`;
206
+ }
207
+ return (h(Host, { class: `${this.modeVariant !== null ? `sdds-mode-variant-${this.modeVariant}` : ''}` }, h("div", { class: `sdds-inline-tabs sdds-inline-tabs` }, h("nav", { class: "sdds-inline-tabs-header" }, h("div", { ref: (el) => {
208
+ this.navWrapperElement = el;
209
+ }, class: "sdds-inline-tabs-wrapper" }, this.tabs.map((tab) => (h("button", { style: { width: `${this.buttonWidth}px` }, disabled: tab.disabled, class: `sdds-inline-tabs--tab ${tab.visible ? 'sdds-inline-tabs--tab__active' : ''}`, onClick: () => this.switchToTab(tab.key) }, h("span", null, tab.name))))), h("div", { class: "sdds-inline-tabs-header-navigation" }, h("button", { class: `sdds-inline-tabs--forward ${this.showRightScroll ? 'sdds-inline-tabs--back__show' : ''}`, disabled: !this.showRightScroll, onClick: () => this.scrollRight() }, h("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M6.1147 17.3291C5.87062 17.0851 5.87062 16.6893 6.1147 16.4453L12.2948 10.2652C12.4412 10.1187 12.4412 9.8813 12.2948 9.73485L6.1147 3.55476C5.87062 3.31068 5.87062 2.91496 6.1147 2.67088C6.35878 2.4268 6.75451 2.4268 6.99858 2.67088L13.1787 8.85097C13.8133 9.48557 13.8133 10.5145 13.1787 11.1491L6.99858 17.3291C6.75451 17.5732 6.35878 17.5732 6.1147 17.3291Z" }))), h("button", { class: `sdds-inline-tabs--back ${this.showLeftScroll ? 'sdds-inline-tabs--back__show' : ''}`, disabled: !this.showLeftScroll, onClick: () => this.scrollLeft() }, h("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M13.8853 2.67085C14.1294 2.91493 14.1294 3.31066 13.8853 3.55473L7.70522 9.73482C7.55878 9.88127 7.55878 10.1187 7.70522 10.2652L13.8853 16.4452C14.1294 16.6893 14.1294 17.085 13.8853 17.3291C13.6412 17.5732 13.2455 17.5732 13.0014 17.3291L6.82134 11.149C6.18674 10.5144 6.18674 9.48554 6.82134 8.85094L13.0014 2.67085C13.2455 2.42677 13.6412 2.42677 13.8853 2.67085Z" }))))), h("div", { ref: (el) => {
210
+ this.tabWrapperElement = el;
211
+ }, class: "sdds-inline-tabs-main", style: style }, h("slot", null)))));
212
+ }
213
+ get host() { return getElement(this); }
214
+ };
215
+ InlineTabs.style = inlineTabsCss;
216
+
217
+ export { InlineTabs as sdds_inline_tabs };
218
+
219
+ //# sourceMappingURL=sdds-inline-tabs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"sdds-inline-tabs.entry.js","mappings":"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","names":[],"sources":["./src/components/tabs/inline-tabs-default/inline-tabs.scss?tag=sdds-inline-tabs&encapsulation=shadow","./src/components/tabs/inline-tabs-default/inline-tabs.tsx"],"sourcesContent":["@import '../../../mixins/focus-state';\n@import '../../../mixins/box-sizing';\n\n:host {\n outline: 0 !important;\n @include sdds-box-sizing;\n}\n\n.sdds-inline-tabs {\n overflow: hidden;\n outline: 0;\n\n &-header {\n position: relative;\n }\n\n &-main {\n background-color: var(--sdds-inline-tabs-main-background);\n padding: 24px 24px 48px;\n }\n\n &-wrapper {\n display: flex;\n overflow-x: scroll;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n &--forward,\n &--back {\n cursor: pointer;\n width: 48px;\n height: 100%;\n border: 0;\n position: absolute;\n top: 0;\n background-color: var(--sdds-inline-tabs-scroll-btn-background);\n display: flex;\n justify-content: center;\n align-items: center;\n opacity: 0;\n pointer-events: none;\n\n &__show {\n opacity: 1;\n pointer-events: all;\n }\n\n &:hover {\n background-color: var(--sdds-inline-tabs-scroll-btn-background-hover);\n }\n\n &:active {\n background-color: var(--sdds-inline-tabs-scroll-btn-background-active);\n }\n\n &:focus {\n @include sdds-focus-state;\n }\n svg{\n fill:var(--sdds-inline-tabs-scroll-btn-color);\n }\n }\n\n &--back {\n left: 0;\n }\n\n &--forward {\n right: 0;\n }\n\n &--tab {\n font: var(--sdds-headline-07);\n letter-spacing: var(--sdds-headline-07-ls);\n cursor: pointer;\n border: 0;\n color: var(--sdds-inline-tabs-tab-color);\n background-color: var(--sdds-inline-tabs-tab-background);\n padding: 16px;\n min-width: 142px;\n text-decoration: none;\n display: block;\n position: relative;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out;\n white-space: nowrap;\n flex-shrink: 0;\n text-align: left;\n outline: none;\n\n & > * {\n opacity: 0.6;\n }\n\n &:not(:last-child) {\n border-right: 1px solid var(--sdds-inline-tabs-tab-border-color);\n }\n\n &::after {\n content: ' ';\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n margin-left: auto;\n width: 0;\n margin-right: auto;\n height: 2px;\n background-color: var(--sdds-inline-tabs-tab-indicator-background);\n transition: width 0.15s ease-in-out;\n }\n\n &:hover {\n background-color: var(--sdds-inline-tabs-tab-background-hover);\n color: var(--sdds-inline-tabs-tab-color-hover);\n text-decoration: none;\n }\n\n &:focus {\n @include sdds-focus-state;\n }\n\n &__active {\n background-color: var(--sdds-inline-tabs-tab-background-active);\n color: var(--sdds-inline-tabs-tab-color-active);\n cursor: initial;\n border-right: 1px solid transparent !important;\n\n & > * {\n opacity: 1;\n }\n\n &:hover {\n background-color: var(--sdds-inline-tabs-tab-background-active);\n }\n\n &::after {\n width: calc(100% + 2px);\n left: -1px;\n background-color: var(--sdds-inline-tabs-tab-indicator-background-active);\n }\n\n &::before {\n content: ' ';\n background-color: var(--sdds-inline-tabs-tab-background-active);\n width: 1px;\n top: 0;\n bottom: 0;\n left: -1px;\n display: block;\n position: absolute;\n }\n\n &:first-child {\n &:focus {\n &::before {\n left: 0;\n }\n }\n }\n }\n\n &:disabled,\n &__disabled {\n cursor: initial;\n color: var(--sdds-navigation-tabs-tab-color-disabled);\n pointer-events: none;\n\n & > * {\n opacity: 0.16;\n }\n }\n }\n}\n\n .sdds-inline-tabs--tab__active {\n background-color: var(--sdds-inline-tabs-tab-background-active);\n }\n\n .sdds-inline-tabs-main {\n background-color: var(--sdds-inline-tabs-main-background);\n }\n","import { Component, Host, State, Element, Prop, h, Method } from '@stencil/core';\n\nfunction generateKeyFromName(name: string) {\n return name\n .replace(/\\s/g, '-')\n .replace(/[^a-z0-9-]/gi, '')\n .toLowerCase();\n}\n\n@Component({\n tag: 'sdds-inline-tabs',\n styleUrl: 'inline-tabs.scss',\n shadow: true,\n})\nexport class InlineTabs {\n @Element() host: HTMLElement;\n\n /** either use this (default-tab=\"...\") or read attribute \"default\" from one of the slotted children. */\n @Prop() defaultTab: string = '';\n\n /** different height settings. right now only supports \"auto\", otherwise ignored */\n @Prop() autoHeight: boolean = false;\n\n /** Variant of the tabs, primary= on white, secondary= on grey50 */\n @Prop() modeVariant: 'primary' | 'secondary' = null;\n\n /** array with metadata for slotted children */\n @State() tabs: Array<any> = [];\n\n /** current calculated width of each nav button (calculated from the largest one) */\n @State() buttonWidth: number = 0;\n\n /** current calculated tab height (calculated from the one with the most height) */\n @State() tabHeight: number = 0;\n\n @State() showLeftScroll: boolean = false;\n\n @State() showRightScroll: boolean = false;\n\n /** used for switching to a tab programmatically */\n @Method()\n async showTab(key: string) {\n this.switchToTab(key);\n }\n\n startingTab: string = null; // name of the tab to show by default (infered from either \"default-tab\"-prop (on component) or \"default\"-prop (on a slotted child)\n\n navWrapperElement: HTMLElement = null; // reference to container with nav buttons\n\n tabWrapperElement: HTMLElement = null; // reference to container with slotted children\n\n componentWidth: number = 0; // visible width of this component\n\n buttonsWidth: number = 0; // total width of all nav items combined\n\n scrollWidth: number = 0; // total amount that is possible to scroll in the nav wrapper\n\n useAutoHeight: boolean = false; // set height for slotted children or not\n\n componentWillLoad() {\n this.initComponent();\n }\n\n initComponent(createInitialState = true) {\n if (this.autoHeight) {\n this.useAutoHeight = true;\n }\n\n this.tabs = Array.from(this.host.children).map((item: HTMLSddsInlineTabElement, index) => {\n const name = item.label ? item.label : item.getAttribute('name') || `Tab ${index + 1}`;\n const key = generateKeyFromName(name);\n if (item.default) {\n this.startingTab = key;\n }\n let disabled = false;\n if (item.disabled) {\n disabled = true;\n }\n return {\n name,\n key,\n element: item,\n disabled,\n visible: true,\n initialDisplay: window.getComputedStyle(item).display,\n };\n });\n\n if (createInitialState) {\n this.setInitialState();\n }\n this.tabs = Array.from(this.tabs);\n }\n\n calculateButtonWidth() {\n const navButtons = this.navWrapperElement.querySelectorAll('button.sdds-inline-tabs--tab');\n let best = 0;\n Array.from(navButtons).forEach((navButton: HTMLElement) => {\n const oldStyle = navButton.style.width;\n // eslint-disable-next-line no-param-reassign\n navButton.style.width = '';\n const width = navButton.clientWidth;\n // eslint-disable-next-line no-param-reassign\n navButton.style.width = oldStyle;\n\n if (navButton.clientWidth > best) {\n best = width;\n }\n });\n\n this.buttonWidth = best;\n }\n\n calculateTabHeight() {\n let best = 0;\n this.tabs.forEach((_, tabIndex) => {\n const tab = this.tabs[tabIndex];\n // TODO: add comment on what this does\n const oldStyle = tab.element.style.display;\n tab.element.style.display = '';\n const height = tab.element.clientHeight;\n tab.element.style.display = oldStyle;\n\n if (height > best) {\n best = height;\n }\n });\n\n this.tabHeight = best;\n }\n\n componentDidRender() {\n this.calculateTabHeight();\n this.calculateButtonWidth();\n }\n\n componentDidLoad() {\n const mutationObserver = new MutationObserver((/* mutations, observer */) => {\n const visibleTab = this.tabs.find((tab) => tab.visible);\n this.initComponent(false);\n this.calculateTabHeight();\n this.calculateButtonWidth();\n if (visibleTab) {\n this.switchToTab(visibleTab.key);\n }\n });\n\n const resizeObserver = new ResizeObserver((entries) => {\n entries.forEach((entry) => {\n const componentWidth = entry.contentRect.width;\n let buttonsWidth = 0;\n\n const navButtons = entry.target.querySelectorAll('button.sdds-inline-tabs--tab');\n Array.from(navButtons).forEach((navButton: HTMLElement) => {\n buttonsWidth += navButton.clientWidth;\n });\n\n this.componentWidth = componentWidth;\n this.buttonsWidth = buttonsWidth;\n this.scrollWidth = buttonsWidth - componentWidth;\n\n if (this.buttonsWidth > this.componentWidth) {\n this.evaluateScrollButtons();\n } else {\n this.showLeftScroll = false;\n this.showRightScroll = false;\n }\n\n this.calculateTabHeight();\n });\n });\n\n mutationObserver.observe(this.host, {\n childList: true,\n attributes: true,\n });\n\n resizeObserver.observe(this.navWrapperElement);\n\n this.calculateButtonWidth();\n this.calculateTabHeight();\n }\n\n setInitialState() {\n if (this.defaultTab) {\n this.startingTab = this.defaultTab;\n }\n\n this.tabs.forEach((tab, index) => {\n if (this.startingTab) {\n if (tab.key !== this.startingTab) {\n this.hideTab(index);\n }\n } else {\n if (index > 0) {\n this.hideTab(index);\n }\n }\n });\n }\n\n unhideTab(tabIndex) {\n const tab = this.tabs[tabIndex];\n tab.element.style.display = '';\n tab.visible = true;\n }\n\n hideTab(tabIndex) {\n const tab = this.tabs[tabIndex];\n tab.element.style.display = 'none';\n tab.visible = false;\n }\n\n switchToTab(key: string) {\n this.tabs.forEach((tab, index) => {\n if (tab.key === key) {\n this.unhideTab(index);\n } else {\n this.hideTab(index);\n }\n });\n\n this.tabs = Array.from(this.tabs);\n }\n\n scrollRight() {\n const scroll = this.navWrapperElement.scrollLeft;\n this.navWrapperElement.scrollLeft = scroll + this.buttonWidth;\n\n this.evaluateScrollButtons();\n }\n\n scrollLeft() {\n const scroll = this.navWrapperElement.scrollLeft;\n this.navWrapperElement.scrollLeft = scroll - this.buttonWidth;\n\n this.evaluateScrollButtons();\n }\n\n evaluateScrollButtons() {\n const scroll = this.navWrapperElement.scrollLeft;\n\n if (scroll >= this.scrollWidth) {\n this.showRightScroll = false;\n } else {\n this.showRightScroll = true;\n }\n\n if (scroll <= 0) {\n this.showLeftScroll = false;\n } else {\n this.showLeftScroll = true;\n }\n }\n\n render() {\n const style: Record<string, string> = {};\n if (this.useAutoHeight) {\n style.height = `${this.tabHeight}px`;\n }\n\n return (\n <Host class={`${this.modeVariant !== null ? `sdds-mode-variant-${this.modeVariant}`: ''}`}>\n <div class={`sdds-inline-tabs sdds-inline-tabs`}>\n <nav class=\"sdds-inline-tabs-header\">\n <div\n ref={(el) => {\n this.navWrapperElement = el as HTMLDivElement;\n }}\n class=\"sdds-inline-tabs-wrapper\"\n >\n {this.tabs.map((tab) => (\n <button\n style={{ width: `${this.buttonWidth}px` }}\n disabled={tab.disabled}\n class={`sdds-inline-tabs--tab ${\n tab.visible ? 'sdds-inline-tabs--tab__active' : ''\n }`}\n onClick={() => this.switchToTab(tab.key)}\n >\n <span>{tab.name}</span>\n </button>\n ))}\n </div>\n <div class=\"sdds-inline-tabs-header-navigation\">\n <button\n class={`sdds-inline-tabs--forward ${\n this.showRightScroll ? 'sdds-inline-tabs--back__show' : ''\n }`}\n disabled={!this.showRightScroll}\n onClick={() => this.scrollRight()}\n >\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M6.1147 17.3291C5.87062 17.0851 5.87062 16.6893 6.1147 16.4453L12.2948 10.2652C12.4412 10.1187 12.4412 9.8813 12.2948 9.73485L6.1147 3.55476C5.87062 3.31068 5.87062 2.91496 6.1147 2.67088C6.35878 2.4268 6.75451 2.4268 6.99858 2.67088L13.1787 8.85097C13.8133 9.48557 13.8133 10.5145 13.1787 11.1491L6.99858 17.3291C6.75451 17.5732 6.35878 17.5732 6.1147 17.3291Z\"\n />\n </svg>\n </button>\n <button\n class={`sdds-inline-tabs--back ${\n this.showLeftScroll ? 'sdds-inline-tabs--back__show' : ''\n }`}\n disabled={!this.showLeftScroll}\n onClick={() => this.scrollLeft()}\n >\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.8853 2.67085C14.1294 2.91493 14.1294 3.31066 13.8853 3.55473L7.70522 9.73482C7.55878 9.88127 7.55878 10.1187 7.70522 10.2652L13.8853 16.4452C14.1294 16.6893 14.1294 17.085 13.8853 17.3291C13.6412 17.5732 13.2455 17.5732 13.0014 17.3291L6.82134 11.149C6.18674 10.5144 6.18674 9.48554 6.82134 8.85094L13.0014 2.67085C13.2455 2.42677 13.6412 2.42677 13.8853 2.67085Z\"\n />\n </svg>\n </button>\n </div>\n </nav>\n <div\n ref={(el) => {\n this.tabWrapperElement = el as HTMLElement;\n }}\n class=\"sdds-inline-tabs-main\"\n style={style}\n >\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,26 @@
1
+ import { r as registerInstance, h } from './index-96563708.js';
2
+
3
+ const sddsLinkCss = "a{cursor:pointer;outline:none;color:var(--sdds-link)}a:active{color:var(--sdds-link);text-decoration:underline;text-decoration-color:var(--sdds-link)}a:hover{color:var(--sdds-link-hover);text-decoration:underline;text-decoration-color:var(--sdds-link-hover)}a:visited{color:var(--sdds-link-visited);text-decoration-color:var(--sdds-link-visited)}a:focus{color:var(--sdds-link-focus);text-decoration:none;outline:2px solid var(--sdds-link-focus);outline-offset:-2px}a.disabled{color:var(--sdds-link-disabled);text-decoration-color:var(--sdds-link-disabled);pointer-events:none}a.no-underline{text-decoration:none}a.no-underline:hover{text-decoration:none}";
4
+
5
+ const SddsLink = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.href = undefined;
9
+ this.target = '_self';
10
+ this.disabled = false;
11
+ this.underline = true;
12
+ this.rel = 'noopener';
13
+ }
14
+ render() {
15
+ return (h("a", { class: `
16
+ ${this.disabled ? 'disabled' : ''}
17
+ ${this.underline ? '' : 'no-underline'}
18
+
19
+ `, href: this.href, target: this.target, rel: this.rel }, h("slot", null)));
20
+ }
21
+ };
22
+ SddsLink.style = sddsLinkCss;
23
+
24
+ export { SddsLink as sdds_link };
25
+
26
+ //# sourceMappingURL=sdds-link.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"sdds-link.entry.js","mappings":";;AAAA,MAAM,WAAW,GAAG,gpBAAgpB;;MCOvpB,QAAQ;;;;kBAKuC,OAAO;oBAGrC,KAAK;qBAGJ,IAAI;eAGX,UAAU;;EAEhC,MAAM;IACJ,QACE,SACE,KAAK,EAAE;UACL,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE;UAC/B,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,cAAc;;SAErC,EACD,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,GAAG,EAAE,IAAI,CAAC,GAAG,IAEb,eAAa,CACX,EACJ;GACH;;;;;;","names":[],"sources":["./src/components/link/sdds-link.scss?tag=sdds-link","./src/components/link/sdds-link.tsx"],"sourcesContent":["a {\n cursor: pointer;\n outline: none;\n color: var(--sdds-link);\n\n &:active {\n color: var(--sdds-link);\n text-decoration: underline;\n text-decoration-color: var(--sdds-link);\n }\n\n &:hover {\n color: var(--sdds-link-hover);\n text-decoration: underline;\n text-decoration-color: var(--sdds-link-hover);\n }\n\n &:visited {\n color: var(--sdds-link-visited);\n text-decoration-color: var(--sdds-link-visited);\n }\n\n &:focus {\n color: var(--sdds-link-focus);\n text-decoration: none;\n outline: 2px solid var(--sdds-link-focus);\n outline-offset: -2px;\n }\n\n &.disabled {\n color: var(--sdds-link-disabled);\n text-decoration-color: var(--sdds-link-disabled);\n pointer-events: none;\n }\n\n &.no-underline {\n text-decoration: none;\n\n &:hover {\n text-decoration: none;\n }\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'sdds-link',\n styleUrl: 'sdds-link.scss',\n shadow: false,\n})\nexport class SddsLink {\n /** URL for the link */\n @Prop() href: string;\n\n /** Where to open the linked URL */\n @Prop() target: '_self' | '_blank' | '_parent' | '_top' = '_self';\n\n /** Disables the link */\n @Prop() disabled: boolean = false;\n\n /** Displays the link with an underline. */\n @Prop() underline: boolean = true;\n\n /** 'noopener' is a security measure for legacy browsers that preventsthe opened page from getting access to the original page when using target='_blank'. */\n @Prop() rel: string = 'noopener';\n\n render() {\n return (\n <a\n class={`\n ${this.disabled ? 'disabled' : ''}\n ${this.underline ? '' : 'no-underline'}\n \n `}\n href={this.href}\n target={this.target}\n rel={this.rel}\n >\n <slot></slot>\n </a>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,39 @@
1
+ import { r as registerInstance, h, H as Host } from './index-96563708.js';
2
+
3
+ const sddsMessageCss = ":host .message-wrapper{display:flex;padding:16px;background-color:var(--sdds-message-background);border-radius:4px}:host .message-wrapper.information{border-left:4px solid var(--sdds-information)}:host .message-wrapper.information sdds-icon{color:var(--sdds-information)}:host .message-wrapper.success{border-left:4px solid var(--sdds-positive)}:host .message-wrapper.success sdds-icon{color:var(--sdds-positive)}:host .message-wrapper.error{background-color:var(--sdds-message-type-error-background);border-left:4px solid var(--sdds-negative)}:host .message-wrapper.error sdds-icon{color:var(--sdds-negative)}:host .message-wrapper.warning{border-left:4px solid var(--sdds-warning)}:host .message-wrapper.warning sdds-icon{color:var(--sdds-warning)}:host .message-wrapper.message-minimal{border:none;display:flex;align-items:center;padding:0;background-color:transparent}:host .message-wrapper.message-minimal .message-header{font:var(--sdds-detail-02);letter-spacing:var(--sdds-detail-02-ls)}:host .message-wrapper.message-minimal sdds-icon{padding-right:8px}:host sdds-icon{padding-right:16px}:host .message-content{display:flex;flex-direction:column;gap:4px;color:var(--sdds-message-color);padding:2px 0}:host .message-content .message-header{font:var(--sdds-headline-07);letter-spacing:var(--sdds-headline-07-ls)}:host .message-content .message-extended-message{color:var(--sdds-message-color);font:var(--sdds-detail-02);letter-spacing:var(--sdds-detail-02-ls)}:host .sdds-mode-variant-primary{--sdds-message-background:var(--sdds-message-background-primary)}:host .sdds-mode-variant-secondary{--sdds-message-background:var(--sdds-message-background-secondary)}";
4
+
5
+ const SddsMessage = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.getIconName = () => {
9
+ switch (this.type) {
10
+ case 'information':
11
+ return 'info';
12
+ case 'error':
13
+ return 'error';
14
+ case 'warning':
15
+ return 'warning';
16
+ case 'success':
17
+ return 'tick';
18
+ default:
19
+ return 'info';
20
+ }
21
+ };
22
+ this.header = undefined;
23
+ this.modeVariant = null;
24
+ this.type = 'information';
25
+ this.noIcon = false;
26
+ this.minimal = false;
27
+ }
28
+ render() {
29
+ return (h(Host, null, h("div", { class: `
30
+ message-wrapper ${this.type}
31
+ ${this.minimal ? 'message-minimal' : ''}
32
+ ${this.modeVariant !== null ? `sdds-mode-variant-${this.modeVariant}` : ''}` }, !this.noIcon && h("sdds-icon", { name: this.getIconName(), size: "20px" }), h("div", { class: `message-content` }, this.header && h("div", { class: "message-header" }, this.header), !this.minimal && (h("div", { class: "message-extended-message" }, h("slot", null)))))));
33
+ }
34
+ };
35
+ SddsMessage.style = sddsMessageCss;
36
+
37
+ export { SddsMessage as sdds_message };
38
+
39
+ //# sourceMappingURL=sdds-message.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"sdds-message.entry.js","mappings":";;AAAA,MAAM,cAAc,GAAG,ooDAAooD;;MCO9oD,WAAW;;;IAgBtB,gBAAW,GAAG;MACZ,QAAQ,IAAI,CAAC,IAAI;QACf,KAAK,aAAa;UAChB,OAAO,MAAM,CAAC;QAChB,KAAK,OAAO;UACV,OAAO,OAAO,CAAC;QACjB,KAAK,SAAS;UACZ,OAAO,SAAS,CAAC;QACnB,KAAK,SAAS;UACZ,OAAO,MAAM,CAAC;QAChB;UACE,OAAO,MAAM,CAAC;OACjB;KACF,CAAC;;uBAxB6C,IAAI;gBAGa,aAAa;kBAGnD,KAAK;mBAGJ,KAAK;;EAiBhC,MAAM;IACJ,QACE,EAAC,IAAI,QACH,WACE,KAAK,EAAE;0BACS,IAAI,CAAC,IAAI;UACzB,IAAI,CAAC,OAAO,GAAG,iBAAiB,GAAG,EAAE;UACrC,IAAI,CAAC,WAAW,KAAK,IAAI,GAAG,qBAAqB,IAAI,CAAC,WAAW,EAAE,GAAE,EAAE,EAAE,IAExE,CAAC,IAAI,CAAC,MAAM,IAAI,iBAAW,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAC,MAAM,GAAa,EAC9E,WAAK,KAAK,EAAE,iBAAiB,IAC1B,IAAI,CAAC,MAAM,IAAI,WAAK,KAAK,EAAC,gBAAgB,IAAE,IAAI,CAAC,MAAM,CAAO,EAC9D,CAAC,IAAI,CAAC,OAAO,KACZ,WAAK,KAAK,EAAC,0BAA0B,IACnC,eAAa,CACT,CACP,CACG,CACF,CACD,EACP;GACH;;;;;;","names":[],"sources":["./src/components/message/sdds-message.scss?tag=sdds-message&encapsulation=shadow","./src/components/message/sdds-message.tsx"],"sourcesContent":[":host {\n .message-wrapper {\n display: flex;\n padding: 16px;\n background-color: var(--sdds-message-background);\n border-radius: 4px;\n\n &.information {\n border-left: 4px solid var(--sdds-information);\n\n sdds-icon {\n color: var(--sdds-information);\n }\n }\n\n &.success {\n border-left: 4px solid var(--sdds-positive);\n\n sdds-icon {\n color: var(--sdds-positive);\n }\n }\n\n &.error {\n background-color: var(--sdds-message-type-error-background);\n border-left: 4px solid var(--sdds-negative);\n\n sdds-icon {\n color: var(--sdds-negative);\n }\n }\n\n &.warning {\n border-left: 4px solid var(--sdds-warning);\n\n sdds-icon {\n color: var(--sdds-warning);\n }\n }\n\n &.message-minimal {\n border: none;\n display: flex;\n align-items: center;\n padding: 0;\n background-color: transparent;\n\n .message-header {\n font: var(--sdds-detail-02);\n letter-spacing: var(--sdds-detail-02-ls);\n }\n\n sdds-icon {\n padding-right: 8px;\n }\n }\n }\n\n sdds-icon {\n padding-right: 16px;\n }\n\n .message-content {\n display: flex;\n flex-direction: column;\n gap: 4px;\n color: var(--sdds-message-color);\n padding: 2px 0;\n\n .message-header {\n font: var(--sdds-headline-07);\n letter-spacing: var(--sdds-headline-07-ls);\n }\n\n .message-extended-message {\n color: var(--sdds-message-color);\n font: var(--sdds-detail-02);\n letter-spacing: var(--sdds-detail-02-ls);\n }\n }\n\n .sdds-mode-variant-primary {\n --sdds-message-background: var(--sdds-message-background-primary);\n }\n\n .sdds-mode-variant-secondary {\n --sdds-message-background: var(--sdds-message-background-secondary);\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'sdds-message',\n styleUrl: 'sdds-message.scss',\n shadow: true,\n})\nexport class SddsMessage {\n /** Header text for the component. */\n @Prop() header: string;\n\n /** Variant of the component, based on current mode. */\n @Prop() modeVariant: 'primary' | 'secondary' = null;\n\n /** Type of message. */\n @Prop() type: 'information' | 'error' | 'warning' | 'success' = 'information';\n\n /** Removes the icon in the message. */\n @Prop() noIcon: boolean = false;\n\n /** Minimal message styling. */\n @Prop() minimal: boolean = false;\n\n getIconName = () => {\n switch (this.type) {\n case 'information':\n return 'info';\n case 'error':\n return 'error';\n case 'warning':\n return 'warning';\n case 'success':\n return 'tick';\n default:\n return 'info';\n }\n };\n\n render() {\n return (\n <Host>\n <div\n class={`\n message-wrapper ${this.type}\n ${this.minimal ? 'message-minimal' : ''}\n ${this.modeVariant !== null ? `sdds-mode-variant-${this.modeVariant}`: ''}`}\n >\n {!this.noIcon && <sdds-icon name={this.getIconName()} size=\"20px\"></sdds-icon>}\n <div class={`message-content`}>\n {this.header && <div class=\"message-header\">{this.header}</div>}\n {!this.minimal && (\n <div class=\"message-extended-message\">\n <slot></slot>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,49 @@
1
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-96563708.js';
2
+
3
+ const modalCss = ":root,.sdds-mode-light{--sdds-modal-backdrop:rgba(0 0 0 / 40%);--sdds-modal-background:var(--sdds-white);--sdds-modal-text:var(--sdds-grey-958);--sdds-modal-icon:var(--sdds-black);--sdds-modal-icon-native:url(\"data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.40338 2.34308C3.11048 2.05019 2.63561 2.05019 2.34272 2.34308C2.04982 2.63598 2.04982 3.11085 2.34272 3.40374L6.93897 8L2.34283 12.5961C2.04994 12.889 2.04994 13.3639 2.34283 13.6568C2.63572 13.9497 3.1106 13.9497 3.40349 13.6568L7.99963 9.06066L12.5958 13.6568C12.8887 13.9497 13.3635 13.9497 13.6564 13.6568C13.9493 13.3639 13.9493 12.889 13.6564 12.5961L9.06029 8L13.6565 3.40376C13.9494 3.11086 13.9494 2.63599 13.6565 2.3431C13.3636 2.0502 12.8888 2.0502 12.5959 2.3431L7.99963 6.93934L3.40338 2.34308Z' fill='black'/%3E%3C/svg%3E%0A\");--sdds-modal-scrollbar:var(--sdds-grey-300);--sdds-modal-scrollbar-track:var(--sdds-grey-300);--sdds-modal-scrollbar-thumb:var(--sdds-grey-500)}.sdds-mode-dark{--sdds-modal-backdrop:rgba(0 0 0 / 40%);--sdds-modal-background:var(--sdds-grey-900);--sdds-modal-text:var(--sdds-grey-50);--sdds-modal-icon:var(--sdds-white);--sdds-modal-icon-native:url(\"data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.40338 2.34308C3.11048 2.05019 2.63561 2.05019 2.34272 2.34308C2.04982 2.63598 2.04982 3.11085 2.34272 3.40374L6.93897 8L2.34283 12.5961C2.04994 12.889 2.04994 13.3639 2.34283 13.6568C2.63572 13.9497 3.1106 13.9497 3.40349 13.6568L7.99963 9.06066L12.5958 13.6568C12.8887 13.9497 13.3635 13.9497 13.6564 13.6568C13.9493 13.3639 13.9493 12.889 13.6564 12.5961L9.06029 8L13.6565 3.40376C13.9494 3.11086 13.9494 2.63599 13.6565 2.3431C13.3636 2.0502 12.8888 2.0502 12.5959 2.3431L7.99963 6.93934L3.40338 2.34308Z' fill='white'/%3E%3C/svg%3E%0A\");--sdds-modal-scrollbar:var(--sdds-grey-300);--sdds-modal-scrollbar-track:var(--sdds-grey-300);--sdds-modal-scrollbar-thumb:var(--sdds-grey-500)}.sdds-modal{box-sizing:border-box;background-color:var(--sdds-modal-background);margin:auto;position:relative;border-radius:4px;padding:16px;max-height:85vh;overflow-y:auto;}.sdds-modal *{box-sizing:border-box}.sdds-modal::-webkit-scrollbar{width:5px;background-color:var(--sdds-grey-300);border-radius:0 1em 1em 0}.sdds-modal::-webkit-scrollbar-track{background-color:var(--sdds-grey-300);border-radius:0 1em 1em 0}.sdds-modal::-webkit-scrollbar-thumb{background-color:var(--sdds-grey-500);border-radius:0 1em 1em 0}.sdds-modal__actions-sticky{overflow:hidden}.sdds-modal__actions-sticky .sdds-modal-body{font:var(--sdds-body-01);letter-spacing:var(--sdds-body-01-ls);padding-bottom:96px;margin:0 -16px 0 0;max-height:calc(85vh - 36px);overflow-y:auto}.sdds-modal__actions-sticky .sdds-modal-actions{position:absolute;bottom:-1px;left:0;right:0;background-color:var(--sdds-modal-background);padding:var(--sdds-spacing-element-16);display:flex;gap:16px}.sdds-modal__actions-static .sdds-modal-actions{background-color:var(--sdds-modal-background);display:flex;gap:16px}@media (min-width: 320px){.sdds-modal-xs{width:100%}.sdds-modal-sm{width:100%}.sdds-modal-md{width:100%}.sdds-modal-lg{width:100%}}@media (min-width: 672px){.sdds-modal-xs{width:75%}.sdds-modal-sm{width:62.5%}.sdds-modal-md{width:75%}.sdds-modal-lg{width:100%}}@media (min-width: 1056px){.sdds-modal-xs{width:31.25%}.sdds-modal-sm{width:43.75%}.sdds-modal-md{width:62.5%}.sdds-modal-lg{width:75%}}@media (min-width: 1312px){.sdds-modal-xs{width:31.25%}.sdds-modal-sm{width:37.5%}.sdds-modal-md{width:62.5%}.sdds-modal-lg{width:75%}}@media (min-width: 1584px){.sdds-modal-xs{width:25%}.sdds-modal-sm{width:37.5%}.sdds-modal-md{width:50%}.sdds-modal-lg{width:75%}}@media (max-width: 320px){.sdds-modal-md,.sdds-modal-lg,.sdds-modal-sm{height:100%}.sdds-modal-md slot[name=sdds-modal-actions]::slotted(*),.sdds-modal-lg slot[name=sdds-modal-actions]::slotted(*),.sdds-modal-sm slot[name=sdds-modal-actions]::slotted(*){display:flex}}.sdds-modal-header{display:flex;padding-bottom:var(--sdds-spacing-element-8);position:sticky;top:0;background-color:var(--sdds-modal-background);z-index:1}.sdds-modal-header::before{content:\" \";position:absolute;height:16px;top:-16px;width:100%;background-color:var(--sdds-modal-background)}.sdds-modal-headline{color:var(--sdds-modal-text);font:var(--sdds-headline-05);letter-spacing:var(--sdds-headline-05-ls);margin:0;flex:1;color:var(--sdds-modal-text)}.sdds-modal-body{color:var(--sdds-modal-text);font:var(--sdds-body-01);letter-spacing:var(--sdds-body-01-ls);padding-bottom:40px;overflow-y:visible;padding-right:16px;}.sdds-modal-body::-webkit-scrollbar{width:5px;background-color:var(--sdds-grey-300)}.sdds-modal-body::-webkit-scrollbar-track{background-color:var(--sdds-grey-300)}.sdds-modal-body::-webkit-scrollbar-thumb{background-color:var(--sdds-grey-500)}@media (min-width: 1056px){.sdds-modal-body{padding-right:64px}}.sdds-modal-backdrop{box-sizing:border-box;left:0;top:0;position:fixed;height:100%;width:100%;z-index:600;background-color:var(--sdds-modal-backdrop);padding:0 16px}.sdds-modal-backdrop *{box-sizing:border-box}@media (max-width: 320px){.sdds-modal-backdrop{padding:0}}.sdds-modal-backdrop.show{display:flex}.sdds-modal-backdrop.hide{display:none}button.sdds-modal-close{background-color:transparent;border:0;padding:0;appearance:unset}.sdds-modal-close{display:inline-block;height:auto;color:var(--sdds-modal-icon);cursor:pointer}.sdds-modal-close:focus{outline:2px solid var(--sdds-blue-400);outline-offset:-2px}@media (min-width: 320px){.sdds-modal-close{margin-left:var(--sdds-spacing-element-16)}}@media (min-width: 1056px){.sdds-modal-close{margin-left:var(--sdds-spacing-element-48)}}.sdds-modal-close-btn{display:inline-block;height:auto;background-repeat:no-repeat;cursor:pointer}@media (min-width: 320px){.sdds-modal-close-btn{margin-left:var(--sdds-spacing-element-16)}}@media (min-width: 1056px){.sdds-modal-close-btn{margin-left:var(--sdds-spacing-element-48)}}.sdds-modal-close-btn svg{fill:var(--sdds-modal-icon)}.sdds-modal-overflow{overflow:hidden}:host{left:0;top:0;position:fixed;height:100%;width:100%;z-index:600;background-color:var(--sdds-modal-backdrop);padding:0 16px}@media (max-width: 320px){:host{padding:0}}:host.show{display:flex}:host.hide{display:none}:host .sdds-modal-close{border:none;background-color:transparent}:host .sdds-modal-close-btn{border:none;background-color:transparent}:host(.show){display:flex}:host(.hide){display:none}";
4
+
5
+ const Modal = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.prevent = false;
9
+ this.size = 'md';
10
+ this.actions = 'static';
11
+ this.open = false;
12
+ }
13
+ /** Shows the modal */
14
+ async openModal() {
15
+ this.open = true;
16
+ }
17
+ setDissmissButtons() {
18
+ const nodes = this.el.querySelectorAll('[data-dismiss-modal]');
19
+ [...Array.from(nodes), this.closeButtonEl].forEach((el) => {
20
+ el.addEventListener('click', () => {
21
+ this.open = false;
22
+ });
23
+ });
24
+ }
25
+ handleClick(e) {
26
+ const targetList = e.composedPath();
27
+ const target = targetList[0];
28
+ if (target.classList[0] === 'sdds-modal-close' ||
29
+ (target.classList[0] === 'sdds-modal-backdrop' && this.prevent === false)) {
30
+ this.open = false;
31
+ }
32
+ }
33
+ componentDidRender() {
34
+ this.setDissmissButtons();
35
+ }
36
+ render() {
37
+ return (h(Host, { onClick: (event) => {
38
+ this.handleClick(event);
39
+ }, class: `sdds-modal-backdrop ${this.open ? 'show' : 'hide'}` }, h("div", { class: `sdds-modal ${this.actions ? `sdds-modal__actions-${this.actions}` : ''} ${this.size ? `sdds-modal-${this.size}` : ''} ` }, h("div", { class: "sdds-modal-header" }, h("slot", { name: "sdds-modal-headline" }), h("button", { class: "sdds-modal-close", "aria-label": "close", ref: (el) => {
40
+ this.closeButtonEl = el;
41
+ } }, h("sdds-icon", { name: "cross", size: "20px" }))), h("div", { class: "sdds-modal-body" }, h("slot", { name: "sdds-modal-body" })), h("div", { class: "sdds-modal-actions" }, h("slot", { name: "sdds-modal-actions" })))));
42
+ }
43
+ get el() { return getElement(this); }
44
+ };
45
+ Modal.style = modalCss;
46
+
47
+ export { Modal as sdds_modal };
48
+
49
+ //# sourceMappingURL=sdds-modal.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"sdds-modal.entry.js","mappings":";;AAAA,MAAM,QAAQ,GAAG,8+MAA8+M;;MCOl/M,KAAK;;;mBAEW,KAAK;gBAGU,IAAI;mBAGP,QAAQ;gBAGvB,KAAK;;;EAQ7B,MAAM,SAAS;IACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;GAClB;EAED,kBAAkB;IAChB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;IAE/D,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;MACpD,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE;QAC3B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;OACnB,CAAC,CAAC;KACJ,CAAC,CAAC;GACJ;EAED,WAAW,CAAC,CAAC;IACX,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7B,IACE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,kBAAkB;OACzC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,qBAAqB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,EACzE;MACA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACnB;GACF;EAED,kBAAkB;IAChB,IAAI,CAAC,kBAAkB,EAAE,CAAC;GAC3B;EAED,MAAM;IACJ,QACE,EAAC,IAAI,IACH,OAAO,EAAE,CAAC,KAAK;QACb,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;OACzB,EACD,KAAK,EAAE,uBAAuB,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,IAE3D,WACE,KAAK,EAAE,cAAc,IAAI,CAAC,OAAO,GAAG,uBAAuB,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAC5E,IAAI,CAAC,IAAI,GAAG,cAAc,IAAI,CAAC,IAAI,EAAE,GAAG,EAC1C,GAAG,IAEH,WAAK,KAAK,EAAC,mBAAmB,IAC5B,YAAM,IAAI,EAAC,qBAAqB,GAAQ,EACxC,cACE,KAAK,EAAC,kBAAkB,gBACb,OAAO,EAClB,GAAG,EAAE,CAAC,EAAE;QACN,IAAI,CAAC,aAAa,GAAG,EAAiB,CAAC;OACxC,IAED,iBAAW,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,GAAa,CACzC,CACL,EAEN,WAAK,KAAK,EAAC,iBAAiB,IAC1B,YAAM,IAAI,EAAC,iBAAiB,GAAQ,CAChC,EAEN,WAAK,KAAK,EAAC,oBAAoB,IAC7B,YAAM,IAAI,EAAC,oBAAoB,GAAQ,CACnC,CACF,CACD,EACP;GACH;;;;;;;","names":[],"sources":["./src/components/modal/modal.scss?tag=sdds-modal&encapsulation=shadow","./src/components/modal/modal.tsx"],"sourcesContent":["@import '../../mixins/z-index';\n@import 'modal-theme-vars';\n@import '../../mixins/box-sizing';\n@import '../../mixins/focus-state';\n\n//TODO: Find a way to create a mixin in spacings that can be used for screen size in rem\n//Media rules doesn't calculate correct with using rem\n// Screen breakpoints\n$screen-s: 320px; //320px\n$screen-md: 672px; // 672px\n$screen-l: 1056px; //1056px\n$screen-xl: 1312px; //1312px\n$screen-xxl: 1584px; //1584px\n\n$modals: (\n $screen-s: (\n xs: 100%,\n sm: 100%,\n md: 100%,\n lg: 100%,\n ),\n $screen-md: (\n xs: 75%,\n sm: 62.5%,\n md: 75%,\n lg: 100%,\n ),\n $screen-l: (\n xs: 31.25%,\n sm: 43.75%,\n md: 62.5%,\n lg: 75%,\n ),\n $screen-xl: (\n xs: 31.25%,\n sm: 37.5%,\n md: 62.5%,\n lg: 75%,\n ),\n $screen-xxl: (\n xs: 25%,\n sm: 37.5%,\n md: 50%,\n lg: 75%,\n ),\n);\n\n/* MIXINS */\n\n@mixin modal-scroll-inner {\n /* SCROLL STUFF */\n\n /* width */\n &::-webkit-scrollbar {\n width: 5px;\n background-color: var(--sdds-grey-300);\n }\n\n /* Track */\n &::-webkit-scrollbar-track {\n background-color: var(--sdds-grey-300);\n }\n\n /* Handle */\n &::-webkit-scrollbar-thumb {\n background-color: var(--sdds-grey-500);\n }\n}\n\n@mixin modal-scroll-outer {\n /* SCROLL STUFF */\n\n /* width */\n &::-webkit-scrollbar {\n width: 5px;\n background-color: var(--sdds-grey-300);\n border-radius: 0 1em 1em 0;\n }\n\n /* Track */\n &::-webkit-scrollbar-track {\n background-color: var(--sdds-grey-300);\n border-radius: 0 1em 1em 0;\n }\n\n /* Handle */\n &::-webkit-scrollbar-thumb {\n background-color: var(--sdds-grey-500);\n border-radius: 0 1em 1em 0;\n }\n}\n\n@mixin modal-host {\n left: 0;\n top: 0;\n position: fixed;\n height: 100%;\n width: 100%;\n z-index: z(modal);\n background-color: var(--sdds-modal-backdrop);\n padding: 0 16px;\n\n @media (max-width: $screen-s) {\n padding: 0;\n }\n\n &.show {\n display: flex;\n }\n\n &.hide {\n display: none;\n }\n}\n\n@mixin modal-header {\n display: flex;\n padding-bottom: var(--sdds-spacing-element-8);\n position: sticky;\n top: 0;\n background-color: var(--sdds-modal-background);\n z-index: 1;\n\n &::before {\n content: ' ';\n position: absolute;\n height: 16px;\n top: -16px;\n width: 100%;\n background-color: var(--sdds-modal-background);\n }\n}\n\n@mixin modal-headline {\n color: var(--sdds-modal-text);\n font: var(--sdds-headline-05);\n letter-spacing: var(--sdds-headline-05-ls);\n margin: 0;\n flex: 1;\n}\n\n@mixin modal-body {\n color: var(--sdds-modal-text);\n font: var(--sdds-body-01);\n letter-spacing: var(--sdds-body-01-ls);\n padding-bottom: 40px;\n overflow-y: visible;\n padding-right: 16px;\n @include modal-scroll-inner;\n\n @media (min-width: $screen-l) {\n padding-right: 64px;\n }\n}\n\n/* MODAL STYLING */\n\n.sdds-modal {\n @include sdds-box-sizing;\n\n background-color: var(--sdds-modal-background);\n margin: auto;\n position: relative;\n border-radius: 4px;\n padding: 16px;\n max-height: 85vh;\n overflow-y: auto;\n\n @include modal-scroll-outer;\n\n &__actions-sticky {\n overflow: hidden;\n\n .sdds-modal-body {\n font: var(--sdds-body-01);\n letter-spacing: var(--sdds-body-01-ls);\n padding-bottom: 96px;\n margin: 0 -16px 0 0;\n max-height: calc(85vh - 36px);\n overflow-y: auto;\n }\n\n .sdds-modal-actions {\n position: absolute;\n bottom: -1px;\n left: 0;\n right: 0;\n background-color: var(--sdds-modal-background);\n padding: var(--sdds-spacing-element-16);\n display: flex;\n gap: 16px;\n }\n }\n\n &__actions-static {\n .sdds-modal-actions {\n background-color: var(--sdds-modal-background);\n display: flex;\n gap: 16px;\n }\n }\n}\n\n//Width of modals in different breakpoints\n@each $screen, $modals in $modals {\n @media (min-width: $screen) {\n @each $modal, $value in $modals {\n .sdds-modal-#{$modal} {\n width: $value;\n }\n }\n }\n}\n\n@media (max-width: $screen-s) {\n .sdds-modal-md,\n .sdds-modal-lg,\n .sdds-modal-sm {\n height: 100%;\n\n slot[name='sdds-modal-actions']::slotted(*) {\n display: flex;\n }\n }\n}\n\n/* MODAL SUBELEMENTS */\n\n.sdds-modal-header {\n @include modal-header;\n}\n\n.sdds-modal-headline {\n @include modal-headline;\n\n color: var(--sdds-modal-text);\n}\n\n.sdds-modal-body {\n @include modal-body;\n}\n\n.sdds-modal-backdrop {\n @include sdds-box-sizing;\n @include modal-host;\n}\n\nbutton.sdds-modal-close {\n background-color: transparent;\n border: 0;\n padding: 0;\n appearance: unset;\n}\n\n.sdds-modal-close {\n display: inline-block;\n height: auto;\n color: var(--sdds-modal-icon);\n cursor: pointer;\n\n &:focus {\n @include sdds-focus-state;\n }\n\n @media (min-width: $screen-s) {\n margin-left: var(--sdds-spacing-element-16);\n }\n\n @media (min-width: $screen-l) {\n margin-left: var(--sdds-spacing-element-48);\n }\n}\n\n//web component with nested svg\n.sdds-modal-close-btn {\n display: inline-block;\n height: auto;\n background-repeat: no-repeat;\n cursor: pointer;\n\n @media (min-width: $screen-s) {\n margin-left: var(--sdds-spacing-element-16);\n }\n\n @media (min-width: $screen-l) {\n margin-left: var(--sdds-spacing-element-48);\n }\n\n svg {\n fill: var(--sdds-modal-icon);\n }\n}\n\n.sdds-modal-overflow {\n overflow: hidden;\n}\n\n/* WEB COMPONENT STUFF */\n\n:host {\n @include modal-host;\n\n .sdds-modal-close {\n border: none;\n background-color: transparent;\n }\n\n .sdds-modal-close-btn {\n border: none;\n background-color: transparent;\n }\n}\n\n:host(.show) {\n display: flex;\n}\n\n:host(.hide) {\n display: none;\n}\n","import { Component, h, Host, Prop, Element, Method } from '@stencil/core';\n\n@Component({\n tag: 'sdds-modal',\n styleUrl: 'modal.scss',\n shadow: true,\n})\nexport class Modal {\n /** Disables closing modal on clicking on overlay area. */\n @Prop() prevent: boolean = false;\n\n /** Size of modal */\n @Prop() size: 'xs' | 'sm' | 'md' | 'lg' = 'md';\n\n /** Sticky or Static Actions */\n @Prop() actions: 'sticky' | 'static' = 'static';\n\n /* Opens or closes the modal. */\n @Prop() open: boolean = false;\n\n @Element() el: HTMLElement;\n\n closeButtonEl: HTMLElement;\n\n /** Shows the modal */\n @Method()\n async openModal() {\n this.open = true;\n }\n\n setDissmissButtons() {\n const nodes = this.el.querySelectorAll('[data-dismiss-modal]');\n\n [...Array.from(nodes), this.closeButtonEl].forEach((el) => {\n el.addEventListener('click', () => {\n this.open = false;\n });\n });\n }\n\n handleClick(e) {\n const targetList = e.composedPath();\n const target = targetList[0];\n if (\n target.classList[0] === 'sdds-modal-close' ||\n (target.classList[0] === 'sdds-modal-backdrop' && this.prevent === false)\n ) {\n this.open = false;\n }\n }\n\n componentDidRender() {\n this.setDissmissButtons();\n }\n\n render() {\n return (\n <Host\n onClick={(event) => {\n this.handleClick(event);\n }}\n class={`sdds-modal-backdrop ${this.open ? 'show' : 'hide'}`}\n >\n <div\n class={`sdds-modal ${this.actions ? `sdds-modal__actions-${this.actions}` : ''} ${\n this.size ? `sdds-modal-${this.size}` : ''\n } `}\n >\n <div class=\"sdds-modal-header\">\n <slot name=\"sdds-modal-headline\"></slot>\n <button\n class=\"sdds-modal-close\"\n aria-label=\"close\"\n ref={(el) => {\n this.closeButtonEl = el as HTMLElement;\n }}\n >\n <sdds-icon name=\"cross\" size=\"20px\"></sdds-icon>\n </button>\n </div>\n\n <div class=\"sdds-modal-body\">\n <slot name=\"sdds-modal-body\"></slot>\n </div>\n\n <div class=\"sdds-modal-actions\">\n <slot name=\"sdds-modal-actions\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,96 @@
1
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-96563708.js';
2
+
3
+ const navigationTabsCss = ".sdds-navigation-tabs{box-sizing:border-box;background-color:var(--sdds-navigation-tabs-background);position:relative;display:flex;}.sdds-navigation-tabs *{box-sizing:border-box}.sdds-navigation-tabs::after{content:\" \";display:block;border-bottom:1px solid var(--sdds-navigation-tabs-horizontal-divider-background);opacity:var(--sdds-navigation-tabs-horizontal-divider-opacity);left:0;right:0;bottom:0;position:absolute}.sdds-navigation-tabs-wrapper{display:flex;flex-wrap:nowrap;width:100%;overflow-x:scroll;scrollbar-width:none}.sdds-navigation-tabs-wrapper::-webkit-scrollbar{display:none}.sdds-navigation-tabs-forward{cursor:pointer;width:48px;height:100%;border:0;position:absolute;right:0;top:0;background-color:var(--sdds-navigation-tabs-scroll-btn-background);display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none}.sdds-navigation-tabs-forward__show{opacity:1;pointer-events:all}.sdds-navigation-tabs-forward:hover{background-color:var(--sdds-navigation-tabs-scroll-btn-background-hover);text-decoration:none}.sdds-navigation-tabs-forward:active{background-color:var(--sdds-navigation-tabs-scroll-btn-background-active)}.sdds-navigation-tabs-forward:focus{outline:2px solid var(--sdds-blue-400);outline-offset:-2px}.sdds-navigation-tabs-back{cursor:pointer;width:48px;height:100%;border:0;position:absolute;left:0;top:0;background-color:var(--sdds-navigation-tabs-scroll-btn-background);display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none}.sdds-navigation-tabs-back__show{opacity:1;pointer-events:all}.sdds-navigation-tabs-back:hover{background-color:var(--sdds-navigation-tabs-scroll-btn-background-hover)}.sdds-navigation-tabs-back:active{background-color:var(--sdds-navigation-tabs-scroll-btn-background-active)}.sdds-navigation-tabs-back:focus{outline:2px solid var(--sdds-blue-400);outline-offset:-2px}::slotted(.sdds-navigation-tabs-tab){font:var(--sdds-headline-07);letter-spacing:var(--sdds-headline-07-ls);color:var(--sdds-navigation-tabs-tab-color);opacity:0.6;padding:26px 0;margin-right:32px;text-decoration:none;display:block;position:relative;transition:color 0.15s ease-in-out;white-space:nowrap;background-color:transparent;border:0}::slotted(.sdds-navigation-tabs-tab)::after{content:\" \";position:absolute;bottom:0;right:0;left:0;margin-left:auto;width:0;margin-right:auto;height:2px;background-color:var(--sdds-navigation-tabs-tab-indicator-background-hover);transition:width 0.15s ease-in-out;z-index:1}::slotted(.sdds-navigation-tabs-tab:first-child){margin-left:32px}::slotted(.sdds-navigation-tabs-tab:last-child){margin-right:32px}::slotted(.sdds-navigation-tabs-tab:hover){color:var(--sdds-navigation-tabs-tab-color-hover);opacity:1}::slotted(.sdds-navigation-tabs-tab:hover)::after{width:100%}::slotted(.sdds-navigation-tabs-tab:focus){outline:2px solid var(--sdds-blue-400);outline-offset:-2px;color:var(--sdds-navigation-tabs-tab-color-focus);opacity:1}::slotted(.sdds-navigation-tabs-tab:focus)::after{width:0}::slotted(.sdds-navigation-tabs-tab-active){color:var(--sdds-navigation-tabs-tab-color-active);opacity:1}::slotted(.sdds-navigation-tabs-tab-active)::after{width:100%;background-color:var(--sdds-navigation-tabs-tab-indicator-background-active)}::slotted(.sdds-navigation-tabs-tab-active:focus)::after{width:100%}::slotted(.sdds-navigation-tabs-tab-disabled){color:var(--sdds-navigation-tabs-tab-color-disabled);opacity:var(--sdds-navigation-tabs-tab-color-opacity-disabled);pointer-events:none}";
4
+
5
+ const NavigationTabs = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.navWrapperElement = null; // reference to container with nav buttons
9
+ this.componentWidth = 0; // visible width of this component
10
+ this.buttonsWidth = 0; // total width of all nav items combined
11
+ this.scrollWidth = 0; // total amount that is possible to scroll in the nav wrapper
12
+ this.buttonWidth = 0; // current calculated width of the largest nav button
13
+ this.tabs = [];
14
+ this.showLeftScroll = false;
15
+ this.showRightScroll = false;
16
+ this.modeVariant = null;
17
+ }
18
+ componentDidRender() {
19
+ this.calculateButtonWidth();
20
+ }
21
+ componentDidLoad() {
22
+ const resizeObserver = new ResizeObserver((entries) => {
23
+ entries.forEach((entry) => {
24
+ const componentWidth = entry.contentRect.width;
25
+ let buttonsWidth = 0;
26
+ const navButtons = Array.from(this.host.children);
27
+ navButtons.forEach((navButton) => {
28
+ const style = window.getComputedStyle(navButton);
29
+ buttonsWidth +=
30
+ navButton.clientWidth + parseFloat(style.marginLeft) + parseFloat(style.marginRight);
31
+ navButton.classList.add('sdds-navigation-tabs-tab');
32
+ });
33
+ this.componentWidth = componentWidth;
34
+ this.buttonsWidth = buttonsWidth;
35
+ this.scrollWidth = buttonsWidth - componentWidth;
36
+ if (this.buttonsWidth > this.componentWidth) {
37
+ this.evaluateScrollButtons();
38
+ }
39
+ else {
40
+ this.showLeftScroll = false;
41
+ this.showRightScroll = false;
42
+ }
43
+ });
44
+ });
45
+ resizeObserver.observe(this.navWrapperElement);
46
+ this.calculateButtonWidth();
47
+ }
48
+ calculateButtonWidth() {
49
+ let best = 0;
50
+ const navButtons = Array.from(this.host.children);
51
+ navButtons.forEach((navButton) => {
52
+ const style = window.getComputedStyle(navButton);
53
+ const width = navButton.clientWidth + parseFloat(style.marginLeft) + parseFloat(style.marginRight);
54
+ if (width > best) {
55
+ best = width;
56
+ }
57
+ });
58
+ this.buttonWidth = best;
59
+ }
60
+ scrollRight() {
61
+ const scroll = this.navWrapperElement.scrollLeft;
62
+ this.navWrapperElement.scrollLeft = scroll + this.buttonWidth;
63
+ this.evaluateScrollButtons();
64
+ }
65
+ scrollLeft() {
66
+ const scroll = this.navWrapperElement.scrollLeft;
67
+ this.navWrapperElement.scrollLeft = scroll - this.buttonWidth;
68
+ this.evaluateScrollButtons();
69
+ }
70
+ evaluateScrollButtons() {
71
+ const scroll = this.navWrapperElement.scrollLeft;
72
+ if (scroll >= this.scrollWidth) {
73
+ this.showRightScroll = false;
74
+ }
75
+ else {
76
+ this.showRightScroll = true;
77
+ }
78
+ if (scroll <= 0) {
79
+ this.showLeftScroll = false;
80
+ }
81
+ else {
82
+ this.showLeftScroll = true;
83
+ }
84
+ }
85
+ render() {
86
+ return (h(Host, { class: `${this.modeVariant !== null ? `sdds-mode-variant-${this.modeVariant}` : ''}` }, h("div", { class: "sdds-navigation-tabs" }, h("div", { class: "sdds-navigation-tabs-wrapper", ref: (el) => {
87
+ this.navWrapperElement = el;
88
+ } }, h("slot", null)), h("div", { class: "sdds-navigation-tabs-navigation" }, h("button", { class: `sdds-navigation-tabs-forward ${this.showRightScroll ? 'sdds-navigation-tabs-forward-show' : ''}`, onClick: () => this.scrollRight(), disabled: !this.showRightScroll }, h("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M6.1147 17.3291C5.87062 17.0851 5.87062 16.6893 6.1147 16.4453L12.2948 10.2652C12.4412 10.1187 12.4412 9.8813 12.2948 9.73485L6.1147 3.55476C5.87062 3.31068 5.87062 2.91496 6.1147 2.67088C6.35878 2.4268 6.75451 2.4268 6.99858 2.67088L13.1787 8.85097C13.8133 9.48557 13.8133 10.5145 13.1787 11.1491L6.99858 17.3291C6.75451 17.5732 6.35878 17.5732 6.1147 17.3291Z", fill: "#0D0F13" }))), h("button", { class: `sdds-navigation-tabs-back ${this.showLeftScroll ? 'sdds-navigation-tabs-back-show' : ''}`, onClick: () => this.scrollLeft(), disabled: !this.showLeftScroll }, h("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M13.8853 2.67085C14.1294 2.91493 14.1294 3.31066 13.8853 3.55473L7.70522 9.73482C7.55878 9.88127 7.55878 10.1187 7.70522 10.2652L13.8853 16.4452C14.1294 16.6893 14.1294 17.085 13.8853 17.3291C13.6412 17.5732 13.2455 17.5732 13.0014 17.3291L6.82134 11.149C6.18674 10.5144 6.18674 9.48554 6.82134 8.85094L13.0014 2.67085C13.2455 2.42677 13.6412 2.42677 13.8853 2.67085Z", fill: "#0D0F13" })))))));
89
+ }
90
+ get host() { return getElement(this); }
91
+ };
92
+ NavigationTabs.style = navigationTabsCss;
93
+
94
+ export { NavigationTabs as sdds_navigation_tabs };
95
+
96
+ //# sourceMappingURL=sdds-navigation-tabs.entry.js.map