igniteui-webcomponents 3.3.0-beta.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/CHANGELOG.md +28 -20
  2. package/components/accordion/accordion.d.ts +36 -0
  3. package/components/accordion/accordion.js +127 -0
  4. package/components/accordion/accordion.js.map +1 -0
  5. package/components/accordion/themes/accordion.base.css.d.ts +1 -0
  6. package/components/accordion/themes/accordion.base.css.js +3 -0
  7. package/components/accordion/themes/accordion.base.css.js.map +1 -0
  8. package/components/button/icon-button.d.ts +0 -1
  9. package/components/button/icon-button.js +3 -1
  10. package/components/button/icon-button.js.map +1 -1
  11. package/components/calendar/calendar.d.ts +0 -4
  12. package/components/calendar/calendar.js +6 -4
  13. package/components/calendar/calendar.js.map +1 -1
  14. package/components/calendar/common/calendar.model.js.map +1 -1
  15. package/components/calendar/days-view/days-view.d.ts +1 -0
  16. package/components/calendar/days-view/days-view.js +2 -2
  17. package/components/calendar/days-view/days-view.js.map +1 -1
  18. package/components/calendar/months-view/months-view.d.ts +1 -0
  19. package/components/calendar/months-view/months-view.js +2 -2
  20. package/components/calendar/months-view/months-view.js.map +1 -1
  21. package/components/calendar/years-view/years-view.d.ts +1 -0
  22. package/components/calendar/years-view/years-view.js +2 -2
  23. package/components/calendar/years-view/years-view.js.map +1 -1
  24. package/components/card/card.js +6 -0
  25. package/components/card/card.js.map +1 -1
  26. package/components/checkbox/checkbox.d.ts +1 -0
  27. package/components/checkbox/checkbox.js +6 -5
  28. package/components/checkbox/checkbox.js.map +1 -1
  29. package/components/checkbox/switch.d.ts +1 -0
  30. package/components/checkbox/switch.js +6 -5
  31. package/components/checkbox/switch.js.map +1 -1
  32. package/components/chip/chip.d.ts +0 -1
  33. package/components/chip/chip.js +3 -1
  34. package/components/chip/chip.js.map +1 -1
  35. package/components/common/decorators/blazorAdditionalDependencies.d.ts +5 -0
  36. package/components/common/decorators/blazorAdditionalDependencies.js +6 -0
  37. package/components/common/decorators/blazorAdditionalDependencies.js.map +1 -0
  38. package/components/common/decorators/index.d.ts +1 -0
  39. package/components/common/decorators/index.js +1 -0
  40. package/components/common/decorators/index.js.map +1 -1
  41. package/components/common/definitions/defineAllComponents.js +2 -0
  42. package/components/common/definitions/defineAllComponents.js.map +1 -1
  43. package/components/common/i18n/calendar.resources.js.map +1 -1
  44. package/components/common/types.d.ts +1 -0
  45. package/components/common/types.js +2 -0
  46. package/components/common/types.js.map +1 -0
  47. package/components/common/util.d.ts +1 -1
  48. package/components/common/util.js +2 -2
  49. package/components/common/util.js.map +1 -1
  50. package/components/date-time-input/date-time-input.d.ts +2 -0
  51. package/components/date-time-input/date-time-input.js +12 -2
  52. package/components/date-time-input/date-time-input.js.map +1 -1
  53. package/components/dropdown/dropdown-group.d.ts +3 -2
  54. package/components/dropdown/dropdown-group.js +7 -10
  55. package/components/dropdown/dropdown-group.js.map +1 -1
  56. package/components/dropdown/dropdown.d.ts +24 -20
  57. package/components/dropdown/dropdown.js +63 -79
  58. package/components/dropdown/dropdown.js.map +1 -1
  59. package/components/expansion-panel/expansion-panel.d.ts +1 -1
  60. package/components/expansion-panel/expansion-panel.js +11 -6
  61. package/components/expansion-panel/expansion-panel.js.map +1 -1
  62. package/components/expansion-panel/themes/light/expansion-panel.base.css.js +1 -1
  63. package/components/expansion-panel/themes/light/expansion-panel.base.css.js.map +1 -1
  64. package/components/icon/icon.js +3 -7
  65. package/components/icon/icon.js.map +1 -1
  66. package/components/icon/icon.registry.js +2 -0
  67. package/components/icon/icon.registry.js.map +1 -1
  68. package/components/input/input-base.d.ts +2 -1
  69. package/components/input/input-base.js +6 -5
  70. package/components/input/input-base.js.map +1 -1
  71. package/components/list/list.js +4 -0
  72. package/components/list/list.js.map +1 -1
  73. package/components/nav-drawer/nav-drawer.js +4 -0
  74. package/components/nav-drawer/nav-drawer.js.map +1 -1
  75. package/components/progress/circular-progress.d.ts +1 -1
  76. package/components/progress/circular-progress.js +3 -0
  77. package/components/progress/circular-progress.js.map +1 -1
  78. package/components/radio/radio.d.ts +1 -0
  79. package/components/radio/radio.js +6 -5
  80. package/components/radio/radio.js.map +1 -1
  81. package/components/rating/rating-symbol.base.css.d.ts +1 -0
  82. package/components/rating/rating-symbol.base.css.js +3 -0
  83. package/components/rating/rating-symbol.base.css.js.map +1 -0
  84. package/components/rating/rating-symbol.d.ts +8 -2
  85. package/components/rating/rating-symbol.js +12 -3
  86. package/components/rating/rating-symbol.js.map +1 -1
  87. package/components/rating/rating.base.css.js +1 -1
  88. package/components/rating/rating.base.css.js.map +1 -1
  89. package/components/rating/rating.bootstrap.css.js +1 -1
  90. package/components/rating/rating.bootstrap.css.js.map +1 -1
  91. package/components/rating/rating.d.ts +18 -13
  92. package/components/rating/rating.fluent.css.js +1 -1
  93. package/components/rating/rating.fluent.css.js.map +1 -1
  94. package/components/rating/rating.indigo.css.js +1 -1
  95. package/components/rating/rating.indigo.css.js.map +1 -1
  96. package/components/rating/rating.js +86 -44
  97. package/components/rating/rating.js.map +1 -1
  98. package/components/slider/range-slider.js.map +1 -1
  99. package/components/slider/slider-base.js +4 -1
  100. package/components/slider/slider-base.js.map +1 -1
  101. package/components/slider/themes/light/slider.base.css.js +1 -1
  102. package/components/slider/themes/light/slider.base.css.js.map +1 -1
  103. package/components/slider/themes/light/slider.bootstrap.css.js +1 -1
  104. package/components/slider/themes/light/slider.bootstrap.css.js.map +1 -1
  105. package/components/slider/themes/light/slider.fluent.css.js +1 -1
  106. package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
  107. package/components/slider/themes/light/slider.indigo.css.js +1 -1
  108. package/components/slider/themes/light/slider.indigo.css.js.map +1 -1
  109. package/components/slider/themes/light/slider.material.css.js +1 -1
  110. package/components/slider/themes/light/slider.material.css.js.map +1 -1
  111. package/components/snackbar/snackbar.js +3 -0
  112. package/components/snackbar/snackbar.js.map +1 -1
  113. package/components/tabs/tab-panel.js +2 -3
  114. package/components/tabs/tab-panel.js.map +1 -1
  115. package/components/tabs/tab.js +1 -1
  116. package/components/tabs/tab.js.map +1 -1
  117. package/components/tabs/tabs.d.ts +2 -3
  118. package/components/tabs/tabs.js +10 -2
  119. package/components/tabs/tabs.js.map +1 -1
  120. package/components/tabs/themes/light/tab.base.css.js +1 -1
  121. package/components/tabs/themes/light/tab.base.css.js.map +1 -1
  122. package/components/toggle/toggle.controller.d.ts +17 -2
  123. package/components/toggle/toggle.controller.js +16 -11
  124. package/components/toggle/toggle.controller.js.map +1 -1
  125. package/components/toggle/toggle.directive.d.ts +1 -1
  126. package/components/toggle/toggle.directive.js +1 -0
  127. package/components/toggle/toggle.directive.js.map +1 -1
  128. package/components/tree/tree-item.d.ts +0 -1
  129. package/components/tree/tree-item.js +8 -1
  130. package/components/tree/tree-item.js.map +1 -1
  131. package/components/tree/tree.common.js.map +1 -1
  132. package/components/tree/tree.d.ts +2 -2
  133. package/components/tree/tree.js +22 -2
  134. package/components/tree/tree.js.map +1 -1
  135. package/custom-elements.json +125 -28
  136. package/index.d.ts +7 -12
  137. package/index.js +4 -11
  138. package/index.js.map +1 -1
  139. package/package.json +10 -8
  140. package/vscode-html-custom-data.json +31 -35
@@ -4,23 +4,23 @@ 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 IgcSwitchComponent_1;
7
8
  import { html } from 'lit';
8
9
  import { ifDefined } from 'lit/directives/if-defined.js';
9
10
  import { live } from 'lit/directives/live.js';
10
11
  import { themes } from '../../theming/theming-decorator.js';
11
12
  import { watch } from '../common/decorators/watch.js';
12
- import { partNameMap } from '../common/util.js';
13
+ import { createCounter, partNameMap } from '../common/util.js';
13
14
  import { IgcCheckboxBaseComponent } from './checkbox-base.js';
14
15
  import { styles } from './themes/light/switch.base.css.js';
15
16
  import { styles as bootstrap } from './themes/light/switch.bootstrap.css.js';
16
17
  import { styles as fluent } from './themes/light/switch.fluent.css.js';
17
18
  import { styles as indigo } from './themes/light/switch.indigo.css.js';
18
19
  import { styles as material } from './themes/light/switch.material.css.js';
