igniteui-webcomponents 6.1.0 → 6.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/components/accordion/accordion.js +3 -3
  3. package/components/accordion/accordion.js.map +1 -1
  4. package/components/avatar/avatar.d.ts +8 -9
  5. package/components/avatar/avatar.js +29 -32
  6. package/components/avatar/avatar.js.map +1 -1
  7. package/components/badge/badge.d.ts +3 -3
  8. package/components/badge/badge.js +15 -18
  9. package/components/badge/badge.js.map +1 -1
  10. package/components/banner/banner.d.ts +2 -3
  11. package/components/banner/banner.js +14 -13
  12. package/components/banner/banner.js.map +1 -1
  13. package/components/button/button-base.d.ts +4 -11
  14. package/components/button/button-base.js +14 -15
  15. package/components/button/button-base.js.map +1 -1
  16. package/components/button/button.d.ts +1 -0
  17. package/components/button/button.js +9 -12
  18. package/components/button/button.js.map +1 -1
  19. package/components/button/icon-button.d.ts +3 -2
  20. package/components/button/icon-button.js +10 -13
  21. package/components/button/icon-button.js.map +1 -1
  22. package/components/button-group/button-group.js +8 -11
  23. package/components/button-group/button-group.js.map +1 -1
  24. package/components/button-group/toggle-button.d.ts +1 -6
  25. package/components/button-group/toggle-button.js +9 -11
  26. package/components/button-group/toggle-button.js.map +1 -1
  27. package/components/calendar/calendar.js +7 -10
  28. package/components/calendar/calendar.js.map +1 -1
  29. package/components/calendar/days-view/days-view.js +6 -6
  30. package/components/calendar/days-view/days-view.js.map +1 -1
  31. package/components/calendar/months-view/months-view.js +8 -8
  32. package/components/calendar/months-view/months-view.js.map +1 -1
  33. package/components/calendar/years-view/years-view.js +8 -8
  34. package/components/calendar/years-view/years-view.js.map +1 -1
  35. package/components/card/card.actions.d.ts +1 -0
  36. package/components/card/card.actions.js +10 -13
  37. package/components/card/card.actions.js.map +1 -1
  38. package/components/card/card.content.d.ts +1 -0
  39. package/components/card/card.content.js +9 -15
  40. package/components/card/card.content.js.map +1 -1
  41. package/components/card/card.d.ts +1 -0
  42. package/components/card/card.header.d.ts +1 -0
  43. package/components/card/card.header.js +9 -15
  44. package/components/card/card.header.js.map +1 -1
  45. package/components/card/card.js +11 -14
  46. package/components/card/card.js.map +1 -1
  47. package/components/card/card.media.js +1 -1
  48. package/components/card/card.media.js.map +1 -1
  49. package/components/carousel/carousel-indicator-container.d.ts +1 -0
  50. package/components/carousel/carousel-indicator-container.js +9 -18
  51. package/components/carousel/carousel-indicator-container.js.map +1 -1
  52. package/components/carousel/carousel-indicator.d.ts +5 -7
  53. package/components/carousel/carousel-indicator.js +19 -19
  54. package/components/carousel/carousel-indicator.js.map +1 -1
  55. package/components/carousel/carousel-slide.d.ts +2 -3
  56. package/components/carousel/carousel-slide.js +17 -11
  57. package/components/carousel/carousel-slide.js.map +1 -1
  58. package/components/carousel/carousel.d.ts +0 -1
  59. package/components/carousel/carousel.js +22 -21
  60. package/components/carousel/carousel.js.map +1 -1
  61. package/components/checkbox/checkbox-base.js.map +1 -1
  62. package/components/checkbox/checkbox.d.ts +1 -1
  63. package/components/checkbox/checkbox.js +11 -15
  64. package/components/checkbox/checkbox.js.map +1 -1
  65. package/components/checkbox/switch.d.ts +1 -0
  66. package/components/checkbox/switch.js +10 -19
  67. package/components/checkbox/switch.js.map +1 -1
  68. package/components/checkbox/validators.js.map +1 -1
  69. package/components/chip/chip.js +7 -10
  70. package/components/chip/chip.js.map +1 -1
  71. package/components/combo/combo-header.d.ts +1 -0
  72. package/components/combo/combo-header.js +9 -15
  73. package/components/combo/combo-header.js.map +1 -1
  74. package/components/combo/combo-item.d.ts +4 -5
  75. package/components/combo/combo-item.js +22 -23
  76. package/components/combo/combo-item.js.map +1 -1
  77. package/components/combo/combo.d.ts +1 -1
  78. package/components/combo/combo.js +16 -16
  79. package/components/combo/combo.js.map +1 -1
  80. package/components/common/abort-handler.d.ts +39 -0
  81. package/components/common/abort-handler.js +19 -0
  82. package/components/common/abort-handler.js.map +1 -0
  83. package/components/common/controllers/drag.d.ts +3 -2
  84. package/components/common/controllers/drag.js +7 -6
  85. package/components/common/controllers/drag.js.map +1 -1
  86. package/components/common/controllers/focus-ring.d.ts +1 -0
  87. package/components/common/controllers/focus-ring.js +5 -4
  88. package/components/common/controllers/focus-ring.js.map +1 -1
  89. package/components/common/controllers/gestures.d.ts +6 -2
  90. package/components/common/controllers/gestures.js +15 -11
  91. package/components/common/controllers/gestures.js.map +1 -1
  92. package/components/common/controllers/internals.d.ts +33 -0
  93. package/components/common/controllers/internals.js +25 -0
  94. package/components/common/controllers/internals.js.map +1 -0
  95. package/components/common/controllers/key-bindings.d.ts +1 -0
  96. package/components/common/controllers/key-bindings.js +6 -4
  97. package/components/common/controllers/key-bindings.js.map +1 -1
  98. package/components/common/controllers/mutation-observer.d.ts +25 -15
  99. package/components/common/controllers/mutation-observer.js +23 -12
  100. package/components/common/controllers/mutation-observer.js.map +1 -1
  101. package/components/common/controllers/resize-observer.js.map +1 -1
  102. package/components/common/controllers/root-click.d.ts +58 -13
  103. package/components/common/controllers/root-click.js +47 -35
  104. package/components/common/controllers/root-click.js.map +1 -1
  105. package/components/common/decorators/shadow-options.d.ts +10 -0
  106. package/components/common/decorators/shadow-options.js +10 -0
  107. package/components/common/decorators/shadow-options.js.map +1 -0
  108. package/components/common/definitions/defineAllComponents.js +12 -12
  109. package/components/common/definitions/defineAllComponents.js.map +1 -1
  110. package/components/common/mixins/alert.d.ts +1 -2
  111. package/components/common/mixins/alert.js +13 -9
  112. package/components/common/mixins/alert.js.map +1 -1
  113. package/components/common/mixins/combo-box.d.ts +2 -1
  114. package/components/common/mixins/combo-box.js +0 -2
  115. package/components/common/mixins/combo-box.js.map +1 -1
  116. package/components/common/mixins/forms/associated.js +2 -2
  117. package/components/common/mixins/forms/associated.js.map +1 -1
  118. package/components/common/mixins/option.d.ts +1 -2
  119. package/components/common/mixins/option.js +13 -11
  120. package/components/common/mixins/option.js.map +1 -1
  121. package/components/common/part-map.js +1 -1
  122. package/components/common/part-map.js.map +1 -1
  123. package/components/common/util.d.ts +9 -0
  124. package/components/common/util.js +9 -1
  125. package/components/common/util.js.map +1 -1
  126. package/components/date-picker/date-picker.d.ts +2 -7
  127. package/components/date-picker/date-picker.js +18 -19
  128. package/components/date-picker/date-picker.js.map +1 -1
  129. package/components/date-picker/validators.js.map +1 -1
  130. package/components/date-range-picker/date-range-picker.d.ts +3 -8
  131. package/components/date-range-picker/date-range-picker.js +16 -17
  132. package/components/date-range-picker/date-range-picker.js.map +1 -1
  133. package/components/date-range-picker/predefined-ranges-area.d.ts +1 -0
  134. package/components/date-range-picker/predefined-ranges-area.js +10 -13
  135. package/components/date-range-picker/predefined-ranges-area.js.map +1 -1
  136. package/components/date-time-input/date-time-input.js.map +1 -1
  137. package/components/date-time-input/validators.js.map +1 -1
  138. package/components/dialog/dialog.d.ts +1 -0
  139. package/components/dialog/dialog.js +13 -13
  140. package/components/dialog/dialog.js.map +1 -1
  141. package/components/divider/divider.d.ts +5 -2
  142. package/components/divider/divider.js +17 -18
  143. package/components/divider/divider.js.map +1 -1
  144. package/components/dropdown/dropdown-group.d.ts +0 -1
  145. package/components/dropdown/dropdown-group.js +13 -12
  146. package/components/dropdown/dropdown-group.js.map +1 -1
  147. package/components/dropdown/dropdown-header.d.ts +1 -0
  148. package/components/dropdown/dropdown-header.js +9 -15
  149. package/components/dropdown/dropdown-header.js.map +1 -1
  150. package/components/dropdown/dropdown-item.d.ts +1 -0
  151. package/components/dropdown/dropdown-item.js +8 -14
  152. package/components/dropdown/dropdown-item.js.map +1 -1
  153. package/components/dropdown/dropdown.d.ts +2 -1
  154. package/components/dropdown/dropdown.js +7 -4
  155. package/components/dropdown/dropdown.js.map +1 -1
  156. package/components/dropdown/themes/item.js +7 -0
  157. package/components/dropdown/themes/item.js.map +1 -1
  158. package/components/dropdown/themes/shared/item/dropdown-item.bootstrap.css.d.ts +1 -0
  159. package/components/dropdown/themes/shared/item/dropdown-item.bootstrap.css.js +3 -0
  160. package/components/dropdown/themes/shared/item/dropdown-item.bootstrap.css.js.map +1 -0
  161. package/components/expansion-panel/expansion-panel.js +8 -11
  162. package/components/expansion-panel/expansion-panel.js.map +1 -1
  163. package/components/file-input/file-input.d.ts +1 -1
  164. package/components/file-input/file-input.js +18 -21
  165. package/components/file-input/file-input.js.map +1 -1
  166. package/components/file-input/themes/shared/file-input.material.css.js +1 -1
  167. package/components/file-input/themes/shared/file-input.material.css.js.map +1 -1
  168. package/components/file-input/validators.js.map +1 -1
  169. package/components/focus-trap/focus-trap.js +4 -4
  170. package/components/focus-trap/focus-trap.js.map +1 -1
  171. package/components/icon/icon.d.ts +2 -1
  172. package/components/icon/icon.js +18 -15
  173. package/components/icon/icon.js.map +1 -1
  174. package/components/input/input-base.d.ts +2 -8
  175. package/components/input/input-base.js +8 -11
  176. package/components/input/input-base.js.map +1 -1
  177. package/components/input/input.js.map +1 -1
  178. package/components/input/themes/shared/input.material.css.js +1 -1
  179. package/components/input/themes/shared/input.material.css.js.map +1 -1
  180. package/components/input/validators.js.map +1 -1
  181. package/components/list/list-header.d.ts +0 -1
  182. package/components/list/list-header.js +10 -17
  183. package/components/list/list-header.js.map +1 -1
  184. package/components/list/list-item.d.ts +0 -1
  185. package/components/list/list-item.js +13 -12
  186. package/components/list/list-item.js.map +1 -1
  187. package/components/list/list.d.ts +0 -1
  188. package/components/list/list.js +12 -17
  189. package/components/list/list.js.map +1 -1
  190. package/components/mask-input/mask-input.js.map +1 -1
  191. package/components/mask-input/validators.js.map +1 -1
  192. package/components/nav-drawer/nav-drawer-header-item.d.ts +1 -0
  193. package/components/nav-drawer/nav-drawer-header-item.js +9 -15
  194. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  195. package/components/nav-drawer/nav-drawer-item.d.ts +1 -0
  196. package/components/nav-drawer/nav-drawer-item.js +10 -13
  197. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  198. package/components/nav-drawer/nav-drawer.d.ts +1 -0
  199. package/components/nav-drawer/nav-drawer.js +10 -13
  200. package/components/nav-drawer/nav-drawer.js.map +1 -1
  201. package/components/navbar/navbar.d.ts +1 -0
  202. package/components/navbar/navbar.js +9 -15
  203. package/components/navbar/navbar.js.map +1 -1
  204. package/components/popover/popover.js +1 -1
  205. package/components/popover/popover.js.map +1 -1
  206. package/components/progress/base.d.ts +1 -2
  207. package/components/progress/base.js +28 -26
  208. package/components/progress/base.js.map +1 -1
  209. package/components/progress/circular-progress.d.ts +1 -0
  210. package/components/progress/circular-progress.js +10 -13
  211. package/components/progress/circular-progress.js.map +1 -1
  212. package/components/progress/linear-progress.d.ts +1 -0
  213. package/components/progress/linear-progress.js +9 -12
  214. package/components/progress/linear-progress.js.map +1 -1
  215. package/components/radio/radio.js +8 -11
  216. package/components/radio/radio.js.map +1 -1
  217. package/components/radio/utils.js.map +1 -1
  218. package/components/radio-group/radio-group.d.ts +1 -1
  219. package/components/radio-group/radio-group.js +15 -17
  220. package/components/radio-group/radio-group.js.map +1 -1
  221. package/components/rating/rating-symbol.js +1 -1
  222. package/components/rating/rating-symbol.js.map +1 -1
  223. package/components/rating/rating.js +7 -10
  224. package/components/rating/rating.js.map +1 -1
  225. package/components/resize-container/resize-container.js +7 -10
  226. package/components/resize-container/resize-container.js.map +1 -1
  227. package/components/resize-container/resize-controller.d.ts +3 -2
  228. package/components/resize-container/resize-controller.js +6 -4
  229. package/components/resize-container/resize-controller.js.map +1 -1
  230. package/components/ripple/ripple.js +3 -2
  231. package/components/ripple/ripple.js.map +1 -1
  232. package/components/select/select-group.d.ts +1 -1
  233. package/components/select/select-group.js +15 -14
  234. package/components/select/select-group.js.map +1 -1
  235. package/components/select/select-header.d.ts +1 -0
  236. package/components/select/select-header.js +9 -15
  237. package/components/select/select-header.js.map +1 -1
  238. package/components/select/select-item.d.ts +1 -0
  239. package/components/select/select-item.js +9 -9
  240. package/components/select/select-item.js.map +1 -1
  241. package/components/select/select.d.ts +1 -0
  242. package/components/select/select.js +11 -8
  243. package/components/select/select.js.map +1 -1
  244. package/components/select/validators.js.map +1 -1
  245. package/components/slider/slider-base.js +8 -8
  246. package/components/slider/slider-base.js.map +1 -1
  247. package/components/slider/slider-label.js +1 -1
  248. package/components/slider/slider-label.js.map +1 -1
  249. package/components/slider/slider.js.map +1 -1
  250. package/components/snackbar/snackbar.d.ts +1 -0
  251. package/components/snackbar/snackbar.js +9 -12
  252. package/components/snackbar/snackbar.js.map +1 -1
  253. package/components/stepper/step.d.ts +1 -0
  254. package/components/stepper/step.js +10 -13
  255. package/components/stepper/step.js.map +1 -1
  256. package/components/stepper/stepper.js +10 -13
  257. package/components/stepper/stepper.js.map +1 -1
  258. package/components/tabs/tab.d.ts +1 -0
  259. package/components/tabs/tab.js +12 -15
  260. package/components/tabs/tab.js.map +1 -1
  261. package/components/tabs/tabs.js +10 -13
  262. package/components/tabs/tabs.js.map +1 -1
  263. package/components/textarea/textarea.d.ts +2 -8
  264. package/components/textarea/textarea.js +11 -14
  265. package/components/textarea/textarea.js.map +1 -1
  266. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  267. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  268. package/components/textarea/validators.js.map +1 -1
  269. package/components/tile-manager/position.d.ts +1 -1
  270. package/components/tile-manager/position.js.map +1 -1
  271. package/components/tile-manager/themes/container.js.map +1 -1
  272. package/components/tile-manager/tile-manager.d.ts +0 -1
  273. package/components/tile-manager/tile-manager.js +5 -7
  274. package/components/tile-manager/tile-manager.js.map +1 -1
  275. package/components/tile-manager/tile.d.ts +1 -0
  276. package/components/tile-manager/tile.js +54 -57
  277. package/components/tile-manager/tile.js.map +1 -1
  278. package/components/toast/toast.d.ts +1 -0
  279. package/components/toast/toast.js +8 -17
  280. package/components/toast/toast.js.map +1 -1
  281. package/components/tooltip/controller.d.ts +2 -4
  282. package/components/tooltip/controller.js +11 -20
  283. package/components/tooltip/controller.js.map +1 -1
  284. package/components/tooltip/themes/themes.js +1 -1
  285. package/components/tooltip/themes/themes.js.map +1 -1
  286. package/components/tooltip/tooltip.js +17 -16
  287. package/components/tooltip/tooltip.js.map +1 -1
  288. package/components/tree/tree-item.d.ts +1 -0
  289. package/components/tree/tree-item.js +30 -33
  290. package/components/tree/tree-item.js.map +1 -1
  291. package/components/tree/tree.d.ts +1 -1
  292. package/components/tree/tree.js +6 -5
  293. package/components/tree/tree.js.map +1 -1
  294. package/components/tree/tree.navigation.d.ts +1 -1
  295. package/components/tree/tree.navigation.js.map +1 -1
  296. package/components/tree/tree.selection.d.ts +1 -1
  297. package/components/tree/tree.selection.js.map +1 -1
  298. package/components/validation-container/themes/themes.js.map +1 -1
  299. package/components/validation-container/validation-container.d.ts +2 -1
  300. package/components/validation-container/validation-container.js +13 -16
  301. package/components/validation-container/validation-container.js.map +1 -1
  302. package/custom-elements.json +1641 -1753
  303. package/igniteui-webcomponents.html-data.json +1 -1
  304. package/package.json +1 -1
  305. package/theming/config.d.ts +3 -3
  306. package/theming/config.js +14 -18
  307. package/theming/config.js.map +1 -1
  308. package/theming/theming-controller.d.ts +17 -13
  309. package/theming/theming-controller.js +29 -23
  310. package/theming/theming-controller.js.map +1 -1
  311. package/theming/theming-event.d.ts +1 -0
  312. package/theming/theming-event.js.map +1 -1
  313. package/theming/types.d.ts +3 -14
  314. package/theming/types.js.map +1 -1
  315. package/theming/utils.js +24 -23
  316. package/theming/utils.js.map +1 -1
  317. package/web-types.json +1 -1
  318. package/theming/theming-decorator.d.ts +0 -43
  319. package/theming/theming-decorator.js +0 -25
  320. package/theming/theming-decorator.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/components/date-time-input/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,MAAM,uBAAuB,GAA2C;IAC7E,iBAAiB;IACjB;QACE,GAAG,gBAAgB;QACnB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAChB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG;YACpB,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAC5B,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,EACxB,IAAI,CAAC,GAAG,EAER,IAAI,CAAC,YAAY,EAEjB,IAAI,CAAC,YAAY,CAClB;YACH,CAAC,CAAC,IAAI;KACX;IACD;QACE,GAAG,gBAAgB;QACnB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAChB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG;YACpB,CAAC,CAAC,CAAC,YAAY,CAAC,mBAAmB,CAC/B,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,EACxB,IAAI,CAAC,GAAG,EAER,IAAI,CAAC,YAAY,EAEjB,IAAI,CAAC,YAAY,CAClB;YACH,CAAC,CAAC,IAAI;KACX;CACF,CAAC","sourcesContent":["import {\n type Validator,\n maxDateValidator,\n minDateValidator,\n requiredValidator,\n} from '../common/validators.js';\nimport type IgcDateTimeInputComponent from './date-time-input.js';\nimport { DateTimeUtil } from './date-util.js';\n\nexport const dateTimeInputValidators: Validator<IgcDateTimeInputComponent>[] = [\n requiredValidator,\n {\n ...minDateValidator,\n isValid: (host) =>\n host.value && host.min\n ? !DateTimeUtil.lessThanMinValue(\n host.value || new Date(),\n host.min,\n // @ts-expect-error - private access\n host.hasTimeParts,\n // @ts-expect-error - private access\n host.hasDateParts\n )\n : true,\n },\n {\n ...maxDateValidator,\n isValid: (host) =>\n host.value && host.max\n ? !DateTimeUtil.greaterThanMaxValue(\n host.value || new Date(),\n host.max,\n // @ts-expect-error - private access\n host.hasTimeParts,\n // @ts-expect-error - private access\n host.hasDateParts\n )\n : true,\n },\n];\n"]}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/components/date-time-input/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAElB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,MAAM,uBAAuB,GAA2C;IAC7E,iBAAiB;IACjB;QACE,GAAG,gBAAgB;QACnB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAChB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG;YACpB,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAC5B,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,EACxB,IAAI,CAAC,GAAG,EAER,IAAI,CAAC,YAAY,EAEjB,IAAI,CAAC,YAAY,CAClB;YACH,CAAC,CAAC,IAAI;KACX;IACD;QACE,GAAG,gBAAgB;QACnB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAChB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG;YACpB,CAAC,CAAC,CAAC,YAAY,CAAC,mBAAmB,CAC/B,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,EACxB,IAAI,CAAC,GAAG,EAER,IAAI,CAAC,YAAY,EAEjB,IAAI,CAAC,YAAY,CAClB;YACH,CAAC,CAAC,IAAI;KACX;CACF,CAAC","sourcesContent":["import {\n maxDateValidator,\n minDateValidator,\n requiredValidator,\n type Validator,\n} from '../common/validators.js';\nimport type IgcDateTimeInputComponent from './date-time-input.js';\nimport { DateTimeUtil } from './date-util.js';\n\nexport const dateTimeInputValidators: Validator<IgcDateTimeInputComponent>[] = [\n requiredValidator,\n {\n ...minDateValidator,\n isValid: (host) =>\n host.value && host.min\n ? !DateTimeUtil.lessThanMinValue(\n host.value || new Date(),\n host.min,\n // @ts-expect-error - private access\n host.hasTimeParts,\n // @ts-expect-error - private access\n host.hasDateParts\n )\n : true,\n },\n {\n ...maxDateValidator,\n isValid: (host) =>\n host.value && host.max\n ? !DateTimeUtil.greaterThanMaxValue(\n host.value || new Date(),\n host.max,\n // @ts-expect-error - private access\n host.hasTimeParts,\n // @ts-expect-error - private access\n host.hasDateParts\n )\n : true,\n },\n];\n"]}
@@ -70,6 +70,7 @@ export default class IgcDialogComponent extends IgcDialogComponent_base {
70
70
  /** Sets the return value for the dialog. */
71
71
  returnValue: string;
72
72
  protected handleOpenState(): void;
73
+ constructor();
73
74
  protected createRenderRoot(): HTMLElement | DocumentFragment;
74
75
  protected firstUpdated(): void;
75
76
  private toggleAnimation;
@@ -5,13 +5,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  var IgcDialogComponent_1;
8
- import { LitElement, html, nothing } from 'lit';
8
+ import { html, LitElement, nothing } from 'lit';
9
9
  import { property, queryAssignedElements, state } from 'lit/decorators.js';
10
10
  import { ifDefined } from 'lit/directives/if-defined.js';
11
11
  import { createRef, ref } from 'lit/directives/ref.js';
12
12
  import { addAnimationController } from '../../animations/player.js';
13
13
  import { fadeIn, fadeOut } from '../../animations/presets/fade/index.js';
14
- import { themes } from '../../theming/theming-decorator.js';
14
+ import { addThemingController } from '../../theming/theming-controller.js';
15
15
  import IgcButtonComponent from '../button/button.js';
16
16
  import { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';
17
17
  import { watch } from '../common/decorators/watch.js';
@@ -23,8 +23,17 @@ import { styles } from './themes/dialog.base.css.js';
23
23
  import { styles as shared } from './themes/shared/dialog.common.css.js';
24
24
  import { all } from './themes/themes.js';
25
25
  let IgcDialogComponent = IgcDialogComponent_1 = class IgcDialogComponent extends EventEmitterMixin(LitElement) {
26
+ static register() {
27
+ registerComponent(IgcDialogComponent_1, IgcButtonComponent);
28
+ }
29
+ get dialog() {
30
+ return this.dialogRef.value;
31
+ }
32
+ handleOpenState() {
33
+ this.open ? this.dialog.showModal() : this.dialog.close();
34
+ }
26
35
  constructor() {
27
- super(...arguments);
36
+ super();
28
37
  this.titleId = `title-${IgcDialogComponent_1.increment()}`;
29
38
  this.dialogRef = createRef();
30
39
  this.animationPlayer = addAnimationController(this, this.dialogRef);
@@ -41,15 +50,7 @@ let IgcDialogComponent = IgcDialogComponent_1 = class IgcDialogComponent extends
41
50
  this._hide(true);
42
51
  }
43
52
  };
44
- }
45
- static register() {
46
- registerComponent(IgcDialogComponent_1, IgcButtonComponent);
47
- }
48
- get dialog() {
49
- return this.dialogRef.value;
50
- }
51
- handleOpenState() {
52
- this.open ? this.dialog.showModal() : this.dialog.close();
53
+ addThemingController(this, all);
53
54
  }
54
55
  createRenderRoot() {
55
56
  const root = super.createRenderRoot();
@@ -203,7 +204,6 @@ __decorate([
203
204
  watch('open', { waitUntilFirstUpdate: true })
204
205
  ], IgcDialogComponent.prototype, "handleOpenState", null);
205
206
  IgcDialogComponent = IgcDialogComponent_1 = __decorate([
206
- themes(all),
207
207
  blazorAdditionalDependencies('IgcButtonComponent')
208
208
  ], IgcDialogComponent);
209
209
  export default IgcDialogComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../src/components/dialog/dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property, queryAssignedElements, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { type Ref, createRef, ref } from 'lit/directives/ref.js';\n\nimport { addAnimationController } from '../../animations/player.js';\nimport { fadeIn, fadeOut } from '../../animations/presets/fade/index.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport IgcButtonComponent from '../button/button.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { partMap } from '../common/part-map.js';\nimport {\n createCounter,\n isEmpty,\n numberInRangeInclusive,\n} from '../common/util.js';\nimport { styles } from './themes/dialog.base.css.js';\nimport { styles as shared } from './themes/shared/dialog.common.css.js';\nimport { all } from './themes/themes.js';\n\nexport interface IgcDialogComponentEventMap {\n igcClosing: CustomEvent<void>;\n igcClosed: CustomEvent<void>;\n}\n\n/**\n * Represents a Dialog component.\n *\n * @element igc-dialog\n *\n * @fires igcClosing - Emitter just before the dialog is closed.\n * @fires igcClosed - Emitted after closing the dialog.\n *\n * @slot - Renders content inside the default slot.\n * @slot title - Renders the title of the dialog header.\n * @slot message - Renders the message content of the dialog.\n * @slot footer - Renders the dialog footer.\n *\n * @csspart base - The base wrapper of the dialog.\n * @csspart title - The title container.\n * @csspart footer - The footer container.\n * @csspart overlay - The overlay.\n */\n@themes(all)\n@blazorAdditionalDependencies('IgcButtonComponent')\nexport default class IgcDialogComponent extends EventEmitterMixin<\n IgcDialogComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-dialog';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcDialogComponent, IgcButtonComponent);\n }\n\n private static readonly increment = createCounter();\n private titleId = `title-${IgcDialogComponent.increment()}`;\n\n private dialogRef: Ref<HTMLDialogElement> = createRef();\n private animationPlayer = addAnimationController(this, this.dialogRef);\n\n /**\n * Backdrop animation helper.\n */\n @state()\n private animating = false;\n\n private get dialog() {\n return this.dialogRef.value!;\n }\n\n @queryAssignedElements({ slot: 'title' })\n private titleElements!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'message' })\n private messageElements!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'footer' })\n private footerElements!: Array<HTMLElement>;\n\n /**\n * Whether the dialog should be kept open when pressing the 'ESCAPE' button.\n * @attr keep-open-on-escape\n */\n @property({ type: Boolean, attribute: 'keep-open-on-escape' })\n public keepOpenOnEscape = false;\n\n /**\n * Whether the dialog should be closed when clicking outside of it.\n * @attr close-on-outside-click\n */\n @property({ type: Boolean, attribute: 'close-on-outside-click' })\n public closeOnOutsideClick = false;\n\n /**\n * Whether to hide the default action button for the dialog.\n *\n * When there is projected content in the `footer` slot this property\n * has no effect.\n * @attr hide-default-action\n */\n @property({ type: Boolean, attribute: 'hide-default-action' })\n public hideDefaultAction = false;\n\n /**\n * Whether the dialog is opened.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n /**\n * Sets the title of the dialog.\n * @attr\n */\n @property()\n public override title!: string;\n\n /** Sets the return value for the dialog. */\n @property({ attribute: false })\n public returnValue!: string;\n\n @watch('open', { waitUntilFirstUpdate: true })\n protected handleOpenState() {\n this.open ? this.dialog.showModal() : this.dialog.close();\n }\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this.requestUpdate());\n return root;\n }\n\n protected override firstUpdated() {\n if (this.open) {\n this.dialog.showModal();\n }\n }\n\n private async toggleAnimation(dir: 'open' | 'close') {\n const animation = dir === 'open' ? fadeIn : fadeOut;\n\n const [_, event] = await Promise.all([\n this.animationPlayer.stopAll(),\n this.animationPlayer.play(animation()),\n ]);\n\n return event.type === 'finish';\n }\n\n private async _hide(emitEvent = false) {\n if (!this.open || (emitEvent && !this.emitClosing())) {\n return false;\n }\n\n this.animating = true;\n await this.toggleAnimation('close');\n this.open = false;\n this.animating = false;\n\n if (emitEvent) {\n await this.updateComplete;\n this.emitEvent('igcClosed');\n }\n\n return true;\n }\n\n /** Opens the dialog. */\n public async show(): Promise<boolean> {\n if (this.open) {\n return false;\n }\n\n this.open = true;\n await this.toggleAnimation('open');\n return true;\n }\n\n /** Closes the dialog. */\n public async hide(): Promise<boolean> {\n return this._hide();\n }\n\n /** Toggles the open state of the dialog. */\n public async toggle(): Promise<boolean> {\n return this.open ? this.hide() : this.show();\n }\n\n private handleCancel(event: Event) {\n event.preventDefault();\n\n if (!this.keepOpenOnEscape) {\n this._hide(true);\n }\n }\n\n private handleClick({ clientX, clientY, target }: PointerEvent) {\n if (this.closeOnOutsideClick && this.dialog === target) {\n const rect = this.dialog.getBoundingClientRect();\n const inX = numberInRangeInclusive(clientX, rect.left, rect.right);\n const inY = numberInRangeInclusive(clientY, rect.top, rect.bottom);\n\n if (!(inX && inY)) {\n this._hide(true);\n }\n }\n }\n\n private emitClosing(): boolean {\n return this.emitEvent('igcClosing', { cancelable: true });\n }\n\n protected formSubmitHandler = (e: SubmitEvent) => {\n if (e.submitter) {\n this.returnValue = (e.submitter as any)?.value ?? '';\n }\n\n if (!e.defaultPrevented) {\n this._hide(true);\n }\n };\n\n private handleContentChange() {\n // Setup submit handling for forms\n const forms = this.querySelectorAll<HTMLFormElement>(\n 'form[method=\"dialog\"]'\n );\n\n for (const form of forms) {\n form.removeEventListener('submit', this.formSubmitHandler);\n form.addEventListener('submit', this.formSubmitHandler);\n }\n }\n\n protected override render() {\n const label = this.ariaLabel ? this.ariaLabel : undefined;\n const labelledBy = label ? undefined : this.titleId;\n const backdropParts = {\n backdrop: true,\n animating: this.animating,\n };\n const baseParts = {\n base: true,\n titled: this.titleElements.length > 0 || !!this.title,\n footed: this.footerElements.length > 0 || !this.hideDefaultAction,\n };\n\n return html`\n <div part=${partMap(backdropParts)} aria-hidden=${!this.open}></div>\n <dialog\n ${ref(this.dialogRef)}\n part=${partMap(baseParts)}\n role=\"dialog\"\n @click=${this.handleClick}\n @cancel=${this.handleCancel}\n aria-label=${ifDefined(label)}\n aria-labelledby=${ifDefined(labelledBy)}\n >\n <header part=\"title\" id=${this.titleId}>\n <slot name=\"title\"><span>${this.title}</span></slot>\n </header>\n <section part=\"content\">\n <slot name=\"message\" .hidden=${isEmpty(this.messageElements)}></slot>\n <slot @slotchange=${this.handleContentChange}></slot>\n </section>\n <footer part=\"footer\">\n <slot name=\"footer\">\n ${this.hideDefaultAction\n ? nothing\n : html`<igc-button variant=\"flat\" @click=${() => this._hide(true)}\n >OK</igc-button\n >`}\n </slot>\n </footer>\n </dialog>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dialog': IgcDialogComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../src/components/dialog/dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property, queryAssignedElements, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { createRef, type Ref, ref } from 'lit/directives/ref.js';\n\nimport { addAnimationController } from '../../animations/player.js';\nimport { fadeIn, fadeOut } from '../../animations/presets/fade/index.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport IgcButtonComponent from '../button/button.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { partMap } from '../common/part-map.js';\nimport {\n createCounter,\n isEmpty,\n numberInRangeInclusive,\n} from '../common/util.js';\nimport { styles } from './themes/dialog.base.css.js';\nimport { styles as shared } from './themes/shared/dialog.common.css.js';\nimport { all } from './themes/themes.js';\n\nexport interface IgcDialogComponentEventMap {\n igcClosing: CustomEvent<void>;\n igcClosed: CustomEvent<void>;\n}\n\n/**\n * Represents a Dialog component.\n *\n * @element igc-dialog\n *\n * @fires igcClosing - Emitter just before the dialog is closed.\n * @fires igcClosed - Emitted after closing the dialog.\n *\n * @slot - Renders content inside the default slot.\n * @slot title - Renders the title of the dialog header.\n * @slot message - Renders the message content of the dialog.\n * @slot footer - Renders the dialog footer.\n *\n * @csspart base - The base wrapper of the dialog.\n * @csspart title - The title container.\n * @csspart footer - The footer container.\n * @csspart overlay - The overlay.\n */\n@blazorAdditionalDependencies('IgcButtonComponent')\nexport default class IgcDialogComponent extends EventEmitterMixin<\n IgcDialogComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-dialog';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcDialogComponent, IgcButtonComponent);\n }\n\n private static readonly increment = createCounter();\n private titleId = `title-${IgcDialogComponent.increment()}`;\n\n private dialogRef: Ref<HTMLDialogElement> = createRef();\n private animationPlayer = addAnimationController(this, this.dialogRef);\n\n /**\n * Backdrop animation helper.\n */\n @state()\n private animating = false;\n\n private get dialog() {\n return this.dialogRef.value!;\n }\n\n @queryAssignedElements({ slot: 'title' })\n private titleElements!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'message' })\n private messageElements!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'footer' })\n private footerElements!: Array<HTMLElement>;\n\n /**\n * Whether the dialog should be kept open when pressing the 'ESCAPE' button.\n * @attr keep-open-on-escape\n */\n @property({ type: Boolean, attribute: 'keep-open-on-escape' })\n public keepOpenOnEscape = false;\n\n /**\n * Whether the dialog should be closed when clicking outside of it.\n * @attr close-on-outside-click\n */\n @property({ type: Boolean, attribute: 'close-on-outside-click' })\n public closeOnOutsideClick = false;\n\n /**\n * Whether to hide the default action button for the dialog.\n *\n * When there is projected content in the `footer` slot this property\n * has no effect.\n * @attr hide-default-action\n */\n @property({ type: Boolean, attribute: 'hide-default-action' })\n public hideDefaultAction = false;\n\n /**\n * Whether the dialog is opened.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n /**\n * Sets the title of the dialog.\n * @attr\n */\n @property()\n public override title!: string;\n\n /** Sets the return value for the dialog. */\n @property({ attribute: false })\n public returnValue!: string;\n\n @watch('open', { waitUntilFirstUpdate: true })\n protected handleOpenState() {\n this.open ? this.dialog.showModal() : this.dialog.close();\n }\n\n constructor() {\n super();\n addThemingController(this, all);\n }\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this.requestUpdate());\n return root;\n }\n\n protected override firstUpdated() {\n if (this.open) {\n this.dialog.showModal();\n }\n }\n\n private async toggleAnimation(dir: 'open' | 'close') {\n const animation = dir === 'open' ? fadeIn : fadeOut;\n\n const [_, event] = await Promise.all([\n this.animationPlayer.stopAll(),\n this.animationPlayer.play(animation()),\n ]);\n\n return event.type === 'finish';\n }\n\n private async _hide(emitEvent = false) {\n if (!this.open || (emitEvent && !this.emitClosing())) {\n return false;\n }\n\n this.animating = true;\n await this.toggleAnimation('close');\n this.open = false;\n this.animating = false;\n\n if (emitEvent) {\n await this.updateComplete;\n this.emitEvent('igcClosed');\n }\n\n return true;\n }\n\n /** Opens the dialog. */\n public async show(): Promise<boolean> {\n if (this.open) {\n return false;\n }\n\n this.open = true;\n await this.toggleAnimation('open');\n return true;\n }\n\n /** Closes the dialog. */\n public async hide(): Promise<boolean> {\n return this._hide();\n }\n\n /** Toggles the open state of the dialog. */\n public async toggle(): Promise<boolean> {\n return this.open ? this.hide() : this.show();\n }\n\n private handleCancel(event: Event) {\n event.preventDefault();\n\n if (!this.keepOpenOnEscape) {\n this._hide(true);\n }\n }\n\n private handleClick({ clientX, clientY, target }: PointerEvent) {\n if (this.closeOnOutsideClick && this.dialog === target) {\n const rect = this.dialog.getBoundingClientRect();\n const inX = numberInRangeInclusive(clientX, rect.left, rect.right);\n const inY = numberInRangeInclusive(clientY, rect.top, rect.bottom);\n\n if (!(inX && inY)) {\n this._hide(true);\n }\n }\n }\n\n private emitClosing(): boolean {\n return this.emitEvent('igcClosing', { cancelable: true });\n }\n\n protected formSubmitHandler = (e: SubmitEvent) => {\n if (e.submitter) {\n this.returnValue = (e.submitter as any)?.value ?? '';\n }\n\n if (!e.defaultPrevented) {\n this._hide(true);\n }\n };\n\n private handleContentChange() {\n // Setup submit handling for forms\n const forms = this.querySelectorAll<HTMLFormElement>(\n 'form[method=\"dialog\"]'\n );\n\n for (const form of forms) {\n form.removeEventListener('submit', this.formSubmitHandler);\n form.addEventListener('submit', this.formSubmitHandler);\n }\n }\n\n protected override render() {\n const label = this.ariaLabel ? this.ariaLabel : undefined;\n const labelledBy = label ? undefined : this.titleId;\n const backdropParts = {\n backdrop: true,\n animating: this.animating,\n };\n const baseParts = {\n base: true,\n titled: this.titleElements.length > 0 || !!this.title,\n footed: this.footerElements.length > 0 || !this.hideDefaultAction,\n };\n\n return html`\n <div part=${partMap(backdropParts)} aria-hidden=${!this.open}></div>\n <dialog\n ${ref(this.dialogRef)}\n part=${partMap(baseParts)}\n role=\"dialog\"\n @click=${this.handleClick}\n @cancel=${this.handleCancel}\n aria-label=${ifDefined(label)}\n aria-labelledby=${ifDefined(labelledBy)}\n >\n <header part=\"title\" id=${this.titleId}>\n <slot name=\"title\"><span>${this.title}</span></slot>\n </header>\n <section part=\"content\">\n <slot name=\"message\" .hidden=${isEmpty(this.messageElements)}></slot>\n <slot @slotchange=${this.handleContentChange}></slot>\n </section>\n <footer part=\"footer\">\n <slot name=\"footer\">\n ${this.hideDefaultAction\n ? nothing\n : html`<igc-button variant=\"flat\" @click=${() => this._hide(true)}\n >OK</igc-button\n >`}\n </slot>\n </footer>\n </dialog>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dialog': IgcDialogComponent;\n }\n}\n"]}
@@ -12,23 +12,26 @@ import type { DividerType } from '../types.js';
12
12
  export default class IgcDividerComponent extends LitElement {
13
13
  static readonly tagName = "igc-divider";
14
14
  static styles: import("lit").CSSResult[];
15
- private _internals;
16
15
  static register(): void;
16
+ private readonly _internals;
17
17
  private _vertical;
18
18
  /**
19
19
  * Whether to render a vertical divider line.
20
20
  * @attr
21
+ * @default false
21
22
  */
22
23
  set vertical(value: boolean);
23
24
  get vertical(): boolean;
24
25
  /**
25
26
  * When set and inset is provided, it will shrink the divider line from both sides.
26
27
  * @attr
28
+ * @default false
27
29
  */
28
30
  middle: boolean;
29
31
  /**
30
32
  * Whether to render a solid or a dashed divider line.
31
- * @attr
33
+ * @attr type
34
+ * @default 'solid'
32
35
  */
33
36
  type: DividerType;
34
37
  constructor();
@@ -4,44 +4,47 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- var IgcDividerComponent_1;
8
- import { LitElement, html } from 'lit';
7
+ import { html, LitElement } from 'lit';
9
8
  import { property } from 'lit/decorators.js';
10
- import { themes } from '../../theming/theming-decorator.js';
9
+ import { addThemingController } from '../../theming/theming-controller.js';
10
+ import { addInternalsController } from '../common/controllers/internals.js';
11
11
  import { registerComponent } from '../common/definitions/register.js';
12
12
  import { styles } from './themes/divider.base.css.js';
13
13
  import { styles as shared } from './themes/shared/divider.common.css.js';
14
14
  import { all } from './themes/themes.js';
15
- let IgcDividerComponent = IgcDividerComponent_1 = class IgcDividerComponent extends LitElement {
15
+ class IgcDividerComponent extends LitElement {
16
16
  static register() {
17
- registerComponent(IgcDividerComponent_1);
17
+ registerComponent(IgcDividerComponent);
18
18
  }
19
19
  set vertical(value) {
20
20
  this._vertical = Boolean(value);
21
- this._internals.ariaOrientation = this._vertical
22
- ? 'vertical'
23
- : 'horizontal';
21
+ this._internals.setARIA({
22
+ ariaOrientation: this._vertical ? 'vertical' : 'horizontal',
23
+ });
24
24
  }
25
25
  get vertical() {
26
26
  return this._vertical;
27
27
  }
28
28
  constructor() {
29
29
  super();
30
+ this._internals = addInternalsController(this, {
31
+ initialARIA: {
32
+ role: 'separator',
33
+ ariaOrientation: 'vertical',
34
+ },
35
+ });
30
36
  this._vertical = false;
31
37
  this.middle = false;
32
38
  this.type = 'solid';
33
- this._internals = this.attachInternals();
34
- this._internals.role = 'separator';
35
- this._internals.ariaOrientation = this._vertical
36
- ? 'vertical'
37
- : 'horizontal';
39
+ addThemingController(this, all);
38
40
  }
39
41
  render() {
40
42
  return html ``;
41
43
  }
42
- };
44
+ }
43
45
  IgcDividerComponent.tagName = 'igc-divider';
44
46
  IgcDividerComponent.styles = [styles, shared];
47
+ export default IgcDividerComponent;
45
48
  __decorate([
46
49
  property({ type: Boolean, reflect: true })
47
50
  ], IgcDividerComponent.prototype, "vertical", null);
@@ -51,8 +54,4 @@ __decorate([
51
54
  __decorate([
52
55
  property({ reflect: true })
53
56
  ], IgcDividerComponent.prototype, "type", void 0);
54
- IgcDividerComponent = IgcDividerComponent_1 = __decorate([
55
- themes(all)
56
- ], IgcDividerComponent);
57
- export default IgcDividerComponent;
58
57
  //# sourceMappingURL=divider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"divider.js","sourceRoot":"","sources":["../../../src/components/divider/divider.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAa1B,IAAM,mBAAmB,2BAAzB,MAAM,mBAAoB,SAAQ,UAAU;IAOlD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,qBAAmB,CAAC,CAAC;IACzC,CAAC;IASD,IAAW,QAAQ,CAAC,KAAc;QAChC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS;YAC9C,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,YAAY,CAAC;IACnB,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAkBD;QACE,KAAK,EAAE,CAAC;QAnCF,cAAS,GAAG,KAAK,CAAC;QAuBnB,WAAM,GAAG,KAAK,CAAC;QASf,SAAI,GAAgB,OAAO,CAAC;QAIjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEzC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,WAAW,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS;YAC9C,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,YAAY,CAAC;IACnB,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,EAAE,CAAC;IAChB,CAAC;;AAxDsB,2BAAO,GAAG,aAAa,AAAhB,CAAiB;AACxB,0BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAgBjD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDAM1C;AAWM;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDACrB;AASf;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDACO;AA3ChB,mBAAmB;IADvC,MAAM,CAAC,GAAG,CAAC;GACS,mBAAmB,CA0DvC;eA1DoB,mBAAmB","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { DividerType } from '../types.js';\nimport { styles } from './themes/divider.base.css.js';\nimport { styles as shared } from './themes/shared/divider.common.css.js';\nimport { all } from './themes/themes.js';\n\n/**\n * The igc-divider allows the content author to easily create a horizontal/vertical rule as a break between content to better organize information on a page.\n *\n * @element igc-divider\n *\n * @cssproperty --color - Sets the color of the divider.\n * @cssproperty --inset - Shrinks the divider by the given amount from the start. If `middle` is set it will shrink from both sides.\n *\n */\n\n@themes(all)\nexport default class IgcDividerComponent extends LitElement {\n public static readonly tagName = 'igc-divider';\n public static override styles = [styles, shared];\n\n private _internals: ElementInternals;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcDividerComponent);\n }\n\n private _vertical = false;\n\n /**\n * Whether to render a vertical divider line.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public set vertical(value: boolean) {\n this._vertical = Boolean(value);\n this._internals.ariaOrientation = this._vertical\n ? 'vertical'\n : 'horizontal';\n }\n\n public get vertical(): boolean {\n return this._vertical;\n }\n\n /**\n * When set and inset is provided, it will shrink the divider line from both sides.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public middle = false;\n\n /* alternateName: lineType */\n /**\n * Whether to render a solid or a dashed divider line.\n * @attr\n */\n\n @property({ reflect: true })\n public type: DividerType = 'solid';\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n\n this._internals.role = 'separator';\n this._internals.ariaOrientation = this._vertical\n ? 'vertical'\n : 'horizontal';\n }\n\n protected override render() {\n return html``;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-divider': IgcDividerComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"divider.js","sourceRoot":"","sources":["../../../src/components/divider/divider.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAWzC,MAAqB,mBAAoB,SAAQ,UAAU;IAKlD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IACzC,CAAC;IAiBD,IAAW,QAAQ,CAAC,KAAc;QAChC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACtB,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAmBD;QACE,KAAK,EAAE,CAAC;QA5CO,eAAU,GAAG,sBAAsB,CAAC,IAAI,EAAE;YACzD,WAAW,EAAE;gBACX,IAAI,EAAE,WAAW;gBACjB,eAAe,EAAE,UAAU;aAC5B;SACF,CAAC,CAAC;QAEK,cAAS,GAAG,KAAK,CAAC;QAyBnB,WAAM,GAAG,KAAK,CAAC;QASf,SAAI,GAAgB,OAAO,CAAC;QAIjC,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,EAAE,CAAC;IAChB,CAAC;;AA1DsB,2BAAO,GAAG,aAAa,AAAhB,CAAiB;AACxB,0BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;eAF9B,mBAAmB;AAwBtC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDAM1C;AAYM;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDACrB;AASf;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDACO","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport { addInternalsController } from '../common/controllers/internals.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { DividerType } from '../types.js';\nimport { styles } from './themes/divider.base.css.js';\nimport { styles as shared } from './themes/shared/divider.common.css.js';\nimport { all } from './themes/themes.js';\n\n/**\n * The igc-divider allows the content author to easily create a horizontal/vertical rule as a break between content to better organize information on a page.\n *\n * @element igc-divider\n *\n * @cssproperty --color - Sets the color of the divider.\n * @cssproperty --inset - Shrinks the divider by the given amount from the start. If `middle` is set it will shrink from both sides.\n *\n */\nexport default class IgcDividerComponent extends LitElement {\n public static readonly tagName = 'igc-divider';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcDividerComponent);\n }\n\n private readonly _internals = addInternalsController(this, {\n initialARIA: {\n role: 'separator',\n ariaOrientation: 'vertical',\n },\n });\n\n private _vertical = false;\n\n /**\n * Whether to render a vertical divider line.\n * @attr\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n public set vertical(value: boolean) {\n this._vertical = Boolean(value);\n this._internals.setARIA({\n ariaOrientation: this._vertical ? 'vertical' : 'horizontal',\n });\n }\n\n public get vertical(): boolean {\n return this._vertical;\n }\n\n /**\n * When set and inset is provided, it will shrink the divider line from both sides.\n * @attr\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n public middle = false;\n\n /* alternateName: lineType */\n /**\n * Whether to render a solid or a dashed divider line.\n * @attr type\n * @default 'solid'\n */\n @property({ reflect: true })\n public type: DividerType = 'solid';\n\n constructor() {\n super();\n addThemingController(this, all);\n }\n\n protected override render() {\n return html``;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-divider': IgcDividerComponent;\n }\n}\n"]}
@@ -14,7 +14,6 @@ export default class IgcDropdownGroupComponent extends LitElement {
14
14
  static readonly tagName: string;
15
15
  static styles: import("lit").CSSResult[];
16
16
  static register(): void;
17
- private _internals;
18
17
  /** All child `igc-dropdown-item`s. */
19
18
  items: Array<IgcDropdownItemComponent>;
20
19
  constructor();
@@ -4,23 +4,27 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- var IgcDropdownGroupComponent_1;
8
- import { LitElement, html } from 'lit';
7
+ import { html, LitElement } from 'lit';
9
8
  import { queryAssignedElements } from 'lit/decorators.js';
10
- import { themes } from '../../theming/theming-decorator.js';
9
+ import { addThemingController } from '../../theming/theming-controller.js';
10
+ import { addInternalsController } from '../common/controllers/internals.js';
11
11
  import { registerComponent } from '../common/definitions/register.js';
12
12
  import IgcDropdownItemComponent from './dropdown-item.js';
13
13
  import { styles } from './themes/dropdown-group.base.css.js';
14
14
  import { all } from './themes/group.js';
15
15
  import { styles as shared } from './themes/shared/group/dropdown-group.common.css.js';
16
- let IgcDropdownGroupComponent = IgcDropdownGroupComponent_1 = class IgcDropdownGroupComponent extends LitElement {
16
+ class IgcDropdownGroupComponent extends LitElement {
17
17
  static register() {
18
- registerComponent(IgcDropdownGroupComponent_1);
18
+ registerComponent(IgcDropdownGroupComponent);
19
19
  }
20
20
  constructor() {
21
21
  super();
22
- this._internals = this.attachInternals();
23
- this._internals.role = 'group';
22
+ addThemingController(this, all);
23
+ addInternalsController(this, {
24
+ initialARIA: {
25
+ role: 'group',
26
+ },
27
+ });
24
28
  }
25
29
  render() {
26
30
  return html `
@@ -30,17 +34,14 @@ let IgcDropdownGroupComponent = IgcDropdownGroupComponent_1 = class IgcDropdownG
30
34
  <slot></slot>
31
35
  `;
32
36
  }
33
- };
37
+ }
34
38
  IgcDropdownGroupComponent.tagName = 'igc-dropdown-group';
35
39
  IgcDropdownGroupComponent.styles = [styles, shared];
40
+ export default IgcDropdownGroupComponent;
36
41
  __decorate([
37
42
  queryAssignedElements({
38
43
  flatten: true,
39
44
  selector: IgcDropdownItemComponent.tagName,
40
45
  })
41
46
  ], IgcDropdownGroupComponent.prototype, "items", void 0);
42
- IgcDropdownGroupComponent = IgcDropdownGroupComponent_1 = __decorate([
43
- themes(all)
44
- ], IgcDropdownGroupComponent);
45
- export default IgcDropdownGroupComponent;
46
47
  //# sourceMappingURL=dropdown-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-group.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown-group.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,wBAAwB,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,oDAAoD,CAAC;AAavE,IAAM,yBAAyB,iCAA/B,MAAM,yBAA0B,SAAQ,UAAU;IAKxD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,2BAAyB,CAAC,CAAC;IAC/C,CAAC;IAYD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC;IACjC,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;;KAKV,CAAC;IACJ,CAAC;;AA/BsB,iCAAO,GAAW,oBAAoB,AAA/B,CAAgC;AACvC,gCAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAe1C;IAJN,qBAAqB,CAAC;QACrB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,wBAAwB,CAAC,OAAO;KAC3C,CAAC;wDAC6C;AAjB5B,yBAAyB;IAD7C,MAAM,CAAC,GAAG,CAAC;GACS,yBAAyB,CAiC7C;eAjCoB,yBAAyB","sourcesContent":["import { LitElement, html } from 'lit';\nimport { queryAssignedElements } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport IgcDropdownItemComponent from './dropdown-item.js';\nimport { styles } from './themes/dropdown-group.base.css.js';\nimport { all } from './themes/group.js';\nimport { styles as shared } from './themes/shared/group/dropdown-group.common.css.js';\n\n/**\n * A container for a group of `igc-dropdown-item` components.\n *\n * @element igc-dropdown-group\n *\n * @slot label - Contains the group's label.\n * @slot - Intended to contain the items belonging to this group.\n *\n * @csspart label - The native label element.\n */\n@themes(all)\nexport default class IgcDropdownGroupComponent extends LitElement {\n public static readonly tagName: string = 'igc-dropdown-group';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcDropdownGroupComponent);\n }\n\n private _internals: ElementInternals;\n\n /* blazorSuppress */\n /** All child `igc-dropdown-item`s. */\n @queryAssignedElements({\n flatten: true,\n selector: IgcDropdownItemComponent.tagName,\n })\n public items!: Array<IgcDropdownItemComponent>;\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n this._internals.role = 'group';\n }\n\n protected override render() {\n return html`\n <label part=\"label\">\n <slot name=\"label\"></slot>\n </label>\n <slot></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown-group': IgcDropdownGroupComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"dropdown-group.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown-group.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,wBAAwB,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,oDAAoD,CAAC;AAYtF,MAAqB,yBAA0B,SAAQ,UAAU;IAKxD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAUD;QACE,KAAK,EAAE,CAAC;QAER,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEhC,sBAAsB,CAAC,IAAI,EAAE;YAC3B,WAAW,EAAE;gBACX,IAAI,EAAE,OAAO;aACd;SACF,CAAC,CAAC;IACL,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;;KAKV,CAAC;IACJ,CAAC;;AAnCsB,iCAAO,GAAW,oBAAoB,CAAC;AACvC,gCAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;eAF9B,yBAAyB;AAerC;IAJN,qBAAqB,CAAC;QACrB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,wBAAwB,CAAC,OAAO;KAC3C,CAAC;wDAC6C","sourcesContent":["import { html, LitElement } from 'lit';\nimport { queryAssignedElements } from 'lit/decorators.js';\n\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport { addInternalsController } from '../common/controllers/internals.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport IgcDropdownItemComponent from './dropdown-item.js';\nimport { styles } from './themes/dropdown-group.base.css.js';\nimport { all } from './themes/group.js';\nimport { styles as shared } from './themes/shared/group/dropdown-group.common.css.js';\n\n/**\n * A container for a group of `igc-dropdown-item` components.\n *\n * @element igc-dropdown-group\n *\n * @slot label - Contains the group's label.\n * @slot - Intended to contain the items belonging to this group.\n *\n * @csspart label - The native label element.\n */\nexport default class IgcDropdownGroupComponent extends LitElement {\n public static readonly tagName: string = 'igc-dropdown-group';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcDropdownGroupComponent);\n }\n\n /* blazorSuppress */\n /** All child `igc-dropdown-item`s. */\n @queryAssignedElements({\n flatten: true,\n selector: IgcDropdownItemComponent.tagName,\n })\n public items!: Array<IgcDropdownItemComponent>;\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n addInternalsController(this, {\n initialARIA: {\n role: 'group',\n },\n });\n }\n\n protected override render() {\n return html`\n <label part=\"label\">\n <slot name=\"label\"></slot>\n </label>\n <slot></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown-group': IgcDropdownGroupComponent;\n }\n}\n"]}
@@ -10,6 +10,7 @@ export default class IgcDropdownHeaderComponent extends LitElement {
10
10
  static readonly tagName: string;
11
11
  static styles: import("lit").CSSResult[];
12
12
  static register(): void;
13
+ constructor();
13
14
  protected render(): import("lit-html").TemplateResult<1>;
14
15
  }
15
16
  declare global {
@@ -1,28 +1,22 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var IgcDropdownHeaderComponent_1;
8
- import { LitElement, html } from 'lit';
9
- import { themes } from '../../theming/theming-decorator.js';
1
+ import { html, LitElement } from 'lit';
2
+ import { addThemingController } from '../../theming/theming-controller.js';
10
3
  import { registerComponent } from '../common/definitions/register.js';
11
4
  import { styles } from './themes/dropdown-header.base.css.js';
12
5
  import { all } from './themes/header.js';
13
6
  import { styles as shared } from './themes/shared/header/dropdown-header.common.css.js';
14
- let IgcDropdownHeaderComponent = IgcDropdownHeaderComponent_1 = class IgcDropdownHeaderComponent extends LitElement {
7
+ class IgcDropdownHeaderComponent extends LitElement {
15
8
  static register() {
16
- registerComponent(IgcDropdownHeaderComponent_1);
9
+ registerComponent(IgcDropdownHeaderComponent);
10
+ }
11
+ constructor() {
12
+ super();
13
+ addThemingController(this, all);
17
14
  }
18
15
  render() {
19
16
  return html `<slot></slot>`;
20
17
  }
21
- };
18
+ }
22
19
  IgcDropdownHeaderComponent.tagName = 'igc-dropdown-header';
23
20
  IgcDropdownHeaderComponent.styles = [styles, shared];
24
- IgcDropdownHeaderComponent = IgcDropdownHeaderComponent_1 = __decorate([
25
- themes(all)
26
- ], IgcDropdownHeaderComponent);
27
21
  export default IgcDropdownHeaderComponent;
28
22
  //# sourceMappingURL=dropdown-header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-header.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown-header.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sDAAsD,CAAC;AAUzE,IAAM,0BAA0B,kCAAhC,MAAM,0BAA2B,SAAQ,UAAU;IAKzD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,4BAA0B,CAAC,CAAC;IAChD,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AAVsB,kCAAO,GAAW,qBAAqB,AAAhC,CAAiC;AACxC,iCAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAF9B,0BAA0B;IAD9C,MAAM,CAAC,GAAG,CAAC;GACS,0BAA0B,CAY9C;eAZoB,0BAA0B","sourcesContent":["import { LitElement, html } from 'lit';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { styles } from './themes/dropdown-header.base.css.js';\nimport { all } from './themes/header.js';\nimport { styles as shared } from './themes/shared/header/dropdown-header.common.css.js';\n\n/**\n * Represents a header item in a igc-dropdown list.\n *\n * @element igc-dropdown-header\n *\n * @slot - Renders the header.\n */\n@themes(all)\nexport default class IgcDropdownHeaderComponent extends LitElement {\n public static readonly tagName: string = 'igc-dropdown-header';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcDropdownHeaderComponent);\n }\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown-header': IgcDropdownHeaderComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"dropdown-header.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown-header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sDAAsD,CAAC;AASxF,MAAqB,0BAA2B,SAAQ,UAAU;IAKzD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QACR,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AAfsB,kCAAO,GAAW,qBAAqB,CAAC;AACxC,iCAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;eAF9B,0BAA0B","sourcesContent":["import { html, LitElement } from 'lit';\n\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { styles } from './themes/dropdown-header.base.css.js';\nimport { all } from './themes/header.js';\nimport { styles as shared } from './themes/shared/header/dropdown-header.common.css.js';\n\n/**\n * Represents a header item in a igc-dropdown list.\n *\n * @element igc-dropdown-header\n *\n * @slot - Renders the header.\n */\nexport default class IgcDropdownHeaderComponent extends LitElement {\n public static readonly tagName: string = 'igc-dropdown-header';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcDropdownHeaderComponent);\n }\n\n constructor() {\n super();\n addThemingController(this, all);\n }\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown-header': IgcDropdownHeaderComponent;\n }\n}\n"]}
@@ -16,6 +16,7 @@ export default class IgcDropdownItemComponent extends IgcBaseOptionLikeComponent
16
16
  static readonly tagName = "igc-dropdown-item";
17
17
  static styles: import("lit").CSSResult[];
18
18
  static register(): void;
19
+ constructor();
19
20
  }
20
21
  declare global {
21
22
  interface HTMLElementTagNameMap {
@@ -1,25 +1,19 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var IgcDropdownItemComponent_1;
8
- import { themes } from '../../theming/theming-decorator.js';
1
+ import { addThemingController } from '../../theming/theming-controller.js';
9
2
  import { registerComponent } from '../common/definitions/register.js';
10
3
  import { IgcBaseOptionLikeComponent } from '../common/mixins/option.js';
11
4
  import { styles } from './themes/dropdown-item.base.css.js';
12
5
  import { all } from './themes/item.js';
13
6
  import { styles as shared } from './themes/shared/item/dropdown-item.common.css.js';
14
- let IgcDropdownItemComponent = IgcDropdownItemComponent_1 = class IgcDropdownItemComponent extends IgcBaseOptionLikeComponent {
7
+ class IgcDropdownItemComponent extends IgcBaseOptionLikeComponent {
15
8
  static register() {
16
- registerComponent(IgcDropdownItemComponent_1);
9
+ registerComponent(IgcDropdownItemComponent);
17
10
  }
18
- };
11
+ constructor() {
12
+ super();
13
+ addThemingController(this, all);
14
+ }
15
+ }
19
16
  IgcDropdownItemComponent.tagName = 'igc-dropdown-item';
20
17
  IgcDropdownItemComponent.styles = [styles, shared];
21
- IgcDropdownItemComponent = IgcDropdownItemComponent_1 = __decorate([
22
- themes(all)
23
- ], IgcDropdownItemComponent);
24
18
  export default IgcDropdownItemComponent;
25
19
  //# sourceMappingURL=dropdown-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-item.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown-item.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,kDAAkD,CAAC;AAgBrE,IAAM,wBAAwB,gCAA9B,MAAM,wBAAyB,SAAQ,0BAA0B;IAKvE,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,0BAAwB,CAAC,CAAC;IAC9C,CAAC;;AANsB,gCAAO,GAAG,mBAAmB,AAAtB,CAAuB;AAC9B,+BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAF9B,wBAAwB;IAD5C,MAAM,CAAC,GAAG,CAAC;GACS,wBAAwB,CAQ5C;eARoB,wBAAwB","sourcesContent":["import { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { IgcBaseOptionLikeComponent } from '../common/mixins/option.js';\nimport { styles } from './themes/dropdown-item.base.css.js';\nimport { all } from './themes/item.js';\nimport { styles as shared } from './themes/shared/item/dropdown-item.common.css.js';\n\n/**\n * Represents an item in a dropdown list.\n *\n * @element igc-dropdown-item\n *\n * @slot prefix - Renders content before the item's main content.\n * @slot - Renders the item's main content.\n * @slot suffix - Renders content after the item's main content.\n *\n * @csspart prefix - The prefix wrapper of the igc-dropdown-item.\n * @csspart content - The main content wrapper of the igc-dropdown-item.\n * @csspart suffix - The suffix wrapper of the igc-dropdown-item.\n */\n@themes(all)\nexport default class IgcDropdownItemComponent extends IgcBaseOptionLikeComponent {\n public static readonly tagName = 'igc-dropdown-item';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcDropdownItemComponent);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown-item': IgcDropdownItemComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"dropdown-item.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,kDAAkD,CAAC;AAepF,MAAqB,wBAAyB,SAAQ,0BAA0B;IAKvE,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QACR,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;;AAXsB,gCAAO,GAAG,mBAAmB,CAAC;AAC9B,+BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;eAF9B,wBAAwB","sourcesContent":["import { addThemingController } from '../../theming/theming-controller.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { IgcBaseOptionLikeComponent } from '../common/mixins/option.js';\nimport { styles } from './themes/dropdown-item.base.css.js';\nimport { all } from './themes/item.js';\nimport { styles as shared } from './themes/shared/item/dropdown-item.common.css.js';\n\n/**\n * Represents an item in a dropdown list.\n *\n * @element igc-dropdown-item\n *\n * @slot prefix - Renders content before the item's main content.\n * @slot - Renders the item's main content.\n * @slot suffix - Renders content after the item's main content.\n *\n * @csspart prefix - The prefix wrapper of the igc-dropdown-item.\n * @csspart content - The main content wrapper of the igc-dropdown-item.\n * @csspart suffix - The suffix wrapper of the igc-dropdown-item.\n */\nexport default class IgcDropdownItemComponent extends IgcBaseOptionLikeComponent {\n public static readonly tagName = 'igc-dropdown-item';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcDropdownItemComponent);\n }\n\n constructor() {\n super();\n addThemingController(this, all);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown-item': IgcDropdownItemComponent;\n }\n}\n"]}
@@ -33,8 +33,9 @@ export default class IgcDropdownComponent extends IgcDropdownComponent_base {
33
33
  static readonly tagName = "igc-dropdown";
34
34
  static styles: import("lit").CSSResult[];
35
35
  static register(): void;
36
- private _keyBindings;
36
+ private readonly _keyBindings;
37
37
  private _rootScrollController;
38
+ protected readonly _rootClickController: import("../common/controllers/root-click.js").RootClickController;
38
39
  protected _selectedItem: IgcDropdownItemComponent | null;
39
40
  protected _activeItem: IgcDropdownItemComponent;
40
41
  private get _activeItems();
@@ -7,13 +7,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var IgcDropdownComponent_1;
8
8
  import { html } from 'lit';
9
9
  import { property, query, state } from 'lit/decorators.js';
10
- import { themes } from '../../theming/theming-decorator.js';
10
+ import { addThemingController } from '../../theming/theming-controller.js';
11
11
  import { addKeybindings, arrowDown, arrowLeft, arrowRight, arrowUp, endKey, enterKey, escapeKey, homeKey, tabKey, } from '../common/controllers/key-bindings.js';
12
+ import { addRootClickController } from '../common/controllers/root-click.js';
12
13
  import { addRootScrollHandler } from '../common/controllers/root-scroll.js';
13
14
  import { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';
14
15
  import { watch } from '../common/decorators/watch.js';
15
16
  import { registerComponent } from '../common/definitions/register.js';
16
- import { IgcBaseComboBoxLikeComponent, getActiveItems, getItems, getNextActiveItem, getPreviousActiveItem, setInitialSelectionState, } from '../common/mixins/combo-box.js';
17
+ import { getActiveItems, getItems, getNextActiveItem, getPreviousActiveItem, IgcBaseComboBoxLikeComponent, setInitialSelectionState, } from '../common/mixins/combo-box.js';
17
18
  import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
18
19
  import { findElementFromEventPath, getElementByIdFromRoot, isString, } from '../common/util.js';
19
20
  import IgcPopoverComponent from '../popover/popover.js';
@@ -57,13 +58,16 @@ let IgcDropdownComponent = IgcDropdownComponent_1 = class IgcDropdownComponent e
57
58
  this._rootScrollController = addRootScrollHandler(this, {
58
59
  hideCallback: this.handleClosing,
59
60
  });
61
+ this._rootClickController = addRootClickController(this, {
62
+ onHide: this.handleClosing,
63
+ });
60
64
  this._selectedItem = null;
61
65
  this.placement = 'bottom-start';
62
66
  this.scrollStrategy = 'scroll';
63
67
  this.flip = false;
64
68
  this.distance = 0;
65
69
  this.sameWidth = false;
66
- this._rootClickController.update({ hideCallback: this.handleClosing });
70
+ addThemingController(this, all);
67
71
  this._keyBindings = addKeybindings(this, {
68
72
  skip: () => !this.open,
69
73
  bindingDefaults: { preventDefault: true, triggers: ['keydownRepeat'] },
@@ -269,7 +273,6 @@ __decorate([
269
273
  watch('keepOpenOnOutsideClick', { waitUntilFirstUpdate: true })
270
274
  ], IgcDropdownComponent.prototype, "openStateChange", null);
271
275
  IgcDropdownComponent = IgcDropdownComponent_1 = __decorate([
272
- themes(all),
273
276
  blazorAdditionalDependencies('IgcDropdownItemComponent, IgcDropdownHeaderComponent, IgcDropdownGroupComponent')
274
277
  ], IgcDropdownComponent);
275
278
  export default IgcDropdownComponent;