@sbb-esta/lyne-elements 1.2.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. package/autocomplete/autocomplete-base-element.d.ts +93 -0
  2. package/autocomplete/autocomplete-base-element.d.ts.map +1 -0
  3. package/autocomplete/autocomplete.d.ts +13 -86
  4. package/autocomplete/autocomplete.d.ts.map +1 -1
  5. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +45 -0
  6. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
  7. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +33 -0
  8. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -0
  9. package/autocomplete-grid/autocomplete-grid-button.d.ts +2 -0
  10. package/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -0
  11. package/autocomplete-grid/autocomplete-grid-button.js +66 -0
  12. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts +17 -0
  13. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts.map +1 -0
  14. package/autocomplete-grid/autocomplete-grid-cell.d.ts +2 -0
  15. package/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -0
  16. package/autocomplete-grid/autocomplete-grid-cell.js +28 -0
  17. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +21 -0
  18. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -0
  19. package/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts +2 -0
  20. package/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts.map +1 -0
  21. package/autocomplete-grid/autocomplete-grid-optgroup.d.ts +2 -0
  22. package/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -0
  23. package/autocomplete-grid/autocomplete-grid-optgroup.js +37 -0
  24. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts +40 -0
  25. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -0
  26. package/autocomplete-grid/autocomplete-grid-option.d.ts +2 -0
  27. package/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -0
  28. package/autocomplete-grid/autocomplete-grid-option.js +67 -0
  29. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts +18 -0
  30. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts.map +1 -0
  31. package/autocomplete-grid/autocomplete-grid-row.d.ts +2 -0
  32. package/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -0
  33. package/autocomplete-grid/autocomplete-grid-row.js +31 -0
  34. package/autocomplete-grid/autocomplete-grid.d.ts +2 -0
  35. package/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
  36. package/autocomplete-grid/autocomplete-grid.js +139 -0
  37. package/autocomplete-grid.d.ts +7 -0
  38. package/autocomplete-grid.d.ts.map +1 -0
  39. package/autocomplete-grid.js +6 -0
  40. package/autocomplete.d.ts +1 -0
  41. package/autocomplete.d.ts.map +1 -1
  42. package/autocomplete.js +162 -145
  43. package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
  44. package/button/common/button-common.d.ts.map +1 -1
  45. package/button/common.js +20 -20
  46. package/button/mini-button/mini-button-base-element.d.ts +9 -0
  47. package/button/mini-button/mini-button-base-element.d.ts.map +1 -0
  48. package/button/mini-button/mini-button.d.ts +3 -5
  49. package/button/mini-button/mini-button.d.ts.map +1 -1
  50. package/button/mini-button.d.ts +1 -0
  51. package/button/mini-button.d.ts.map +1 -1
  52. package/button/mini-button.js +27 -19
  53. package/calendar/calendar.d.ts.map +1 -1
  54. package/calendar.js +22 -20
  55. package/checkbox/checkbox/checkbox.d.ts +0 -1
  56. package/checkbox/checkbox/checkbox.d.ts.map +1 -1
  57. package/checkbox/checkbox-group/checkbox-group.d.ts +0 -1
  58. package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  59. package/checkbox/checkbox-group.js +5 -3
  60. package/checkbox/checkbox-panel/checkbox-panel.d.ts +0 -1
  61. package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
  62. package/checkbox/checkbox-panel.js +12 -11
  63. package/checkbox/checkbox.js +20 -19
  64. package/checkbox/common.js +13 -13
  65. package/container/container.js +3 -3
  66. package/core/datetime/date-adapter.d.ts +23 -13
  67. package/core/datetime/date-adapter.d.ts.map +1 -1
  68. package/core/datetime/native-date-adapter.d.ts +0 -1
  69. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  70. package/core/datetime.js +23 -23
  71. package/core/decorators/host-attributes.d.ts +1 -1
  72. package/core/decorators/slot-state.d.ts +18 -0
  73. package/core/decorators/slot-state.d.ts.map +1 -0
  74. package/core/decorators.d.ts +1 -0
  75. package/core/decorators.d.ts.map +1 -1
  76. package/core/decorators.js +15 -9
  77. package/core/mixins/form-associated-mixin.d.ts.map +1 -1
  78. package/core/mixins.js +3 -1
  79. package/core/overlay/overlay-trigger-attributes.d.ts +1 -1
  80. package/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
  81. package/core/overlay.js +2 -2
  82. package/core/styles/core.scss +1 -0
  83. package/core/styles/mixins/buttons.scss +28 -56
  84. package/core/styles/mixins/helpers.scss +1 -0
  85. package/core/styles/mixins/pearl-chain-bullet.scss +1 -1
  86. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +1 -0
  87. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +2 -1
  88. package/core.css +3 -1
  89. package/custom-elements.json +13640 -8731
  90. package/datepicker/common/datepicker-button.d.ts +5 -5
  91. package/datepicker/common/datepicker-button.d.ts.map +1 -1
  92. package/datepicker/common.js +21 -20
  93. package/datepicker/datepicker/datepicker.d.ts +55 -38
  94. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  95. package/datepicker/datepicker-next-day/datepicker-next-day.d.ts +1 -1
  96. package/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
  97. package/datepicker/datepicker-next-day.js +18 -18
  98. package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +1 -1
  99. package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
  100. package/datepicker/datepicker-previous-day.js +14 -14
  101. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +1 -1
  102. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  103. package/datepicker/datepicker-toggle.js +25 -23
  104. package/datepicker/datepicker.js +147 -181
  105. package/development/autocomplete/autocomplete-base-element.d.ts +93 -0
  106. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -0
  107. package/development/autocomplete/autocomplete.d.ts +13 -86
  108. package/development/autocomplete/autocomplete.d.ts.map +1 -1
  109. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +45 -0
  110. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
  111. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +33 -0
  112. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -0
  113. package/development/autocomplete-grid/autocomplete-grid-button.d.ts +2 -0
  114. package/development/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -0
  115. package/development/autocomplete-grid/autocomplete-grid-button.js +224 -0
  116. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts +17 -0
  117. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts.map +1 -0
  118. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts +2 -0
  119. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -0
  120. package/development/autocomplete-grid/autocomplete-grid-cell.js +67 -0
  121. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +21 -0
  122. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -0
  123. package/development/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts +2 -0
  124. package/development/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts.map +1 -0
  125. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts +2 -0
  126. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -0
  127. package/development/autocomplete-grid/autocomplete-grid-optgroup.js +45 -0
  128. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts +40 -0
  129. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -0
  130. package/development/autocomplete-grid/autocomplete-grid-option.d.ts +2 -0
  131. package/development/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -0
  132. package/development/autocomplete-grid/autocomplete-grid-option.js +174 -0
  133. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts +18 -0
  134. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts.map +1 -0
  135. package/development/autocomplete-grid/autocomplete-grid-row.d.ts +2 -0
  136. package/development/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -0
  137. package/development/autocomplete-grid/autocomplete-grid-row.js +143 -0
  138. package/development/autocomplete-grid/autocomplete-grid.d.ts +2 -0
  139. package/development/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
  140. package/development/autocomplete-grid/autocomplete-grid.js +185 -0
  141. package/development/autocomplete-grid.d.ts +7 -0
  142. package/development/autocomplete-grid.d.ts.map +1 -0
  143. package/development/autocomplete-grid.js +7 -0
  144. package/development/autocomplete.d.ts +1 -0
  145. package/development/autocomplete.d.ts.map +1 -1
  146. package/development/autocomplete.js +168 -143
  147. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
  148. package/development/breadcrumb/breadcrumb-group.js +1 -1
  149. package/development/button/common/button-common.d.ts.map +1 -1
  150. package/development/button/common.js +30 -25
  151. package/development/button/mini-button/mini-button-base-element.d.ts +9 -0
  152. package/development/button/mini-button/mini-button-base-element.d.ts.map +1 -0
  153. package/development/button/mini-button/mini-button.d.ts +3 -5
  154. package/development/button/mini-button/mini-button.d.ts.map +1 -1
  155. package/development/button/mini-button.d.ts +1 -0
  156. package/development/button/mini-button.d.ts.map +1 -1
  157. package/development/button/mini-button.js +45 -67
  158. package/development/calendar/calendar.d.ts.map +1 -1
  159. package/development/calendar.js +4 -2
  160. package/development/checkbox/checkbox/checkbox.d.ts +0 -1
  161. package/development/checkbox/checkbox/checkbox.d.ts.map +1 -1
  162. package/development/checkbox/checkbox-group/checkbox-group.d.ts +0 -1
  163. package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  164. package/development/checkbox/checkbox-group.js +6 -5
  165. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +0 -1
  166. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
  167. package/development/checkbox/checkbox-panel.js +5 -5
  168. package/development/checkbox/checkbox.js +11 -5
  169. package/development/checkbox/common.js +1 -3
  170. package/development/container/container.js +2 -1
  171. package/development/core/datetime/date-adapter.d.ts +23 -13
  172. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  173. package/development/core/datetime/native-date-adapter.d.ts +0 -1
  174. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  175. package/development/core/datetime.js +28 -26
  176. package/development/core/decorators/host-attributes.d.ts +1 -1
  177. package/development/core/decorators/slot-state.d.ts +18 -0
  178. package/development/core/decorators/slot-state.d.ts.map +1 -0
  179. package/development/core/decorators.d.ts +1 -0
  180. package/development/core/decorators.d.ts.map +1 -1
  181. package/development/core/decorators.js +11 -2
  182. package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
  183. package/development/core/mixins.js +4 -2
  184. package/development/core/overlay/overlay-trigger-attributes.d.ts +1 -1
  185. package/development/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
  186. package/development/core/overlay.js +3 -3
  187. package/development/datepicker/common/datepicker-button.d.ts +5 -5
  188. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  189. package/development/datepicker/common.js +10 -9
  190. package/development/datepicker/datepicker/datepicker.d.ts +55 -38
  191. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  192. package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts +1 -1
  193. package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
  194. package/development/datepicker/datepicker-next-day.js +21 -60
  195. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +1 -1
  196. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
  197. package/development/datepicker/datepicker-previous-day.js +21 -60
  198. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +1 -1
  199. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  200. package/development/datepicker/datepicker-toggle.js +16 -10
  201. package/development/datepicker/datepicker.js +134 -159
  202. package/development/dialog/dialog.js +1 -1
  203. package/development/file-selector/file-selector.d.ts +0 -1
  204. package/development/file-selector/file-selector.d.ts.map +1 -1
  205. package/development/file-selector.js +6 -5
  206. package/development/form-field/form-field/form-field.d.ts +1 -2
  207. package/development/form-field/form-field/form-field.d.ts.map +1 -1
  208. package/development/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
  209. package/development/form-field/form-field-clear.js +22 -57
  210. package/development/form-field/form-field.js +10 -9
  211. package/development/icon/icon-base.d.ts.map +1 -1
  212. package/development/icon/icon.d.ts.map +1 -1
  213. package/development/icon.js +1 -1
  214. package/development/image/image.d.ts +1 -0
  215. package/development/image/image.d.ts.map +1 -1
  216. package/development/image.js +10 -4
  217. package/development/link/common/link-common.d.ts.map +1 -1
  218. package/development/link/common.js +6 -7
  219. package/development/link-list/link-list.d.ts +0 -1
  220. package/development/link-list/link-list.d.ts.map +1 -1
  221. package/development/link-list.js +5 -5
  222. package/development/map-container.js +15 -14
  223. package/development/navigation/navigation-list/navigation-list.d.ts +0 -1
  224. package/development/navigation/navigation-list/navigation-list.d.ts.map +1 -1
  225. package/development/navigation/navigation-list.js +5 -5
  226. package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  227. package/development/navigation/navigation-marker.js +1 -1
  228. package/development/navigation/navigation-section/navigation-section.d.ts +0 -1
  229. package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  230. package/development/navigation/navigation-section.js +6 -6
  231. package/development/notification/notification.d.ts +5 -16
  232. package/development/notification/notification.d.ts.map +1 -1
  233. package/development/notification.js +8 -9
  234. package/development/option/optgroup/optgroup-base-element.d.ts +28 -0
  235. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -0
  236. package/development/option/optgroup/optgroup.d.ts +7 -20
  237. package/development/option/optgroup/optgroup.d.ts.map +1 -1
  238. package/development/option/optgroup.d.ts +1 -0
  239. package/development/option/optgroup.d.ts.map +1 -1
  240. package/development/option/optgroup.js +74 -49
  241. package/development/option/option/option-base-element.d.ts +69 -0
  242. package/development/option/option/option-base-element.d.ts.map +1 -0
  243. package/development/option/option/option.d.ts +14 -57
  244. package/development/option/option/option.d.ts.map +1 -1
  245. package/development/option/option.d.ts +1 -0
  246. package/development/option/option.d.ts.map +1 -1
  247. package/development/option/option.js +267 -220
  248. package/development/popover/popover/popover.d.ts +3 -1
  249. package/development/popover/popover/popover.d.ts.map +1 -1
  250. package/development/popover/popover-trigger.js +14 -49
  251. package/development/popover/popover.js +11 -4
  252. package/development/radio-button/common/radio-button-common.d.ts +1 -1
  253. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  254. package/development/radio-button/common.js +13 -12
  255. package/development/radio-button/radio-button/radio-button.d.ts +7 -1
  256. package/development/radio-button/radio-button/radio-button.d.ts.map +1 -1
  257. package/development/radio-button/radio-button-group/radio-button-group.d.ts +1 -2
  258. package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  259. package/development/radio-button/radio-button-group.js +6 -6
  260. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +7 -1
  261. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
  262. package/development/radio-button/radio-button-panel.js +17 -6
  263. package/development/radio-button/radio-button.js +17 -6
  264. package/development/selection-expansion-panel/selection-expansion-panel.d.ts +0 -1
  265. package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  266. package/development/selection-expansion-panel.js +6 -5
  267. package/development/skiplink-list/skiplink-list.d.ts +1 -1
  268. package/development/skiplink-list/skiplink-list.d.ts.map +1 -1
  269. package/development/skiplink-list.js +5 -5
  270. package/development/status/status.d.ts +0 -1
  271. package/development/status/status.d.ts.map +1 -1
  272. package/development/status.js +5 -5
  273. package/development/stepper/stepper/stepper.d.ts +3 -1
  274. package/development/stepper/stepper/stepper.d.ts.map +1 -1
  275. package/development/stepper/stepper.js +3 -2
  276. package/development/tabs/tab-group/tab-group.d.ts +3 -1
  277. package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
  278. package/development/tabs/tab-group.js +4 -10
  279. package/development/tabs/tab-label/tab-label.d.ts +0 -1
  280. package/development/tabs/tab-label/tab-label.d.ts.map +1 -1
  281. package/development/tabs/tab-label.js +5 -5
  282. package/development/tabs/tab.js +10 -2
  283. package/development/tag/tag/tag.d.ts +0 -1
  284. package/development/tag/tag/tag.d.ts.map +1 -1
  285. package/development/tag/tag-group.js +1 -1
  286. package/development/tag/tag.js +6 -5
  287. package/development/teaser/teaser.d.ts +0 -1
  288. package/development/teaser/teaser.d.ts.map +1 -1
  289. package/development/teaser.js +5 -5
  290. package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
  291. package/development/timetable-occupancy-icon.js +3 -6
  292. package/development/toast/toast.d.ts +1 -2
  293. package/development/toast/toast.d.ts.map +1 -1
  294. package/development/toast.js +10 -8
  295. package/development/toggle/toggle-option/toggle-option.d.ts +0 -1
  296. package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  297. package/development/toggle/toggle-option.js +6 -6
  298. package/development/toggle/toggle.js +1 -1
  299. package/development/toggle-check/toggle-check.d.ts +0 -1
  300. package/development/toggle-check/toggle-check.d.ts.map +1 -1
  301. package/development/toggle-check.js +5 -5
  302. package/dialog/dialog.js +1 -1
  303. package/file-selector/file-selector.d.ts +0 -1
  304. package/file-selector/file-selector.d.ts.map +1 -1
  305. package/file-selector.js +17 -15
  306. package/form-field/form-field/form-field.d.ts +1 -2
  307. package/form-field/form-field/form-field.d.ts.map +1 -1
  308. package/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
  309. package/form-field/form-field-clear.js +17 -18
  310. package/form-field/form-field.js +18 -16
  311. package/icon/icon-base.d.ts.map +1 -1
  312. package/icon/icon.d.ts.map +1 -1
  313. package/image/image.d.ts +1 -0
  314. package/image/image.d.ts.map +1 -1
  315. package/image.js +24 -24
  316. package/index.d.ts +12 -0
  317. package/index.js +12 -0
  318. package/link/common/link-common.d.ts.map +1 -1
  319. package/link/common.js +9 -9
  320. package/link-list/link-list.d.ts +0 -1
  321. package/link-list/link-list.d.ts.map +1 -1
  322. package/link-list.js +8 -7
  323. package/map-container.js +8 -8
  324. package/navigation/navigation-list/navigation-list.d.ts +0 -1
  325. package/navigation/navigation-list/navigation-list.d.ts.map +1 -1
  326. package/navigation/navigation-list.js +9 -8
  327. package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  328. package/navigation/navigation-section/navigation-section.d.ts +0 -1
  329. package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  330. package/navigation/navigation-section.js +10 -9
  331. package/notification/notification.d.ts +5 -16
  332. package/notification/notification.d.ts.map +1 -1
  333. package/notification.js +9 -9
  334. package/option/optgroup/optgroup-base-element.d.ts +28 -0
  335. package/option/optgroup/optgroup-base-element.d.ts.map +1 -0
  336. package/option/optgroup/optgroup.d.ts +7 -20
  337. package/option/optgroup/optgroup.d.ts.map +1 -1
  338. package/option/optgroup.d.ts +1 -0
  339. package/option/optgroup.d.ts.map +1 -1
  340. package/option/optgroup.js +80 -60
  341. package/option/option/option-base-element.d.ts +69 -0
  342. package/option/option/option-base-element.d.ts.map +1 -0
  343. package/option/option/option.d.ts +14 -57
  344. package/option/option/option.d.ts.map +1 -1
  345. package/option/option.d.ts +1 -0
  346. package/option/option.d.ts.map +1 -1
  347. package/option/option.js +184 -142
  348. package/package.json +36 -1
  349. package/popover/popover/popover.d.ts +3 -1
  350. package/popover/popover/popover.d.ts.map +1 -1
  351. package/popover/popover-trigger.js +13 -13
  352. package/popover/popover.js +55 -48
  353. package/radio-button/common/radio-button-common.d.ts +1 -1
  354. package/radio-button/common/radio-button-common.d.ts.map +1 -1
  355. package/radio-button/common.js +6 -15
  356. package/radio-button/radio-button/radio-button.d.ts +7 -1
  357. package/radio-button/radio-button/radio-button.d.ts.map +1 -1
  358. package/radio-button/radio-button-group/radio-button-group.d.ts +1 -2
  359. package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  360. package/radio-button/radio-button-group.js +7 -6
  361. package/radio-button/radio-button-panel/radio-button-panel.d.ts +7 -1
  362. package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
  363. package/radio-button/radio-button-panel.js +33 -22
  364. package/radio-button/radio-button.js +30 -19
  365. package/selection-expansion-panel/selection-expansion-panel.d.ts +0 -1
  366. package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  367. package/selection-expansion-panel.js +15 -13
  368. package/skiplink-list/skiplink-list.d.ts +1 -1
  369. package/skiplink-list/skiplink-list.d.ts.map +1 -1
  370. package/skiplink-list.js +4 -3
  371. package/standard-theme.css +3 -1
  372. package/status/status.d.ts +0 -1
  373. package/status/status.d.ts.map +1 -1
  374. package/status.js +9 -8
  375. package/stepper/stepper/stepper.d.ts +3 -1
  376. package/stepper/stepper/stepper.d.ts.map +1 -1
  377. package/stepper/stepper.js +7 -6
  378. package/tabs/tab-group/tab-group.d.ts +3 -1
  379. package/tabs/tab-group/tab-group.d.ts.map +1 -1
  380. package/tabs/tab-group.js +25 -24
  381. package/tabs/tab-label/tab-label.d.ts +0 -1
  382. package/tabs/tab-label/tab-label.d.ts.map +1 -1
  383. package/tabs/tab-label.js +4 -3
  384. package/tabs/tab.js +10 -10
  385. package/tag/tag/tag.d.ts +0 -1
  386. package/tag/tag/tag.d.ts.map +1 -1
  387. package/tag/tag.js +6 -4
  388. package/teaser/teaser.d.ts +0 -1
  389. package/teaser/teaser.d.ts.map +1 -1
  390. package/teaser.js +4 -3
  391. package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
  392. package/timetable-occupancy-icon.js +22 -24
  393. package/toast/toast.d.ts +1 -2
  394. package/toast/toast.d.ts.map +1 -1
  395. package/toast.js +15 -12
  396. package/toggle/toggle-option/toggle-option.d.ts +0 -1
  397. package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  398. package/toggle/toggle-option.js +12 -11
  399. package/toggle-check/toggle-check.d.ts +0 -1
  400. package/toggle-check/toggle-check.d.ts.map +1 -1
  401. package/toggle-check.js +4 -3