19
- let nextId = 0;
20
- let IgcSwitchComponent = class IgcSwitchComponent extends IgcCheckboxBaseComponent {
20
+ let IgcSwitchComponent = IgcSwitchComponent_1 = class IgcSwitchComponent extends IgcCheckboxBaseComponent {
21
21
  constructor() {
22
22
  super(...arguments);
23
- this.inputId = `switch-${nextId++}`;
23
+ this.inputId = `switch-${IgcSwitchComponent_1.increment()}`;
24
24
  this.labelId = `switch-label-${this.inputId}`;
25
25
  }
26
26
  handleClick() {
@@ -77,10 +77,11 @@ let IgcSwitchComponent = class IgcSwitchComponent extends IgcCheckboxBaseCompone
77
77
  };
78
78
  IgcSwitchComponent.tagName = 'igc-switch';
79
79
  IgcSwitchComponent.styles = styles;
80
+ IgcSwitchComponent.increment = createCounter();
80
81
  __decorate([
81
82
  watch('checked', { waitUntilFirstUpdate: true })
82
83
  ], IgcSwitchComponent.prototype, "handleChange", null);
83
- IgcSwitchComponent = __decorate([
84
+ IgcSwitchComponent = IgcSwitchComponent_1 = __decorate([
84
85
  themes({ material, bootstrap, fluent, indigo })
85
86
  ], IgcSwitchComponent);
86
87
  export default IgcSwitchComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../../src/components/checkbox/switch.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { partNameMap } from '../common/util.js';\nimport { IgcCheckboxBaseComponent } from './checkbox-base.js';\nimport { styles } from './themes/light/switch.base.css.js';\nimport { styles as bootstrap } from './themes/light/switch.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/switch.fluent.css.js';\nimport { styles as indigo } from './themes/light/switch.indigo.css.js';\nimport { styles as material } from './themes/light/switch.material.css.js';\n\nlet nextId = 0;\n\n/**\n * Similar to a checkbox, a switch controls the state of a single setting on or off.\n *\n * @element igc-switch\n *\n * @slot - The switch label.\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcFocus - Emitted when the control gains focus.\n * @fires igcBlur - Emitted when the control loses focus.\n *\n * @csspart base - The base wrapper of the switch.\n * @csspart control - The switch control.\n * @csspart thumb - The position indicator of the switch.\n * @csspart label - The switch label.\n */\n@themes({ material, bootstrap, fluent, indigo })\nexport default class IgcSwitchComponent extends IgcCheckboxBaseComponent {\n public static readonly tagName = 'igc-switch';\n public static styles = styles;\n\n private inputId = `switch-${nextId++}`;\n private labelId = `switch-label-${this.inputId}`;\n\n private handleClick() {\n this.checked = !this.checked;\n this.emitEvent('igcChange', { detail: this.checked });\n }\n\n @watch('checked', { waitUntilFirstUpdate: true })\n protected handleChange() {\n this.invalid = !this.input.checkValidity();\n }\n\n protected override render() {\n return html`\n <label\n part=${partNameMap({ base: true, checked: this.checked })}\n for=${this.inputId}\n @pointerdown=${this.handleMouseDown}\n >\n <input\n id=${this.inputId}\n type=\"checkbox\"\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n .required=${this.required}\n .disabled=${this.disabled}\n .checked=${live(this.checked)}\n aria-checked=${this.checked ? 'true' : 'false'}\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-labelledby=${this.ariaLabelledby\n ? this.ariaLabelledby\n : this.labelId}\n @click=${this.handleClick}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n />\n <span\n part=${partNameMap({\n control: true,\n checked: this.checked,\n focused: this.focused,\n })}\n >\n <span\n part=${partNameMap({ thumb: true, checked: this.checked })}\n ></span>\n </span>\n <span\n part=${partNameMap({ label: true, checked: this.checked })}\n id=${this.labelId}\n >\n <slot></slot>\n </span>\n </label>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-switch': IgcSwitchComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../../src/components/checkbox/switch.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { createCounter, partNameMap } from '../common/util.js';\nimport { IgcCheckboxBaseComponent } from './checkbox-base.js';\nimport { styles } from './themes/light/switch.base.css.js';\nimport { styles as bootstrap } from './themes/light/switch.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/switch.fluent.css.js';\nimport { styles as indigo } from './themes/light/switch.indigo.css.js';\nimport { styles as material } from './themes/light/switch.material.css.js';\n\n/**\n * Similar to a checkbox, a switch controls the state of a single setting on or off.\n *\n * @element igc-switch\n *\n * @slot - The switch label.\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcFocus - Emitted when the control gains focus.\n * @fires igcBlur - Emitted when the control loses focus.\n *\n * @csspart base - The base wrapper of the switch.\n * @csspart control - The switch control.\n * @csspart thumb - The position indicator of the switch.\n * @csspart label - The switch label.\n */\n@themes({ material, bootstrap, fluent, indigo })\nexport default class IgcSwitchComponent extends IgcCheckboxBaseComponent {\n public static readonly tagName = 'igc-switch';\n public static styles = styles;\n private static readonly increment = createCounter();\n\n private inputId = `switch-${IgcSwitchComponent.increment()}`;\n private labelId = `switch-label-${this.inputId}`;\n\n private handleClick() {\n this.checked = !this.checked;\n this.emitEvent('igcChange', { detail: this.checked });\n }\n\n @watch('checked', { waitUntilFirstUpdate: true })\n protected handleChange() {\n this.invalid = !this.input.checkValidity();\n }\n\n protected override render() {\n return html`\n <label\n part=${partNameMap({ base: true, checked: this.checked })}\n for=${this.inputId}\n @pointerdown=${this.handleMouseDown}\n >\n <input\n id=${this.inputId}\n type=\"checkbox\"\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n .required=${this.required}\n .disabled=${this.disabled}\n .checked=${live(this.checked)}\n aria-checked=${this.checked ? 'true' : 'false'}\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-labelledby=${this.ariaLabelledby\n ? this.ariaLabelledby\n : this.labelId}\n @click=${this.handleClick}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n />\n <span\n part=${partNameMap({\n control: true,\n checked: this.checked,\n focused: this.focused,\n })}\n >\n <span\n part=${partNameMap({ thumb: true, checked: this.checked })}\n ></span>\n </span>\n <span\n part=${partNameMap({ label: true, checked: this.checked })}\n id=${this.labelId}\n >\n <slot></slot>\n </span>\n </label>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-switch': IgcSwitchComponent;\n }\n}\n"]}
@@ -1,6 +1,5 @@
1
1
  import { LitElement } from 'lit';
2
2
  import { Constructor } from '../common/mixins/constructor.js';
3
- import '../icon/icon.js';
4
3
  export interface IgcChipEventMap {
5
4
  igcRemove: CustomEvent<boolean>;
6
5
  igcSelect: CustomEvent<boolean>;
@@ -15,7 +15,9 @@ import { styles as bootstrap } from './themes/chip.bootstrap.css.js';
15
15
  import { styles as fluent } from './themes/chip.fluent.css.js';
16
16
  import { styles as indigo } from './themes/chip.indigo.css.js';
17
17
  import { styles as material } from './themes/chip.material.css.js';
18
- import '../icon/icon.js';
18
+ import { defineComponents } from '../common/definitions/defineComponents.js';
19
+ import IgcIconComponent from '../icon/icon.js';
20
+ defineComponents(IgcIconComponent);
19
21
  let IgcChipComponent = class IgcChipComponent extends SizableMixin(EventEmitterMixin(LitElement)) {
20
22
  constructor() {
21
23
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"chip.js","sourceRoot":"","sources":["../../../src/components/chip/chip.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { blazorTwoWayBind } from '../common/decorators/blazorTwoWayBind.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { SizableMixin } from '../common/mixins/sizable.js';\nimport { styles } from './themes/chip.base.css.js';\nimport { styles as bootstrap } from './themes/chip.bootstrap.css.js';\nimport { styles as fluent } from './themes/chip.fluent.css.js';\nimport { styles as indigo } from './themes/chip.indigo.css.js';\nimport { styles as material } from './themes/chip.material.css.js';\nimport '../icon/icon.js';\n\nexport interface IgcChipEventMap {\n igcRemove: CustomEvent<boolean>;\n igcSelect: CustomEvent<boolean>;\n}\n/**\n * Chips help people enter information, make selections, filter content, or trigger actions.\n *\n * @element igc-chip\n *\n * @slot - Renders the chip data.\n * @slot prefix - Renders content before the data of the chip.\n * @slot suffix - Renders content after the data of the chip.\n *\n * @fires igcRemove - Emits an event when the chip component is removed. Returns the removed chip component.\n * @fires igcSelect - Emits event when the chip component is selected/deselected and any related animations and transitions also end.\n *\n * @csspart base - The base wrapper of the chip.\n * @csspart prefix - The prefix container of the chip.\n * @csspart suffix - The suffix container of the chip.\n */\n@themes({ material, bootstrap, fluent, indigo })\nexport default class IgcChipComponent extends SizableMixin(\n EventEmitterMixin<IgcChipEventMap, Constructor<LitElement>>(LitElement)\n) {\n public static readonly tagName = 'igc-chip';\n\n public static styles = styles;\n\n /** Sets the disabled state for the chip. */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /** \tDefines if the chip is removable or not. */\n @property({ type: Boolean, reflect: true })\n public removable = false;\n\n /**\tDefines if the chip is selectable or not. */\n @property({ type: Boolean, reflect: true })\n public selectable = false;\n\n /**\tDefines if the chip is selected or not. */\n @property({ type: Boolean, reflect: true })\n @blazorTwoWayBind('igcSelect', 'detail')\n public selected = false;\n\n /** A property that sets the color variant of the chip component. */\n @property({ reflect: true })\n public variant!: 'primary' | 'success' | 'danger' | 'warning' | 'info';\n\n constructor() {\n super();\n this.size = 'medium';\n }\n\n protected handleSelect() {\n if (this.selectable) {\n this.selected = !this.selected;\n this.emitEvent('igcSelect', { detail: this.selected });\n }\n }\n\n protected handleRemove(e: Event) {\n this.emitEvent('igcRemove');\n e.stopPropagation();\n }\n\n protected override render() {\n return html`\n <button\n part=\"base\"\n .disabled=\"${this.disabled}\"\n aria-selected=\"${this.selected ? 'true' : 'false'}\"\n aria-disabled=\"${this.disabled ? 'true' : 'false'}\"\n @click=${this.handleSelect}\n >\n <span part=\"prefix\">\n ${this.selectable && this.selected\n ? html`<slot @slotchange=${this.slotChanges} name=\"select\">\n <igc-icon\n size=${this.size}\n name=\"chip_select\"\n collection=\"internal\"\n ></igc-icon>\n </slot>`\n : nothing}\n <slot name=\"start\"></slot>\n <slot name=\"prefix\"></slot>\n </span>\n <slot></slot>\n <span part=\"suffix\">\n <slot name=\"end\"></slot>\n <slot name=\"suffix\"></slot>\n ${this.removable && !this.disabled\n ? html`<slot\n @slotchange=${this.slotChanges}\n @click=${this.handleRemove}\n name=\"remove\"\n >\n <igc-icon\n size=${this.size}\n name=\"chip_cancel\"\n collection=\"internal\"\n ></igc-icon>\n </slot>`\n : nothing}\n </span>\n </button>\n `;\n }\n\n protected slotChanges() {\n this.requestUpdate();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-chip': IgcChipComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"chip.js","sourceRoot":"","sources":["../../../src/components/chip/chip.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { blazorTwoWayBind } from '../common/decorators/blazorTwoWayBind.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { SizableMixin } from '../common/mixins/sizable.js';\nimport { styles } from './themes/chip.base.css.js';\nimport { styles as bootstrap } from './themes/chip.bootstrap.css.js';\nimport { styles as fluent } from './themes/chip.fluent.css.js';\nimport { styles as indigo } from './themes/chip.indigo.css.js';\nimport { styles as material } from './themes/chip.material.css.js';\n\nimport { defineComponents } from '../common/definitions/defineComponents.js';\nimport IgcIconComponent from '../icon/icon.js';\n\ndefineComponents(IgcIconComponent);\n\nexport interface IgcChipEventMap {\n igcRemove: CustomEvent<boolean>;\n igcSelect: CustomEvent<boolean>;\n}\n/**\n * Chips help people enter information, make selections, filter content, or trigger actions.\n *\n * @element igc-chip\n *\n * @slot - Renders the chip data.\n * @slot prefix - Renders content before the data of the chip.\n * @slot suffix - Renders content after the data of the chip.\n *\n * @fires igcRemove - Emits an event when the chip component is removed. Returns the removed chip component.\n * @fires igcSelect - Emits event when the chip component is selected/deselected and any related animations and transitions also end.\n *\n * @csspart base - The base wrapper of the chip.\n * @csspart prefix - The prefix container of the chip.\n * @csspart suffix - The suffix container of the chip.\n */\n@themes({ material, bootstrap, fluent, indigo })\nexport default class IgcChipComponent extends SizableMixin(\n EventEmitterMixin<IgcChipEventMap, Constructor<LitElement>>(LitElement)\n) {\n public static readonly tagName = 'igc-chip';\n\n public static styles = styles;\n\n /** Sets the disabled state for the chip. */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /** \tDefines if the chip is removable or not. */\n @property({ type: Boolean, reflect: true })\n public removable = false;\n\n /**\tDefines if the chip is selectable or not. */\n @property({ type: Boolean, reflect: true })\n public selectable = false;\n\n /**\tDefines if the chip is selected or not. */\n @property({ type: Boolean, reflect: true })\n @blazorTwoWayBind('igcSelect', 'detail')\n public selected = false;\n\n /** A property that sets the color variant of the chip component. */\n @property({ reflect: true })\n public variant!: 'primary' | 'success' | 'danger' | 'warning' | 'info';\n\n constructor() {\n super();\n this.size = 'medium';\n }\n\n protected handleSelect() {\n if (this.selectable) {\n this.selected = !this.selected;\n this.emitEvent('igcSelect', { detail: this.selected });\n }\n }\n\n protected handleRemove(e: Event) {\n this.emitEvent('igcRemove');\n e.stopPropagation();\n }\n\n protected override render() {\n return html`\n <button\n part=\"base\"\n .disabled=\"${this.disabled}\"\n aria-selected=\"${this.selected ? 'true' : 'false'}\"\n aria-disabled=\"${this.disabled ? 'true' : 'false'}\"\n @click=${this.handleSelect}\n >\n <span part=\"prefix\">\n ${this.selectable && this.selected\n ? html`<slot @slotchange=${this.slotChanges} name=\"select\">\n <igc-icon\n size=${this.size}\n name=\"chip_select\"\n collection=\"internal\"\n ></igc-icon>\n </slot>`\n : nothing}\n <slot name=\"start\"></slot>\n <slot name=\"prefix\"></slot>\n </span>\n <slot></slot>\n <span part=\"suffix\">\n <slot name=\"end\"></slot>\n <slot name=\"suffix\"></slot>\n ${this.removable && !this.disabled\n ? html`<slot\n @slotchange=${this.slotChanges}\n @click=${this.handleRemove}\n name=\"remove\"\n >\n <igc-icon\n size=${this.size}\n name=\"chip_cancel\"\n collection=\"internal\"\n ></igc-icon>\n </slot>`\n : nothing}\n </span>\n </button>\n `;\n }\n\n protected slotChanges() {\n this.requestUpdate();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-chip': IgcChipComponent;\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Indicates additional dependencies that should be loaded by the module of a component, even if they don't appear to be dependencies.
3
+ * @param _additionalDependencies an alternate member name to use.
4
+ */
5
+ export declare function blazorAdditionalDependencies(_additionalDependencies: string): (clazz: any) => any;
@@ -0,0 +1,6 @@
1
+ export function blazorAdditionalDependencies(_additionalDependencies) {
2
+ return (clazz) => {
3
+ return clazz;
4
+ };
5
+ }
6
+ //# sourceMappingURL=blazorAdditionalDependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blazorAdditionalDependencies.js","sourceRoot":"","sources":["../../../../src/components/common/decorators/blazorAdditionalDependencies.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,4BAA4B,CAAC,uBAA+B;IAC1E,OAAO,CAAC,KAAU,EAAE,EAAE;QACpB,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Indicates additional dependencies that should be loaded by the module of a component, even if they don't appear to be dependencies.\n * @param _additionalDependencies an alternate member name to use.\n */\nexport function blazorAdditionalDependencies(_additionalDependencies: string) {\n return (clazz: any) => {\n return clazz;\n };\n}\n"]}
@@ -6,3 +6,4 @@ export * from './blazorTwoWayBind';
6
6
  export * from './blazorIndirectRender';
7
7
  export * from './blazorSuppressComponent';
8
8
  export * from './blazorTypeOverride';
9
+ export * from './blazorAdditionalDependencies';
@@ -6,4 +6,5 @@ export * from './blazorTwoWayBind';
6
6
  export * from './blazorIndirectRender';
7
7
  export * from './blazorSuppressComponent';
8
8
  export * from './blazorTypeOverride';
9
+ export * from './blazorAdditionalDependencies';
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/common/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC","sourcesContent":["export * from './watch';\nexport * from './alternateName';\nexport * from './blazorSuppress';\nexport * from './blazorInclude';\nexport * from './blazorTwoWayBind';\nexport * from './blazorIndirectRender';\nexport * from './blazorSuppressComponent';\nexport * from './blazorTypeOverride';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/common/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC","sourcesContent":["export * from './watch';\nexport * from './alternateName';\nexport * from './blazorSuppress';\nexport * from './blazorInclude';\nexport * from './blazorTwoWayBind';\nexport * from './blazorIndirectRender';\nexport * from './blazorSuppressComponent';\nexport * from './blazorTypeOverride';\nexport * from './blazorAdditionalDependencies';\n"]}
@@ -1,4 +1,5 @@
1
1
  import IgcAvatarComponent from '../../avatar/avatar.js';
2
+ import IgcAccordionComponent from '../../accordion/accordion.js';
2
3
  import IgcBadgeComponent from '../../badge/badge.js';
3
4
  import IgcButtonComponent from '../../button/button.js';
4
5
  import IgcIconButtonComponent from '../../button/icon-button.js';
@@ -49,6 +50,7 @@ import IgcTreeComponent from '../../tree/tree.js';
49
50
  import IgcTreeItemComponent from '../../tree/tree-item.js';
50
51
  const allComponents = [
51
52
  IgcAvatarComponent,
53
+ IgcAccordionComponent,
52
54
  IgcBadgeComponent,
53
55
  IgcButtonComponent,
54
56
  IgcIconButtonComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"defineAllComponents.js","sourceRoot":"","sources":["../../../../src/components/common/definitions/defineAllComponents.ts"],"names":[],"mappings":"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","sourcesContent":["import IgcAvatarComponent from '../../avatar/avatar.js';\nimport IgcBadgeComponent from '../../badge/badge.js';\nimport IgcButtonComponent from '../../button/button.js';\nimport IgcIconButtonComponent from '../../button/icon-button.js';\nimport IgcCalendarComponent from '../../calendar/calendar.js';\nimport IgcCardComponent from '../../card/card.js';\nimport IgcCardActionsComponent from '../../card/card.actions.js';\nimport IgcCardContentComponent from '../../card/card.content.js';\nimport IgcCardHeaderComponent from '../../card/card.header.js';\nimport IgcCardMediaComponent from '../../card/card.media.js';\nimport IgcCheckboxComponent from '../../checkbox/checkbox.js';\nimport IgcChipComponent from '../../chip/chip.js';\nimport IgcCircularProgressComponent from '../../progress/circular-progress.js';\nimport IgcDropdownComponent from '../../dropdown/dropdown.js';\nimport IgcDropdownGroupComponent from '../../dropdown/dropdown-group.js';\nimport IgcDropdownHeaderComponent from '../../dropdown/dropdown-header.js';\nimport IgcDropdownItemComponent from '../../dropdown/dropdown-item.js';\nimport IgcSwitchComponent from '../../checkbox/switch.js';\nimport IgcFormComponent from '../../form/form.js';\nimport IgcIconComponent from '../../icon/icon.js';\nimport IgcInputComponent from '../../input/input.js';\nimport IgcLinearProgressComponent from '../../progress/linear-progress.js';\nimport IgcListComponent from '../../list/list.js';\nimport IgcListHeaderComponent from '../../list/list-header.js';\nimport IgcListItemComponent from '../../list/list-item.js';\nimport IgcNavDrawerComponent from '../../nav-drawer/nav-drawer.js';\nimport IgcNavDrawerHeaderItemComponent from '../../nav-drawer/nav-drawer-header-item.js';\nimport IgcNavDrawerItemComponent from '../../nav-drawer/nav-drawer-item.js';\nimport IgcNavbarComponent from '../../navbar/navbar.js';\nimport IgcRadioGroupComponent from '../../radio-group/radio-group.js';\nimport IgcRadioComponent from '../../radio/radio.js';\nimport IgcRatingComponent from '../../rating/rating.js';\nimport IgcRatingSymbolComponent from '../../rating/rating-symbol.js';\nimport IgcRippleComponent from '../../ripple/ripple.js';\nimport IgcRangeSliderComponent from '../../slider/range-slider.js';\nimport IgcSliderComponent from '../../slider/slider.js';\nimport IgcSnackbarComponent from '../../snackbar/snackbar.js';\nimport IgcToastComponent from '../../toast/toast.js';\nimport IgcSliderLabelComponent from '../../slider/slider-label.js';\nimport IgcTabsComponent from '../../tabs/tabs.js';\nimport IgcTabComponent from '../../tabs/tab.js';\nimport IgcTabPanelComponent from '../../tabs/tab-panel.js';\nimport { defineComponents } from './defineComponents.js';\nimport IgcCircularGradientComponent from '../../progress/circular-gradient.js';\nimport IgcDateTimeInputComponent from '../../date-time-input/date-time-input.js';\nimport IgcMaskInputComponent from '../../mask-input/mask-input.js';\nimport IgcExpansionPanelComponent from '../../expansion-panel/expansion-panel.js';\nimport IgcTreeComponent from '../../tree/tree.js';\nimport IgcTreeItemComponent from '../../tree/tree-item.js';\n\nconst allComponents: CustomElementConstructor[] = [\n IgcAvatarComponent,\n IgcBadgeComponent,\n IgcButtonComponent,\n IgcIconButtonComponent,\n IgcCalendarComponent,\n IgcCardActionsComponent,\n IgcCardContentComponent,\n IgcCardHeaderComponent,\n IgcCardMediaComponent,\n IgcCardComponent,\n IgcCheckboxComponent,\n IgcChipComponent,\n IgcDropdownComponent,\n IgcDropdownGroupComponent,\n IgcDropdownHeaderComponent,\n IgcDropdownItemComponent,\n IgcSwitchComponent,\n IgcExpansionPanelComponent,\n IgcFormComponent,\n IgcIconComponent,\n IgcInputComponent,\n IgcListHeaderComponent,\n IgcListItemComponent,\n IgcListComponent,\n IgcMaskInputComponent,\n IgcNavDrawerHeaderItemComponent,\n IgcNavDrawerItemComponent,\n IgcNavDrawerComponent,\n IgcNavbarComponent,\n IgcRadioComponent,\n IgcRadioGroupComponent,\n IgcRatingComponent,\n IgcRatingSymbolComponent,\n IgcRippleComponent,\n IgcTreeComponent,\n IgcTreeItemComponent,\n IgcSliderComponent,\n IgcToastComponent,\n IgcSliderLabelComponent,\n IgcRangeSliderComponent,\n IgcTabsComponent,\n IgcTabComponent,\n IgcTabPanelComponent,\n IgcCircularProgressComponent,\n IgcLinearProgressComponent,\n IgcCircularGradientComponent,\n IgcSnackbarComponent,\n IgcDateTimeInputComponent,\n];\n\nexport const defineAllComponents = () => {\n defineComponents(...allComponents);\n};\n"]}
1
+ {"version":3,"file":"defineAllComponents.js","sourceRoot":"","sources":["../../../../src/components/common/definitions/defineAllComponents.ts"],"names":[],"mappings":"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","sourcesContent":["import IgcAvatarComponent from '../../avatar/avatar.js';\nimport IgcAccordionComponent from '../../accordion/accordion.js';\nimport IgcBadgeComponent from '../../badge/badge.js';\nimport IgcButtonComponent from '../../button/button.js';\nimport IgcIconButtonComponent from '../../button/icon-button.js';\nimport IgcCalendarComponent from '../../calendar/calendar.js';\nimport IgcCardComponent from '../../card/card.js';\nimport IgcCardActionsComponent from '../../card/card.actions.js';\nimport IgcCardContentComponent from '../../card/card.content.js';\nimport IgcCardHeaderComponent from '../../card/card.header.js';\nimport IgcCardMediaComponent from '../../card/card.media.js';\nimport IgcCheckboxComponent from '../../checkbox/checkbox.js';\nimport IgcChipComponent from '../../chip/chip.js';\nimport IgcCircularProgressComponent from '../../progress/circular-progress.js';\nimport IgcDropdownComponent from '../../dropdown/dropdown.js';\nimport IgcDropdownGroupComponent from '../../dropdown/dropdown-group.js';\nimport IgcDropdownHeaderComponent from '../../dropdown/dropdown-header.js';\nimport IgcDropdownItemComponent from '../../dropdown/dropdown-item.js';\nimport IgcSwitchComponent from '../../checkbox/switch.js';\nimport IgcFormComponent from '../../form/form.js';\nimport IgcIconComponent from '../../icon/icon.js';\nimport IgcInputComponent from '../../input/input.js';\nimport IgcLinearProgressComponent from '../../progress/linear-progress.js';\nimport IgcListComponent from '../../list/list.js';\nimport IgcListHeaderComponent from '../../list/list-header.js';\nimport IgcListItemComponent from '../../list/list-item.js';\nimport IgcNavDrawerComponent from '../../nav-drawer/nav-drawer.js';\nimport IgcNavDrawerHeaderItemComponent from '../../nav-drawer/nav-drawer-header-item.js';\nimport IgcNavDrawerItemComponent from '../../nav-drawer/nav-drawer-item.js';\nimport IgcNavbarComponent from '../../navbar/navbar.js';\nimport IgcRadioGroupComponent from '../../radio-group/radio-group.js';\nimport IgcRadioComponent from '../../radio/radio.js';\nimport IgcRatingComponent from '../../rating/rating.js';\nimport IgcRatingSymbolComponent from '../../rating/rating-symbol.js';\nimport IgcRippleComponent from '../../ripple/ripple.js';\nimport IgcRangeSliderComponent from '../../slider/range-slider.js';\nimport IgcSliderComponent from '../../slider/slider.js';\nimport IgcSnackbarComponent from '../../snackbar/snackbar.js';\nimport IgcToastComponent from '../../toast/toast.js';\nimport IgcSliderLabelComponent from '../../slider/slider-label.js';\nimport IgcTabsComponent from '../../tabs/tabs.js';\nimport IgcTabComponent from '../../tabs/tab.js';\nimport IgcTabPanelComponent from '../../tabs/tab-panel.js';\nimport { defineComponents } from './defineComponents.js';\nimport IgcCircularGradientComponent from '../../progress/circular-gradient.js';\nimport IgcDateTimeInputComponent from '../../date-time-input/date-time-input.js';\nimport IgcMaskInputComponent from '../../mask-input/mask-input.js';\nimport IgcExpansionPanelComponent from '../../expansion-panel/expansion-panel.js';\nimport IgcTreeComponent from '../../tree/tree.js';\nimport IgcTreeItemComponent from '../../tree/tree-item.js';\n\nconst allComponents: CustomElementConstructor[] = [\n IgcAvatarComponent,\n IgcAccordionComponent,\n IgcBadgeComponent,\n IgcButtonComponent,\n IgcIconButtonComponent,\n IgcCalendarComponent,\n IgcCardActionsComponent,\n IgcCardContentComponent,\n IgcCardHeaderComponent,\n IgcCardMediaComponent,\n IgcCardComponent,\n IgcCheckboxComponent,\n IgcChipComponent,\n IgcDropdownComponent,\n IgcDropdownGroupComponent,\n IgcDropdownHeaderComponent,\n IgcDropdownItemComponent,\n IgcSwitchComponent,\n IgcExpansionPanelComponent,\n IgcFormComponent,\n IgcIconComponent,\n IgcInputComponent,\n IgcListHeaderComponent,\n IgcListItemComponent,\n IgcListComponent,\n IgcMaskInputComponent,\n IgcNavDrawerHeaderItemComponent,\n IgcNavDrawerItemComponent,\n IgcNavDrawerComponent,\n IgcNavbarComponent,\n IgcRadioComponent,\n IgcRadioGroupComponent,\n IgcRatingComponent,\n IgcRatingSymbolComponent,\n IgcRippleComponent,\n IgcTreeComponent,\n IgcTreeItemComponent,\n IgcSliderComponent,\n IgcToastComponent,\n IgcSliderLabelComponent,\n IgcRangeSliderComponent,\n IgcTabsComponent,\n IgcTabComponent,\n IgcTabPanelComponent,\n IgcCircularProgressComponent,\n IgcLinearProgressComponent,\n IgcCircularGradientComponent,\n IgcSnackbarComponent,\n IgcDateTimeInputComponent,\n];\n\nexport const defineAllComponents = () => {\n defineComponents(...allComponents);\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.resources.js","sourceRoot":"","sources":["../../../../src/components/common/i18n/calendar.resources.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,MAAM,2BAA2B,GAA+B;IACrE,WAAW,EAAE,cAAc;IAC3B,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,OAAO;IAClB,OAAO,EAAE,KAAK;IACd,aAAa,EAAE,gBAAgB;IAC/B,SAAS,EAAE,YAAY;IACvB,YAAY,EAAE,eAAe;IAC7B,QAAQ,EAAE,WAAW;IACrB,aAAa,EAAE,oBAAoB;IACnC,SAAS,EAAE,gBAAgB;IAC3B,SAAS,EAAE,IAAI;CAChB,CAAC","sourcesContent":["export interface IgcCalendarResourceStrings {\n selectMonth: string;\n selectYear: string;\n selectDate: string;\n selectRange: string;\n selectedDate: string;\n startDate: string;\n endDate: string;\n previousMonth: string;\n nextMonth: string;\n previousYear: string;\n nextYear: string;\n previousYears: string;\n nextYears: string;\n weekLabel: string;\n}\n\nexport const IgcCalendarResourceStringEN: IgcCalendarResourceStrings = {\n selectMonth: 'Select month',\n selectYear: 'Select year',\n selectDate: 'Select date',\n selectRange: 'Select range',\n selectedDate: 'Selected date',\n startDate: 'Start',\n endDate: 'End',\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n previousYear: 'Previous year',\n nextYear: 'Next year',\n previousYears: 'Previous {0} years',\n nextYears: 'Next {0} years',\n weekLabel: 'Wk',\n};\n"]}
1
+ {"version":3,"file":"calendar.resources.js","sourceRoot":"","sources":["../../../../src/components/common/i18n/calendar.resources.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,MAAM,2BAA2B,GAA+B;IACrE,WAAW,EAAE,cAAc;IAC3B,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,OAAO;IAClB,OAAO,EAAE,KAAK;IACd,aAAa,EAAE,gBAAgB;IAC/B,SAAS,EAAE,YAAY;IACvB,YAAY,EAAE,eAAe;IAC7B,QAAQ,EAAE,WAAW;IACrB,aAAa,EAAE,oBAAoB;IACnC,SAAS,EAAE,gBAAgB;IAC3B,SAAS,EAAE,IAAI;CAChB,CAAC","sourcesContent":["/* blazorSuppress */\nexport interface IgcCalendarResourceStrings {\n selectMonth: string;\n selectYear: string;\n selectDate: string;\n selectRange: string;\n selectedDate: string;\n startDate: string;\n endDate: string;\n previousMonth: string;\n nextMonth: string;\n previousYear: string;\n nextYear: string;\n previousYears: string;\n nextYears: string;\n weekLabel: string;\n}\n\nexport const IgcCalendarResourceStringEN: IgcCalendarResourceStrings = {\n selectMonth: 'Select month',\n selectYear: 'Select year',\n selectDate: 'Select date',\n selectRange: 'Select range',\n selectedDate: 'Selected date',\n startDate: 'Start',\n endDate: 'End',\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n previousYear: 'Previous year',\n nextYear: 'Next year',\n previousYears: 'Previous {0} years',\n nextYears: 'Next {0} years',\n weekLabel: 'Wk',\n};\n"]}
@@ -0,0 +1 @@
1
+ export declare type Direction = 'ltr' | 'rtl' | 'auto';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/common/types.ts"],"names":[],"mappings":"","sourcesContent":["export type Direction = 'ltr' | 'rtl' | 'auto';\n"]}
@@ -21,4 +21,4 @@ export declare function getOffset(element: HTMLElement, parent: HTMLElement): {
21
21
  right: number;
22
22
  bottom: number;
23
23
  };
24
- export declare function createCounter(start?: number): () => number;
24
+ export declare function createCounter(): () => number;
@@ -15,8 +15,8 @@ export function getOffset(element, parent) {
15
15
  bottom: Math.round(bottom - pBottom),
16
16
  };
17
17
  }
18
- export function createCounter(start = 0) {
19
- let i = start;
18
+ export function createCounter() {
19
+ let i = 0;
20
20
  return function () {
21
21
  i++;
22
22
  return i;
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/components/common/util.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,YAA0B,EAAE,EAAE;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;SAC7B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;SAClC,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;AAE/E,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE,CAChE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;AAavC,MAAM,UAAU,SAAS,CAAC,OAAoB,EAAE,MAAmB;IACjE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IACrE,MAAM,EACJ,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,MAAM,GACd,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAEnC,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;QAC3B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QACjC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAK,GAAG,CAAC;IACrC,IAAI,CAAC,GAAG,KAAK,CAAC;IACd,OAAO;QACL,CAAC,EAAE,CAAC;QACJ,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC","sourcesContent":["export interface PartNameInfo {\n readonly [name: string]: string | boolean | number;\n}\n\nexport const partNameMap = (partNameInfo: PartNameInfo) => {\n return Object.keys(partNameInfo)\n .filter((key) => partNameInfo[key])\n .join(' ');\n};\n\nexport const asPercent = (part: number, whole: number) => (part / whole) * 100;\n\nexport const clamp = (number: number, min: number, max: number) =>\n Math.max(min, Math.min(number, max));\n\n/**\n *\n * Returns an element's offset relative to its parent. Similar to element.offsetTop and element.offsetLeft, except the\n * parent doesn't have to be positioned relative or absolute.\n *\n * Work around for the following issues in Chromium based browsers:\n *\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1330819\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1334556\n *\n */\nexport function getOffset(element: HTMLElement, parent: HTMLElement) {\n const { top, left, bottom, right } = element.getBoundingClientRect();\n const {\n top: pTop,\n left: pLeft,\n bottom: pBottom,\n right: pRight,\n } = parent.getBoundingClientRect();\n\n return {\n top: Math.round(top - pTop),\n left: Math.round(left - pLeft),\n right: Math.round(right - pRight),\n bottom: Math.round(bottom - pBottom),\n };\n}\n\nexport function createCounter(start = 0) {\n let i = start;\n return function () {\n i++;\n return i;\n };\n}\n"]}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/components/common/util.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,YAA0B,EAAE,EAAE;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;SAC7B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;SAClC,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;AAE/E,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE,CAChE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;AAavC,MAAM,UAAU,SAAS,CAAC,OAAoB,EAAE,MAAmB;IACjE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IACrE,MAAM,EACJ,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,MAAM,GACd,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAEnC,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;QAC3B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QACjC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO;QACL,CAAC,EAAE,CAAC;QACJ,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC","sourcesContent":["export interface PartNameInfo {\n readonly [name: string]: string | boolean | number;\n}\n\nexport const partNameMap = (partNameInfo: PartNameInfo) => {\n return Object.keys(partNameInfo)\n .filter((key) => partNameInfo[key])\n .join(' ');\n};\n\nexport const asPercent = (part: number, whole: number) => (part / whole) * 100;\n\nexport const clamp = (number: number, min: number, max: number) =>\n Math.max(min, Math.min(number, max));\n\n/**\n *\n * Returns an element's offset relative to its parent. Similar to element.offsetTop and element.offsetLeft, except the\n * parent doesn't have to be positioned relative or absolute.\n *\n * Work around for the following issues in Chromium based browsers:\n *\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1330819\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1334556\n *\n */\nexport function getOffset(element: HTMLElement, parent: HTMLElement) {\n const { top, left, bottom, right } = element.getBoundingClientRect();\n const {\n top: pTop,\n left: pLeft,\n bottom: pBottom,\n right: pRight,\n } = parent.getBoundingClientRect();\n\n return {\n top: Math.round(top - pTop),\n left: Math.round(left - pLeft),\n right: Math.round(right - pRight),\n bottom: Math.round(bottom - pBottom),\n };\n}\n\nexport function createCounter() {\n let i = 0;\n return function () {\n i++;\n return i;\n };\n}\n"]}
@@ -32,6 +32,7 @@ export default class IgcDateTimeInputComponent extends IgcDateTimeInputComponent
32
32
  static readonly tagName = "igc-date-time-input";
33
33
  protected _defaultMask: string;
34
34
  protected _value: Date | null;
35
+ private _oldValue;
35
36
  private _inputDateParts;
36
37
  private _inputFormat;
37
38
  private _datePartDeltas;
@@ -82,6 +83,7 @@ export default class IgcDateTimeInputComponent extends IgcDateTimeInputComponent
82
83
  clear(): void;
83
84
  protected updateMask(): void;
84
85
  protected handleChange(): void;
86
+ protected handleInput(): void;
85
87
  protected handleDragLeave(): void;
86
88
  protected handleDragEnter(): void;
87
89
  protected updateInput(part: string, start: number, finish: number): void;
@@ -17,6 +17,7 @@ import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
17
17
  export default class IgcDateTimeInputComponent extends EventEmitterMixin(IgcMaskInputBaseComponent) {
18
18
  constructor() {
19
19
  super();
20
+ this._oldValue = null;
20
21
  this._datePartDeltas = {
21
22
  date: 1,
22
23
  month: 1,
@@ -165,6 +166,7 @@ export default class IgcDateTimeInputComponent extends EventEmitterMixin(IgcMask
165
166
  }
166
167
  const newValue = this.trySpinValue(targetPart, delta);
167
168
  this.value = newValue;
169
+ this.handleInput();
168
170
  }
169
171
  stepDown(datePart, delta) {
170
172
  const targetPart = datePart || this.targetDatePart;
@@ -173,6 +175,7 @@ export default class IgcDateTimeInputComponent extends EventEmitterMixin(IgcMask
173
175
  }
174
176
  const newValue = this.trySpinValue(targetPart, delta, true);
175
177
  this.value = newValue;
178
+ this.handleInput();
176
179
  }
177
180
  clear() {
178
181
  this.maskedValue = '';
@@ -203,6 +206,10 @@ export default class IgcDateTimeInputComponent extends EventEmitterMixin(IgcMask
203
206
  this.emitEvent('igcChange', { detail: this.value });
204
207
  this.invalid = !this.checkValidity();
205
208
  }
209
+ handleInput() {
210
+ var _a;
211
+ this.emitEvent('igcInput', { detail: (_a = this.value) === null || _a === void 0 ? void 0 : _a.toString() });
212
+ }
206
213
  handleDragLeave() {
207
214
  if (!this.hasFocus) {
208
215
  this.updateMask();
@@ -357,6 +364,7 @@ export default class IgcDateTimeInputComponent extends EventEmitterMixin(IgcMask
357
364
  }
358
365
  handleFocus() {
359
366
  this.hasFocus = true;
367
+ this._oldValue = this.value;
360
368
  this.updateMask();
361
369
  this.emitEvent('igcFocus');
362
370
  }
@@ -375,6 +383,9 @@ export default class IgcDateTimeInputComponent extends EventEmitterMixin(IgcMask
375
383
  else {
376
384
  this.updateMask();
377
385
  }
386
+ if (this._oldValue !== this.value) {
387
+ this.handleChange();
388
+ }
378
389
  this.emitEvent('igcBlur');
379
390
  }
380
391
  handleKeydown(e) {
@@ -418,8 +429,7 @@ export default class IgcDateTimeInputComponent extends EventEmitterMixin(IgcMask
418
429
  @invalid="${this.handleInvalid}"
419
430
  @blur=${this.handleBlur}
420
431
  @focus=${this.handleFocus}
421
- @change=${this.handleChange}
422
- @input=${this.handleInput}
432
+ @input=${super.handleInput}
423
433
  @keydown=${this.handleKeydown}
424
434
  @cut=${this.handleCut}
425
435
  @compositionstart=${this.handleCompositionStart}
@@ -1 +1 @@
1
- {"version":3,"file":"date-time-input.js","sourceRoot":"","sources":["../../../src/components/date-time-input/date-time-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { live } from 'lit/directives/live.js';\nimport {\n DatePartDeltas,\n DatePartInfo,\n DateParts,\n DatePart,\n DateTimeUtil,\n} from './date-util.js';\nimport { blazorTwoWayBind } from '../common/decorators/blazorTwoWayBind.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { IgcMaskInputBaseComponent } from '../mask-input/mask-input-base.js';\nimport { partNameMap } from '../common/util.js';\nimport { IgcInputEventMap } from '../input/input-base.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { AbstractConstructor } from '../common/mixins/constructor.js';\n\nexport interface IgcDateTimeInputEventMap\n extends Omit<IgcInputEventMap, 'igcChange'> {\n igcChange: CustomEvent<Date | null>;\n}\n\n/**\n * A date time input is an input field that lets you set and edit the date and time in a chosen input element\n * using customizable display and input formats.\n *\n * @element igc-date-time-input\n *\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot helper-text - Renders content below the input.\n *\n * @fires igcInput - Emitted when the control input receives user input.\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcFocus - Emitted when the control gains focus.\n * @fires igcBlur - Emitted when the control loses focus.\n *\n * @csspart container - The main wrapper that holds all main input elements.\n * @csspart input - The native input element.\n * @csspart label - The native label element.\n * @csspart prefix - The prefix wrapper.\n * @csspart suffix - The suffix wrapper.\n * @csspart helper-text - The helper text wrapper.\n */\nexport default class IgcDateTimeInputComponent extends EventEmitterMixin<\n IgcDateTimeInputEventMap,\n AbstractConstructor<IgcMaskInputBaseComponent>\n>(IgcMaskInputBaseComponent) {\n public static readonly tagName = 'igc-date-time-input';\n\n protected _defaultMask!: string;\n protected _value!: Date | null;\n\n private _inputDateParts!: DatePartInfo[];\n private _inputFormat!: string;\n private _datePartDeltas: DatePartDeltas = {\n date: 1,\n month: 1,\n year: 1,\n hours: 1,\n minutes: 1,\n seconds: 1,\n };\n\n /** The date format to apply on the input. */\n @property({ attribute: 'input-format' })\n public get inputFormat(): string {\n return this._inputFormat || this._defaultMask;\n }\n\n public set inputFormat(val: string) {\n if (val) {\n this.setMask(val);\n this._inputFormat = val;\n }\n }\n\n /** The value of the input. */\n @property({\n converter: {\n fromAttribute: (value: string) =>\n !value ? null : DateTimeUtil.parseIsoDate(value),\n toAttribute: (value: Date) => value.toISOString(),\n },\n })\n @blazorTwoWayBind('igcChange', 'detail')\n public get value(): Date | null {\n return this._value;\n }\n\n public set value(val: Date | null) {\n this._value = val\n ? DateTimeUtil.isValidDate(val)\n ? val\n : DateTimeUtil.parseIsoDate(val)\n : null;\n\n this.updateMask();\n this.validate();\n }\n\n /** The minimum value required for the input to remain valid. */\n @property({\n attribute: 'min-value',\n converter: {\n fromAttribute: (value: string) =>\n !value ? null : DateTimeUtil.parseIsoDate(value),\n toAttribute: (value: Date) => value.toISOString(),\n },\n })\n public minValue!: Date | null;\n\n /** The maximum value required for the input to remain valid. */\n @property({\n attribute: 'max-value',\n converter: {\n fromAttribute: (value: string) =>\n !value ? null : DateTimeUtil.parseIsoDate(value),\n toAttribute: (value: Date) => value.toISOString(),\n },\n })\n public maxValue!: Date | null;\n\n /**\n * Format to display the value in when not editing.\n * Defaults to the input format if not set.\n */\n @property({ attribute: 'display-format' })\n public displayFormat!: string;\n\n /**\n * Delta values used to increment or decrement each date part on step actions.\n * All values default to `1`.\n */\n @property({ attribute: false })\n public spinDelta!: DatePartDeltas;\n\n /** Sets whether to loop over the currently spun segment. */\n @property({ type: Boolean, attribute: 'spin-loop' })\n public spinLoop = true;\n\n /** The locale settings used to display the value. */\n @property()\n public locale = 'en';\n\n @watch('locale', { waitUntilFirstUpdate: true })\n protected setDefaultMask(): void {\n if (!this._inputFormat) {\n this.updateDefaultMask();\n this.setMask(this._defaultMask);\n }\n\n if (this.value) {\n this.updateMask();\n }\n }\n\n @watch('displayFormat', { waitUntilFirstUpdate: true })\n protected setDisplayFormat(): void {\n if (this.displayFormat) {\n if (this.value) {\n this.maskedValue = DateTimeUtil.formatDate(\n this.value!,\n this.locale,\n this.displayFormat,\n true\n );\n }\n }\n }\n\n @watch('prompt', { waitUntilFirstUpdate: true })\n protected promptChange(): void {\n if (!this.prompt) {\n this.prompt = this.parser.prompt;\n } else {\n this.parser.prompt = this.prompt;\n }\n }\n\n @watch('required', { waitUntilFirstUpdate: true })\n @watch('disabled', { waitUntilFirstUpdate: true })\n @watch('value', { waitUntilFirstUpdate: true })\n protected handleInvalidState(): void {\n this.updateComplete.then(\n () => (this.invalid = !this.input.checkValidity())\n );\n }\n\n @watch('maxValue')\n @watch('minValue')\n protected validate() {\n if (!this.value) {\n return null;\n }\n\n let errors = {};\n\n if (this.minValue || this.maxValue) {\n errors = DateTimeUtil.validateMinMax(\n this.value,\n this.minValue!,\n this.maxValue!,\n this.hasTimeParts,\n this.hasDateParts\n );\n\n if (Object.keys(errors).length > 0) {\n this.invalid = true;\n } else {\n this.invalid = false;\n }\n }\n\n return errors;\n }\n\n private get hasDateParts(): boolean {\n const parts =\n this._inputDateParts ||\n DateTimeUtil.parseDateTimeFormat(this.inputFormat);\n\n return parts.some(\n (p) =>\n p.type === DateParts.Date ||\n p.type === DateParts.Month ||\n p.type === DateParts.Year\n );\n }\n\n private get hasTimeParts(): boolean {\n const parts =\n this._inputDateParts ||\n DateTimeUtil.parseDateTimeFormat(this.inputFormat);\n return parts.some(\n (p) =>\n p.type === DateParts.Hours ||\n p.type === DateParts.Minutes ||\n p.type === DateParts.Seconds\n );\n }\n\n private get targetDatePart(): DatePart | undefined {\n let result;\n\n if (this.hasFocus) {\n const partType = this._inputDateParts.find(\n (p) =>\n p.start <= this.inputSelection.start &&\n this.inputSelection.start <= p.end &&\n p.type !== DateParts.Literal\n )?.type as string as DatePart;\n\n if (partType) {\n result = partType;\n }\n } else {\n if (this._inputDateParts.some((p) => p.type === DateParts.Date)) {\n result = DatePart.Date;\n } else if (this._inputDateParts.some((p) => p.type === DateParts.Hours)) {\n result = DatePart.Hours;\n } else {\n result = this._inputDateParts[0].type as string as DatePart;\n }\n }\n\n return result;\n }\n\n private get datePartDeltas(): DatePartDeltas {\n return Object.assign({}, this._datePartDeltas, this.spinDelta);\n }\n\n constructor() {\n super();\n this.addEventListener('wheel', this.onWheel);\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n this.updateDefaultMask();\n this.setMask(this.inputFormat);\n if (this.value) {\n this.updateMask();\n }\n }\n\n /** Checks for validity of the control and shows the browser message if it's invalid. */\n public reportValidity() {\n const state = this._value\n ? Object.keys(this.validate()!).length === 0\n : this.input.reportValidity();\n\n this.invalid = !state;\n return state;\n }\n\n /** Check for validity of the control */\n public checkValidity() {\n if (this.disabled) {\n return this.input.checkValidity();\n }\n\n if (!this._value) {\n return !this.required;\n }\n\n return (\n this.input.checkValidity() && Object.keys(this.validate()!).length === 0\n );\n }\n\n /** Increments a date/time portion. */\n public stepUp(datePart?: DatePart, delta?: number): void {\n const targetPart = datePart || this.targetDatePart;\n\n if (!targetPart) {\n return;\n }\n\n const newValue = this.trySpinValue(targetPart, delta);\n this.value = newValue;\n }\n\n /** Decrements a date/time portion. */\n public stepDown(datePart?: DatePart, delta?: number): void {\n const targetPart = datePart || this.targetDatePart;\n\n if (!targetPart) {\n return;\n }\n\n const newValue = this.trySpinValue(targetPart, delta, true);\n this.value = newValue;\n }\n\n /** Clears the input element of user input. */\n public clear(): void {\n this.maskedValue = '';\n this.value = null;\n }\n\n protected updateMask() {\n if (this.hasFocus) {\n this.maskedValue = this.getMaskedValue();\n } else {\n if (!this.value || !DateTimeUtil.isValidDate(this.value)) {\n this.maskedValue = '';\n return;\n }\n\n const format = this.displayFormat || this.inputFormat;\n\n if (this.displayFormat) {\n this.maskedValue = DateTimeUtil.formatDate(\n this.value,\n this.locale,\n format,\n true\n );\n } else if (this.inputFormat) {\n this.maskedValue = DateTimeUtil.formatDate(\n this.value,\n this.locale,\n format\n );\n } else {\n this.maskedValue = this.value.toLocaleString();\n }\n }\n }\n\n protected handleChange() {\n this.emitEvent('igcChange', { detail: this.value });\n this.invalid = !this.checkValidity();\n }\n\n protected handleDragLeave() {\n if (!this.hasFocus) {\n this.updateMask();\n }\n }\n\n protected handleDragEnter() {\n if (!this.hasFocus) {\n this.maskedValue = this.getMaskedValue();\n }\n }\n\n protected updateInput(part: string, start: number, finish: number) {\n const { value, end } = this.parser.replace(\n this.maskedValue,\n part,\n start,\n finish\n );\n\n this.maskedValue = value;\n\n this.updateValue();\n this.requestUpdate();\n\n if (start !== this.inputFormat.length) {\n this.emitEvent('igcInput', { detail: this.value?.toString() });\n }\n\n this.updateComplete.then(() => this.input.setSelectionRange(end, end));\n }\n\n private trySpinValue(\n datePart: DatePart,\n delta?: number,\n negative = false\n ): Date {\n if (!delta) {\n // default to 1 if a delta is set to 0 or any other falsy value\n delta = this.datePartDeltas[datePart as keyof DatePartDeltas] || 1;\n }\n\n const spinValue = negative ? -Math.abs(delta) : Math.abs(delta);\n return this.spinValue(datePart, spinValue);\n }\n\n private spinValue(datePart: DatePart, delta: number): Date {\n if (!this.value || !DateTimeUtil.isValidDate(this.value)) {\n return new Date();\n }\n\n const newDate = new Date(this.value.getTime());\n let formatPart, amPmFromMask;\n switch (datePart) {\n case DatePart.Date:\n DateTimeUtil.spinDate(delta, newDate, this.spinLoop);\n break;\n case DatePart.Month:\n DateTimeUtil.spinMonth(delta, newDate, this.spinLoop);\n break;\n case DatePart.Year:\n DateTimeUtil.spinYear(delta, newDate);\n break;\n case DatePart.Hours:\n DateTimeUtil.spinHours(delta, newDate, this.spinLoop);\n break;\n case DatePart.Minutes:\n DateTimeUtil.spinMinutes(delta, newDate, this.spinLoop);\n break;\n case DatePart.Seconds:\n DateTimeUtil.spinSeconds(delta, newDate, this.spinLoop);\n break;\n case DatePart.AmPm:\n formatPart = this._inputDateParts.find(\n (dp) => dp.type === DateParts.AmPm\n );\n if (formatPart !== undefined) {\n amPmFromMask = this.maskedValue.substring(\n formatPart!.start,\n formatPart!.end\n );\n return DateTimeUtil.spinAmPm(newDate, this.value, amPmFromMask);\n }\n break;\n }\n\n return newDate;\n }\n\n private onWheel(event: WheelEvent) {\n if (!this.hasFocus) {\n return;\n }\n\n this.selection = this.inputSelection;\n\n event.preventDefault();\n event.stopPropagation();\n\n if (event.deltaY > 0) {\n this.stepDown();\n } else {\n this.stepUp();\n }\n\n this.updateComplete.then(() =>\n this.setSelectionRange(this.selection.start, this.selection.end)\n );\n }\n\n private updateDefaultMask(): void {\n this._defaultMask = DateTimeUtil.getDefaultMask(this.locale);\n }\n\n private setMask(val: string): void {\n const oldFormat = this._inputDateParts?.map((p) => p.format).join('');\n this._inputDateParts = DateTimeUtil.parseDateTimeFormat(val);\n val = this._inputDateParts.map((p) => p.format).join('');\n\n this._defaultMask = val;\n\n const newMask = (val || DateTimeUtil.DEFAULT_INPUT_FORMAT).replace(\n new RegExp(/(?=[^t])[\\w]/, 'g'),\n '0'\n );\n\n this._mask =\n newMask.indexOf('tt') !== -1\n ? newMask.replace(new RegExp('tt', 'g'), 'LL')\n : newMask;\n\n this.parser.mask = this._mask;\n this.parser.prompt = this.prompt;\n\n if (!this.placeholder || oldFormat === this.placeholder) {\n this.placeholder = val;\n }\n }\n\n private parseDate(val: string) {\n if (!val) {\n return null;\n }\n\n return DateTimeUtil.parseValueFromMask(\n val,\n this._inputDateParts,\n this.prompt\n );\n }\n\n private getMaskedValue(): string {\n let mask = this.emptyMask;\n\n if (DateTimeUtil.isValidDate(this.value)) {\n for (const part of this._inputDateParts) {\n if (part.type === DateParts.Literal) {\n continue;\n }\n\n const targetValue = DateTimeUtil.getPartValue(\n part,\n part.format.length,\n this.value\n );\n\n mask = this.parser.replace(\n mask,\n targetValue,\n part.start,\n part.end\n ).value;\n }\n return mask;\n }\n\n return this.maskedValue === '' ? mask : this.maskedValue;\n }\n\n private isComplete(): boolean {\n return this.maskedValue.indexOf(this.prompt) === -1;\n }\n\n private updateValue(): void {\n if (this.isComplete()) {\n const parsedDate = this.parseDate(this.maskedValue);\n if (DateTimeUtil.isValidDate(parsedDate)) {\n this.value = parsedDate;\n } else {\n this.value = null;\n }\n } else {\n this.value = null;\n }\n }\n\n private getNewPosition(value: string, direction = 0): number {\n const literals = this._inputDateParts.filter(\n (p) => p.type === DateParts.Literal\n );\n let cursorPos = this.selection.start;\n\n if (!direction) {\n do {\n cursorPos = cursorPos > 0 ? --cursorPos : cursorPos;\n } while (!literals.some((l) => l.end === cursorPos) && cursorPos > 0);\n return cursorPos;\n } else {\n do {\n cursorPos++;\n } while (\n !literals.some((l) => l.start === cursorPos) &&\n cursorPos < value.length\n );\n return cursorPos;\n }\n }\n\n protected override handleFocus() {\n this.hasFocus = true;\n this.updateMask();\n this.emitEvent('igcFocus');\n }\n\n protected override handleBlur() {\n this.hasFocus = false;\n\n if (!this.isComplete() && this.maskedValue !== this.emptyMask) {\n const parse = this.parseDate(this.maskedValue);\n\n if (parse) {\n this.value = parse;\n } else {\n this.value = null;\n this.maskedValue = '';\n }\n } else {\n this.updateMask();\n }\n\n this.emitEvent('igcBlur');\n }\n\n protected override handleKeydown(e: KeyboardEvent) {\n super.handleKeydown(e);\n\n const key = e.key;\n\n switch (key) {\n case 'ArrowLeft':\n case 'ArrowRight':\n if (e.ctrlKey) {\n e.preventDefault();\n const value = (e.target as HTMLInputElement).value;\n const dir = key === 'ArrowRight' ? 1 : 0;\n const pos = this.getNewPosition(value, dir);\n\n this.setSelectionRange(pos, pos);\n }\n break;\n case 'ArrowUp':\n case 'ArrowDown':\n e.preventDefault();\n key === 'ArrowUp' ? this.stepUp() : this.stepDown();\n\n this.updateComplete.then(() =>\n this.setSelectionRange(this.selection.start, this.selection.end)\n );\n break;\n case ';':\n if (e.ctrlKey) {\n this.value = new Date();\n }\n break;\n }\n }\n\n protected override renderInput() {\n return html`<div>\n <input\n type=\"text\"\n part=${partNameMap(this.resolvePartNames('input'))}\n name=${ifDefined(this.name)}\n .value=${live(this.maskedValue)}\n .placeholder=${live(this.placeholder || this.emptyMask)}\n ?readonly=${this.readonly}\n ?disabled=${this.disabled}\n ?required=${this.required}\n @invalid=\"${this.handleInvalid}\"\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n @change=${this.handleChange}\n @input=${this.handleInput}\n @keydown=${this.handleKeydown}\n @cut=${this.handleCut}\n @compositionstart=${this.handleCompositionStart}\n @compositionend=${this.handleCompositionEnd}\n @dragenter=${this.handleDragEnter}\n @dragleave=${this.handleDragLeave}\n @dragstart=${this.handleDragStart}\n />\n </div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-date-time-input': IgcDateTimeInputComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"date-time-input.js","sourceRoot":"","sources":["../../../src/components/date-time-input/date-time-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { live } from 'lit/directives/live.js';\nimport {\n DatePartDeltas,\n DatePartInfo,\n DateParts,\n DatePart,\n DateTimeUtil,\n} from './date-util.js';\nimport { blazorTwoWayBind } from '../common/decorators/blazorTwoWayBind.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { IgcMaskInputBaseComponent } from '../mask-input/mask-input-base.js';\nimport { partNameMap } from '../common/util.js';\nimport { IgcInputEventMap } from '../input/input-base.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { AbstractConstructor } from '../common/mixins/constructor.js';\n\nexport interface IgcDateTimeInputEventMap\n extends Omit<IgcInputEventMap, 'igcChange'> {\n igcChange: CustomEvent<Date | null>;\n}\n\n/**\n * A date time input is an input field that lets you set and edit the date and time in a chosen input element\n * using customizable display and input formats.\n *\n * @element igc-date-time-input\n *\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot helper-text - Renders content below the input.\n *\n * @fires igcInput - Emitted when the control input receives user input.\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcFocus - Emitted when the control gains focus.\n * @fires igcBlur - Emitted when the control loses focus.\n *\n * @csspart container - The main wrapper that holds all main input elements.\n * @csspart input - The native input element.\n * @csspart label - The native label element.\n * @csspart prefix - The prefix wrapper.\n * @csspart suffix - The suffix wrapper.\n * @csspart helper-text - The helper text wrapper.\n */\nexport default class IgcDateTimeInputComponent extends EventEmitterMixin<\n IgcDateTimeInputEventMap,\n AbstractConstructor<IgcMaskInputBaseComponent>\n>(IgcMaskInputBaseComponent) {\n public static readonly tagName = 'igc-date-time-input';\n\n protected _defaultMask!: string;\n protected _value!: Date | null;\n\n private _oldValue: Date | null = null;\n private _inputDateParts!: DatePartInfo[];\n private _inputFormat!: string;\n private _datePartDeltas: DatePartDeltas = {\n date: 1,\n month: 1,\n year: 1,\n hours: 1,\n minutes: 1,\n seconds: 1,\n };\n\n /** The date format to apply on the input. */\n @property({ attribute: 'input-format' })\n public get inputFormat(): string {\n return this._inputFormat || this._defaultMask;\n }\n\n public set inputFormat(val: string) {\n if (val) {\n this.setMask(val);\n this._inputFormat = val;\n }\n }\n\n /** The value of the input. */\n @property({\n converter: {\n fromAttribute: (value: string) =>\n !value ? null : DateTimeUtil.parseIsoDate(value),\n toAttribute: (value: Date) => value.toISOString(),\n },\n })\n @blazorTwoWayBind('igcChange', 'detail')\n public get value(): Date | null {\n return this._value;\n }\n\n public set value(val: Date | null) {\n this._value = val\n ? DateTimeUtil.isValidDate(val)\n ? val\n : DateTimeUtil.parseIsoDate(val)\n : null;\n\n this.updateMask();\n this.validate();\n }\n\n /** The minimum value required for the input to remain valid. */\n @property({\n attribute: 'min-value',\n converter: {\n fromAttribute: (value: string) =>\n !value ? null : DateTimeUtil.parseIsoDate(value),\n toAttribute: (value: Date) => value.toISOString(),\n },\n })\n public minValue!: Date | null;\n\n /** The maximum value required for the input to remain valid. */\n @property({\n attribute: 'max-value',\n converter: {\n fromAttribute: (value: string) =>\n !value ? null : DateTimeUtil.parseIsoDate(value),\n toAttribute: (value: Date) => value.toISOString(),\n },\n })\n public maxValue!: Date | null;\n\n /**\n * Format to display the value in when not editing.\n * Defaults to the input format if not set.\n */\n @property({ attribute: 'display-format' })\n public displayFormat!: string;\n\n /**\n * Delta values used to increment or decrement each date part on step actions.\n * All values default to `1`.\n */\n @property({ attribute: false })\n public spinDelta!: DatePartDeltas;\n\n /** Sets whether to loop over the currently spun segment. */\n @property({ type: Boolean, attribute: 'spin-loop' })\n public spinLoop = true;\n\n /** The locale settings used to display the value. */\n @property()\n public locale = 'en';\n\n @watch('locale', { waitUntilFirstUpdate: true })\n protected setDefaultMask(): void {\n if (!this._inputFormat) {\n this.updateDefaultMask();\n this.setMask(this._defaultMask);\n }\n\n if (this.value) {\n this.updateMask();\n }\n }\n\n @watch('displayFormat', { waitUntilFirstUpdate: true })\n protected setDisplayFormat(): void {\n if (this.displayFormat) {\n if (this.value) {\n this.maskedValue = DateTimeUtil.formatDate(\n this.value!,\n this.locale,\n this.displayFormat,\n true\n );\n }\n }\n }\n\n @watch('prompt', { waitUntilFirstUpdate: true })\n protected promptChange(): void {\n if (!this.prompt) {\n this.prompt = this.parser.prompt;\n } else {\n this.parser.prompt = this.prompt;\n }\n }\n\n @watch('required', { waitUntilFirstUpdate: true })\n @watch('disabled', { waitUntilFirstUpdate: true })\n @watch('value', { waitUntilFirstUpdate: true })\n protected handleInvalidState(): void {\n this.updateComplete.then(\n () => (this.invalid = !this.input.checkValidity())\n );\n }\n\n @watch('maxValue')\n @watch('minValue')\n protected validate() {\n if (!this.value) {\n return null;\n }\n\n let errors = {};\n\n if (this.minValue || this.maxValue) {\n errors = DateTimeUtil.validateMinMax(\n this.value,\n this.minValue!,\n this.maxValue!,\n this.hasTimeParts,\n this.hasDateParts\n );\n\n if (Object.keys(errors).length > 0) {\n this.invalid = true;\n } else {\n this.invalid = false;\n }\n }\n\n return errors;\n }\n\n private get hasDateParts(): boolean {\n const parts =\n this._inputDateParts ||\n DateTimeUtil.parseDateTimeFormat(this.inputFormat);\n\n return parts.some(\n (p) =>\n p.type === DateParts.Date ||\n p.type === DateParts.Month ||\n p.type === DateParts.Year\n );\n }\n\n private get hasTimeParts(): boolean {\n const parts =\n this._inputDateParts ||\n DateTimeUtil.parseDateTimeFormat(this.inputFormat);\n return parts.some(\n (p) =>\n p.type === DateParts.Hours ||\n p.type === DateParts.Minutes ||\n p.type === DateParts.Seconds\n );\n }\n\n private get targetDatePart(): DatePart | undefined {\n let result;\n\n if (this.hasFocus) {\n const partType = this._inputDateParts.find(\n (p) =>\n p.start <= this.inputSelection.start &&\n this.inputSelection.start <= p.end &&\n p.type !== DateParts.Literal\n )?.type as string as DatePart;\n\n if (partType) {\n result = partType;\n }\n } else {\n if (this._inputDateParts.some((p) => p.type === DateParts.Date)) {\n result = DatePart.Date;\n } else if (this._inputDateParts.some((p) => p.type === DateParts.Hours)) {\n result = DatePart.Hours;\n } else {\n result = this._inputDateParts[0].type as string as DatePart;\n }\n }\n\n return result;\n }\n\n private get datePartDeltas(): DatePartDeltas {\n return Object.assign({}, this._datePartDeltas, this.spinDelta);\n }\n\n constructor() {\n super();\n this.addEventListener('wheel', this.onWheel);\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n this.updateDefaultMask();\n this.setMask(this.inputFormat);\n if (this.value) {\n this.updateMask();\n }\n }\n\n /** Checks for validity of the control and shows the browser message if it's invalid. */\n public reportValidity() {\n const state = this._value\n ? Object.keys(this.validate()!).length === 0\n : this.input.reportValidity();\n\n this.invalid = !state;\n return state;\n }\n\n /** Check for validity of the control */\n public checkValidity() {\n if (this.disabled) {\n return this.input.checkValidity();\n }\n\n if (!this._value) {\n return !this.required;\n }\n\n return (\n this.input.checkValidity() && Object.keys(this.validate()!).length === 0\n );\n }\n\n /** Increments a date/time portion. */\n public stepUp(datePart?: DatePart, delta?: number): void {\n const targetPart = datePart || this.targetDatePart;\n\n if (!targetPart) {\n return;\n }\n\n const newValue = this.trySpinValue(targetPart, delta);\n this.value = newValue;\n this.handleInput();\n }\n\n /** Decrements a date/time portion. */\n public stepDown(datePart?: DatePart, delta?: number): void {\n const targetPart = datePart || this.targetDatePart;\n\n if (!targetPart) {\n return;\n }\n\n const newValue = this.trySpinValue(targetPart, delta, true);\n this.value = newValue;\n this.handleInput();\n }\n\n /** Clears the input element of user input. */\n public clear(): void {\n this.maskedValue = '';\n this.value = null;\n }\n\n protected updateMask() {\n if (this.hasFocus) {\n this.maskedValue = this.getMaskedValue();\n } else {\n if (!this.value || !DateTimeUtil.isValidDate(this.value)) {\n this.maskedValue = '';\n return;\n }\n\n const format = this.displayFormat || this.inputFormat;\n\n if (this.displayFormat) {\n this.maskedValue = DateTimeUtil.formatDate(\n this.value,\n this.locale,\n format,\n true\n );\n } else if (this.inputFormat) {\n this.maskedValue = DateTimeUtil.formatDate(\n this.value,\n this.locale,\n format\n );\n } else {\n this.maskedValue = this.value.toLocaleString();\n }\n }\n }\n\n protected handleChange() {\n this.emitEvent('igcChange', { detail: this.value });\n this.invalid = !this.checkValidity();\n }\n\n protected override handleInput() {\n this.emitEvent('igcInput', { detail: this.value?.toString() });\n }\n\n protected handleDragLeave() {\n if (!this.hasFocus) {\n this.updateMask();\n }\n }\n\n protected handleDragEnter() {\n if (!this.hasFocus) {\n this.maskedValue = this.getMaskedValue();\n }\n }\n\n protected updateInput(part: string, start: number, finish: number) {\n const { value, end } = this.parser.replace(\n this.maskedValue,\n part,\n start,\n finish\n );\n\n this.maskedValue = value;\n\n this.updateValue();\n this.requestUpdate();\n\n if (start !== this.inputFormat.length) {\n this.emitEvent('igcInput', { detail: this.value?.toString() });\n }\n\n this.updateComplete.then(() => this.input.setSelectionRange(end, end));\n }\n\n private trySpinValue(\n datePart: DatePart,\n delta?: number,\n negative = false\n ): Date {\n if (!delta) {\n // default to 1 if a delta is set to 0 or any other falsy value\n delta = this.datePartDeltas[datePart as keyof DatePartDeltas] || 1;\n }\n\n const spinValue = negative ? -Math.abs(delta) : Math.abs(delta);\n return this.spinValue(datePart, spinValue);\n }\n\n private spinValue(datePart: DatePart, delta: number): Date {\n if (!this.value || !DateTimeUtil.isValidDate(this.value)) {\n return new Date();\n }\n\n const newDate = new Date(this.value.getTime());\n let formatPart, amPmFromMask;\n switch (datePart) {\n case DatePart.Date:\n DateTimeUtil.spinDate(delta, newDate, this.spinLoop);\n break;\n case DatePart.Month:\n DateTimeUtil.spinMonth(delta, newDate, this.spinLoop);\n break;\n case DatePart.Year:\n DateTimeUtil.spinYear(delta, newDate);\n break;\n case DatePart.Hours:\n DateTimeUtil.spinHours(delta, newDate, this.spinLoop);\n break;\n case DatePart.Minutes:\n DateTimeUtil.spinMinutes(delta, newDate, this.spinLoop);\n break;\n case DatePart.Seconds:\n DateTimeUtil.spinSeconds(delta, newDate, this.spinLoop);\n break;\n case DatePart.AmPm:\n formatPart = this._inputDateParts.find(\n (dp) => dp.type === DateParts.AmPm\n );\n if (formatPart !== undefined) {\n amPmFromMask = this.maskedValue.substring(\n formatPart!.start,\n formatPart!.end\n );\n return DateTimeUtil.spinAmPm(newDate, this.value, amPmFromMask);\n }\n break;\n }\n\n return newDate;\n }\n\n private onWheel(event: WheelEvent) {\n if (!this.hasFocus) {\n return;\n }\n\n this.selection = this.inputSelection;\n\n event.preventDefault();\n event.stopPropagation();\n\n if (event.deltaY > 0) {\n this.stepDown();\n } else {\n this.stepUp();\n }\n\n this.updateComplete.then(() =>\n this.setSelectionRange(this.selection.start, this.selection.end)\n );\n }\n\n private updateDefaultMask(): void {\n this._defaultMask = DateTimeUtil.getDefaultMask(this.locale);\n }\n\n private setMask(val: string): void {\n const oldFormat = this._inputDateParts?.map((p) => p.format).join('');\n this._inputDateParts = DateTimeUtil.parseDateTimeFormat(val);\n val = this._inputDateParts.map((p) => p.format).join('');\n\n this._defaultMask = val;\n\n const newMask = (val || DateTimeUtil.DEFAULT_INPUT_FORMAT).replace(\n new RegExp(/(?=[^t])[\\w]/, 'g'),\n '0'\n );\n\n this._mask =\n newMask.indexOf('tt') !== -1\n ? newMask.replace(new RegExp('tt', 'g'), 'LL')\n : newMask;\n\n this.parser.mask = this._mask;\n this.parser.prompt = this.prompt;\n\n if (!this.placeholder || oldFormat === this.placeholder) {\n this.placeholder = val;\n }\n }\n\n private parseDate(val: string) {\n if (!val) {\n return null;\n }\n\n return DateTimeUtil.parseValueFromMask(\n val,\n this._inputDateParts,\n this.prompt\n );\n }\n\n private getMaskedValue(): string {\n let mask = this.emptyMask;\n\n if (DateTimeUtil.isValidDate(this.value)) {\n for (const part of this._inputDateParts) {\n if (part.type === DateParts.Literal) {\n continue;\n }\n\n const targetValue = DateTimeUtil.getPartValue(\n part,\n part.format.length,\n this.value\n );\n\n mask = this.parser.replace(\n mask,\n targetValue,\n part.start,\n part.end\n ).value;\n }\n return mask;\n }\n\n return this.maskedValue === '' ? mask : this.maskedValue;\n }\n\n private isComplete(): boolean {\n return this.maskedValue.indexOf(this.prompt) === -1;\n }\n\n private updateValue(): void {\n if (this.isComplete()) {\n const parsedDate = this.parseDate(this.maskedValue);\n if (DateTimeUtil.isValidDate(parsedDate)) {\n this.value = parsedDate;\n } else {\n this.value = null;\n }\n } else {\n this.value = null;\n }\n }\n\n private getNewPosition(value: string, direction = 0): number {\n const literals = this._inputDateParts.filter(\n (p) => p.type === DateParts.Literal\n );\n let cursorPos = this.selection.start;\n\n if (!direction) {\n do {\n cursorPos = cursorPos > 0 ? --cursorPos : cursorPos;\n } while (!literals.some((l) => l.end === cursorPos) && cursorPos > 0);\n return cursorPos;\n } else {\n do {\n cursorPos++;\n } while (\n !literals.some((l) => l.start === cursorPos) &&\n cursorPos < value.length\n );\n return cursorPos;\n }\n }\n\n protected override handleFocus() {\n this.hasFocus = true;\n this._oldValue = this.value;\n this.updateMask();\n this.emitEvent('igcFocus');\n }\n\n protected override handleBlur() {\n this.hasFocus = false;\n\n if (!this.isComplete() && this.maskedValue !== this.emptyMask) {\n const parse = this.parseDate(this.maskedValue);\n\n if (parse) {\n this.value = parse;\n } else {\n this.value = null;\n this.maskedValue = '';\n }\n } else {\n this.updateMask();\n }\n\n if (this._oldValue !== this.value) {\n this.handleChange();\n }\n\n this.emitEvent('igcBlur');\n }\n\n protected override handleKeydown(e: KeyboardEvent) {\n super.handleKeydown(e);\n\n const key = e.key;\n\n switch (key) {\n case 'ArrowLeft':\n case 'ArrowRight':\n if (e.ctrlKey) {\n e.preventDefault();\n const value = (e.target as HTMLInputElement).value;\n const dir = key === 'ArrowRight' ? 1 : 0;\n const pos = this.getNewPosition(value, dir);\n\n this.setSelectionRange(pos, pos);\n }\n break;\n case 'ArrowUp':\n case 'ArrowDown':\n e.preventDefault();\n key === 'ArrowUp' ? this.stepUp() : this.stepDown();\n\n this.updateComplete.then(() =>\n this.setSelectionRange(this.selection.start, this.selection.end)\n );\n break;\n case ';':\n if (e.ctrlKey) {\n this.value = new Date();\n }\n break;\n }\n }\n\n protected override renderInput() {\n return html`<div>\n <input\n type=\"text\"\n part=${partNameMap(this.resolvePartNames('input'))}\n name=${ifDefined(this.name)}\n .value=${live(this.maskedValue)}\n .placeholder=${live(this.placeholder || this.emptyMask)}\n ?readonly=${this.readonly}\n ?disabled=${this.disabled}\n ?required=${this.required}\n @invalid=\"${this.handleInvalid}\"\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n @input=${super.handleInput}\n @keydown=${this.handleKeydown}\n @cut=${this.handleCut}\n @compositionstart=${this.handleCompositionStart}\n @compositionend=${this.handleCompositionEnd}\n @dragenter=${this.handleDragEnter}\n @dragleave=${this.handleDragLeave}\n @dragstart=${this.handleDragStart}\n />\n </div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-date-time-input': IgcDateTimeInputComponent;\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { LitElement } from 'lit';
2
2
  import type IgcDropdownItemComponent from './dropdown-item';
3
+ import { SizableInterface } from '../common/mixins/sizable.js';
3
4
  /**
4
5
  * @element igc-dropdown-group - A container for a group of `igc-dropdown-item` components.
5
6
  *
@@ -11,11 +12,11 @@ import type IgcDropdownItemComponent from './dropdown-item';
11
12
  export default class IgcDropdownGroupComponent extends LitElement {
12
13
  static readonly tagName = "igc-dropdown-group";
13
14
  static styles: import("lit").CSSResult;
15
+ protected parent: SizableInterface;
14
16
  /** All child `igc-dropdown-item`s. */
15
17
  items: Array<IgcDropdownItemComponent>;
16
- /** @private */
17
- size: 'small' | 'medium' | 'large';
18
18
  connectedCallback(): void;
19
+ protected getParent(): import("./dropdown.js").default;
19
20
  protected render(): import("lit-html").TemplateResult<1>;
20
21
  }
21
22
  declare global {
@@ -5,23 +5,23 @@ 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
  import { html, LitElement } from 'lit';
8
- import { property, queryAssignedElements } from 'lit/decorators.js';
8
+ import { queryAssignedElements } from 'lit/decorators.js';
9
9
  import { themes } from '../../theming/theming-decorator.js';
10
10
  import { styles } from './themes/light/dropdown-group.base.css.js';
11
11
  import { styles as fluent } from './themes/light/dropdown-group.fluent.css.js';
12
12
  import { blazorSuppress } from '../common/decorators/blazorSuppress.js';
13
13
  let IgcDropdownGroupComponent = class IgcDropdownGroupComponent extends LitElement {
14
- constructor() {
15
- super(...arguments);
16
- this.size = 'large';
17
- }
18
14
  connectedCallback() {
19
15
  super.connectedCallback();
20
16
  this.setAttribute('role', 'group');
21
- const dropdown = this.closest('igc-dropdown');
22
- this.size = dropdown.size;
17
+ this.parent = this.getParent();
18
+ }
19
+ getParent() {
20
+ return this.closest('igc-dropdown');
23
21
  }
24
22
  render() {
23
+ var _a, _b;
24
+ this.setAttribute('size', (_b = (_a = this.parent) === null || _a === void 0 ? void 0 : _a.size) !== null && _b !== void 0 ? _b : 'large');
25
25
  return html `
26
26
  <label part="label"><slot name="label"></slot></label>
27
27
  <slot></slot>
@@ -34,9 +34,6 @@ __decorate([
34
34
  blazorSuppress(),
35
35
  queryAssignedElements({ flatten: true, selector: 'igc-dropdown-item' })
36
36
  ], IgcDropdownGroupComponent.prototype, "items", void 0);
37
- __decorate([
38
- property({ reflect: true })
39
- ], IgcDropdownGroupComponent.prototype, "size", void 0);
40
37
  IgcDropdownGroupComponent = __decorate([
41
38
  themes({ fluent })
42
39
  ], IgcDropdownGroupComponent);