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":"button-base.js","sourceRoot":"","sources":["../../../src/components/button/button-base.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, type TemplateResult, html, nothing } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { EventEmitterMixin } from '../common//mixins/event-emitter.js';\nimport { addKeyboardFocusRing } from '../common/controllers/focus-ring.js';\nimport { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { partMap } from '../common/part-map.js';\n\nexport interface IgcButtonEventMap {\n // For analyzer meta only:\n /* skipWCPrefix */\n focus: FocusEvent;\n /* skipWCPrefix */\n blur: FocusEvent;\n}\n\n@blazorDeepImport\nexport abstract class IgcButtonBaseComponent extends EventEmitterMixin<\n IgcButtonEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly formAssociated = true;\n\n protected static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n protected readonly __internals: ElementInternals;\n\n private readonly _focusRingManager = addKeyboardFocusRing(this);\n\n protected _disabled = false;\n\n @query('[part=\"base\"]', true)\n private readonly _nativeButton!: HTMLButtonElement;\n\n /* alternateName: displayType */\n /**\n * The type of the button. Defaults to `button`.\n * @attr\n */\n @property({ reflect: true })\n public type: 'button' | 'reset' | 'submit' = 'button';\n\n /**\n * The URL the button points to.\n * @attr\n */\n @property()\n public href!: string;\n\n /**\n * Prompts to save the linked URL instead of navigating to it.\n * @attr\n */\n @property()\n public download!: string;\n\n /**\n * Where to display the linked URL, as the name for a browsing context.\n * @attr\n */\n @property()\n public target?: '_blank' | '_parent' | '_self' | '_top';\n\n /**\n * The relationship of the linked URL.\n * See https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types\n * @attr\n */\n @property()\n public rel!: string;\n\n /**\n * The disabled state of the component\n * @attr [disabled=false]\n */\n @property({ type: Boolean, reflect: true })\n public set disabled(value: boolean) {\n this._disabled = value;\n this.toggleAttribute('disabled', Boolean(this._disabled));\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n\n /* blazorCSSuppress */\n /* alternateType: object */\n /** Returns the HTMLFormElement associated with this element. */\n public get form(): HTMLFormElement | null {\n return this.__internals.form;\n }\n\n constructor() {\n super();\n this.__internals = this.attachInternals();\n }\n\n /* alternateName: focusComponent */\n /** Sets focus in the button. */\n public override focus(options?: FocusOptions): void {\n this._nativeButton.focus(options);\n }\n\n /** Simulates a mouse click on the element */\n public override click(): void {\n this._nativeButton.click();\n }\n\n /* alternateName: blurComponent */\n /** Removes focus from the button. */\n public override blur(): void {\n this._nativeButton.blur();\n }\n\n protected _handleClick(): void {\n if (this.type === 'submit') {\n this.form?.requestSubmit();\n } else if (this.type === 'reset') {\n this.form?.reset();\n }\n }\n\n protected formDisabledCallback(state: boolean): void {\n this._disabled = state;\n this.requestUpdate();\n }\n\n private renderButton() {\n return html`\n <button\n part=${partMap({ base: true, focused: this._focusRingManager.focused })}\n aria-label=${ifDefined(this.ariaLabel ?? nothing)}\n ?disabled=${this.disabled}\n type=${ifDefined(this.type)}\n @click=${this._handleClick}\n >\n ${this.renderContent()}\n </button>\n `;\n }\n\n private renderLinkButton() {\n return html`\n <a\n part=${partMap({ base: true, focused: this._focusRingManager.focused })}\n role=\"button\"\n aria-label=${ifDefined(this.ariaLabel ?? nothing)}\n aria-disabled=${this.disabled}\n href=${ifDefined(this.href)}\n target=${ifDefined(this.target)}\n download=${ifDefined(this.download)}\n rel=${ifDefined(this.rel)}\n >\n ${this.renderContent()}\n </a>\n `;\n }\n\n protected abstract renderContent(): TemplateResult;\n\n protected override render() {\n const link = this.href !== undefined;\n return link ? this.renderLinkButton() : this.renderButton();\n }\n}\n"]}
1
+ {"version":3,"file":"button-base.js","sourceRoot":"","sources":["../../../src/components/button/button-base.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing, type TemplateResult } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { addKeyboardFocusRing } from '../common/controllers/focus-ring.js';\nimport { addInternalsController } from '../common/controllers/internals.js';\nimport { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';\nimport { shadowOptions } from '../common/decorators/shadow-options.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common//mixins/event-emitter.js';\nimport { partMap } from '../common/part-map.js';\n\nexport interface IgcButtonEventMap {\n // For analyzer meta only:\n /* skipWCPrefix */\n focus: FocusEvent;\n /* skipWCPrefix */\n blur: FocusEvent;\n}\n\n@blazorDeepImport\n@shadowOptions({ delegatesFocus: true })\nexport abstract class IgcButtonBaseComponent extends EventEmitterMixin<\n IgcButtonEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly formAssociated = true;\n\n protected readonly _internals = addInternalsController(this);\n private readonly _focusRingManager = addKeyboardFocusRing(this);\n\n protected _disabled = false;\n\n @query('[part=\"base\"]', true)\n private readonly _nativeButton!: HTMLButtonElement;\n\n /* alternateName: displayType */\n /**\n * The type of the button. Defaults to `button`.\n * @attr\n */\n @property({ reflect: true })\n public type: 'button' | 'reset' | 'submit' = 'button';\n\n /**\n * The URL the button points to.\n * @attr\n */\n @property()\n public href?: string;\n\n /**\n * Prompts to save the linked URL instead of navigating to it.\n * @attr\n */\n @property()\n public download?: string;\n\n /**\n * Where to display the linked URL, as the name for a browsing context.\n * @attr\n */\n @property()\n public target?: '_blank' | '_parent' | '_self' | '_top';\n\n /**\n * The relationship of the linked URL.\n * See https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types\n * @attr\n */\n @property()\n public rel?: string;\n\n /**\n * The disabled state of the component\n * @attr [disabled=false]\n */\n @property({ type: Boolean, reflect: true })\n public set disabled(value: boolean) {\n this._disabled = value;\n this.toggleAttribute('disabled', Boolean(this._disabled));\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n\n /* blazorCSSuppress */\n /* alternateType: object */\n /** Returns the HTMLFormElement associated with this element. */\n public get form(): HTMLFormElement | null {\n return this._internals.form;\n }\n\n /* alternateName: focusComponent */\n /** Sets focus in the button. */\n public override focus(options?: FocusOptions): void {\n this._nativeButton.focus(options);\n }\n\n /** Simulates a mouse click on the element */\n public override click(): void {\n this._nativeButton.click();\n }\n\n /* alternateName: blurComponent */\n /** Removes focus from the button. */\n public override blur(): void {\n this._nativeButton.blur();\n }\n\n protected _handleClick(): void {\n if (this.type === 'submit') {\n this.form?.requestSubmit();\n } else if (this.type === 'reset') {\n this.form?.reset();\n }\n }\n\n protected formDisabledCallback(state: boolean): void {\n this._disabled = state;\n this.requestUpdate();\n }\n\n private renderButton() {\n return html`\n <button\n part=${partMap({ base: true, focused: this._focusRingManager.focused })}\n aria-label=${ifDefined(this.ariaLabel ?? nothing)}\n ?disabled=${this.disabled}\n type=${ifDefined(this.type)}\n @click=${this._handleClick}\n >\n ${this.renderContent()}\n </button>\n `;\n }\n\n private renderLinkButton() {\n return html`\n <a\n part=${partMap({ base: true, focused: this._focusRingManager.focused })}\n role=\"button\"\n aria-label=${ifDefined(this.ariaLabel ?? nothing)}\n aria-disabled=${this.disabled}\n href=${ifDefined(this.href)}\n target=${ifDefined(this.target)}\n download=${ifDefined(this.download)}\n rel=${ifDefined(this.rel)}\n >\n ${this.renderContent()}\n </a>\n `;\n }\n\n protected abstract renderContent(): TemplateResult;\n\n protected override render() {\n const link = this.href !== undefined;\n return link ? this.renderLinkButton() : this.renderButton();\n }\n}\n"]}
@@ -23,6 +23,7 @@ export default class IgcButtonComponent extends IgcButtonBaseComponent {
23
23
  * @attr
24
24
  */
25
25
  variant: ButtonVariant;
26
+ constructor();
26
27
  protected renderContent(): import("lit-html").TemplateResult<1>;
27
28
  }
28
29
  declare global {
@@ -4,22 +4,22 @@ 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 IgcButtonComponent_1;
8
7
  import { html } 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';
11
10
  import { registerComponent } from '../common/definitions/register.js';
12
11
  import { IgcButtonBaseComponent } from './button-base.js';
13
12
  import { styles } from './themes/button/button.base.css.js';
14
13
  import { styles as shared } from './themes/button/shared/button.common.css.js';
15
14
  import { all } from './themes/button/themes.js';
16
- let IgcButtonComponent = IgcButtonComponent_1 = class IgcButtonComponent extends IgcButtonBaseComponent {
15
+ class IgcButtonComponent extends IgcButtonBaseComponent {
16
+ static register() {
17
+ registerComponent(IgcButtonComponent);
18
+ }
17
19
  constructor() {
18
- super(...arguments);
20
+ super();
19
21
  this.variant = 'contained';
20
- }
21
- static register() {
22
- registerComponent(IgcButtonComponent_1);
22
+ addThemingController(this, all);
23
23
  }
24
24
  renderContent() {
25
25
  return html `
@@ -28,14 +28,11 @@ let IgcButtonComponent = IgcButtonComponent_1 = class IgcButtonComponent extends
28
28
  <slot name="suffix"></slot>
29
29
  `;
30
30
  }
31
- };
31
+ }
32
32
  IgcButtonComponent.tagName = 'igc-button';
33
33
  IgcButtonComponent.styles = [styles, shared];
34
+ export default IgcButtonComponent;
34
35
  __decorate([
35
36
  property({ reflect: true })
36
37
  ], IgcButtonComponent.prototype, "variant", void 0);
37
- IgcButtonComponent = IgcButtonComponent_1 = __decorate([
38
- themes(all)
39
- ], IgcButtonComponent);
40
- export default IgcButtonComponent;
41
38
  //# sourceMappingURL=button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/button/button.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAiBjC,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,sBAAsB;IAAvD;;QAcN,YAAO,GAAkB,WAAW,CAAC;IAS9C,CAAC;IAlBQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,oBAAkB,CAAC,CAAC;IACxC,CAAC;IASS,aAAa;QACrB,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;;AArBsB,0BAAO,GAAG,YAAY,AAAf,CAAgB;AAC7B,yBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAYpC;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDACgB;AAdzB,kBAAkB;IADtC,MAAM,CAAC,GAAG,CAAC;GACS,kBAAkB,CAuBtC;eAvBoB,kBAAkB","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { ButtonVariant } from '../types.js';\nimport { IgcButtonBaseComponent } from './button-base.js';\nimport { styles } from './themes/button/button.base.css.js';\nimport { styles as shared } from './themes/button/shared/button.common.css.js';\nimport { all } from './themes/button/themes.js';\n\n/**\n * Represents a clickable button, used to submit forms or anywhere in a\n * document for accessible, standard button functionality.\n *\n * @element igc-button\n *\n * @slot - Renders the label of the button.\n * @slot prefix - Renders content before the label of the button.\n * @slot suffix - Renders content after the label of the button.\n *\n * @csspart base - The native button element of the igc-button component.\n * @csspart prefix - The prefix container of the igc-button component.\n * @csspart suffix - The suffix container of the igc-button component.\n */\n@themes(all)\nexport default class IgcButtonComponent extends IgcButtonBaseComponent {\n public static readonly tagName = 'igc-button';\n protected static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcButtonComponent);\n }\n\n /**\n * Sets the variant of the button.\n * @attr\n */\n @property({ reflect: true })\n public variant: ButtonVariant = 'contained';\n\n protected renderContent() {\n return html`\n <slot name=\"prefix\"></slot>\n <slot></slot>\n <slot name=\"suffix\"></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-button': IgcButtonComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/button/button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAgBhD,MAAqB,kBAAmB,SAAQ,sBAAsB;IAK7D,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IASD;QACE,KAAK,EAAE,CAAC;QAHH,YAAO,GAAkB,WAAW,CAAC;QAI1C,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAES,aAAa;QACrB,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;;AA1BsB,0BAAO,GAAG,YAAY,AAAf,CAAgB;AAC7B,yBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;eAFxB,kBAAkB;AAc9B;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDACgB","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { ButtonVariant } from '../types.js';\nimport { IgcButtonBaseComponent } from './button-base.js';\nimport { styles } from './themes/button/button.base.css.js';\nimport { styles as shared } from './themes/button/shared/button.common.css.js';\nimport { all } from './themes/button/themes.js';\n\n/**\n * Represents a clickable button, used to submit forms or anywhere in a\n * document for accessible, standard button functionality.\n *\n * @element igc-button\n *\n * @slot - Renders the label of the button.\n * @slot prefix - Renders content before the label of the button.\n * @slot suffix - Renders content after the label of the button.\n *\n * @csspart base - The native button element of the igc-button component.\n * @csspart prefix - The prefix container of the igc-button component.\n * @csspart suffix - The suffix container of the igc-button component.\n */\nexport default class IgcButtonComponent extends IgcButtonBaseComponent {\n public static readonly tagName = 'igc-button';\n protected static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcButtonComponent);\n }\n\n /**\n * Sets the variant of the button.\n * @attr\n */\n @property({ reflect: true })\n public variant: ButtonVariant = 'contained';\n\n constructor() {\n super();\n addThemingController(this, all);\n }\n\n protected renderContent() {\n return html`\n <slot name=\"prefix\"></slot>\n <slot></slot>\n <slot name=\"suffix\"></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-button': IgcButtonComponent;\n }\n}\n"]}
@@ -14,12 +14,12 @@ export default class IgcIconButtonComponent extends IgcButtonBaseComponent {
14
14
  * The name of the icon.
15
15
  * @attr
16
16
  */
17
- name: string;
17
+ name?: string;
18
18
  /**
19
19
  * The name of the icon collection.
20
20
  * @attr
21
21
  */
22
- collection: string;
22
+ collection?: string;
23
23
  /**
24
24
  * Whether to flip the icon button. Useful for RTL layouts.
25
25
  * @attr
@@ -30,6 +30,7 @@ export default class IgcIconButtonComponent extends IgcButtonBaseComponent {
30
30
  * @attr
31
31
  */
32
32
  variant: IconButtonVariant;
33
+ constructor();
33
34
  protected renderContent(): import("lit-html").TemplateResult<1>;
34
35
  protected registerIcon(name: string, url: string, collection?: string): Promise<void>;
35
36
  protected registerIconFromText(name: string, iconText: string, collection?: string): void;
@@ -4,27 +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 IgcIconButtonComponent_1;
8
7
  import { html } from 'lit';
9
8
  import { property } from 'lit/decorators.js';
10
9
  import { ifDefined } from 'lit/directives/if-defined.js';
11
- import { themes } from '../../theming/theming-decorator.js';
10
+ import { addThemingController } from '../../theming/theming-controller.js';
12
11
  import { blazorInclude } from '../common/decorators/blazorInclude.js';
13
12
  import { registerComponent } from '../common/definitions/register.js';
14
13
  import IgcIconComponent from '../icon/icon.js';
15
- import { registerIconFromText as registerIconFromText_impl, registerIcon as registerIcon_impl, } from '../icon/icon.registry.js';
14
+ import { registerIcon as registerIcon_impl, registerIconFromText as registerIconFromText_impl, } from '../icon/icon.registry.js';
16
15
  import { IgcButtonBaseComponent } from './button-base.js';
17
16
  import { styles } from './themes/icon-button/icon-button.base.css.js';
18
17
  import { styles as shared } from './themes/icon-button/shared/icon-button.common.css.js';
19
18
  import { all } from './themes/icon-button/themes.js';
20
- let IgcIconButtonComponent = IgcIconButtonComponent_1 = class IgcIconButtonComponent extends IgcButtonBaseComponent {
19
+ class IgcIconButtonComponent extends IgcButtonBaseComponent {
20
+ static register() {
21
+ registerComponent(IgcIconButtonComponent, IgcIconComponent);
22
+ }
21
23
  constructor() {
22
- super(...arguments);
24
+ super();
23
25
  this.mirrored = false;
24
26
  this.variant = 'contained';
25
- }
26
- static register() {
27
- registerComponent(IgcIconButtonComponent_1, IgcIconComponent);
27
+ addThemingController(this, all);
28
28
  }
29
29
  renderContent() {
30
30
  return html `
@@ -48,9 +48,10 @@ let IgcIconButtonComponent = IgcIconButtonComponent_1 = class IgcIconButtonCompo
48
48
  registerIconFromText(name, iconText, collection = 'default') {
49
49
  registerIconFromText_impl(name, iconText, collection);
50
50
  }
51
- };
51
+ }
52
52
  IgcIconButtonComponent.tagName = 'igc-icon-button';
53
53
  IgcIconButtonComponent.styles = [styles, shared];
54
+ export default IgcIconButtonComponent;
54
55
  __decorate([
55
56
  property()
56
57
  ], IgcIconButtonComponent.prototype, "name", void 0);
@@ -69,8 +70,4 @@ __decorate([
69
70
  __decorate([
70
71
  blazorInclude()
71
72
  ], IgcIconButtonComponent.prototype, "registerIconFromText", null);
72
- IgcIconButtonComponent = IgcIconButtonComponent_1 = __decorate([
73
- themes(all)
74
- ], IgcIconButtonComponent);
75
- export default IgcIconButtonComponent;
76
73
  //# sourceMappingURL=icon-button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../src/components/button/icon-button.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,oBAAoB,IAAI,yBAAyB,EACjD,YAAY,IAAI,iBAAiB,GAClC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,uDAAuD,CAAC;AACzF,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAStC,IAAM,sBAAsB,8BAA5B,MAAM,sBAAuB,SAAQ,sBAAsB;IAA3D;;QA6BN,aAAQ,GAAG,KAAK,CAAC;QAOjB,YAAO,GAAsB,WAAW,CAAC;IAsClD,CAAC;IArEQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,wBAAsB,EAAE,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IA+BS,aAAa;QACrB,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAC1B,CAAC,CAAC,IAAI,CAAA;;;qBAGO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;2BACd,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;0BAC3B,IAAI,CAAC,QAAQ;;;;WAI5B;YACH,CAAC,CAAC,IAAI,CAAA,eAAe;KACxB,CAAC;IACJ,CAAC;IAIe,AAAN,KAAK,CAAC,YAAY,CAC1B,IAAY,EACZ,GAAW,EACX,UAAU,GAAG,SAAS;QAEtB,MAAM,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAIS,oBAAoB,CAC5B,IAAY,EACZ,QAAgB,EAChB,UAAU,GAAG,SAAS;QAEtB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;;AAxEsB,8BAAO,GAAG,iBAAiB,AAApB,CAAqB;AAClC,6BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAapC;IADN,QAAQ,EAAE;oDACU;AAOd;IADN,QAAQ,EAAE;0DACgB;AAOpB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wDACJ;AAOjB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uDACoB;AAqBhC;IADf,aAAa,EAAE;0DAOf;AAIS;IADT,aAAa,EAAE;kEAOf;AAzEkB,sBAAsB;IAD1C,MAAM,CAAC,GAAG,CAAC;GACS,sBAAsB,CA0E1C;eA1EoB,sBAAsB","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { blazorInclude } from '../common/decorators/blazorInclude.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport {\n registerIconFromText as registerIconFromText_impl,\n registerIcon as registerIcon_impl,\n} from '../icon/icon.registry.js';\nimport type { IconButtonVariant } from '../types.js';\nimport { IgcButtonBaseComponent } from './button-base.js';\nimport { styles } from './themes/icon-button/icon-button.base.css.js';\nimport { styles as shared } from './themes/icon-button/shared/icon-button.common.css.js';\nimport { all } from './themes/icon-button/themes.js';\n\n/**\n * @element igc-icon-button\n *\n * @csspart base - The wrapping element of the icon button.\n * @csspart icon - The icon element of the icon button.\n */\n@themes(all)\nexport default class IgcIconButtonComponent extends IgcButtonBaseComponent {\n public static readonly tagName = 'igc-icon-button';\n protected static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcIconButtonComponent, IgcIconComponent);\n }\n\n /* alternateName: iconName */\n /**\n * The name of the icon.\n * @attr\n */\n @property()\n public name!: string;\n\n /**\n * The name of the icon collection.\n * @attr\n */\n @property()\n public collection!: string;\n\n /**\n * Whether to flip the icon button. Useful for RTL layouts.\n * @attr\n */\n @property({ type: Boolean })\n public mirrored = false;\n\n /**\n * The visual variant of the icon button.\n * @attr\n */\n @property({ reflect: true })\n public variant: IconButtonVariant = 'contained';\n\n protected renderContent() {\n return html`\n ${this.name || this.mirrored\n ? html`\n <igc-icon\n part=\"icon\"\n name=${ifDefined(this.name)}\n collection=${ifDefined(this.collection)}\n .mirrored=${this.mirrored}\n aria-hidden=\"true\"\n ></igc-icon>\n <slot></slot>\n `\n : html`<slot></slot>`}\n `;\n }\n\n /* c8 ignore next 8 */\n @blazorInclude()\n protected async registerIcon(\n name: string,\n url: string,\n collection = 'default'\n ) {\n await registerIcon_impl(name, url, collection);\n }\n\n /* c8 ignore next 8 */\n @blazorInclude()\n protected registerIconFromText(\n name: string,\n iconText: string,\n collection = 'default'\n ) {\n registerIconFromText_impl(name, iconText, collection);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-icon-button': IgcIconButtonComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../src/components/button/icon-button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,YAAY,IAAI,iBAAiB,EACjC,oBAAoB,IAAI,yBAAyB,GAClD,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,uDAAuD,CAAC;AACzF,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAQrD,MAAqB,sBAAuB,SAAQ,sBAAsB;IAKjE,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IA+BD;QACE,KAAK,EAAE,CAAC;QAVH,aAAQ,GAAG,KAAK,CAAC;QAOjB,YAAO,GAAsB,WAAW,CAAC;QAI9C,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAES,aAAa;QACrB,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAC1B,CAAC,CAAC,IAAI,CAAA;;;qBAGO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;2BACd,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;0BAC3B,IAAI,CAAC,QAAQ;;;;WAI5B;YACH,CAAC,CAAC,IAAI,CAAA,eAAe;KACxB,CAAC;IACJ,CAAC;IAIe,AAAN,KAAK,CAAC,YAAY,CAC1B,IAAY,EACZ,GAAW,EACX,UAAU,GAAG,SAAS;QAEtB,MAAM,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAIS,oBAAoB,CAC5B,IAAY,EACZ,QAAgB,EAChB,UAAU,GAAG,SAAS;QAEtB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;;AA7EsB,8BAAO,GAAG,iBAAiB,AAApB,CAAqB;AAClC,6BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;eAFxB,sBAAsB;AAelC;IADN,QAAQ,EAAE;oDACU;AAOd;IADN,QAAQ,EAAE;0DACgB;AAOpB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wDACJ;AAOjB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uDACoB;AA0BhC;IADf,aAAa,EAAE;0DAOf;AAIS;IADT,aAAa,EAAE;kEAOf","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport { blazorInclude } from '../common/decorators/blazorInclude.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport {\n registerIcon as registerIcon_impl,\n registerIconFromText as registerIconFromText_impl,\n} from '../icon/icon.registry.js';\nimport type { IconButtonVariant } from '../types.js';\nimport { IgcButtonBaseComponent } from './button-base.js';\nimport { styles } from './themes/icon-button/icon-button.base.css.js';\nimport { styles as shared } from './themes/icon-button/shared/icon-button.common.css.js';\nimport { all } from './themes/icon-button/themes.js';\n\n/**\n * @element igc-icon-button\n *\n * @csspart base - The wrapping element of the icon button.\n * @csspart icon - The icon element of the icon button.\n */\nexport default class IgcIconButtonComponent extends IgcButtonBaseComponent {\n public static readonly tagName = 'igc-icon-button';\n protected static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcIconButtonComponent, IgcIconComponent);\n }\n\n /* alternateName: iconName */\n /**\n * The name of the icon.\n * @attr\n */\n @property()\n public name?: string;\n\n /**\n * The name of the icon collection.\n * @attr\n */\n @property()\n public collection?: string;\n\n /**\n * Whether to flip the icon button. Useful for RTL layouts.\n * @attr\n */\n @property({ type: Boolean })\n public mirrored = false;\n\n /**\n * The visual variant of the icon button.\n * @attr\n */\n @property({ reflect: true })\n public variant: IconButtonVariant = 'contained';\n\n constructor() {\n super();\n addThemingController(this, all);\n }\n\n protected renderContent() {\n return html`\n ${this.name || this.mirrored\n ? html`\n <igc-icon\n part=\"icon\"\n name=${ifDefined(this.name)}\n collection=${ifDefined(this.collection)}\n .mirrored=${this.mirrored}\n aria-hidden=\"true\"\n ></igc-icon>\n <slot></slot>\n `\n : html`<slot></slot>`}\n `;\n }\n\n /* c8 ignore next 8 */\n @blazorInclude()\n protected async registerIcon(\n name: string,\n url: string,\n collection = 'default'\n ) {\n await registerIcon_impl(name, url, collection);\n }\n\n /* c8 ignore next 8 */\n @blazorInclude()\n protected registerIconFromText(\n name: string,\n iconText: string,\n collection = 'default'\n ) {\n registerIconFromText_impl(name, iconText, collection);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-icon-button': IgcIconButtonComponent;\n }\n}\n"]}
@@ -4,10 +4,9 @@ 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 IgcButtonGroupComponent_1;
8
- import { LitElement, html } from 'lit';
7
+ import { html, LitElement } from 'lit';
9
8
  import { property, queryAssignedElements } from 'lit/decorators.js';
10
- import { themes } from '../../theming/theming-decorator.js';
9
+ import { addThemingController } from '../../theming/theming-controller.js';
11
10
  import { createMutationController, } from '../common/controllers/mutation-observer.js';
12
11
  import { watch } from '../common/decorators/watch.js';
13
12
  import { registerComponent } from '../common/definitions/register.js';
@@ -17,9 +16,9 @@ import { styles } from './themes/group.base.css.js';
17
16
  import { all } from './themes/group.js';
18
17
  import { styles as shared } from './themes/shared/group/group.common.css.js';
19
18
  import IgcToggleButtonComponent from './toggle-button.js';
20
- let IgcButtonGroupComponent = IgcButtonGroupComponent_1 = class IgcButtonGroupComponent extends EventEmitterMixin(LitElement) {
19
+ class IgcButtonGroupComponent extends EventEmitterMixin(LitElement) {
21
20
  static register() {
22
- registerComponent(IgcButtonGroupComponent_1, IgcToggleButtonComponent);
21
+ registerComponent(IgcButtonGroupComponent, IgcToggleButtonComponent);
23
22
  }
24
23
  get isMultiple() {
25
24
  return this.selection === 'multiple';
@@ -29,7 +28,7 @@ let IgcButtonGroupComponent = IgcButtonGroupComponent_1 = class IgcButtonGroupCo
29
28
  return;
30
29
  }
31
30
  const buttons = this.toggleButtons;
32
- const idx = buttons.indexOf(added.length ? last(added).node : last(attributes));
31
+ const idx = buttons.indexOf(added.length ? last(added).node : last(attributes).node);
33
32
  for (const [i, button] of buttons.entries()) {
34
33
  if (button.selected && i !== idx) {
35
34
  button.selected = false;
@@ -64,6 +63,7 @@ let IgcButtonGroupComponent = IgcButtonGroupComponent_1 = class IgcButtonGroupCo
64
63
  this.disabled = false;
65
64
  this.alignment = 'horizontal';
66
65
  this.selection = 'single';
66
+ addThemingController(this, all);
67
67
  createMutationController(this, {
68
68
  callback: this._observerCallback,
69
69
  filter: [IgcToggleButtonComponent.tagName],
@@ -153,9 +153,10 @@ let IgcButtonGroupComponent = IgcButtonGroupComponent_1 = class IgcButtonGroupCo
153
153
  </div>
154
154
  `;
155
155
  }
156
- };
156
+ }
157
157
  IgcButtonGroupComponent.tagName = 'igc-button-group';
158
158
  IgcButtonGroupComponent.styles = [styles, shared];
159
+ export default IgcButtonGroupComponent;
159
160
  __decorate([
160
161
  queryAssignedElements({ selector: IgcToggleButtonComponent.tagName })
161
162
  ], IgcButtonGroupComponent.prototype, "toggleButtons", void 0);
@@ -177,8 +178,4 @@ __decorate([
177
178
  __decorate([
178
179
  watch('selection', { waitUntilFirstUpdate: true })
179
180
  ], IgcButtonGroupComponent.prototype, "updateSelectionState", null);
180
- IgcButtonGroupComponent = IgcButtonGroupComponent_1 = __decorate([
181
- themes(all)
182
- ], IgcButtonGroupComponent);
183
- export default IgcButtonGroupComponent;
184
181
  //# sourceMappingURL=button-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.js","sourceRoot":"","sources":["../../../src/components/button-group/button-group.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport {\n type MutationControllerParams,\n createMutationController,\n} from '../common/controllers/mutation-observer.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 { findElementFromEventPath, last } from '../common/util.js';\nimport type { ButtonGroupSelection, ContentOrientation } from '../types.js';\nimport { styles } from './themes/group.base.css.js';\nimport { all } from './themes/group.js';\nimport { styles as shared } from './themes/shared/group/group.common.css.js';\nimport IgcToggleButtonComponent from './toggle-button.js';\n\nexport interface IgcButtonGroupComponentEventMap {\n igcSelect: CustomEvent<string | undefined>;\n igcDeselect: CustomEvent<string | undefined>;\n}\n\n/* blazorAdditionalDependency: IgcToggleButtonComponent */\n/**\n * The `igc-button-group` groups a series of `igc-toggle-button`s together, exposing features such as layout and selection.\n *\n * @element igc-button-group\n *\n * @slot - Renders `igc-toggle-button` component.\n *\n * @fires igcSelect - Emitted when a button is selected through user interaction.\n * @fires igcDeselect - Emitted when a button is deselected through user interaction.\n *\n * @csspart group - The button group container.\n */\n@themes(all)\nexport default class IgcButtonGroupComponent extends EventEmitterMixin<\n IgcButtonGroupComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-button-group';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcButtonGroupComponent, IgcToggleButtonComponent);\n }\n\n private get isMultiple() {\n return this.selection === 'multiple';\n }\n\n private _selectedItems: Set<string> = new Set();\n\n private _observerCallback({\n changes: { added, attributes },\n }: MutationControllerParams<IgcToggleButtonComponent>) {\n if (this.isMultiple || this._selectedButtons.length <= 1) {\n return;\n }\n\n const buttons = this.toggleButtons;\n const idx = buttons.indexOf(\n added.length ? last(added).node : last(attributes)\n );\n\n for (const [i, button] of buttons.entries()) {\n if (button.selected && i !== idx) {\n button.selected = false;\n }\n }\n }\n\n private get _selectedButtons(): Array<IgcToggleButtonComponent> {\n return this.toggleButtons.filter((b) => b.selected);\n }\n\n @queryAssignedElements({ selector: IgcToggleButtonComponent.tagName })\n private toggleButtons!: Array<IgcToggleButtonComponent>;\n\n /**\n * Disables all buttons inside the group.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /**\n * Sets the orientation of the buttons in the group.\n * @attr\n */\n @property({ reflect: true })\n public alignment: ContentOrientation = 'horizontal';\n\n /**\n * Controls the mode of selection for the button group.\n * @attr\n */\n @property({ reflect: false })\n public selection: ButtonGroupSelection = 'single';\n\n /**\n * Gets/Sets the currently selected buttons (their values).\n * @attr\n */\n @property({ attribute: 'selected-items', type: Array, reflect: false })\n public get selectedItems(): string[] {\n return this._selectedButtons.map((b) => b.value).filter((v) => v);\n }\n\n public set selectedItems(values: string[]) {\n this._selectedItems = new Set(Array.isArray(values) ? values : []);\n this.setSelection(this._selectedItems);\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n protected updateDisabledState() {\n this.toggleButtons.forEach((b) => {\n b.disabled = this.disabled;\n });\n }\n\n @watch('selection', { waitUntilFirstUpdate: true })\n protected updateSelectionState() {\n if (this._selectedButtons.length) {\n this.toggleButtons.forEach((b) => {\n b.selected = false;\n });\n }\n }\n\n constructor() {\n super();\n\n createMutationController(this, {\n callback: this._observerCallback,\n filter: [IgcToggleButtonComponent.tagName],\n config: {\n attributeFilter: ['selected'],\n childList: true,\n subtree: true,\n },\n });\n }\n\n protected override firstUpdated() {\n if (this.disabled) {\n this.updateDisabledState();\n }\n\n const buttons = this._selectedButtons;\n\n if (buttons.length) {\n if (!this.isMultiple) {\n const index = buttons.indexOf(buttons.at(-1)!);\n\n for (let i = 0; i < index; i++) {\n buttons[i].selected = false;\n }\n }\n } else {\n this.setSelection(this._selectedItems);\n }\n }\n\n private handleClick(event: MouseEvent) {\n const button = findElementFromEventPath<IgcToggleButtonComponent>(\n IgcToggleButtonComponent.tagName,\n event\n );\n\n if (button) {\n this.isMultiple\n ? this.handleMultipleSelection(button)\n : this.handleSingleSelection(button);\n }\n }\n\n private handleSingleSelection(button: IgcToggleButtonComponent) {\n const singleRequired = this.selection === 'single-required';\n const selectedButton = this._selectedButtons.at(0);\n const isSame = selectedButton && selectedButton.value === button.value;\n\n if (selectedButton) {\n if (singleRequired && isSame) return;\n this.emitDeselectEvent(selectedButton);\n }\n if (isSame) return;\n this.emitSelectEvent(button);\n }\n\n private handleMultipleSelection(button: IgcToggleButtonComponent) {\n button.selected\n ? this.emitDeselectEvent(button)\n : this.emitSelectEvent(button);\n }\n\n private emitSelectEvent(button: IgcToggleButtonComponent) {\n button.selected = true;\n this.emitEvent('igcSelect', { detail: button.value });\n }\n\n private emitDeselectEvent(button: IgcToggleButtonComponent) {\n button.selected = false;\n this.emitEvent('igcDeselect', { detail: button.value });\n }\n\n private setSelection(values: Set<string>) {\n if (!values.size) {\n this.toggleButtons.forEach((b) => {\n b.selected = false;\n });\n return;\n }\n\n for (const button of this.toggleButtons) {\n if (values.has(button.value)) {\n button.selected = true;\n if (!this.isMultiple) {\n break;\n }\n }\n }\n }\n\n protected override render() {\n return html`\n <div\n part=\"group\"\n role=\"group\"\n aria-disabled=${this.disabled}\n @click=${this.handleClick}\n >\n <slot></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-button-group': IgcButtonGroupComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"button-group.js","sourceRoot":"","sources":["../../../src/components/button-group/button-group.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\n\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport {\n createMutationController,\n type MutationControllerParams,\n} from '../common/controllers/mutation-observer.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 { findElementFromEventPath, last } from '../common/util.js';\nimport type { ButtonGroupSelection, ContentOrientation } from '../types.js';\nimport { styles } from './themes/group.base.css.js';\nimport { all } from './themes/group.js';\nimport { styles as shared } from './themes/shared/group/group.common.css.js';\nimport IgcToggleButtonComponent from './toggle-button.js';\n\nexport interface IgcButtonGroupComponentEventMap {\n igcSelect: CustomEvent<string | undefined>;\n igcDeselect: CustomEvent<string | undefined>;\n}\n\n/* blazorAdditionalDependency: IgcToggleButtonComponent */\n/**\n * The `igc-button-group` groups a series of `igc-toggle-button`s together, exposing features such as layout and selection.\n *\n * @element igc-button-group\n *\n * @slot - Renders `igc-toggle-button` component.\n *\n * @fires igcSelect - Emitted when a button is selected through user interaction.\n * @fires igcDeselect - Emitted when a button is deselected through user interaction.\n *\n * @csspart group - The button group container.\n */\nexport default class IgcButtonGroupComponent extends EventEmitterMixin<\n IgcButtonGroupComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-button-group';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcButtonGroupComponent, IgcToggleButtonComponent);\n }\n\n private get isMultiple() {\n return this.selection === 'multiple';\n }\n\n private _selectedItems: Set<string> = new Set();\n\n private _observerCallback({\n changes: { added, attributes },\n }: MutationControllerParams<IgcToggleButtonComponent>) {\n if (this.isMultiple || this._selectedButtons.length <= 1) {\n return;\n }\n\n const buttons = this.toggleButtons;\n const idx = buttons.indexOf(\n added.length ? last(added).node : last(attributes).node\n );\n\n for (const [i, button] of buttons.entries()) {\n if (button.selected && i !== idx) {\n button.selected = false;\n }\n }\n }\n\n private get _selectedButtons(): Array<IgcToggleButtonComponent> {\n return this.toggleButtons.filter((b) => b.selected);\n }\n\n @queryAssignedElements({ selector: IgcToggleButtonComponent.tagName })\n private toggleButtons!: Array<IgcToggleButtonComponent>;\n\n /**\n * Disables all buttons inside the group.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /**\n * Sets the orientation of the buttons in the group.\n * @attr\n */\n @property({ reflect: true })\n public alignment: ContentOrientation = 'horizontal';\n\n /**\n * Controls the mode of selection for the button group.\n * @attr\n */\n @property({ reflect: false })\n public selection: ButtonGroupSelection = 'single';\n\n /**\n * Gets/Sets the currently selected buttons (their values).\n * @attr\n */\n @property({ attribute: 'selected-items', type: Array, reflect: false })\n public get selectedItems(): string[] {\n return this._selectedButtons.map((b) => b.value).filter((v) => v);\n }\n\n public set selectedItems(values: string[]) {\n this._selectedItems = new Set(Array.isArray(values) ? values : []);\n this.setSelection(this._selectedItems);\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n protected updateDisabledState() {\n this.toggleButtons.forEach((b) => {\n b.disabled = this.disabled;\n });\n }\n\n @watch('selection', { waitUntilFirstUpdate: true })\n protected updateSelectionState() {\n if (this._selectedButtons.length) {\n this.toggleButtons.forEach((b) => {\n b.selected = false;\n });\n }\n }\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n createMutationController(this, {\n callback: this._observerCallback,\n filter: [IgcToggleButtonComponent.tagName],\n config: {\n attributeFilter: ['selected'],\n childList: true,\n subtree: true,\n },\n });\n }\n\n protected override firstUpdated() {\n if (this.disabled) {\n this.updateDisabledState();\n }\n\n const buttons = this._selectedButtons;\n\n if (buttons.length) {\n if (!this.isMultiple) {\n const index = buttons.indexOf(buttons.at(-1)!);\n\n for (let i = 0; i < index; i++) {\n buttons[i].selected = false;\n }\n }\n } else {\n this.setSelection(this._selectedItems);\n }\n }\n\n private handleClick(event: MouseEvent) {\n const button = findElementFromEventPath<IgcToggleButtonComponent>(\n IgcToggleButtonComponent.tagName,\n event\n );\n\n if (button) {\n this.isMultiple\n ? this.handleMultipleSelection(button)\n : this.handleSingleSelection(button);\n }\n }\n\n private handleSingleSelection(button: IgcToggleButtonComponent) {\n const singleRequired = this.selection === 'single-required';\n const selectedButton = this._selectedButtons.at(0);\n const isSame = selectedButton && selectedButton.value === button.value;\n\n if (selectedButton) {\n if (singleRequired && isSame) return;\n this.emitDeselectEvent(selectedButton);\n }\n if (isSame) return;\n this.emitSelectEvent(button);\n }\n\n private handleMultipleSelection(button: IgcToggleButtonComponent) {\n button.selected\n ? this.emitDeselectEvent(button)\n : this.emitSelectEvent(button);\n }\n\n private emitSelectEvent(button: IgcToggleButtonComponent) {\n button.selected = true;\n this.emitEvent('igcSelect', { detail: button.value });\n }\n\n private emitDeselectEvent(button: IgcToggleButtonComponent) {\n button.selected = false;\n this.emitEvent('igcDeselect', { detail: button.value });\n }\n\n private setSelection(values: Set<string>) {\n if (!values.size) {\n this.toggleButtons.forEach((b) => {\n b.selected = false;\n });\n return;\n }\n\n for (const button of this.toggleButtons) {\n if (values.has(button.value)) {\n button.selected = true;\n if (!this.isMultiple) {\n break;\n }\n }\n }\n }\n\n protected override render() {\n return html`\n <div\n part=\"group\"\n role=\"group\"\n aria-disabled=${this.disabled}\n @click=${this.handleClick}\n >\n <slot></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-button-group': IgcButtonGroupComponent;\n }\n}\n"]}
@@ -12,12 +12,6 @@ import { LitElement } from 'lit';
12
12
  export default class IgcToggleButtonComponent extends LitElement {
13
13
  static styles: import("lit").CSSResult[];
14
14
  static readonly tagName = "igc-toggle-button";
15
- static shadowRootOptions: {
16
- delegatesFocus: boolean;
17
- mode: ShadowRootMode;
18
- serializable?: boolean;
19
- slotAssignment?: SlotAssignmentMode;
20
- };
21
15
  static register(): void;
22
16
  private readonly _focusRingManager;
23
17
  private readonly _nativeButton;
@@ -36,6 +30,7 @@ export default class IgcToggleButtonComponent extends LitElement {
36
30
  * @attr
37
31
  */
38
32
  disabled: boolean;
33
+ constructor();
39
34
  /** Sets focus on the button. */
40
35
  focus(options?: FocusOptions): void;
41
36
  /** Removes focus from the button. */
@@ -5,24 +5,26 @@ 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 IgcToggleButtonComponent_1;
8
- import { LitElement, html } from 'lit';
8
+ import { html, LitElement } from 'lit';
9
9
  import { property, query } from 'lit/decorators.js';
10
- import { themes } from '../../theming/theming-decorator.js';
10
+ import { addThemingController } from '../../theming/theming-controller.js';
11
11
  import { addKeyboardFocusRing } from '../common/controllers/focus-ring.js';
12
+ import { shadowOptions } from '../common/decorators/shadow-options.js';
12
13
  import { registerComponent } from '../common/definitions/register.js';
13
14
  import { partMap } from '../common/part-map.js';
14
15
  import { styles } from './themes/button.base.css.js';
15
16
  import { all } from './themes/button.js';
16
17
  import { styles as shared } from './themes/shared/button/button.common.css.js';
17
18
  let IgcToggleButtonComponent = IgcToggleButtonComponent_1 = class IgcToggleButtonComponent extends LitElement {
19
+ static register() {
20
+ registerComponent(IgcToggleButtonComponent_1);
21
+ }
18
22
  constructor() {
19
- super(...arguments);
23
+ super();
20
24
  this._focusRingManager = addKeyboardFocusRing(this);
21
25
  this.selected = false;
22
26
  this.disabled = false;
23
- }
24
- static register() {
25
- registerComponent(IgcToggleButtonComponent_1);
27
+ addThemingController(this, all);
26
28
  }
27
29
  focus(options) {
28
30
  this._nativeButton.focus(options);
@@ -53,10 +55,6 @@ let IgcToggleButtonComponent = IgcToggleButtonComponent_1 = class IgcToggleButto
53
55
  };
54
56
  IgcToggleButtonComponent.styles = [styles, shared];
55
57
  IgcToggleButtonComponent.tagName = 'igc-toggle-button';
56
- IgcToggleButtonComponent.shadowRootOptions = {
57
- ...LitElement.shadowRootOptions,
58
- delegatesFocus: true,
59
- };
60
58
  __decorate([
61
59
  query('[part="toggle"]', true)
62
60
  ], IgcToggleButtonComponent.prototype, "_nativeButton", void 0);
@@ -70,7 +68,7 @@ __decorate([
70
68
  property({ type: Boolean, reflect: true })
71
69
  ], IgcToggleButtonComponent.prototype, "disabled", void 0);
72
70
  IgcToggleButtonComponent = IgcToggleButtonComponent_1 = __decorate([
73
- themes(all)
71
+ shadowOptions({ delegatesFocus: true })
74
72
  ], IgcToggleButtonComponent);
75
73
  export default IgcToggleButtonComponent;
76
74
  //# sourceMappingURL=toggle-button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-button.js","sourceRoot":"","sources":["../../../src/components/button-group/toggle-button.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6CAA6C,CAAC;AAahE,IAAM,wBAAwB,gCAA9B,MAAM,wBAAyB,SAAQ,UAAU;IAAjD;;QAcI,sBAAiB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAiBzD,aAAQ,GAAG,KAAK,CAAC;QAOjB,aAAQ,GAAG,KAAK,CAAC;IAoC1B,CAAC;IAhEQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,0BAAwB,CAAC,CAAC;IAC9C,CAAC;IA8Be,KAAK,CAAC,OAAsB;QAC1C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAIe,IAAI;QAClB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAGe,KAAK;QACnB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;eAEA,OAAO,CAAC;YACb,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO;SACxC,CAAC;;oBAEU,IAAI,CAAC,QAAQ;qBACZ,IAAI,CAAC,SAAS;uBACZ,IAAI,CAAC,QAAQ;wBACZ,IAAI,CAAC,QAAQ;;;;KAIhC,CAAC;IACJ,CAAC;;AAxEsB,+BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAC1B,gCAAO,GAAG,mBAAmB,AAAtB,CAAuB;AAE9B,0CAAiB,GAAG;IACzC,GAAG,UAAU,CAAC,iBAAiB;IAC/B,cAAc,EAAE,IAAI;CACrB,AAHuC,CAGtC;AAUe;IADhB,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC;+DACoB;AAO5C;IADN,QAAQ,EAAE;uDACW;AAOf;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0DACnB;AAOjB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0DACnB;AAtCL,wBAAwB;IAD5C,MAAM,CAAC,GAAG,CAAC;GACS,wBAAwB,CA0E5C;eA1EoB,wBAAwB","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { addKeyboardFocusRing } from '../common/controllers/focus-ring.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { partMap } from '../common/part-map.js';\nimport { styles } from './themes/button.base.css.js';\nimport { all } from './themes/button.js';\nimport { styles as shared } from './themes/shared/button/button.common.css.js';\n\n/**\n * The `igc-toggle-button` wraps a native button element and exposes additional `value` and `selected` properties.\n * It is used in the context of an `igc-button-group` to facilitate the creation of group/toolbar like UX behaviors.\n *\n * @element igc-toggle-button\n *\n * @slot Renders the label/content of the button.\n *\n * @csspart toggle - The native button element.\n */\n@themes(all)\nexport default class IgcToggleButtonComponent extends LitElement {\n public static override styles = [styles, shared];\n public static readonly tagName = 'igc-toggle-button';\n\n public static override shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcToggleButtonComponent);\n }\n\n private readonly _focusRingManager = addKeyboardFocusRing(this);\n\n @query('[part=\"toggle\"]', true)\n private readonly _nativeButton!: HTMLButtonElement;\n\n /**\n * The value attribute of the control.\n * @attr\n */\n @property()\n public value!: string;\n\n /**\n * Determines whether the button is selected.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public selected = false;\n\n /**\n * Determines whether the button is disabled.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /* alternateName: focusComponent */\n /** Sets focus on the button. */\n public override focus(options?: FocusOptions): void {\n this._nativeButton.focus(options);\n }\n\n /* alternateName: blurComponent */\n /** Removes focus from the button. */\n public override blur(): void {\n this._nativeButton.blur();\n }\n\n /** Simulates a mouse click on the element. */\n public override click(): void {\n this._nativeButton.click();\n }\n\n protected override render() {\n return html`\n <button\n part=${partMap({\n toggle: true,\n focused: this._focusRingManager.focused,\n })}\n type=\"button\"\n ?disabled=${this.disabled}\n .ariaLabel=${this.ariaLabel}\n aria-pressed=${this.selected}\n aria-disabled=${this.disabled}\n >\n <slot></slot>\n </button>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-toggle-button': IgcToggleButtonComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"toggle-button.js","sourceRoot":"","sources":["../../../src/components/button-group/toggle-button.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6CAA6C,CAAC;AAahE,IAAM,wBAAwB,gCAA9B,MAAM,wBAAyB,SAAQ,UAAU;IAKvD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,0BAAwB,CAAC,CAAC;IAC9C,CAAC;IA4BD;QACE,KAAK,EAAE,CAAC;QA3BO,sBAAiB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAiBzD,aAAQ,GAAG,KAAK,CAAC;QAOjB,aAAQ,GAAG,KAAK,CAAC;QAItB,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAIe,KAAK,CAAC,OAAsB;QAC1C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAIe,IAAI;QAClB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAGe,KAAK;QACnB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;eAEA,OAAO,CAAC;YACb,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO;SACxC,CAAC;;oBAEU,IAAI,CAAC,QAAQ;qBACZ,IAAI,CAAC,SAAS;uBACZ,IAAI,CAAC,QAAQ;wBACZ,IAAI,CAAC,QAAQ;;;;KAIhC,CAAC;IACJ,CAAC;;AAxEsB,+BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAC1B,gCAAO,GAAG,mBAAmB,AAAtB,CAAuB;AAUpC;IADhB,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC;+DACoB;AAO5C;IADN,QAAQ,EAAE;uDACW;AAOf;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0DACnB;AAOjB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0DACnB;AAjCL,wBAAwB;IAD5C,aAAa,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;GACnB,wBAAwB,CA0E5C;eA1EoB,wBAAwB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, query } from 'lit/decorators.js';\n\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport { addKeyboardFocusRing } from '../common/controllers/focus-ring.js';\nimport { shadowOptions } from '../common/decorators/shadow-options.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { partMap } from '../common/part-map.js';\nimport { styles } from './themes/button.base.css.js';\nimport { all } from './themes/button.js';\nimport { styles as shared } from './themes/shared/button/button.common.css.js';\n\n/**\n * The `igc-toggle-button` wraps a native button element and exposes additional `value` and `selected` properties.\n * It is used in the context of an `igc-button-group` to facilitate the creation of group/toolbar like UX behaviors.\n *\n * @element igc-toggle-button\n *\n * @slot Renders the label/content of the button.\n *\n * @csspart toggle - The native button element.\n */\n@shadowOptions({ delegatesFocus: true })\nexport default class IgcToggleButtonComponent extends LitElement {\n public static override styles = [styles, shared];\n public static readonly tagName = 'igc-toggle-button';\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcToggleButtonComponent);\n }\n\n private readonly _focusRingManager = addKeyboardFocusRing(this);\n\n @query('[part=\"toggle\"]', true)\n private readonly _nativeButton!: HTMLButtonElement;\n\n /**\n * The value attribute of the control.\n * @attr\n */\n @property()\n public value!: string;\n\n /**\n * Determines whether the button is selected.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public selected = false;\n\n /**\n * Determines whether the button is disabled.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n constructor() {\n super();\n addThemingController(this, all);\n }\n\n /* alternateName: focusComponent */\n /** Sets focus on the button. */\n public override focus(options?: FocusOptions): void {\n this._nativeButton.focus(options);\n }\n\n /* alternateName: blurComponent */\n /** Removes focus from the button. */\n public override blur(): void {\n this._nativeButton.blur();\n }\n\n /** Simulates a mouse click on the element. */\n public override click(): void {\n this._nativeButton.click();\n }\n\n protected override render() {\n return html`\n <button\n part=${partMap({\n toggle: true,\n focused: this._focusRingManager.focused,\n })}\n type=\"button\"\n ?disabled=${this.disabled}\n .ariaLabel=${this.ariaLabel}\n aria-pressed=${this.selected}\n aria-disabled=${this.disabled}\n >\n <slot></slot>\n </button>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-toggle-button': IgcToggleButtonComponent;\n }\n}\n"]}
@@ -4,13 +4,12 @@ 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 IgcCalendarComponent_1;
8
7
  import { html, nothing } from 'lit';
9
8
  import { property, query, queryAll, state } from 'lit/decorators.js';
10
9
  import { choose } from 'lit/directives/choose.js';
11
10
  import { createRef, ref } from 'lit/directives/ref.js';
12
11
  import { styleMap } from 'lit/directives/style-map.js';
13
- import { themes } from '../../theming/theming-decorator.js';
12
+ import { addThemingController } from '../../theming/theming-controller.js';
14
13
  import { addKeybindings, arrowDown, arrowLeft, arrowRight, arrowUp, endKey, homeKey, pageDownKey, pageUpKey, shiftKey, } from '../common/controllers/key-bindings.js';
15
14
  import { watch } from '../common/decorators/watch.js';
16
15
  import { registerComponent } from '../common/definitions/register.js';
@@ -22,16 +21,16 @@ import { clamp, findElementFromEventPath, first, formatString, last, } from '../
22
21
  import IgcIconComponent from '../icon/icon.js';
23
22
  import { IgcCalendarBaseComponent } from './base.js';
24
23
  import IgcDaysViewComponent from './days-view/days-view.js';
25
- import { MONTHS_PER_ROW, YEARS_PER_PAGE, YEARS_PER_ROW, areSameMonth, getYearRange, isDateInRanges, } from './helpers.js';
24
+ import { areSameMonth, getYearRange, isDateInRanges, MONTHS_PER_ROW, YEARS_PER_PAGE, YEARS_PER_ROW, } from './helpers.js';
26
25
  import { CalendarDay } from './model.js';
27
26
  import IgcMonthsViewComponent from './months-view/months-view.js';
28
27
  import { styles } from './themes/calendar.base.css.js';
29
28
  import { all } from './themes/calendar.js';
30
29
  import IgcYearsViewComponent from './years-view/years-view.js';
31
30
  export const focusActiveDate = Symbol();
32
- let IgcCalendarComponent = IgcCalendarComponent_1 = class IgcCalendarComponent extends EventEmitterMixin(IgcCalendarBaseComponent) {
31
+ class IgcCalendarComponent extends EventEmitterMixin(IgcCalendarBaseComponent) {
33
32
  static register() {
34
- registerComponent(IgcCalendarComponent_1, IgcIconComponent, IgcDaysViewComponent, IgcMonthsViewComponent, IgcYearsViewComponent);
33
+ registerComponent(IgcCalendarComponent, IgcIconComponent, IgcDaysViewComponent, IgcMonthsViewComponent, IgcYearsViewComponent);
35
34
  }
36
35
  get _isDayView() {
37
36
  return this.activeView === 'days';
@@ -183,6 +182,7 @@ let IgcCalendarComponent = IgcCalendarComponent_1 = class IgcCalendarComponent e
183
182
  monthDay: { month: 'short', day: 'numeric' },
184
183
  yearLabel: { month: 'long', year: 'numeric' },
185
184
  });
185
+ addThemingController(this, all);
186
186
  addKeybindings(this, {
187
187
  skip: this.isNotFromCalendarView,
188
188
  ref: this.contentRef,
@@ -479,9 +479,10 @@ let IgcCalendarComponent = IgcCalendarComponent_1 = class IgcCalendarComponent e
479
479
  this.activeView = 'years';
480
480
  this[focusActiveDate]();
481
481
  }
482
- };
482
+ }
483
483
  IgcCalendarComponent.tagName = 'igc-calendar';
484
484
  IgcCalendarComponent.styles = styles;
485
+ export default IgcCalendarComponent;
485
486
  __decorate([
486
487
  state()
487
488
  ], IgcCalendarComponent.prototype, "activeDaysViewIndex", void 0);
@@ -524,8 +525,4 @@ __decorate([
524
525
  __decorate([
525
526
  watch('formatOptions')
526
527
  ], IgcCalendarComponent.prototype, "formatOptionsChange", null);
527
- IgcCalendarComponent = IgcCalendarComponent_1 = __decorate([
528
- themes(all)
529
- ], IgcCalendarComponent);
530
- export default IgcCalendarComponent;
531
528
  //# sourceMappingURL=calendar.js.map