@@ -1,6 +1,7 @@
1
1
  import { css, LitElement, html, nothing } from "lit";
2
2
  import { property, customElement } from "lit/decorators.js";
3
- import { SbbLanguageController, SbbSlotStateController } from "./core/controllers.js";
3
+ import { SbbLanguageController } from "./core/controllers.js";
4
+ import { slotState } from "./core/decorators.js";
4
5
  import { EventEmitter } from "./core/eventing.js";
5
6
  import { i18nCloseNotification } from "./core/i18n.js";
6
7
  import { AgnosticResizeObserver } from "./core/observers.js";
@@ -297,7 +298,7 @@ const notificationTypes = /* @__PURE__ */ new Map([
297
298
  const DEBOUNCE_TIME = 150;
298
299
  let SbbNotificationElement = class extends LitElement {
299
300
  constructor() {
300
- super();
301
+ super(...arguments);
301
302
  this.type = "info";
302
303
  this.titleLevel = "3";
303
304
  this.readonly = false;
@@ -324,11 +325,8 @@ let SbbNotificationElement = class extends LitElement {
324
325
  this,
325
326
  SbbNotificationElement.events.didClose
326
327
  );
327
- new SbbSlotStateController(this);
328
328
  }
329
- /**
330
- * The state of the notification.
331
- */
329
+ /** The state of the notification. */
332
330
  set _state(state) {
333
331
  this.setAttribute("data-state", state);
334
332
  }
@@ -381,11 +379,11 @@ let SbbNotificationElement = class extends LitElement {
381
379
  clearTimeout(this._resizeObserverTimeout);
382
380
  }
383
381
  this.toggleAttribute("data-resize-disable-animation", true);
384
- this._setNotificationHeight();
385
382
  this._resizeObserverTimeout = setTimeout(
386
383
  () => this.removeAttribute("data-resize-disable-animation"),
387
384
  DEBOUNCE_TIME
388
385
  );
386
+ setTimeout(() => this._setNotificationHeight());
389
387
  }
390
388
  _onNotificationAnimationEnd(event) {
391
389
  if (this._state === "opening" && event.animationName === "open") {
@@ -470,9 +468,10 @@ __decorateClass([
470
468
  property({ reflect: true })
471
469
  ], SbbNotificationElement.prototype, "animation", 2);
472
470
  SbbNotificationElement = __decorateClass([
473
- customElement("sbb-notification")
471
+ customElement("sbb-notification"),
472
+ slotState()
474
473
  ], SbbNotificationElement);
475
474
  export {
476
475
  SbbNotificationElement
477
476
  };
478
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLCBTYmJTbG90U3RhdGVDb250cm9sbGVyIH0gZnJvbSAnLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICcuLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IGkxOG5DbG9zZU5vdGlmaWNhdGlvbiB9IGZyb20gJy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wZW5lZENsb3NlZFN0YXRlIH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB7IEFnbm9zdGljUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICcuLi9jb3JlL29ic2VydmVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlTGV2ZWwgfSBmcm9tICcuLi90aXRsZS5qcyc7XG5pbXBvcnQgJy4uL2J1dHRvbi9zZWNvbmRhcnktYnV0dG9uLmpzJztcbmltcG9ydCAnLi4vZGl2aWRlci5qcyc7XG5pbXBvcnQgJy4uL2ljb24uanMnO1xuaW1wb3J0ICcuLi90aXRsZS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL25vdGlmaWNhdGlvbi5zY3NzP2xpdCZpbmxpbmUnO1xuXG5jb25zdCBub3RpZmljYXRpb25UeXBlcyA9IG5ldyBNYXAoW1xuICBbJ2luZm8nLCAnY2lyY2xlLWluZm9ybWF0aW9uLXNtYWxsJ10sXG4gIFsnc3VjY2VzcycsICdjaXJjbGUtdGljay1zbWFsbCddLFxuICBbJ3dhcm4nLCAnY2lyY2xlLWV4Y2xhbWF0aW9uLXBvaW50LXNtYWxsJ10sXG4gIFsnZXJyb3InLCAnY2lyY2xlLWNyb3NzLXNtYWxsJ10sXG5dKTtcblxuY29uc3QgREVCT1VOQ0VfVElNRSA9IDE1MDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBtZXNzYWdlcyB3aGljaCByZXF1aXJlIGEgdXNlcidzIGF0dGVudGlvbiB3aXRob3V0IGludGVycnVwdGluZyBpdHMgdGFza3MuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgbm90aWZpY2F0aW9uIG1lc3NhZ2UuXG4gKiBAc2xvdCB0aXRsZSAtIFVzZSB0aGlzIHRvIHByb3ZpZGUgYSBub3RpZmljYXRpb24gdGl0bGUgKG9wdGlvbmFsKS5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxPcGVuIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItbm90aWZpY2F0aW9uYCBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1ub3RpZmljYXRpb25gIGlzIG9wZW5lZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5vdGlmaWNhdGlvbmAgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5vdGlmaWNhdGlvbmAgaXMgY2xvc2VkLlxuICogQGNzc3Byb3AgWy0tc2JiLW5vdGlmaWNhdGlvbi1tYXJnaW49MF0gLSBDYW4gYmUgdXNlZCB0byBtb2RpZnkgdGhlIG1hcmdpbiBpbiBvcmRlciB0byBnZXQgYSBzbW9vdGhlciBhbmltYXRpb24uXG4gKiBTZWUgc3R5bGUgc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1ub3RpZmljYXRpb24nKVxuZXhwb3J0IGNsYXNzIFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgLy8gRklYTUUgaW5oZXJpdGluZyBmcm9tIFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IHJlcXVpcmVzOiBodHRwczovL2dpdGh1Yi5jb20vb3Blbi13Yy9jdXN0b20tZWxlbWVudHMtbWFuaWZlc3QvaXNzdWVzLzI1M1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgd2lsbE9wZW46ICd3aWxsT3BlbicsXG4gICAgZGlkT3BlbjogJ2RpZE9wZW4nLFxuICAgIHdpbGxDbG9zZTogJ3dpbGxDbG9zZScsXG4gICAgZGlkQ2xvc2U6ICdkaWRDbG9zZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHRoZSBub3RpZmljYXRpb24uXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyB0eXBlOiAnaW5mbycgfCAnc3VjY2VzcycgfCAnd2FybicgfCAnZXJyb3InID0gJ2luZm8nO1xuXG4gIC8qKlxuICAgKiBDb250ZW50IG9mIHRpdGxlLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndGl0bGUtY29udGVudCcsIHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIHRpdGxlQ29udGVudD86IHN0cmluZztcblxuICAvKipcbiAgICogTGV2ZWwgb2YgdGl0bGUsIGl0IHdpbGwgYmUgcmVuZGVyZWQgYXMgaGVhZGluZyB0YWcgKGUuZy4gaDMpLiBEZWZhdWx0cyB0byBsZXZlbCAzLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndGl0bGUtbGV2ZWwnIH0pIHB1YmxpYyB0aXRsZUxldmVsOiBTYmJUaXRsZUxldmVsID0gJzMnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBub3RpZmljYXRpb24gaXMgcmVhZG9ubHkuXG4gICAqIEluIHJlYWRvbmx5IG1vZGUsIHRoZXJlIGlzIG5vIGRpc21pc3MgYnV0dG9uIG9mZmVyZWQgdG8gdGhlIHVzZXIuXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xuXG4gIC8qKiBTaXplIHZhcmlhbnQsIGVpdGhlciBzIG9yIG0uICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIHNpemU6ICdtJyB8ICdzJyA9ICdtJztcblxuICAvKipcbiAgICogVGhlIGVuYWJsZWQgYW5pbWF0aW9ucy5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFuaW1hdGlvbjogJ29wZW4nIHwgJ2Nsb3NlJyB8ICdhbGwnIHwgJ25vbmUnID0gJ2FsbCc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0ZSBvZiB0aGUgbm90aWZpY2F0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSBzZXQgX3N0YXRlKHN0YXRlOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSkge1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJywgc3RhdGUpO1xuICB9XG4gIHByaXZhdGUgZ2V0IF9zdGF0ZSgpOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJykgYXMgU2JiT3BlbmVkQ2xvc2VkU3RhdGU7XG4gIH1cblxuICBwcml2YXRlIF9ub3RpZmljYXRpb25FbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyVGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9ub3RpZmljYXRpb25SZXNpemVPYnNlcnZlciA9IG5ldyBBZ25vc3RpY1Jlc2l6ZU9ic2VydmVyKCgpID0+XG4gICAgdGhpcy5fb25Ob3RpZmljYXRpb25SZXNpemUoKSxcbiAgKTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItbm90aWZpY2F0aW9uYCBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gKi9cbiAgcHJpdmF0ZSBfd2lsbE9wZW46IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJOb3RpZmljYXRpb25FbGVtZW50LmV2ZW50cy53aWxsT3BlbixcbiAgKTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItbm90aWZpY2F0aW9uYCBpcyBvcGVuZWQuICovXG4gIHByaXZhdGUgX2RpZE9wZW46IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJOb3RpZmljYXRpb25FbGVtZW50LmV2ZW50cy5kaWRPcGVuLFxuICApO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1ub3RpZmljYXRpb25gIGJlZ2lucyB0aGUgY2xvc2luZyB0cmFuc2l0aW9uLiAqL1xuICBwcml2YXRlIF93aWxsQ2xvc2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJOb3RpZmljYXRpb25FbGVtZW50LmV2ZW50cy53aWxsQ2xvc2UsXG4gICk7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5vdGlmaWNhdGlvbmAgaXMgY2xvc2VkLiAqL1xuICBwcml2YXRlIF9kaWRDbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQuZXZlbnRzLmRpZENsb3NlLFxuICApO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIG5ldyBTYmJTbG90U3RhdGVDb250cm9sbGVyKHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgPT09ICdjbG9zZWQnKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICAgIHRoaXMuX3dpbGxPcGVuLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnb3BlbmVkJykge1xuICAgICAgdGhpcy5fc3RhdGUgPSAnY2xvc2luZyc7XG4gICAgICB0aGlzLl93aWxsQ2xvc2UuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSB8fD0gJ2Nsb3NlZCc7XG5cbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2JiLW5vdGlmaWNhdGlvbl9fd3JhcHBlcicsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICAvLyBXZSBuZWVkIHRvIHdhaXQgZm9yIHRoZSBjb21wb25lbnQncyBgdXBkYXRlQ29tcGxldGVgIGluIG9yZGVyIHRvIHNldCB0aGUgY29ycmVjdFxuICAgIC8vIGhlaWdodCB0byB0aGUgbm90aWZpY2F0aW9uIGVsZW1lbnQuXG4gICAgYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtcbiAgICB0aGlzLl9zZXROb3RpZmljYXRpb25IZWlnaHQoKTtcbiAgICB0aGlzLl9vcGVuKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9ub3RpZmljYXRpb25SZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF9zZXROb3RpZmljYXRpb25IZWlnaHQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50Py5zY3JvbGxIZWlnaHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgbm90aWZpY2F0aW9uSGVpZ2h0ID0gYCR7dGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudC5zY3JvbGxIZWlnaHR9cHhgO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW5vdGlmaWNhdGlvbi1oZWlnaHQnLCBub3RpZmljYXRpb25IZWlnaHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Ob3RpZmljYXRpb25SZXNpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAnb3BlbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQpO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLXJlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbicsIHRydWUpO1xuICAgIHRoaXMuX3NldE5vdGlmaWNhdGlvbkhlaWdodCgpO1xuXG4gICAgLy8gRGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdoZW4gcmVzaXppbmcgdGhlIG5vdGlmaWNhdGlvbiB0byBhdm9pZCBzdHJhbmdlIGhlaWdodCB0cmFuc2l0aW9uIGVmZmVjdHMuXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXJlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbicpLFxuICAgICAgREVCT1VOQ0VfVElNRSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Ob3RpZmljYXRpb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnb3BlbmluZycgJiYgZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnY2xvc2luZycgJiYgZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlLWhlaWdodCcpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5fZGlkT3Blbi5lbWl0KCk7XG4gICAgdGhpcy5fbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLl9kaWRDbG9zZS5lbWl0KCk7XG4gICAgdGhpcy5fbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZW1vdmUoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX193cmFwcGVyXCJcbiAgICAgICAgQGFuaW1hdGlvbmVuZD0keyhldmVudDogQW5pbWF0aW9uRXZlbnQpID0+IHRoaXMuX29uTm90aWZpY2F0aW9uQW5pbWF0aW9uRW5kKGV2ZW50KX1cbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25cIj5cbiAgICAgICAgICA8c2JiLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9faWNvblwiXG4gICAgICAgICAgICBuYW1lPSR7bm90aWZpY2F0aW9uVHlwZXMuZ2V0KHRoaXMudHlwZSkhfVxuICAgICAgICAgID48L3NiYi1pY29uPlxuXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19jb250ZW50XCI+XG4gICAgICAgICAgICA8c2JiLXRpdGxlXG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fdGl0bGVcIlxuICAgICAgICAgICAgICBsZXZlbD0ke3RoaXMudGl0bGVMZXZlbH1cbiAgICAgICAgICAgICAgdmlzdWFsLWxldmVsPSR7dGhpcy5zaXplID09PSAnbScgPyAnNScgOiAnNid9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzbG90IG5hbWU9XCJ0aXRsZVwiPiR7dGhpcy50aXRsZUNvbnRlbnR9PC9zbG90PlxuICAgICAgICAgICAgPC9zYmItdGl0bGU+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgJHshdGhpcy5yZWFkb25seVxuICAgICAgICAgICAgPyBodG1sYDxzcGFuIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fY2xvc2Utd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxzYmItZGl2aWRlciBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25fX2RpdmlkZXJcIiBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCI+PC9zYmItZGl2aWRlcj5cbiAgICAgICAgICAgICAgICA8c2JiLXNlY29uZGFyeS1idXR0b25cbiAgICAgICAgICAgICAgICAgIHNpemU9JHt0aGlzLnNpemV9XG4gICAgICAgICAgICAgICAgICBpY29uLW5hbWU9XCJjcm9zcy1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLmNsb3NlKCl9XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSR7aTE4bkNsb3NlTm90aWZpY2F0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19jbG9zZVwiXG4gICAgICAgICAgICAgICAgPjwvc2JiLXNlY29uZGFyeS1idXR0b24+XG4gICAgICAgICAgICAgIDwvc3Bhbj5gXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW5vdGlmaWNhdGlvbic6IFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
477
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBzbG90U3RhdGUgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBpMThuQ2xvc2VOb3RpZmljYXRpb24gfSBmcm9tICcuLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcGVuZWRDbG9zZWRTdGF0ZSB9IGZyb20gJy4uL2NvcmUvaW50ZXJmYWNlcy5qcyc7XG5pbXBvcnQgeyBBZ25vc3RpY1Jlc2l6ZU9ic2VydmVyIH0gZnJvbSAnLi4vY29yZS9vYnNlcnZlcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUaXRsZUxldmVsIH0gZnJvbSAnLi4vdGl0bGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9ub3RpZmljYXRpb24uc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi9idXR0b24vc2Vjb25kYXJ5LWJ1dHRvbi5qcyc7XG5pbXBvcnQgJy4uL2RpdmlkZXIuanMnO1xuaW1wb3J0ICcuLi9pY29uLmpzJztcbmltcG9ydCAnLi4vdGl0bGUuanMnO1xuXG5jb25zdCBub3RpZmljYXRpb25UeXBlcyA9IG5ldyBNYXAoW1xuICBbJ2luZm8nLCAnY2lyY2xlLWluZm9ybWF0aW9uLXNtYWxsJ10sXG4gIFsnc3VjY2VzcycsICdjaXJjbGUtdGljay1zbWFsbCddLFxuICBbJ3dhcm4nLCAnY2lyY2xlLWV4Y2xhbWF0aW9uLXBvaW50LXNtYWxsJ10sXG4gIFsnZXJyb3InLCAnY2lyY2xlLWNyb3NzLXNtYWxsJ10sXG5dKTtcblxuY29uc3QgREVCT1VOQ0VfVElNRSA9IDE1MDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBtZXNzYWdlcyB3aGljaCByZXF1aXJlIGEgdXNlcidzIGF0dGVudGlvbiB3aXRob3V0IGludGVycnVwdGluZyBpdHMgdGFza3MuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgbm90aWZpY2F0aW9uIG1lc3NhZ2UuXG4gKiBAc2xvdCB0aXRsZSAtIFVzZSB0aGlzIHRvIHByb3ZpZGUgYSBub3RpZmljYXRpb24gdGl0bGUgKG9wdGlvbmFsKS5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxPcGVuIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItbm90aWZpY2F0aW9uYCBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1ub3RpZmljYXRpb25gIGlzIG9wZW5lZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5vdGlmaWNhdGlvbmAgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5vdGlmaWNhdGlvbmAgaXMgY2xvc2VkLlxuICogQGNzc3Byb3AgWy0tc2JiLW5vdGlmaWNhdGlvbi1tYXJnaW49MF0gLSBDYW4gYmUgdXNlZCB0byBtb2RpZnkgdGhlIG1hcmdpbiBpbiBvcmRlciB0byBnZXQgYSBzbW9vdGhlciBhbmltYXRpb24uXG4gKiBTZWUgc3R5bGUgc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1ub3RpZmljYXRpb24nKVxuQHNsb3RTdGF0ZSgpXG5leHBvcnQgY2xhc3MgU2JiTm90aWZpY2F0aW9uRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICAvLyBGSVhNRSBpbmhlcml0aW5nIGZyb20gU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQgcmVxdWlyZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXdjL2N1c3RvbS1lbGVtZW50cy1tYW5pZmVzdC9pc3N1ZXMvMjUzXG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB3aWxsT3BlbjogJ3dpbGxPcGVuJyxcbiAgICBkaWRPcGVuOiAnZGlkT3BlbicsXG4gICAgd2lsbENsb3NlOiAnd2lsbENsb3NlJyxcbiAgICBkaWRDbG9zZTogJ2RpZENsb3NlJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogVGhlIHR5cGUgb2YgdGhlIG5vdGlmaWNhdGlvbi4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgdHlwZTogJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm4nIHwgJ2Vycm9yJyA9ICdpbmZvJztcblxuICAvKiogQ29udGVudCBvZiB0aXRsZS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndGl0bGUtY29udGVudCcsIHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIHRpdGxlQ29udGVudD86IHN0cmluZztcblxuICAvKiogTGV2ZWwgb2YgdGl0bGUsIGl0IHdpbGwgYmUgcmVuZGVyZWQgYXMgaGVhZGluZyB0YWcgKGUuZy4gaDMpLiBEZWZhdWx0cyB0byBsZXZlbCAzLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0aXRsZS1sZXZlbCcgfSkgcHVibGljIHRpdGxlTGV2ZWw6IFNiYlRpdGxlTGV2ZWwgPSAnMyc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG5vdGlmaWNhdGlvbiBpcyByZWFkb25seS5cbiAgICogSW4gcmVhZG9ubHkgbW9kZSwgdGhlcmUgaXMgbm8gZGlzbWlzcyBidXR0b24gb2ZmZXJlZCB0byB0aGUgdXNlci5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIHJlYWRvbmx5ID0gZmFsc2U7XG5cbiAgLyoqIFNpemUgdmFyaWFudCwgZWl0aGVyIHMgb3IgbS4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgc2l6ZTogJ20nIHwgJ3MnID0gJ20nO1xuXG4gIC8qKiBUaGUgZW5hYmxlZCBhbmltYXRpb25zLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhbmltYXRpb246ICdvcGVuJyB8ICdjbG9zZScgfCAnYWxsJyB8ICdub25lJyA9ICdhbGwnO1xuXG4gIC8qKiBUaGUgc3RhdGUgb2YgdGhlIG5vdGlmaWNhdGlvbi4gKi9cbiAgcHJpdmF0ZSBzZXQgX3N0YXRlKHN0YXRlOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSkge1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJywgc3RhdGUpO1xuICB9XG4gIHByaXZhdGUgZ2V0IF9zdGF0ZSgpOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJykgYXMgU2JiT3BlbmVkQ2xvc2VkU3RhdGU7XG4gIH1cblxuICBwcml2YXRlIF9ub3RpZmljYXRpb25FbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyVGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9ub3RpZmljYXRpb25SZXNpemVPYnNlcnZlciA9IG5ldyBBZ25vc3RpY1Jlc2l6ZU9ic2VydmVyKCgpID0+XG4gICAgdGhpcy5fb25Ob3RpZmljYXRpb25SZXNpemUoKSxcbiAgKTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItbm90aWZpY2F0aW9uYCBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gKi9cbiAgcHJpdmF0ZSBfd2lsbE9wZW46IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJOb3RpZmljYXRpb25FbGVtZW50LmV2ZW50cy53aWxsT3BlbixcbiAgKTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItbm90aWZpY2F0aW9uYCBpcyBvcGVuZWQuICovXG4gIHByaXZhdGUgX2RpZE9wZW46IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJOb3RpZmljYXRpb25FbGVtZW50LmV2ZW50cy5kaWRPcGVuLFxuICApO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1ub3RpZmljYXRpb25gIGJlZ2lucyB0aGUgY2xvc2luZyB0cmFuc2l0aW9uLiAqL1xuICBwcml2YXRlIF93aWxsQ2xvc2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJOb3RpZmljYXRpb25FbGVtZW50LmV2ZW50cy53aWxsQ2xvc2UsXG4gICk7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5vdGlmaWNhdGlvbmAgaXMgY2xvc2VkLiAqL1xuICBwcml2YXRlIF9kaWRDbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQuZXZlbnRzLmRpZENsb3NlLFxuICApO1xuXG4gIHByaXZhdGUgX29wZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnY2xvc2VkJykge1xuICAgICAgdGhpcy5fc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgICB0aGlzLl93aWxsT3Blbi5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ29wZW5lZCcpIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NpbmcnO1xuICAgICAgdGhpcy5fd2lsbENsb3NlLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgfHw9ICdjbG9zZWQnO1xuXG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnLnNiYi1ub3RpZmljYXRpb25fX3dyYXBwZXInLFxuICAgICkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgLy8gV2UgbmVlZCB0byB3YWl0IGZvciB0aGUgY29tcG9uZW50J3MgYHVwZGF0ZUNvbXBsZXRlYCBpbiBvcmRlciB0byBzZXQgdGhlIGNvcnJlY3RcbiAgICAvLyBoZWlnaHQgdG8gdGhlIG5vdGlmaWNhdGlvbiBlbGVtZW50LlxuICAgIGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7XG4gICAgdGhpcy5fc2V0Tm90aWZpY2F0aW9uSGVpZ2h0KCk7XG4gICAgdGhpcy5fb3BlbigpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0Tm90aWZpY2F0aW9uSGVpZ2h0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudD8uc2Nyb2xsSGVpZ2h0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5vdGlmaWNhdGlvbkhlaWdodCA9IGAke3RoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQuc2Nyb2xsSGVpZ2h0fXB4YDtcbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1ub3RpZmljYXRpb24taGVpZ2h0Jywgbm90aWZpY2F0aW9uSGVpZ2h0KTtcbiAgfVxuXG4gIHByaXZhdGUgX29uTm90aWZpY2F0aW9uUmVzaXplKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0KTtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlIHRoZSBhbmltYXRpb24gd2hlbiByZXNpemluZyB0aGUgbm90aWZpY2F0aW9uIHRvIGF2b2lkIHN0cmFuZ2UgaGVpZ2h0IHRyYW5zaXRpb24gZWZmZWN0cy5cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1yZXNpemUtZGlzYWJsZS1hbmltYXRpb24nLCB0cnVlKTtcbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4gdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtcmVzaXplLWRpc2FibGUtYW5pbWF0aW9uJyksXG4gICAgICBERUJPVU5DRV9USU1FLFxuICAgICk7XG5cbiAgICAvLyBUbyBhdm9pZCBSZXNpemVPYnNlcnZlciBsb29wcywgd2Ugc2V0IHRoZSBoZWlnaHQgYSB0aWNrIGxhdGVyLlxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fc2V0Tm90aWZpY2F0aW9uSGVpZ2h0KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Ob3RpZmljYXRpb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnb3BlbmluZycgJiYgZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnY2xvc2luZycgJiYgZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlLWhlaWdodCcpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5fZGlkT3Blbi5lbWl0KCk7XG4gICAgdGhpcy5fbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLl9kaWRDbG9zZS5lbWl0KCk7XG4gICAgdGhpcy5fbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZW1vdmUoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX193cmFwcGVyXCJcbiAgICAgICAgQGFuaW1hdGlvbmVuZD0keyhldmVudDogQW5pbWF0aW9uRXZlbnQpID0+IHRoaXMuX29uTm90aWZpY2F0aW9uQW5pbWF0aW9uRW5kKGV2ZW50KX1cbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25cIj5cbiAgICAgICAgICA8c2JiLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9faWNvblwiXG4gICAgICAgICAgICBuYW1lPSR7bm90aWZpY2F0aW9uVHlwZXMuZ2V0KHRoaXMudHlwZSkhfVxuICAgICAgICAgID48L3NiYi1pY29uPlxuXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19jb250ZW50XCI+XG4gICAgICAgICAgICA8c2JiLXRpdGxlXG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fdGl0bGVcIlxuICAgICAgICAgICAgICBsZXZlbD0ke3RoaXMudGl0bGVMZXZlbH1cbiAgICAgICAgICAgICAgdmlzdWFsLWxldmVsPSR7dGhpcy5zaXplID09PSAnbScgPyAnNScgOiAnNid9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzbG90IG5hbWU9XCJ0aXRsZVwiPiR7dGhpcy50aXRsZUNvbnRlbnR9PC9zbG90PlxuICAgICAgICAgICAgPC9zYmItdGl0bGU+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgJHshdGhpcy5yZWFkb25seVxuICAgICAgICAgICAgPyBodG1sYDxzcGFuIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fY2xvc2Utd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxzYmItZGl2aWRlciBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25fX2RpdmlkZXJcIiBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCI+PC9zYmItZGl2aWRlcj5cbiAgICAgICAgICAgICAgICA8c2JiLXNlY29uZGFyeS1idXR0b25cbiAgICAgICAgICAgICAgICAgIHNpemU9JHt0aGlzLnNpemV9XG4gICAgICAgICAgICAgICAgICBpY29uLW5hbWU9XCJjcm9zcy1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLmNsb3NlKCl9XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSR7aTE4bkNsb3NlTm90aWZpY2F0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19jbG9zZVwiXG4gICAgICAgICAgICAgICAgPjwvc2JiLXNlY29uZGFyeS1idXR0b24+XG4gICAgICAgICAgICAgIDwvc3Bhbj5gXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW5vdGlmaWNhdGlvbic6IFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -0,0 +1,28 @@
1
+ import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from 'lit';
2
+ import { SbbAutocompleteBaseElement } from '../../autocomplete.js';
3
+ import { SbbOptionBaseElement } from '../option.js';
4
+
5
+ declare const SbbOptgroupBaseElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbHydrationMixinType> & typeof LitElement;
6
+ export declare abstract class SbbOptgroupBaseElement extends SbbOptgroupBaseElement_base {
7
+ static styles: CSSResultGroup;
8
+ /** Option group label. */
9
+ label: string;
10
+ protected negative: boolean;
11
+ private _inertAriaGroups;
12
+ private _negativeObserver;
13
+ protected abstract get options(): SbbOptionBaseElement[];
14
+ protected abstract setAttributeFromParent(): void;
15
+ protected abstract getAutocompleteParent(): SbbAutocompleteBaseElement | null;
16
+ constructor();
17
+ connectedCallback(): void;
18
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
19
+ disconnectedCallback(): void;
20
+ private _handleSlotchange;
21
+ private _proxyGroupLabelToOptions;
22
+ protected proxyDisabledToOptions(): void;
23
+ private _highlightOptions;
24
+ private _onNegativeChange;
25
+ protected render(): TemplateResult;
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=optgroup-base-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optgroup-base-element.d.ts","sourceRoot":"","sources":["../../../../../src/elements/option/optgroup/optgroup-base-element.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAGb,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAKxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIzD,OAAO,kBAAkB,CAAC;;AAS1B,8BACsB,sBAAuB,SAAQ,2BAEpD;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,0BAA0B;IACP,KAAK,EAAG,MAAM,CAAC;IAEzB,SAAS,CAAC,QAAQ,UAAS;IAE3B,OAAO,CAAC,gBAAgB,CAAS;IAE1C,OAAO,CAAC,iBAAiB,CAAgE;IAEzF,SAAS,CAAC,QAAQ,KAAK,OAAO,IAAI,oBAAoB,EAAE,CAAC;IACzD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,IAAI,IAAI;IACjD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,IAAI,0BAA0B,GAAG,IAAI;;IAc7D,iBAAiB,IAAI,IAAI;cAYtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAe5D,oBAAoB,IAAI,IAAI;IAK5C,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,yBAAyB;IAkBjC,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAMxC,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,iBAAiB;cAIN,MAAM,IAAI,cAAc;CAY5C"}
@@ -1,35 +1,22 @@
1
- import { CSSResultGroup, PropertyValues, TemplateResult, LitElement } from 'lit';
1
+ import { SbbAutocompleteElement } from '../../autocomplete.js';
2
+ import { SbbOptionElement } from '../option.js';
3
+ import { SbbOptgroupBaseElement } from './optgroup-base-element.js';
2
4
 
3
- declare const SbbOptGroupElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbHydrationMixinType> & typeof LitElement;
4
5
  /**
5
6
  * It can be used as a container for one or more `sbb-option`.
6
7
  *
7
8
  * @slot - Use the unnamed slot to add `sbb-option` elements to the `sbb-optgroup`.
8
9
  */
9
- export declare class SbbOptGroupElement extends SbbOptGroupElement_base {
10
- static styles: CSSResultGroup;
11
- /** Option group label. */
12
- label: string;
13
- private _negative;
14
- private _inertAriaGroups;
15
- private _negativeObserver;
16
- private get _options();
17
- constructor();
10
+ export declare class SbbOptGroupElement extends SbbOptgroupBaseElement {
11
+ protected get options(): SbbOptionElement[];
12
+ protected getAutocompleteParent(): SbbAutocompleteElement | null;
13
+ protected setAttributeFromParent(): void;
18
14
  connectedCallback(): void;
19
- protected willUpdate(changedProperties: PropertyValues<this>): void;
20
- disconnectedCallback(): void;
21
15
  private _setVariantByContext;
22
- private _handleSlotchange;
23
- private _proxyGroupLabelToOptions;
24
- private _proxyDisabledToOptions;
25
- private _highlightOptions;
26
- private _onNegativeChange;
27
- protected render(): TemplateResult;
28
16
  }
29
17
  declare global {
30
18
  interface HTMLElementTagNameMap {
31
19
  'sbb-optgroup': SbbOptGroupElement;
32
20
  }
33
21
  }
34
- export {};
35
22
  //# sourceMappingURL=optgroup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"optgroup.d.ts","sourceRoot":"","sources":["../../../../../src/elements/option/optgroup/optgroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAWvC,OAAO,kBAAkB,CAAC;;AAS1B;;;;GAIG;AACH,qBAEa,kBAAmB,SAAQ,uBAA+C;IACrF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,0BAA0B;IACP,KAAK,EAAG,MAAM,CAAC;IAEzB,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,gBAAgB,CAAS;IAE1C,OAAO,CAAC,iBAAiB,CAAgE;IAEzF,OAAO,KAAK,QAAQ,GAEnB;;IAce,iBAAiB,IAAI,IAAI;cAmBtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAe5D,oBAAoB,IAAI,IAAI;IAK5C,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,yBAAyB;IAkBjC,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,iBAAiB;cAIN,MAAM,IAAI,cAAc;CAY5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,cAAc,EAAE,kBAAkB,CAAC;KACpC;CACF"}
1
+ {"version":3,"file":"optgroup.d.ts","sourceRoot":"","sources":["../../../../../src/elements/option/optgroup/optgroup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE;;;;GAIG;AACH,qBACa,kBAAmB,SAAQ,sBAAsB;IAC5D,SAAS,KAAK,OAAO,IAAI,gBAAgB,EAAE,CAE1C;IAED,SAAS,CAAC,qBAAqB,IAAI,sBAAsB,GAAG,IAAI;IAIhE,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAKxB,iBAAiB,IAAI,IAAI;IAMzC,OAAO,CAAC,oBAAoB;CAO7B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,cAAc,EAAE,kBAAkB,CAAC;KACpC;CACF"}
@@ -1,2 +1,3 @@
1
1
  export * from './optgroup/optgroup.js';
2
+ export * from './optgroup/optgroup-base-element.js';
2
3
  //# sourceMappingURL=optgroup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"optgroup.d.ts","sourceRoot":"","sources":["../../../../src/elements/option/optgroup.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"optgroup.d.ts","sourceRoot":"","sources":["../../../../src/elements/option/optgroup.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,qCAAqC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { css, LitElement, html } from "lit";
2
1
  import { property, state, customElement } from "lit/decorators.js";
2
+ import { css, LitElement, html } from "lit";
3
3
  import { hostAttributes } from "../core/decorators.js";
4
4
  import { setOrRemoveAttribute, isSafari } from "../core/dom.js";
5
5
  import { SbbDisabledMixin, SbbHydrationMixin } from "../core/mixins.js";
@@ -99,21 +99,23 @@ const style = css`/**
99
99
  display: var(--sbb-option-icon-container-display, none);
100
100
  min-width: var(--sbb-size-icon-ui-small);
101
101
  }`;
102
- var __defProp = Object.defineProperty;
103
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
104
- var __decorateClass = (decorators, target, key, kind) => {
105
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
102
+ var __defProp$1 = Object.defineProperty;
103
+ var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
104
+ var __decorateClass$1 = (decorators, target, key, kind) => {
105
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target;
106
106
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
107
107
  if (decorator = decorators[i])
108
108
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
109
- if (kind && result) __defProp(target, key, result);
109
+ if (kind && result) __defProp$1(target, key, result);
110
110
  return result;
111
111
  };
112
112
  const inertAriaGroups = isSafari;
113
- let SbbOptGroupElement = class extends SbbDisabledMixin(SbbHydrationMixin(LitElement)) {
113
+ let SbbOptgroupBaseElement = class extends SbbDisabledMixin(
114
+ SbbHydrationMixin(LitElement)
115
+ ) {
114
116
  constructor() {
115
117
  super();
116
- this._negative = false;
118
+ this.negative = false;
117
119
  this._inertAriaGroups = false;
118
120
  this._negativeObserver = new AgnosticMutationObserver(() => this._onNegativeChange());
119
121
  if (inertAriaGroups) {
@@ -124,26 +126,16 @@ let SbbOptGroupElement = class extends SbbDisabledMixin(SbbHydrationMixin(LitEle
124
126
  }
125
127
  }
126
128
  }
127
- get _options() {
128
- var _a;
129
- return Array.from(((_a = this.querySelectorAll) == null ? void 0 : _a.call(this, "sbb-option")) ?? []);
130
- }
131
129
  connectedCallback() {
132
- var _a, _b;
130
+ var _a;
133
131
  super.connectedCallback();
134
132
  (_a = this._negativeObserver) == null ? void 0 : _a.disconnect();
135
- this._negative = !!((_b = this.closest) == null ? void 0 : _b.call(
136
- this,
137
- `:is(sbb-autocomplete, sbb-select, sbb-form-field)[negative]`
138
- ));
139
- this.toggleAttribute("data-negative", this._negative);
133
+ this.setAttributeFromParent();
140
134
  this._negativeObserver.observe(this, {
141
135
  attributes: true,
142
136
  attributeFilter: ["data-negative"]
143
137
  });
144
- this._setVariantByContext();
145
138
  this._proxyGroupLabelToOptions();
146
- this.toggleAttribute("data-multiple", !!this.closest("sbb-select[multiple]"));
147
139
  }
148
140
  willUpdate(changedProperties) {
149
141
  super.willUpdate(changedProperties);
@@ -151,7 +143,7 @@ let SbbOptGroupElement = class extends SbbDisabledMixin(SbbHydrationMixin(LitEle
151
143
  if (!this._inertAriaGroups) {
152
144
  this.setAttribute("aria-disabled", this.disabled.toString());
153
145
  }
154
- this._proxyDisabledToOptions();
146
+ this.proxyDisabledToOptions();
155
147
  }
156
148
  if (changedProperties.has("label")) {
157
149
  this._proxyGroupLabelToOptions();
@@ -162,16 +154,8 @@ let SbbOptGroupElement = class extends SbbDisabledMixin(SbbHydrationMixin(LitEle
162
154
  super.disconnectedCallback();
163
155
  (_a = this._negativeObserver) == null ? void 0 : _a.disconnect();
164
156
  }
165
- _setVariantByContext() {
166
- var _a, _b;
167
- if ((_a = this.closest) == null ? void 0 : _a.call(this, "sbb-autocomplete")) {
168
- this.setAttribute("data-variant", "autocomplete");
169
- } else if ((_b = this.closest) == null ? void 0 : _b.call(this, "sbb-select")) {
170
- this.setAttribute("data-variant", "select");
171
- }
172
- }
173
157
  _handleSlotchange() {
174
- this._proxyDisabledToOptions();
158
+ this.proxyDisabledToOptions();
175
159
  this._proxyGroupLabelToOptions();
176
160
  this._highlightOptions();
177
161
  }
@@ -182,25 +166,25 @@ let SbbOptGroupElement = class extends SbbDisabledMixin(SbbHydrationMixin(LitEle
182
166
  return;
183
167
  } else if (this.label) {
184
168
  this.removeAttribute("aria-label");
185
- for (const option of this._options) {
169
+ for (const option of this.options) {
186
170
  option.setAttribute("data-group-label", this.label);
187
171
  (_a = option.requestUpdate) == null ? void 0 : _a.call(option);
188
172
  }
189
173
  } else {
190
- for (const option of this._options) {
174
+ for (const option of this.options) {
191
175
  option.removeAttribute("data-group-label");
192
176
  (_b = option.requestUpdate) == null ? void 0 : _b.call(option);
193
177
  }
194
178
  }
195
179
  }
196
- _proxyDisabledToOptions() {
197
- for (const option of this._options) {
180
+ proxyDisabledToOptions() {
181
+ for (const option of this.options) {
198
182
  option.toggleAttribute("data-group-disabled", this.disabled);
199
183
  }
200
184
  }
201
185
  _highlightOptions() {
202
186
  var _a;
203
- const autocomplete = this.closest("sbb-autocomplete");
187
+ const autocomplete = this.getAutocompleteParent();
204
188
  if (!autocomplete) {
205
189
  return;
206
190
  }
@@ -208,15 +192,15 @@ let SbbOptGroupElement = class extends SbbDisabledMixin(SbbHydrationMixin(LitEle
208
192
  if (!value) {
209
193
  return;
210
194
  }
211
- this._options.forEach((opt) => opt.highlight(value));
195
+ this.options.forEach((opt) => opt.highlight(value));
212
196
  }
213
197
  _onNegativeChange() {
214
- this._negative = this.hasAttribute("data-negative");
198
+ this.negative = this.hasAttribute("data-negative");
215
199
  }
216
200
  render() {
217
201
  return html`
218
202
  <div class="sbb-optgroup__divider">
219
- <sbb-divider ?negative=${this._negative}></sbb-divider>
203
+ <sbb-divider ?negative=${this.negative}></sbb-divider>
220
204
  </div>
221
205
  <div class="sbb-optgroup__label" aria-hidden="true">
222
206
  <div class="sbb-optgroup__icon-space"></div>
@@ -226,21 +210,62 @@ let SbbOptGroupElement = class extends SbbDisabledMixin(SbbHydrationMixin(LitEle
226
210
  `;
227
211
  }
228
212
  };
229
- SbbOptGroupElement.styles = style;
230
- __decorateClass([
213
+ SbbOptgroupBaseElement.styles = style;
214
+ __decorateClass$1([
231
215
  property()
232
- ], SbbOptGroupElement.prototype, "label", 2);
233
- __decorateClass([
216
+ ], SbbOptgroupBaseElement.prototype, "label", 2);
217
+ __decorateClass$1([
234
218
  state()
235
- ], SbbOptGroupElement.prototype, "_negative", 2);
236
- __decorateClass([
219
+ ], SbbOptgroupBaseElement.prototype, "negative", 2);
220
+ __decorateClass$1([
237
221
  state()
238
- ], SbbOptGroupElement.prototype, "_inertAriaGroups", 2);
239
- SbbOptGroupElement = __decorateClass([
240
- customElement("sbb-optgroup"),
222
+ ], SbbOptgroupBaseElement.prototype, "_inertAriaGroups", 2);
223
+ SbbOptgroupBaseElement = __decorateClass$1([
241
224
  hostAttributes({ role: !inertAriaGroups ? "group" : null })
225
+ ], SbbOptgroupBaseElement);
226
+ var __defProp = Object.defineProperty;
227
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
228
+ var __decorateClass = (decorators, target, key, kind) => {
229
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
230
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
231
+ if (decorator = decorators[i])
232
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
233
+ if (kind && result) __defProp(target, key, result);
234
+ return result;
235
+ };
236
+ let SbbOptGroupElement = class extends SbbOptgroupBaseElement {
237
+ get options() {
238
+ var _a;
239
+ return Array.from(((_a = this.querySelectorAll) == null ? void 0 : _a.call(this, "sbb-option")) ?? []);
240
+ }
241
+ getAutocompleteParent() {
242
+ var _a;
243
+ return ((_a = this.closest) == null ? void 0 : _a.call(this, "sbb-autocomplete")) || null;
244
+ }
245
+ setAttributeFromParent() {
246
+ var _a;
247
+ this.negative = !!((_a = this.closest) == null ? void 0 : _a.call(this, `:is(sbb-autocomplete, sbb-select, sbb-form-field)[negative]`));
248
+ this.toggleAttribute("data-negative", this.negative);
249
+ }
250
+ connectedCallback() {
251
+ super.connectedCallback();
252
+ this.toggleAttribute("data-multiple", !!this.closest("sbb-select[multiple]"));
253
+ this._setVariantByContext();
254
+ }
255
+ _setVariantByContext() {
256
+ var _a, _b;
257
+ if ((_a = this.closest) == null ? void 0 : _a.call(this, "sbb-autocomplete")) {
258
+ this.setAttribute("data-variant", "autocomplete");
259
+ } else if ((_b = this.closest) == null ? void 0 : _b.call(this, "sbb-select")) {
260
+ this.setAttribute("data-variant", "select");
261
+ }
262
+ }
263
+ };
264
+ SbbOptGroupElement = __decorateClass([
265
+ customElement("sbb-optgroup")
242
266
  ], SbbOptGroupElement);
243
267
  export {
244
- SbbOptGroupElement
268
+ SbbOptGroupElement,
269
+ SbbOptgroupBaseElement
245
270
  };
246
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0Z3JvdXAuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9vcHRpb24vb3B0Z3JvdXAvb3B0Z3JvdXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc1NhZmFyaSwgc2V0T3JSZW1vdmVBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluLCBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IEFnbm9zdGljTXV0YXRpb25PYnNlcnZlciB9IGZyb20gJy4uLy4uL2NvcmUvb2JzZXJ2ZXJzLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3B0aW9uRWxlbWVudCB9IGZyb20gJy4uL29wdGlvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL29wdGdyb3VwLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vZGl2aWRlci5qcyc7XG5cbi8qKlxuICogT24gU2FmYXJpLCB0aGUgZ3JvdXBzIGxhYmVscyBhcmUgbm90IHJlYWQgYnkgVm9pY2VPdmVyLlxuICogVG8gc29sdmUgdGhlIHByb2JsZW0sIHdlIHJlbW92ZSB0aGUgcm9sZT1cImdyb3VwXCIgYW5kIGFkZCBhIGhpZGRlbiBzcGFuIGNvbnRhaW5pbmcgdGhlIGdyb3VwIG5hbWVcbiAqIFRPRE86IFdlIHNob3VsZCBwZXJpb2RpY2FsbHkgY2hlY2sgaWYgaXQgaGFzIGJlZW4gc29sdmVkIGFuZCwgaWYgc28sIHJlbW92ZSB0aGUgcHJvcGVydHkuXG4gKi9cbmNvbnN0IGluZXJ0QXJpYUdyb3VwcyA9IGlzU2FmYXJpO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciBvbmUgb3IgbW9yZSBgc2JiLW9wdGlvbmAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1vcHRpb25gIGVsZW1lbnRzIHRvIHRoZSBgc2JiLW9wdGdyb3VwYC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1vcHRncm91cCcpXG5AaG9zdEF0dHJpYnV0ZXMoeyByb2xlOiAhaW5lcnRBcmlhR3JvdXBzID8gJ2dyb3VwJyA6IG51bGwgfSlcbmV4cG9ydCBjbGFzcyBTYmJPcHRHcm91cEVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFNiYkh5ZHJhdGlvbk1peGluKExpdEVsZW1lbnQpKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBPcHRpb24gZ3JvdXAgbGFiZWwuICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBsYWJlbCE6IHN0cmluZztcblxuICBAc3RhdGUoKSBwcml2YXRlIF9uZWdhdGl2ZSA9IGZhbHNlO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgX2luZXJ0QXJpYUdyb3VwcyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX25lZ2F0aXZlT2JzZXJ2ZXIgPSBuZXcgQWdub3N0aWNNdXRhdGlvbk9ic2VydmVyKCgpID0+IHRoaXMuX29uTmVnYXRpdmVDaGFuZ2UoKSk7XG5cbiAgcHJpdmF0ZSBnZXQgX29wdGlvbnMoKTogU2JiT3B0aW9uRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2JiLW9wdGlvbicpID8/IFtdKSBhcyBTYmJPcHRpb25FbGVtZW50W107XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGlmIChpbmVydEFyaWFHcm91cHMpIHtcbiAgICAgIGlmICh0aGlzLmh5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PiAodGhpcy5faW5lcnRBcmlhR3JvdXBzID0gaW5lcnRBcmlhR3JvdXBzKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9pbmVydEFyaWFHcm91cHMgPSBpbmVydEFyaWFHcm91cHM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fbmVnYXRpdmVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX25lZ2F0aXZlID0gISF0aGlzLmNsb3Nlc3Q/LihcbiAgICAgIGA6aXMoc2JiLWF1dG9jb21wbGV0ZSwgc2JiLXNlbGVjdCwgc2JiLWZvcm0tZmllbGQpW25lZ2F0aXZlXWAsXG4gICAgKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1uZWdhdGl2ZScsIHRoaXMuX25lZ2F0aXZlKTtcblxuICAgIHRoaXMuX25lZ2F0aXZlT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLCB7XG4gICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ2RhdGEtbmVnYXRpdmUnXSxcbiAgICB9KTtcblxuICAgIHRoaXMuX3NldFZhcmlhbnRCeUNvbnRleHQoKTtcbiAgICB0aGlzLl9wcm94eUdyb3VwTGFiZWxUb09wdGlvbnMoKTtcblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLW11bHRpcGxlJywgISF0aGlzLmNsb3Nlc3QoJ3NiYi1zZWxlY3RbbXVsdGlwbGVdJykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpKSB7XG4gICAgICBpZiAoIXRoaXMuX2luZXJ0QXJpYUdyb3Vwcykge1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnYXJpYS1kaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQudG9TdHJpbmcoKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX3Byb3h5RGlzYWJsZWRUb09wdGlvbnMoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGFiZWwnKSkge1xuICAgICAgdGhpcy5fcHJveHlHcm91cExhYmVsVG9PcHRpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fbmVnYXRpdmVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0VmFyaWFudEJ5Q29udGV4dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jbG9zZXN0Py4oJ3NiYi1hdXRvY29tcGxldGUnKSkge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtdmFyaWFudCcsICdhdXRvY29tcGxldGUnKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY2xvc2VzdD8uKCdzYmItc2VsZWN0JykpIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXZhcmlhbnQnLCAnc2VsZWN0Jyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlU2xvdGNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9wcm94eURpc2FibGVkVG9PcHRpb25zKCk7XG4gICAgdGhpcy5fcHJveHlHcm91cExhYmVsVG9PcHRpb25zKCk7XG4gICAgdGhpcy5faGlnaGxpZ2h0T3B0aW9ucygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJveHlHcm91cExhYmVsVG9PcHRpb25zKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faW5lcnRBcmlhR3JvdXBzKSB7XG4gICAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZSh0aGlzLCAnYXJpYS1sYWJlbCcsIHRoaXMubGFiZWwpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAodGhpcy5sYWJlbCkge1xuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKTtcbiAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIHRoaXMuX29wdGlvbnMpIHtcbiAgICAgICAgb3B0aW9uLnNldEF0dHJpYnV0ZSgnZGF0YS1ncm91cC1sYWJlbCcsIHRoaXMubGFiZWwpO1xuICAgICAgICBvcHRpb24ucmVxdWVzdFVwZGF0ZT8uKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIHRoaXMuX29wdGlvbnMpIHtcbiAgICAgICAgb3B0aW9uLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1ncm91cC1sYWJlbCcpO1xuICAgICAgICBvcHRpb24ucmVxdWVzdFVwZGF0ZT8uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcHJveHlEaXNhYmxlZFRvT3B0aW9ucygpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLl9vcHRpb25zKSB7XG4gICAgICBvcHRpb24udG9nZ2xlQXR0cmlidXRlKCdkYXRhLWdyb3VwLWRpc2FibGVkJywgdGhpcy5kaXNhYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0T3B0aW9ucygpOiB2b2lkIHtcbiAgICBjb25zdCBhdXRvY29tcGxldGUgPSB0aGlzLmNsb3Nlc3QoJ3NiYi1hdXRvY29tcGxldGUnKTtcbiAgICBpZiAoIWF1dG9jb21wbGV0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB2YWx1ZSA9IGF1dG9jb21wbGV0ZS50cmlnZ2VyRWxlbWVudD8udmFsdWU7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9vcHRpb25zLmZvckVhY2goKG9wdCkgPT4gb3B0LmhpZ2hsaWdodCh2YWx1ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25OZWdhdGl2ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9uZWdhdGl2ZSA9IHRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLW5lZ2F0aXZlJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0Z3JvdXBfX2RpdmlkZXJcIj5cbiAgICAgICAgPHNiYi1kaXZpZGVyID9uZWdhdGl2ZT0ke3RoaXMuX25lZ2F0aXZlfT48L3NiYi1kaXZpZGVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW9wdGdyb3VwX19sYWJlbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW9wdGdyb3VwX19pY29uLXNwYWNlXCI+PC9kaXY+XG4gICAgICAgIDxzcGFuPiR7dGhpcy5sYWJlbH08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1v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
271
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0Z3JvdXAuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9vcHRpb24vb3B0Z3JvdXAvb3B0Z3JvdXAtYmFzZS1lbGVtZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL29wdGlvbi9vcHRncm91cC9vcHRncm91cC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vYXV0b2NvbXBsZXRlLmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzU2FmYXJpLCBzZXRPclJlbW92ZUF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkTWl4aW4sIFNiYkh5ZHJhdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHsgQWdub3N0aWNNdXRhdGlvbk9ic2VydmVyIH0gZnJvbSAnLi4vLi4vY29yZS9vYnNlcnZlcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcHRpb25CYXNlRWxlbWVudCB9IGZyb20gJy4uL29wdGlvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL29wdGdyb3VwLWJhc2UtZWxlbWVudC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2RpdmlkZXIuanMnO1xuXG4vKipcbiAqIE9uIFNhZmFyaSwgdGhlIGdyb3VwcyBsYWJlbHMgYXJlIG5vdCByZWFkIGJ5IFZvaWNlT3Zlci5cbiAqIFRvIHNvbHZlIHRoZSBwcm9ibGVtLCB3ZSByZW1vdmUgdGhlIHJvbGU9XCJncm91cFwiIGFuZCBhZGQgYSBoaWRkZW4gc3BhbiBjb250YWluaW5nIHRoZSBncm91cCBuYW1lXG4gKiBUT0RPOiBXZSBzaG91bGQgcGVyaW9kaWNhbGx5IGNoZWNrIGlmIGl0IGhhcyBiZWVuIHNvbHZlZCBhbmQsIGlmIHNvLCByZW1vdmUgdGhlIHByb3BlcnR5LlxuICovXG5jb25zdCBpbmVydEFyaWFHcm91cHMgPSBpc1NhZmFyaTtcblxuQGhvc3RBdHRyaWJ1dGVzKHsgcm9sZTogIWluZXJ0QXJpYUdyb3VwcyA/ICdncm91cCcgOiBudWxsIH0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiT3B0Z3JvdXBCYXNlRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYkh5ZHJhdGlvbk1peGluKExpdEVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBPcHRpb24gZ3JvdXAgbGFiZWwuICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBsYWJlbCE6IHN0cmluZztcblxuICBAc3RhdGUoKSBwcm90ZWN0ZWQgbmVnYXRpdmUgPSBmYWxzZTtcblxuICBAc3RhdGUoKSBwcml2YXRlIF9pbmVydEFyaWFHcm91cHMgPSBmYWxzZTtcblxuICBwcml2YXRlIF9uZWdhdGl2ZU9ic2VydmVyID0gbmV3IEFnbm9zdGljTXV0YXRpb25PYnNlcnZlcigoKSA9PiB0aGlzLl9vbk5lZ2F0aXZlQ2hhbmdlKCkpO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgb3B0aW9ucygpOiBTYmJPcHRpb25CYXNlRWxlbWVudFtdO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0QXR0cmlidXRlRnJvbVBhcmVudCgpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk6IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IHwgbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGlmIChpbmVydEFyaWFHcm91cHMpIHtcbiAgICAgIGlmICh0aGlzLmh5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PiAodGhpcy5faW5lcnRBcmlhR3JvdXBzID0gaW5lcnRBcmlhR3JvdXBzKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9pbmVydEFyaWFHcm91cHMgPSBpbmVydEFyaWFHcm91cHM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fbmVnYXRpdmVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlRnJvbVBhcmVudCgpO1xuICAgIHRoaXMuX25lZ2F0aXZlT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLCB7XG4gICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ2RhdGEtbmVnYXRpdmUnXSxcbiAgICB9KTtcblxuICAgIHRoaXMuX3Byb3h5R3JvdXBMYWJlbFRvT3B0aW9ucygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpKSB7XG4gICAgICBpZiAoIXRoaXMuX2luZXJ0QXJpYUdyb3Vwcykge1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnYXJpYS1kaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQudG9TdHJpbmcoKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMucHJveHlEaXNhYmxlZFRvT3B0aW9ucygpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsYWJlbCcpKSB7XG4gICAgICB0aGlzLl9wcm94eUdyb3VwTGFiZWxUb09wdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9uZWdhdGl2ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMucHJveHlEaXNhYmxlZFRvT3B0aW9ucygpO1xuICAgIHRoaXMuX3Byb3h5R3JvdXBMYWJlbFRvT3B0aW9ucygpO1xuICAgIHRoaXMuX2hpZ2hsaWdodE9wdGlvbnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Byb3h5R3JvdXBMYWJlbFRvT3B0aW9ucygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2luZXJ0QXJpYUdyb3Vwcykge1xuICAgICAgc2V0T3JSZW1vdmVBdHRyaWJ1dGUodGhpcywgJ2FyaWEtbGFiZWwnLCB0aGlzLmxhYmVsKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRoaXMubGFiZWwpIHtcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWxhYmVsJyk7XG4gICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgICAgb3B0aW9uLnNldEF0dHJpYnV0ZSgnZGF0YS1ncm91cC1sYWJlbCcsIHRoaXMubGFiZWwpO1xuICAgICAgICBvcHRpb24ucmVxdWVzdFVwZGF0ZT8uKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIHRoaXMub3B0aW9ucykge1xuICAgICAgICBvcHRpb24ucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWdyb3VwLWxhYmVsJyk7XG4gICAgICAgIG9wdGlvbi5yZXF1ZXN0VXBkYXRlPy4oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJveHlEaXNhYmxlZFRvT3B0aW9ucygpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgIG9wdGlvbi50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZ3JvdXAtZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oaWdobGlnaHRPcHRpb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IGF1dG9jb21wbGV0ZSA9IHRoaXMuZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk7XG4gICAgaWYgKCFhdXRvY29tcGxldGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSBhdXRvY29tcGxldGUudHJpZ2dlckVsZW1lbnQ/LnZhbHVlO1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5vcHRpb25zLmZvckVhY2goKG9wdCkgPT4gb3B0LmhpZ2hsaWdodCh2YWx1ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25OZWdhdGl2ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLm5lZ2F0aXZlID0gdGhpcy5oYXNBdHRyaWJ1dGUoJ2RhdGEtbmVnYXRpdmUnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRncm91cF9fZGl2aWRlclwiPlxuICAgICAgICA8c2JiLWRpdmlkZXIgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX0+PC9zYmItZGl2aWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRncm91cF9fbGFiZWxcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRncm91cF9faWNvbi1zcGFjZVwiPjwvZGl2PlxuICAgICAgICA8c3Bhbj4ke3RoaXMubGFiZWx9PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX2hhbmRsZVNsb3RjaGFuZ2V9Pjwvc2xvdD5cbiAgICBgO1xuICB9XG59XG4iLCJpbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkF1dG9jb21wbGV0ZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9hdXRvY29tcGxldGUuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcHRpb25FbGVtZW50IH0gZnJvbSAnLi4vb3B0aW9uLmpzJztcblxuaW1wb3J0IHsgU2JiT3B0Z3JvdXBCYXNlRWxlbWVudCB9IGZyb20gJy4vb3B0Z3JvdXAtYmFzZS1lbGVtZW50LmpzJztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG1vcmUgYHNiYi1vcHRpb25gLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItb3B0aW9uYCBlbGVtZW50cyB0byB0aGUgYHNiYi1vcHRncm91cGAuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItb3B0Z3JvdXAnKVxuZXhwb3J0IGNsYXNzIFNiYk9wdEdyb3VwRWxlbWVudCBleHRlbmRzIFNiYk9wdGdyb3VwQmFzZUVsZW1lbnQge1xuICBwcm90ZWN0ZWQgZ2V0IG9wdGlvbnMoKTogU2JiT3B0aW9uRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2JiLW9wdGlvbicpID8/IFtdKSBhcyBTYmJPcHRpb25FbGVtZW50W107XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk6IFNiYkF1dG9jb21wbGV0ZUVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jbG9zZXN0Py4oJ3NiYi1hdXRvY29tcGxldGUnKSB8fCBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldEF0dHJpYnV0ZUZyb21QYXJlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5uZWdhdGl2ZSA9ICEhdGhpcy5jbG9zZXN0Py4oYDppcyhzYmItYXV0b2NvbXBsZXRlLCBzYmItc2VsZWN0LCBzYmItZm9ybS1maWVsZClbbmVnYXRpdmVdYCk7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtbmVnYXRpdmUnLCB0aGlzLm5lZ2F0aXZlKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLW11bHRpcGxlJywgISF0aGlzLmNsb3Nlc3QoJ3NiYi1zZWxlY3RbbXVsdGlwbGVdJykpO1xuICAgIHRoaXMuX3NldFZhcmlhbnRCeUNvbnRleHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldFZhcmlhbnRCeUNvbnRleHQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2xvc2VzdD8uKCdzYmItYXV0b2NvbXBsZXRlJykpIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXZhcmlhbnQnLCAnYXV0b2NvbXBsZXRlJyk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNsb3Nlc3Q/Lignc2JiLXNlbGVjdCcpKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZGF0YS12YXJpYW50JywgJ3NlbGVjdCcpO1xuICAgIH1cbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW9wdGdyb3VwJzogU2JiT3B0R3JvdXBFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiX19kZWNvcmF0ZUNsYXNzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF5QkEsTUFBTSxrQkFBa0I7QUFHakIsSUFBZSx5QkFBZixjQUE4QztBQUFBLEVBQ25ELGtCQUFrQixVQUFVO0FBQzlCLEVBQUU7QUFBQSxFQWdCTyxjQUFjO0FBQ2I7QUFYQyxTQUFVLFdBQVc7QUFFckIsU0FBUSxtQkFBbUI7QUFFcEMsU0FBUSxvQkFBb0IsSUFBSSx5QkFBeUIsTUFBTSxLQUFLLG1CQUFtQjtBQVNyRixRQUFJLGlCQUFpQjtBQUNuQixVQUFJLEtBQUssbUJBQW1CO0FBQzFCLGFBQUssa0JBQWtCLEtBQUssTUFBTyxLQUFLLG1CQUFtQixlQUFnQjtBQUFBLE1BQUEsT0FDdEU7QUFDTCxhQUFLLG1CQUFtQjtBQUFBLE1BQzFCO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFBQSxFQUVnQixvQkFBMEI7O0FBQ3hDLFVBQU0sa0JBQWtCO0FBQ3hCLGVBQUssc0JBQUwsbUJBQXdCO0FBQ3hCLFNBQUssdUJBQXVCO0FBQ3ZCLFNBQUEsa0JBQWtCLFFBQVEsTUFBTTtBQUFBLE1BQ25DLFlBQVk7QUFBQSxNQUNaLGlCQUFpQixDQUFDLGVBQWU7QUFBQSxJQUFBLENBQ2xDO0FBRUQsU0FBSywwQkFBMEI7QUFBQSxFQUNqQztBQUFBLEVBRW1CLFdBQVcsbUJBQStDO0FBQzNFLFVBQU0sV0FBVyxpQkFBaUI7QUFFOUIsUUFBQSxrQkFBa0IsSUFBSSxVQUFVLEdBQUc7QUFDakMsVUFBQSxDQUFDLEtBQUssa0JBQWtCO0FBQzFCLGFBQUss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
@@ -0,0 +1,69 @@
1
+ import { LitElement, nothing, PropertyValues, TemplateResult } from 'lit';
2
+ import { EventEmitter } from '../../core/eventing.js';
3
+
4
+ declare const SbbOptionBaseElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../icon.js').SbbIconNameMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbHydrationMixinType> & typeof LitElement;
5
+ export declare abstract class SbbOptionBaseElement extends SbbOptionBaseElement_base {
6
+ protected abstract optionId: string;
7
+ /**
8
+ * Value of the option.
9
+ *
10
+ * @description Developer note: In this case updating the attribute must be synchronous.
11
+ * Due to this, it is implemented as a getter/setter and the attributeChangedCallback() handles the diff check.
12
+ */
13
+ set value(value: string);
14
+ get value(): string;
15
+ /** Whether the option is currently active. */
16
+ active?: boolean;
17
+ /** Whether the option is selected. */
18
+ set selected(value: boolean);
19
+ get selected(): boolean;
20
+ /** Emits when the option selection status changes. */
21
+ protected abstract selectionChange: EventEmitter;
22
+ /** Emits when an option was selected by user. */
23
+ protected abstract optionSelected: EventEmitter;
24
+ /** Whether to apply the negative styling */
25
+ protected negative: boolean;
26
+ /** Whether the component must be set disabled due disabled attribute on sbb-optgroup. */
27
+ protected disabledFromGroup: boolean;
28
+ protected label?: string;
29
+ /** Disable the highlight of the label. */
30
+ protected disableLabelHighlight: boolean;
31
+ /** The portion of the highlighted label. */
32
+ private _highlightString;
33
+ private _inertAriaGroups;
34
+ private _abort;
35
+ protected abstract selectByClick(event: MouseEvent): void;
36
+ protected abstract setAttributeFromParent(): void;
37
+ protected updateDisableHighlight(disabled: boolean): void;
38
+ /** MutationObserver on data attributes. */
39
+ private _optionAttributeObserver;
40
+ constructor();
41
+ attributeChangedCallback(name: string, old: string | null, value: string | null): void;
42
+ /**
43
+ * Highlight the label of the option
44
+ * @param value the highlighted portion of the label
45
+ * @internal
46
+ */
47
+ highlight(value: string): void;
48
+ /**
49
+ * @internal
50
+ */
51
+ setSelectedViaUserInteraction(selected: boolean): void;
52
+ connectedCallback(): void;
53
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
54
+ protected firstUpdated(changedProperties: PropertyValues<this>): void;
55
+ disconnectedCallback(): void;
56
+ protected init(): void;
57
+ protected updateAriaDisabled(): void;
58
+ private _updateAriaSelected;
59
+ /** Observe changes on data attributes and set the appropriate values. */
60
+ protected onOptionAttributesChange(mutationsList: MutationRecord[]): void;
61
+ protected handleHighlightState(): void;
62
+ protected getHighlightedLabel(): TemplateResult;
63
+ protected renderIcon(): TemplateResult;
64
+ protected renderLabel(): TemplateResult | typeof nothing;
65
+ protected renderTick(): TemplateResult | typeof nothing;
66
+ protected render(): TemplateResult;
67
+ }
68
+ export {};
69
+ //# sourceMappingURL=option-base-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option-base-element.d.ts","sourceRoot":"","sources":["../../../../../src/elements/option/option/option-base-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAM1F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI3D,OAAO,6BAA6B,CAAC;;AAgBrC,8BACsB,oBAAqB,SAAQ,yBAElD;IACC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAEpC;;;;;OAKG;IACH,IACW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IACD,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,8CAA8C;IACK,MAAM,CAAC,EAAE,OAAO,CAAC;IAEpE,sCAAsC;IACtC,IACW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAGjC;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,sDAAsD;IACtD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC;IAEjD,iDAAiD;IACjD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC;IAEhD,4CAA4C;IACnC,SAAS,CAAC,QAAQ,UAAS;IAEpC,yFAAyF;IAChF,SAAS,CAAC,iBAAiB,UAAS;IAEpC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAElC,0CAA0C;IACjC,SAAS,CAAC,qBAAqB,EAAE,OAAO,CAAS;IAE1D,4CAA4C;IACnC,OAAO,CAAC,gBAAgB,CAAuB;IAE/C,OAAO,CAAC,gBAAgB,CAAS;IAE1C,OAAO,CAAC,MAAM,CAAyC;IACvD,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IACzD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,IAAI,IAAI;IAEjD,SAAS,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAKzD,2CAA2C;IAC3C,OAAO,CAAC,wBAAwB,CAE9B;;IAcc,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,IAAI;IAMP;;;;OAIG;IACI,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACI,6BAA6B,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAQ7C,iBAAiB,IAAI,IAAI;cAUtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cASzD,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO9D,oBAAoB,IAAI,IAAI;IAK5C,SAAS,CAAC,IAAI,IAAI,IAAI;IAUtB,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAQpC,OAAO,CAAC,mBAAmB;IAI3B,yEAAyE;IACzE,SAAS,CAAC,wBAAwB,CAAC,aAAa,EAAE,cAAc,EAAE,GAAG,IAAI;IAWzE,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAuBtC,SAAS,CAAC,mBAAmB,IAAI,cAAc;IAwB/C,SAAS,CAAC,UAAU,IAAI,cAAc;IAItC,SAAS,CAAC,WAAW,IAAI,cAAc,GAAG,OAAO,OAAO;IAIxD,SAAS,CAAC,UAAU,IAAI,cAAc,GAAG,OAAO,OAAO;cAIpC,MAAM,IAAI,cAAc;CAmB5C"}