igniteui-webcomponents 7.2.0 → 7.2.2
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.
- package/CHANGELOG.md +17 -0
- package/components/button/button-base.js.map +1 -1
- package/components/button/themes/button/dark/button.bootstrap.css.js +1 -1
- package/components/button/themes/button/dark/button.bootstrap.css.js.map +1 -1
- package/components/button/themes/button/dark/button.fluent.css.js +1 -1
- package/components/button/themes/button/dark/button.fluent.css.js.map +1 -1
- package/components/button/themes/button/dark/button.indigo.css.js +1 -1
- package/components/button/themes/button/dark/button.indigo.css.js.map +1 -1
- package/components/button/themes/button/dark/button.material.css.js +1 -1
- package/components/button/themes/button/dark/button.material.css.js.map +1 -1
- package/components/button/themes/button/light/button.bootstrap.css.js +1 -1
- package/components/button/themes/button/light/button.bootstrap.css.js.map +1 -1
- package/components/button/themes/button/light/button.fluent.css.js +1 -1
- package/components/button/themes/button/light/button.fluent.css.js.map +1 -1
- package/components/button/themes/button/light/button.indigo.css.js +1 -1
- package/components/button/themes/button/light/button.indigo.css.js.map +1 -1
- package/components/button/themes/button/light/button.material.css.js +1 -1
- package/components/button/themes/button/light/button.material.css.js.map +1 -1
- package/components/button/themes/button/light/button.shared.css.js +1 -1
- package/components/button/themes/button/light/button.shared.css.js.map +1 -1
- package/components/button-group/themes/dark/button-group.bootstrap.css.js +1 -1
- package/components/button-group/themes/dark/button-group.bootstrap.css.js.map +1 -1
- package/components/button-group/themes/light/button-group.bootstrap.css.js +1 -1
- package/components/button-group/themes/light/button-group.bootstrap.css.js.map +1 -1
- package/components/chat/chat-input.js +1 -1
- package/components/chat/chat-input.js.map +1 -1
- package/components/chat/chat-state.d.ts +2 -1
- package/components/chat/chat-state.js +2 -2
- package/components/chat/chat-state.js.map +1 -1
- package/components/chat/chat.d.ts +3 -9
- package/components/chat/chat.js.map +1 -1
- package/components/chat/message-attachments.d.ts +1 -0
- package/components/chat/message-attachments.js.map +1 -1
- package/components/chat/types.d.ts +16 -2
- package/components/chat/types.js.map +1 -1
- package/components/combo/themes/dark/combo.indigo.css.js +1 -1
- package/components/combo/themes/dark/combo.indigo.css.js.map +1 -1
- package/components/common/mixins/alert.d.ts +2 -2
- package/components/common/mixins/alert.js.map +1 -1
- package/components/common/mixins/combo-box.js.map +1 -1
- package/components/date-range-picker/date-range-input.d.ts +9 -3
- package/components/date-range-picker/date-range-input.js +4 -7
- package/components/date-range-picker/date-range-input.js.map +1 -1
- package/components/date-time-input/date-time-input.base.d.ts +1 -6
- package/components/date-time-input/date-time-input.base.js +1 -2
- package/components/date-time-input/date-time-input.base.js.map +1 -1
- package/components/date-time-input/date-time-input.d.ts +11 -5
- package/components/date-time-input/date-time-input.js +3 -2
- package/components/date-time-input/date-time-input.js.map +1 -1
- package/components/dialog/themes/dark/dialog.indigo.css.js +1 -1
- package/components/dialog/themes/dark/dialog.indigo.css.js.map +1 -1
- package/components/dropdown/themes/dark/dropdown.indigo.css.js +1 -1
- package/components/dropdown/themes/dark/dropdown.indigo.css.js.map +1 -1
- package/components/expansion-panel/themes/expansion-panel.base.css.js +1 -1
- package/components/expansion-panel/themes/expansion-panel.base.css.js.map +1 -1
- package/components/highlight/service.d.ts +2 -2
- package/components/highlight/service.js.map +1 -1
- package/components/input/input-base.js.map +1 -1
- package/components/mask-input/mask-input.js.map +1 -1
- package/components/select/themes/dark/select.indigo.css.js +1 -1
- package/components/select/themes/dark/select.indigo.css.js.map +1 -1
- package/components/snackbar/themes/dark/snackbar.indigo.css.js +1 -1
- package/components/snackbar/themes/dark/snackbar.indigo.css.js.map +1 -1
- package/components/splitter/types.js.map +1 -1
- package/components/toast/themes/dark/toast.indigo.css.js +1 -1
- package/components/toast/themes/dark/toast.indigo.css.js.map +1 -1
- package/components/tooltip/themes/dark/tooltip.indigo.css.js +1 -1
- package/components/tooltip/themes/dark/tooltip.indigo.css.js.map +1 -1
- package/components/tree/tree.js.map +1 -1
- package/components/types.d.ts +1 -0
- package/components/types.js.map +1 -1
- package/custom-elements.json +331 -510
- package/igniteui-webcomponents.css-data.json +1 -1
- package/igniteui-webcomponents.html-data.json +1 -1
- package/index.d.ts +1 -3
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/skills/igniteui-wc-choose-components/SKILL.md +122 -160
- package/skills/igniteui-wc-customize-component-theme/SKILL.md +83 -311
- package/skills/igniteui-wc-customize-component-theme/references/mcp-setup.md +69 -0
- package/skills/igniteui-wc-generate-from-image-design/SKILL.md +4 -1
- package/skills/igniteui-wc-generate-from-image-design/references/component-mapping.md +60 -61
- package/skills/igniteui-wc-generate-from-image-design/references/gotchas.md +15 -11
- package/skills/igniteui-wc-migrate-grid-lite-to-premium/SKILL.md +446 -0
- package/skills/igniteui-wc-optimize-bundle-size/SKILL.md +23 -274
- package/themes/dark/bootstrap.css +1 -1
- package/themes/dark/fluent.css +1 -1
- package/themes/dark/indigo.css +1 -1
- package/themes/dark/material.css +1 -1
- package/themes/light/bootstrap.css +1 -1
- package/themes/light/fluent.css +1 -1
- package/themes/light/indigo.css +1 -1
- package/themes/light/material.css +1 -1
- package/web-types.json +2 -2
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host([variant=flat]){--shadow-color: var(--ig-flat-button-shadow-color, hsl(from var(--ig-gray-900) h s l/0.15));--
|
|
2
|
+
export const styles = css `:host([variant=flat]){--shadow-color: var(--ig-flat-button-shadow-color, hsl(from var(--ig-gray-900) h s l/0.15));--icon-color: var(--ig-flat-button-icon-color, oklch(from currentColor calc(l + 0.09) c h));--icon-color-hover: var(--ig-flat-button-icon-color-hover, oklch(from currentColor calc(l + 0.19) c h));--disabled-background: var(--ig-flat-button-disabled-background, transparent);--disabled-foreground: var(--ig-flat-button-disabled-foreground, hsl(from var(--ig-gray-900) h s l/0.2));--size: var(--ig-flat-button-size, max(var(--is-large, 1) * max(2rem, -1 * 2rem), var(--is-medium, 1) * max(1.75rem, -1 * 1.75rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--ig-flat-button-default-size, 2);--focus-foreground: var(--ig-flat-button-focus-foreground, var(--ig-gray-900));--border-radius: var(--ig-flat-button-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 1) * 2.5rem), 2.5rem));--foreground: var(--ig-flat-button-foreground, var(--ig-gray-700));--hover-background: var(--ig-flat-button-hover-background, hsl(from var(--ig-gray-900) h s l/0.05));--hover-foreground: var(--ig-flat-button-hover-foreground, var(--ig-gray-900));--focus-background: var(--ig-flat-button-focus-background, hsl(from var(--ig-gray-900) h s l/0.05));--focus-hover-background: var(--ig-flat-button-focus-hover-background, hsl(from var(--ig-gray-900) h s l/0.05));--focus-hover-foreground: var(--ig-flat-button-focus-hover-foreground, var(--ig-gray-900));--active-background: var(--ig-flat-button-active-background, hsl(from var(--ig-gray-900) h s l/0.05));--active-foreground: var(--ig-flat-button-active-foreground, var(--ig-gray-900));--focus-visible-background: var(--ig-flat-button-focus-visible-background, transparent);--focus-visible-foreground: var(--ig-flat-button-focus-visible-foreground, var(--ig-gray-700));--ig-theme: indigo;--ig-theme-variant: light}:host([variant=outlined]){--shadow-color: var(--ig-outlined-button-shadow-color, hsl(from var(--ig-gray-900) h s l/0.15));--border-color: var(--ig-outlined-button-border-color, var(--ig-gray-500));--hover-border-color: var(--ig-outlined-button-hover-border-color, var(--ig-gray-600));--focus-border-color: var(--ig-outlined-button-focus-border-color, var(--ig-gray-600));--focus-visible-border-color: var(--ig-outlined-button-focus-visible-border-color, var(--ig-gray-500));--active-border-color: var(--ig-outlined-button-active-border-color, var(--ig-gray-600));--disabled-border-color: var(--ig-outlined-button-disabled-border-color, hsl(from var(--ig-gray-900) h s l/0.15));--icon-color: var(--ig-outlined-button-icon-color, oklch(from currentColor calc(l + 0.09) c h));--icon-color-hover: var(--ig-outlined-button-icon-color-hover, oklch(from currentColor calc(l + 0.19) c h));--disabled-background: var(--ig-outlined-button-disabled-background, transparent);--disabled-foreground: var(--ig-outlined-button-disabled-foreground, hsl(from var(--ig-gray-900) h s l/0.2));--size: var(--ig-outlined-button-size, max(var(--is-large, 1) * max(2rem, -1 * 2rem), var(--is-medium, 1) * max(1.75rem, -1 * 1.75rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--ig-outlined-button-default-size, 2);--focus-foreground: var(--ig-outlined-button-focus-foreground, var(--ig-gray-900));--border-radius: var(--ig-outlined-button-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 1) * 2.5rem), 2.5rem));--foreground: var(--ig-outlined-button-foreground, var(--ig-gray-700));--hover-background: var(--ig-outlined-button-hover-background, hsl(from var(--ig-gray-900) h s l/0.05));--hover-foreground: var(--ig-outlined-button-hover-foreground, var(--ig-gray-900));--focus-background: var(--ig-outlined-button-focus-background, hsl(from var(--ig-gray-900) h s l/0.05));--focus-hover-background: var(--ig-outlined-button-focus-hover-background, hsl(from var(--ig-gray-900) h s l/0.05));--focus-hover-foreground: var(--ig-outlined-button-focus-hover-foreground, var(--ig-gray-900));--active-background: var(--ig-outlined-button-active-background, hsl(from var(--ig-gray-900) h s l/0.05));--active-foreground: var(--ig-outlined-button-active-foreground, var(--ig-gray-900));--focus-visible-background: var(--ig-outlined-button-focus-visible-background, transparent);--focus-visible-foreground: var(--ig-outlined-button-focus-visible-foreground, var(--ig-gray-700));--ig-theme: indigo;--ig-theme-variant: light}:host([variant=contained]){--shadow-color: var(--ig-contained-button-shadow-color, hsl(from var(--ig-primary-400) h s l/0.5));--icon-color: var(--ig-contained-button-icon-color, hsl(from currentColor h s l / 0.8));--icon-color-hover: var(--ig-contained-button-icon-color-hover, oklch(from currentColor calc(l + 0.19) c h));--disabled-background: var(--ig-contained-button-disabled-background, hsl(from var(--ig-primary-400) h s l/0.5));--disabled-foreground: var(--ig-contained-button-disabled-foreground, hsl(from var(--ig-primary-500-contrast) h s l/0.4));--disabled-icon-color: var(--ig-contained-button-disabled-icon-color, hsl(from currentColor h s l / 0.3));--size: var(--ig-contained-button-size, max(var(--is-large, 1) * max(2rem, -1 * 2rem), var(--is-medium, 1) * max(1.75rem, -1 * 1.75rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--ig-contained-button-default-size, 2);--resting-elevation: var(--ig-contained-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--ig-contained-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--ig-contained-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--ig-contained-button-active-elevation, var(--ig-elevation-0));--background: var(--ig-contained-button-background, var(--ig-primary-500));--active-background: var(--ig-contained-button-active-background, var(--ig-primary-400));--border-radius: var(--ig-contained-button-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 1) * 2.5rem), 2.5rem));--foreground: var(--ig-contained-button-foreground, var(--ig-primary-500-contrast));--hover-background: var(--ig-contained-button-hover-background, var(--ig-primary-400));--hover-foreground: var(--ig-contained-button-hover-foreground, var(--ig-primary-500-contrast));--focus-background: var(--ig-contained-button-focus-background, var(--ig-primary-400));--focus-foreground: var(--ig-contained-button-focus-foreground, var(--ig-primary-500-contrast));--focus-hover-background: var(--ig-contained-button-focus-hover-background, var(--ig-primary-400));--focus-hover-foreground: var(--ig-contained-button-focus-hover-foreground, var(--ig-primary-500-contrast));--active-foreground: var(--ig-contained-button-active-foreground, var(--ig-primary-500-contrast));--focus-visible-background: var(--ig-contained-button-focus-visible-background, var(--ig-primary-500));--focus-visible-foreground: var(--ig-contained-button-focus-visible-foreground, var(--ig-primary-500-contrast));--ig-theme: indigo;--ig-theme-variant: light}:host([variant=fab]){--size: var(--ig-fab-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(2rem, -1 * 2rem), var(--is-small, 1) * max(1.75rem, -1 * 1.75rem)));--foreground: var(--ig-fab-button-foreground, var(--ig-primary-500-contrast));--hover-background: var(--ig-fab-button-hover-background, var(--ig-primary-400));--hover-foreground: var(--ig-fab-button-hover-foreground, var(--ig-primary-500-contrast));--focus-background: var(--ig-fab-button-focus-background, var(--ig-primary-400));--focus-foreground: var(--ig-fab-button-focus-foreground, var(--ig-primary-500-contrast));--focus-hover-background: var(--ig-fab-button-focus-hover-background, var(--ig-primary-400));--focus-hover-foreground: var(--ig-fab-button-focus-hover-foreground, var(--ig-primary-500-contrast));--active-foreground: var(--ig-fab-button-active-foreground, var(--ig-primary-500-contrast));--focus-visible-background: var(--ig-fab-button-focus-visible-background, var(--ig-primary-500));--focus-visible-foreground: var(--ig-fab-button-focus-visible-foreground, var(--ig-primary-500-contrast));--border-radius: var(--ig-fab-button-border-radius, clamp(0.75rem, calc(var(--ig-radius-factor, 1) * 2.5rem), 2.5rem));--ig-theme: indigo;--ig-theme-variant: light}`;
|
|
3
3
|
//# sourceMappingURL=button.indigo.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.indigo.css.js","sourceRoot":"","sources":["../../../../../../src/components/button/themes/button/light/button.indigo.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"button.indigo.css.js","sourceRoot":"","sources":["../../../../../../src/components/button/themes/button/light/button.indigo.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,0iQAA0iQ,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host([variant=flat]){--shadow-color: var(--ig-flat-button-shadow-color, hsl(from var(--ig-gray-900) h s l/0.15));--icon-color: var(--ig-flat-button-icon-color, oklch(from currentColor calc(l + 0.09) c h));--icon-color-hover: var(--ig-flat-button-icon-color-hover, oklch(from currentColor calc(l + 0.19) c h));--disabled-background: var(--ig-flat-button-disabled-background, transparent);--disabled-foreground: var(--ig-flat-button-disabled-foreground, hsl(from var(--ig-gray-900) h s l/0.2));--size: var(--ig-flat-button-size, max(var(--is-large, 1) * max(2rem, -1 * 2rem), var(--is-medium, 1) * max(1.75rem, -1 * 1.75rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--ig-flat-button-default-size, 2);--focus-foreground: var(--ig-flat-button-focus-foreground, var(--ig-gray-900));--border-radius: var(--ig-flat-button-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 1) * 2.5rem), 2.5rem));--foreground: var(--ig-flat-button-foreground, var(--ig-gray-700));--hover-background: var(--ig-flat-button-hover-background, hsl(from var(--ig-gray-900) h s l/0.05));--hover-foreground: var(--ig-flat-button-hover-foreground, var(--ig-gray-900));--focus-background: var(--ig-flat-button-focus-background, hsl(from var(--ig-gray-900) h s l/0.05));--focus-hover-background: var(--ig-flat-button-focus-hover-background, hsl(from var(--ig-gray-900) h s l/0.05));--focus-hover-foreground: var(--ig-flat-button-focus-hover-foreground, var(--ig-gray-900));--active-background: var(--ig-flat-button-active-background, hsl(from var(--ig-gray-900) h s l/0.05));--active-foreground: var(--ig-flat-button-active-foreground, var(--ig-gray-900));--focus-visible-background: var(--ig-flat-button-focus-visible-background, transparent);--focus-visible-foreground: var(--ig-flat-button-focus-visible-foreground, var(--ig-gray-700));--ig-theme: indigo;--ig-theme-variant: light}:host([variant=outlined]){--shadow-color: var(--ig-outlined-button-shadow-color, hsl(from var(--ig-gray-900) h s l/0.15));--border-color: var(--ig-outlined-button-border-color, var(--ig-gray-500));--hover-border-color: var(--ig-outlined-button-hover-border-color, var(--ig-gray-600));--focus-border-color: var(--ig-outlined-button-focus-border-color, var(--ig-gray-600));--focus-visible-border-color: var(--ig-outlined-button-focus-visible-border-color, var(--ig-gray-500));--active-border-color: var(--ig-outlined-button-active-border-color, var(--ig-gray-600));--disabled-border-color: var(--ig-outlined-button-disabled-border-color, hsl(from var(--ig-gray-900) h s l/0.15));--icon-color: var(--ig-outlined-button-icon-color, oklch(from currentColor calc(l + 0.09) c h));--icon-color-hover: var(--ig-outlined-button-icon-color-hover, oklch(from currentColor calc(l + 0.19) c h));--disabled-background: var(--ig-outlined-button-disabled-background, transparent);--disabled-foreground: var(--ig-outlined-button-disabled-foreground, hsl(from var(--ig-gray-900) h s l/0.2));--size: var(--ig-outlined-button-size, max(var(--is-large, 1) * max(2rem, -1 * 2rem), var(--is-medium, 1) * max(1.75rem, -1 * 1.75rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--ig-outlined-button-default-size, 2);--focus-foreground: var(--ig-outlined-button-focus-foreground, var(--ig-gray-900));--border-radius: var(--ig-outlined-button-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 1) * 2.5rem), 2.5rem));--foreground: var(--ig-outlined-button-foreground, var(--ig-gray-700));--hover-background: var(--ig-outlined-button-hover-background, hsl(from var(--ig-gray-900) h s l/0.05));--hover-foreground: var(--ig-outlined-button-hover-foreground, var(--ig-gray-900));--focus-background: var(--ig-outlined-button-focus-background, hsl(from var(--ig-gray-900) h s l/0.05));--focus-hover-background: var(--ig-outlined-button-focus-hover-background, hsl(from var(--ig-gray-900) h s l/0.05));--focus-hover-foreground: var(--ig-outlined-button-focus-hover-foreground, var(--ig-gray-900));--active-background: var(--ig-outlined-button-active-background, hsl(from var(--ig-gray-900) h s l/0.05));--active-foreground: var(--ig-outlined-button-active-foreground, var(--ig-gray-900));--focus-visible-background: var(--ig-outlined-button-focus-visible-background, transparent);--focus-visible-foreground: var(--ig-outlined-button-focus-visible-foreground, var(--ig-gray-700));--ig-theme: indigo;--ig-theme-variant: light}:host([variant=contained]){--shadow-color: var(--ig-contained-button-shadow-color, hsl(from var(--ig-primary-400) h s l/0.5));--icon-color: var(--ig-contained-button-icon-color, hsl(from currentColor h s l / 0.8));--icon-color-hover: var(--ig-contained-button-icon-color-hover, oklch(from currentColor calc(l + 0.19) c h));--disabled-background: var(--ig-contained-button-disabled-background, hsl(from var(--ig-primary-400) h s l/0.5));--disabled-foreground: var(--ig-contained-button-disabled-foreground, hsl(from var(--ig-primary-500-contrast) h s l/0.4));--disabled-icon-color: var(--ig-contained-button-disabled-icon-color, hsl(from currentColor h s l / 0.3));--size: var(--ig-contained-button-size, max(var(--is-large, 1) * max(2rem, -1 * 2rem), var(--is-medium, 1) * max(1.75rem, -1 * 1.75rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--ig-contained-button-default-size, 2);--resting-elevation: var(--ig-contained-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--ig-contained-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--ig-contained-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--ig-contained-button-active-elevation, var(--ig-elevation-0));--background: var(--ig-contained-button-background, var(--ig-primary-500));--active-background: var(--ig-contained-button-active-background, var(--ig-primary-400));--border-radius: var(--ig-contained-button-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 1) * 2.5rem), 2.5rem));--foreground: var(--ig-contained-button-foreground, var(--ig-primary-500-contrast));--hover-background: var(--ig-contained-button-hover-background, var(--ig-primary-400));--hover-foreground: var(--ig-contained-button-hover-foreground, var(--ig-primary-500-contrast));--focus-background: var(--ig-contained-button-focus-background, var(--ig-primary-400));--focus-foreground: var(--ig-contained-button-focus-foreground, var(--ig-primary-500-contrast));--focus-hover-background: var(--ig-contained-button-focus-hover-background, var(--ig-primary-400));--focus-hover-foreground: var(--ig-contained-button-focus-hover-foreground, var(--ig-primary-500-contrast));--active-foreground: var(--ig-contained-button-active-foreground, var(--ig-primary-500-contrast));--focus-visible-background: var(--ig-contained-button-focus-visible-background, var(--ig-primary-500));--focus-visible-foreground: var(--ig-contained-button-focus-visible-foreground, var(--ig-primary-500-contrast));--ig-theme: indigo;--ig-theme-variant: light}:host([variant=fab]){--size: var(--ig-fab-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(2rem, -1 * 2rem), var(--is-small, 1) * max(1.75rem, -1 * 1.75rem)));--foreground: var(--ig-fab-button-foreground, var(--ig-primary-500-contrast));--hover-background: var(--ig-fab-button-hover-background, var(--ig-primary-400));--hover-foreground: var(--ig-fab-button-hover-foreground, var(--ig-primary-500-contrast));--focus-background: var(--ig-fab-button-focus-background, var(--ig-primary-400));--focus-foreground: var(--ig-fab-button-focus-foreground, var(--ig-primary-500-contrast));--focus-hover-background: var(--ig-fab-button-focus-hover-background, var(--ig-primary-400));--focus-hover-foreground: var(--ig-fab-button-focus-hover-foreground, var(--ig-primary-500-contrast));--active-foreground: var(--ig-fab-button-active-foreground, var(--ig-primary-500-contrast));--focus-visible-background: var(--ig-fab-button-focus-visible-background, var(--ig-primary-500));--focus-visible-foreground: var(--ig-fab-button-focus-visible-foreground, var(--ig-primary-500-contrast));--border-radius: var(--ig-fab-button-border-radius, clamp(0.75rem, calc(var(--ig-radius-factor, 1) * 2.5rem), 2.5rem));--ig-theme: indigo;--ig-theme-variant: light}`;\n "]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host([variant=flat]){--disabled-background: var(--ig-flat-button-disabled-background, transparent);--focus-foreground: var(--ig-flat-button-focus-foreground, var(--ig-secondary-900));--foreground: var(--ig-flat-button-foreground, var(--ig-secondary-500));--
|
|
2
|
+
export const styles = css `:host([variant=flat]){--disabled-background: var(--ig-flat-button-disabled-background, transparent);--focus-foreground: var(--ig-flat-button-focus-foreground, var(--ig-secondary-900));--foreground: var(--ig-flat-button-foreground, var(--ig-secondary-500));--hover-background: var(--ig-flat-button-hover-background, hsl(from var(--ig-secondary-500) h s l/0.08));--hover-foreground: var(--ig-flat-button-hover-foreground, var(--ig-secondary-800));--focus-background: var(--ig-flat-button-focus-background, hsl(from var(--ig-secondary-500) h s l/0.32));--focus-visible-background: var(--ig-flat-button-focus-visible-background, hsl(from var(--ig-secondary-500) h s l/0.16));--focus-hover-background: var(--ig-flat-button-focus-hover-background, hsl(from var(--ig-secondary-500) h s l/0.24));--focus-hover-foreground: var(--ig-flat-button-focus-hover-foreground, var(--ig-secondary-800));--focus-visible-foreground: var(--ig-flat-button-focus-visible-foreground, var(--ig-secondary-800));--active-background: var(--ig-flat-button-active-background, hsl(from var(--ig-secondary-500) h s l/0.16));--active-foreground: var(--ig-flat-button-active-foreground, var(--ig-secondary-800));--ig-theme: material;--ig-theme-variant: light}:host([variant=outlined]){--border-color: var(--ig-outlined-button-border-color, var(--ig-secondary-500));--hover-border-color: var(--ig-outlined-button-hover-border-color, var(--ig-secondary-800));--focus-border-color: var(--ig-outlined-button-focus-border-color, var(--ig-secondary-900));--focus-visible-border-color: var(--ig-outlined-button-focus-visible-border-color, var(--ig-secondary-800));--active-border-color: var(--ig-outlined-button-active-border-color, var(--ig-secondary-800));--disabled-background: var(--ig-outlined-button-disabled-background, transparent);--focus-foreground: var(--ig-outlined-button-focus-foreground, var(--ig-secondary-900));--foreground: var(--ig-outlined-button-foreground, var(--ig-secondary-500));--hover-background: var(--ig-outlined-button-hover-background, hsl(from var(--ig-secondary-500) h s l/0.08));--hover-foreground: var(--ig-outlined-button-hover-foreground, var(--ig-secondary-800));--focus-background: var(--ig-outlined-button-focus-background, hsl(from var(--ig-secondary-500) h s l/0.32));--focus-visible-background: var(--ig-outlined-button-focus-visible-background, hsl(from var(--ig-secondary-500) h s l/0.16));--focus-hover-background: var(--ig-outlined-button-focus-hover-background, hsl(from var(--ig-secondary-500) h s l/0.24));--focus-hover-foreground: var(--ig-outlined-button-focus-hover-foreground, var(--ig-secondary-800));--focus-visible-foreground: var(--ig-outlined-button-focus-visible-foreground, var(--ig-secondary-800));--active-background: var(--ig-outlined-button-active-background, hsl(from var(--ig-secondary-500) h s l/0.16));--active-foreground: var(--ig-outlined-button-active-foreground, var(--ig-secondary-800));--ig-theme: material;--ig-theme-variant: light}:host([variant=contained]){--disabled-background: var(--ig-contained-button-disabled-background, var(--ig-gray-100));--foreground: var(--ig-contained-button-foreground, var(--ig-secondary-400-contrast));--hover-background: var(--ig-contained-button-hover-background, var(--ig-secondary-400));--hover-foreground: var(--ig-contained-button-hover-foreground, var(--ig-secondary-400-contrast));--focus-background: var(--ig-contained-button-focus-background, var(--ig-secondary-300));--focus-foreground: var(--ig-contained-button-focus-foreground, var(--ig-secondary-300-contrast));--focus-hover-background: var(--ig-contained-button-focus-hover-background, var(--ig-secondary-400));--focus-hover-foreground: var(--ig-contained-button-focus-hover-foreground, var(--ig-secondary-400-contrast));--focus-visible-background: var(--ig-contained-button-focus-visible-background, var(--ig-secondary-300));--focus-visible-foreground: var(--ig-contained-button-focus-visible-foreground, var(--ig-secondary-300-contrast));--active-foreground: var(--ig-contained-button-active-foreground, var(--ig-secondary-300-contrast));--ig-theme: material;--ig-theme-variant: light}:host([variant=fab]){--disabled-background: var(--ig-fab-button-disabled-background, var(--ig-gray-100));--border-radius: var(--ig-fab-button-border-radius, clamp(0.75rem, calc(var(--ig-radius-factor, 1) * 1.75rem), 1.75rem));--foreground: var(--ig-fab-button-foreground, var(--ig-secondary-400-contrast));--hover-background: var(--ig-fab-button-hover-background, var(--ig-secondary-400));--hover-foreground: var(--ig-fab-button-hover-foreground, var(--ig-secondary-400-contrast));--focus-background: var(--ig-fab-button-focus-background, var(--ig-secondary-300));--focus-foreground: var(--ig-fab-button-focus-foreground, var(--ig-secondary-300-contrast));--focus-hover-background: var(--ig-fab-button-focus-hover-background, var(--ig-secondary-400));--focus-hover-foreground: var(--ig-fab-button-focus-hover-foreground, var(--ig-secondary-400-contrast));--focus-visible-background: var(--ig-fab-button-focus-visible-background, var(--ig-secondary-300));--focus-visible-foreground: var(--ig-fab-button-focus-visible-foreground, var(--ig-secondary-300-contrast));--active-foreground: var(--ig-fab-button-active-foreground, var(--ig-secondary-300-contrast));--ig-theme: material;--ig-theme-variant: light}`;
|
|
3
3
|
//# sourceMappingURL=button.material.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.material.css.js","sourceRoot":"","sources":["../../../../../../src/components/button/themes/button/light/button.material.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"button.material.css.js","sourceRoot":"","sources":["../../../../../../src/components/button/themes/button/light/button.material.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,6sKAA6sK,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host([variant=flat]){--disabled-background: var(--ig-flat-button-disabled-background, transparent);--focus-foreground: var(--ig-flat-button-focus-foreground, var(--ig-secondary-900));--foreground: var(--ig-flat-button-foreground, var(--ig-secondary-500));--hover-background: var(--ig-flat-button-hover-background, hsl(from var(--ig-secondary-500) h s l/0.08));--hover-foreground: var(--ig-flat-button-hover-foreground, var(--ig-secondary-800));--focus-background: var(--ig-flat-button-focus-background, hsl(from var(--ig-secondary-500) h s l/0.32));--focus-visible-background: var(--ig-flat-button-focus-visible-background, hsl(from var(--ig-secondary-500) h s l/0.16));--focus-hover-background: var(--ig-flat-button-focus-hover-background, hsl(from var(--ig-secondary-500) h s l/0.24));--focus-hover-foreground: var(--ig-flat-button-focus-hover-foreground, var(--ig-secondary-800));--focus-visible-foreground: var(--ig-flat-button-focus-visible-foreground, var(--ig-secondary-800));--active-background: var(--ig-flat-button-active-background, hsl(from var(--ig-secondary-500) h s l/0.16));--active-foreground: var(--ig-flat-button-active-foreground, var(--ig-secondary-800));--ig-theme: material;--ig-theme-variant: light}:host([variant=outlined]){--border-color: var(--ig-outlined-button-border-color, var(--ig-secondary-500));--hover-border-color: var(--ig-outlined-button-hover-border-color, var(--ig-secondary-800));--focus-border-color: var(--ig-outlined-button-focus-border-color, var(--ig-secondary-900));--focus-visible-border-color: var(--ig-outlined-button-focus-visible-border-color, var(--ig-secondary-800));--active-border-color: var(--ig-outlined-button-active-border-color, var(--ig-secondary-800));--disabled-background: var(--ig-outlined-button-disabled-background, transparent);--focus-foreground: var(--ig-outlined-button-focus-foreground, var(--ig-secondary-900));--foreground: var(--ig-outlined-button-foreground, var(--ig-secondary-500));--hover-background: var(--ig-outlined-button-hover-background, hsl(from var(--ig-secondary-500) h s l/0.08));--hover-foreground: var(--ig-outlined-button-hover-foreground, var(--ig-secondary-800));--focus-background: var(--ig-outlined-button-focus-background, hsl(from var(--ig-secondary-500) h s l/0.32));--focus-visible-background: var(--ig-outlined-button-focus-visible-background, hsl(from var(--ig-secondary-500) h s l/0.16));--focus-hover-background: var(--ig-outlined-button-focus-hover-background, hsl(from var(--ig-secondary-500) h s l/0.24));--focus-hover-foreground: var(--ig-outlined-button-focus-hover-foreground, var(--ig-secondary-800));--focus-visible-foreground: var(--ig-outlined-button-focus-visible-foreground, var(--ig-secondary-800));--active-background: var(--ig-outlined-button-active-background, hsl(from var(--ig-secondary-500) h s l/0.16));--active-foreground: var(--ig-outlined-button-active-foreground, var(--ig-secondary-800));--ig-theme: material;--ig-theme-variant: light}:host([variant=contained]){--disabled-background: var(--ig-contained-button-disabled-background, var(--ig-gray-100));--foreground: var(--ig-contained-button-foreground, var(--ig-secondary-400-contrast));--hover-background: var(--ig-contained-button-hover-background, var(--ig-secondary-400));--hover-foreground: var(--ig-contained-button-hover-foreground, var(--ig-secondary-400-contrast));--focus-background: var(--ig-contained-button-focus-background, var(--ig-secondary-300));--focus-foreground: var(--ig-contained-button-focus-foreground, var(--ig-secondary-300-contrast));--focus-hover-background: var(--ig-contained-button-focus-hover-background, var(--ig-secondary-400));--focus-hover-foreground: var(--ig-contained-button-focus-hover-foreground, var(--ig-secondary-400-contrast));--focus-visible-background: var(--ig-contained-button-focus-visible-background, var(--ig-secondary-300));--focus-visible-foreground: var(--ig-contained-button-focus-visible-foreground, var(--ig-secondary-300-contrast));--active-foreground: var(--ig-contained-button-active-foreground, var(--ig-secondary-300-contrast));--ig-theme: material;--ig-theme-variant: light}:host([variant=fab]){--disabled-background: var(--ig-fab-button-disabled-background, var(--ig-gray-100));--border-radius: var(--ig-fab-button-border-radius, clamp(0.75rem, calc(var(--ig-radius-factor, 1) * 1.75rem), 1.75rem));--foreground: var(--ig-fab-button-foreground, var(--ig-secondary-400-contrast));--hover-background: var(--ig-fab-button-hover-background, var(--ig-secondary-400));--hover-foreground: var(--ig-fab-button-hover-foreground, var(--ig-secondary-400-contrast));--focus-background: var(--ig-fab-button-focus-background, var(--ig-secondary-300));--focus-foreground: var(--ig-fab-button-focus-foreground, var(--ig-secondary-300-contrast));--focus-hover-background: var(--ig-fab-button-focus-hover-background, var(--ig-secondary-400));--focus-hover-foreground: var(--ig-fab-button-focus-hover-foreground, var(--ig-secondary-400-contrast));--focus-visible-background: var(--ig-fab-button-focus-visible-background, var(--ig-secondary-300));--focus-visible-foreground: var(--ig-fab-button-focus-visible-foreground, var(--ig-secondary-300-contrast));--active-foreground: var(--ig-fab-button-active-foreground, var(--ig-secondary-300-contrast));--ig-theme: material;--ig-theme-variant: light}`;\n "]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host([variant=flat]){--shadow-color: var(--ig-flat-button-shadow-color, transparent);--border-color: var(--ig-flat-button-border-color, transparent);--hover-border-color: var(--ig-flat-button-hover-border-color, transparent);--focus-border-color: var(--ig-flat-button-focus-border-color, transparent);--focus-visible-border-color: var(--ig-flat-button-focus-visible-border-color, transparent);--active-border-color: var(--ig-flat-button-active-border-color, transparent);--disabled-border-color: var(--ig-flat-button-disabled-border-color, transparent);--disabled-background: var(--ig-flat-button-disabled-background, var(--ig-gray-300));--disabled-foreground: var(--ig-flat-button-disabled-foreground, var(--ig-gray-500));--disabled-icon-color: var(--ig-flat-button-disabled-icon-color,
|
|
2
|
+
export const styles = css `:host([variant=flat]){--shadow-color: var(--ig-flat-button-shadow-color, transparent);--border-color: var(--ig-flat-button-border-color, transparent);--hover-border-color: var(--ig-flat-button-hover-border-color, transparent);--focus-border-color: var(--ig-flat-button-focus-border-color, transparent);--focus-visible-border-color: var(--ig-flat-button-focus-visible-border-color, transparent);--active-border-color: var(--ig-flat-button-active-border-color, transparent);--disabled-border-color: var(--ig-flat-button-disabled-border-color, transparent);--icon-color: var(--ig-flat-button-icon-color, currentColor);--icon-color-hover: var(--ig-flat-button-icon-color-hover, currentColor);--disabled-background: var(--ig-flat-button-disabled-background, var(--ig-gray-300));--disabled-foreground: var(--ig-flat-button-disabled-foreground, var(--ig-gray-500));--disabled-icon-color: var(--ig-flat-button-disabled-icon-color, currentColor);--size: var(--ig-flat-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--ig-flat-button-default-size, 3);--resting-elevation: var(--ig-flat-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--ig-flat-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--ig-flat-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--ig-flat-button-active-elevation, var(--ig-elevation-0));--background: var(--ig-flat-button-background, transparent);--focus-foreground: var(--ig-flat-button-focus-foreground, var(--ig-secondary-500));--border-radius: var(--ig-flat-button-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));--ig-theme-variant: light}:host([variant=outlined]){--shadow-color: var(--ig-outlined-button-shadow-color, transparent);--border-color: var(--ig-outlined-button-border-color, transparent);--hover-border-color: var(--ig-outlined-button-hover-border-color, transparent);--focus-border-color: var(--ig-outlined-button-focus-border-color, transparent);--focus-visible-border-color: var(--ig-outlined-button-focus-visible-border-color, transparent);--active-border-color: var(--ig-outlined-button-active-border-color, transparent);--disabled-border-color: var(--ig-outlined-button-disabled-border-color, var(--ig-gray-300));--icon-color: var(--ig-outlined-button-icon-color, currentColor);--icon-color-hover: var(--ig-outlined-button-icon-color-hover, currentColor);--disabled-background: var(--ig-outlined-button-disabled-background, var(--ig-gray-300));--disabled-foreground: var(--ig-outlined-button-disabled-foreground, var(--ig-gray-500));--disabled-icon-color: var(--ig-outlined-button-disabled-icon-color, currentColor);--size: var(--ig-outlined-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--ig-outlined-button-default-size, 3);--resting-elevation: var(--ig-outlined-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--ig-outlined-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--ig-outlined-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--ig-outlined-button-active-elevation, var(--ig-elevation-0));--background: var(--ig-outlined-button-background, transparent);--focus-foreground: var(--ig-outlined-button-focus-foreground, var(--ig-secondary-500));--border-radius: var(--ig-outlined-button-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));--ig-theme-variant: light}:host([variant=contained]){--shadow-color: var(--ig-contained-button-shadow-color, transparent);--border-color: var(--ig-contained-button-border-color, transparent);--hover-border-color: var(--ig-contained-button-hover-border-color, transparent);--focus-border-color: var(--ig-contained-button-focus-border-color, transparent);--focus-visible-border-color: var(--ig-contained-button-focus-visible-border-color, transparent);--active-border-color: var(--ig-contained-button-active-border-color, transparent);--disabled-border-color: var(--ig-contained-button-disabled-border-color, transparent);--icon-color: var(--ig-contained-button-icon-color, currentColor);--icon-color-hover: var(--ig-contained-button-icon-color-hover, currentColor);--disabled-background: var(--ig-contained-button-disabled-background, var(--ig-gray-300));--disabled-foreground: var(--ig-contained-button-disabled-foreground, var(--ig-gray-500));--disabled-icon-color: var(--ig-contained-button-disabled-icon-color, currentColor);--size: var(--ig-contained-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--ig-contained-button-default-size, 3);--resting-elevation: var(--ig-contained-button-resting-elevation, var(--ig-elevation-2));--hover-elevation: var(--ig-contained-button-hover-elevation, var(--ig-elevation-4));--focus-elevation: var(--ig-contained-button-focus-elevation, var(--ig-elevation-8));--active-elevation: var(--ig-contained-button-active-elevation, var(--ig-elevation-4));--background: var(--ig-contained-button-background, var(--ig-secondary-500));--active-background: var(--ig-contained-button-active-background, var(--ig-secondary-300));--border-radius: var(--ig-contained-button-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));--ig-theme-variant: light}:host([variant=fab]){--shadow-color: var(--ig-fab-button-shadow-color, transparent);--border-color: var(--ig-fab-button-border-color, transparent);--hover-border-color: var(--ig-fab-button-hover-border-color, transparent);--focus-border-color: var(--ig-fab-button-focus-border-color, transparent);--focus-visible-border-color: var(--ig-fab-button-focus-visible-border-color, transparent);--active-border-color: var(--ig-fab-button-active-border-color, transparent);--disabled-border-color: var(--ig-fab-button-disabled-border-color, transparent);--icon-color: var(--ig-fab-button-icon-color, currentColor);--icon-color-hover: var(--ig-fab-button-icon-color-hover, currentColor);--disabled-background: var(--ig-fab-button-disabled-background, var(--ig-gray-300));--disabled-foreground: var(--ig-fab-button-disabled-foreground, var(--ig-gray-500));--disabled-icon-color: var(--ig-fab-button-disabled-icon-color, currentColor);--size: var(--ig-fab-button-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.5rem, -1 * 2.5rem), var(--is-small, 1) * max(2rem, -1 * 2rem)));--default-size: var(--ig-fab-button-default-size, 3);--resting-elevation: var(--ig-fab-button-resting-elevation, var(--ig-elevation-6));--hover-elevation: var(--ig-fab-button-hover-elevation, var(--ig-elevation-12));--focus-elevation: var(--ig-fab-button-focus-elevation, var(--ig-elevation-12));--active-elevation: var(--ig-fab-button-active-elevation, var(--ig-elevation-12));--background: var(--ig-fab-button-background, var(--ig-secondary-500));--active-background: var(--ig-fab-button-active-background, var(--ig-secondary-300));--border-radius: var(--ig-fab-button-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));--ig-theme-variant: light}`;
|
|
3
3
|
//# sourceMappingURL=button.shared.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.shared.css.js","sourceRoot":"","sources":["../../../../../../src/components/button/themes/button/light/button.shared.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"button.shared.css.js","sourceRoot":"","sources":["../../../../../../src/components/button/themes/button/light/button.shared.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,0tOAA0tO,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host([variant=flat]){--shadow-color: var(--ig-flat-button-shadow-color, transparent);--border-color: var(--ig-flat-button-border-color, transparent);--hover-border-color: var(--ig-flat-button-hover-border-color, transparent);--focus-border-color: var(--ig-flat-button-focus-border-color, transparent);--focus-visible-border-color: var(--ig-flat-button-focus-visible-border-color, transparent);--active-border-color: var(--ig-flat-button-active-border-color, transparent);--disabled-border-color: var(--ig-flat-button-disabled-border-color, transparent);--icon-color: var(--ig-flat-button-icon-color, currentColor);--icon-color-hover: var(--ig-flat-button-icon-color-hover, currentColor);--disabled-background: var(--ig-flat-button-disabled-background, var(--ig-gray-300));--disabled-foreground: var(--ig-flat-button-disabled-foreground, var(--ig-gray-500));--disabled-icon-color: var(--ig-flat-button-disabled-icon-color, currentColor);--size: var(--ig-flat-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--ig-flat-button-default-size, 3);--resting-elevation: var(--ig-flat-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--ig-flat-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--ig-flat-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--ig-flat-button-active-elevation, var(--ig-elevation-0));--background: var(--ig-flat-button-background, transparent);--focus-foreground: var(--ig-flat-button-focus-foreground, var(--ig-secondary-500));--border-radius: var(--ig-flat-button-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));--ig-theme-variant: light}:host([variant=outlined]){--shadow-color: var(--ig-outlined-button-shadow-color, transparent);--border-color: var(--ig-outlined-button-border-color, transparent);--hover-border-color: var(--ig-outlined-button-hover-border-color, transparent);--focus-border-color: var(--ig-outlined-button-focus-border-color, transparent);--focus-visible-border-color: var(--ig-outlined-button-focus-visible-border-color, transparent);--active-border-color: var(--ig-outlined-button-active-border-color, transparent);--disabled-border-color: var(--ig-outlined-button-disabled-border-color, var(--ig-gray-300));--icon-color: var(--ig-outlined-button-icon-color, currentColor);--icon-color-hover: var(--ig-outlined-button-icon-color-hover, currentColor);--disabled-background: var(--ig-outlined-button-disabled-background, var(--ig-gray-300));--disabled-foreground: var(--ig-outlined-button-disabled-foreground, var(--ig-gray-500));--disabled-icon-color: var(--ig-outlined-button-disabled-icon-color, currentColor);--size: var(--ig-outlined-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--ig-outlined-button-default-size, 3);--resting-elevation: var(--ig-outlined-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--ig-outlined-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--ig-outlined-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--ig-outlined-button-active-elevation, var(--ig-elevation-0));--background: var(--ig-outlined-button-background, transparent);--focus-foreground: var(--ig-outlined-button-focus-foreground, var(--ig-secondary-500));--border-radius: var(--ig-outlined-button-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));--ig-theme-variant: light}:host([variant=contained]){--shadow-color: var(--ig-contained-button-shadow-color, transparent);--border-color: var(--ig-contained-button-border-color, transparent);--hover-border-color: var(--ig-contained-button-hover-border-color, transparent);--focus-border-color: var(--ig-contained-button-focus-border-color, transparent);--focus-visible-border-color: var(--ig-contained-button-focus-visible-border-color, transparent);--active-border-color: var(--ig-contained-button-active-border-color, transparent);--disabled-border-color: var(--ig-contained-button-disabled-border-color, transparent);--icon-color: var(--ig-contained-button-icon-color, currentColor);--icon-color-hover: var(--ig-contained-button-icon-color-hover, currentColor);--disabled-background: var(--ig-contained-button-disabled-background, var(--ig-gray-300));--disabled-foreground: var(--ig-contained-button-disabled-foreground, var(--ig-gray-500));--disabled-icon-color: var(--ig-contained-button-disabled-icon-color, currentColor);--size: var(--ig-contained-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--ig-contained-button-default-size, 3);--resting-elevation: var(--ig-contained-button-resting-elevation, var(--ig-elevation-2));--hover-elevation: var(--ig-contained-button-hover-elevation, var(--ig-elevation-4));--focus-elevation: var(--ig-contained-button-focus-elevation, var(--ig-elevation-8));--active-elevation: var(--ig-contained-button-active-elevation, var(--ig-elevation-4));--background: var(--ig-contained-button-background, var(--ig-secondary-500));--active-background: var(--ig-contained-button-active-background, var(--ig-secondary-300));--border-radius: var(--ig-contained-button-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));--ig-theme-variant: light}:host([variant=fab]){--shadow-color: var(--ig-fab-button-shadow-color, transparent);--border-color: var(--ig-fab-button-border-color, transparent);--hover-border-color: var(--ig-fab-button-hover-border-color, transparent);--focus-border-color: var(--ig-fab-button-focus-border-color, transparent);--focus-visible-border-color: var(--ig-fab-button-focus-visible-border-color, transparent);--active-border-color: var(--ig-fab-button-active-border-color, transparent);--disabled-border-color: var(--ig-fab-button-disabled-border-color, transparent);--icon-color: var(--ig-fab-button-icon-color, currentColor);--icon-color-hover: var(--ig-fab-button-icon-color-hover, currentColor);--disabled-background: var(--ig-fab-button-disabled-background, var(--ig-gray-300));--disabled-foreground: var(--ig-fab-button-disabled-foreground, var(--ig-gray-500));--disabled-icon-color: var(--ig-fab-button-disabled-icon-color, currentColor);--size: var(--ig-fab-button-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.5rem, -1 * 2.5rem), var(--is-small, 1) * max(2rem, -1 * 2rem)));--default-size: var(--ig-fab-button-default-size, 3);--resting-elevation: var(--ig-fab-button-resting-elevation, var(--ig-elevation-6));--hover-elevation: var(--ig-fab-button-hover-elevation, var(--ig-elevation-12));--focus-elevation: var(--ig-fab-button-focus-elevation, var(--ig-elevation-12));--active-elevation: var(--ig-fab-button-active-elevation, var(--ig-elevation-12));--background: var(--ig-fab-button-background, var(--ig-secondary-500));--active-background: var(--ig-fab-button-active-background, var(--ig-secondary-300));--border-radius: var(--ig-fab-button-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));--ig-theme-variant: light}`;\n "]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{--elevation: var(--ig-button-group-elevation, var(--ig-elevation-0));--idle-shadow-color: var(--ig-button-group-idle-shadow-color, hsl(from var(--ig-primary-600) h s l/0.5));--selected-shadow-color: var(--ig-button-group-selected-shadow-color, hsl(from var(--ig-primary-600) h s l/0.5));--item-text-color: var(--ig-button-group-item-text-color, var(--ig-primary-600-contrast));--item-background: var(--ig-button-group-item-background, var(--ig-primary-500));--item-border-color: var(--ig-button-group-item-border-color, var(--ig-primary-500));--item-hover-background: var(--ig-button-group-item-hover-background, var(--ig-primary-600));--item-hover-text-color: var(--ig-button-group-item-hover-text-color, var(--ig-primary-600-contrast));--item-focused-text-color: var(--ig-button-group-item-focused-text-color, var(--ig-primary-600-contrast));--item-focused-border-color: var(--ig-button-group-item-focused-border-color, var(--ig-primary-500));--item-focused-hover-text-color: var(--ig-button-group-item-focused-hover-text-color, var(--ig-primary-600-contrast));--item-focused-hover-border-color: var(--ig-button-group-item-focused-hover-border-color, var(--ig-primary-600));--item-focused-hover-background: var(--ig-button-group-item-focused-hover-background, var(--ig-primary-600));--item-selected-hover-text-color: var(--ig-button-group-item-selected-hover-text-color, var(--ig-primary-700-contrast));--item-selected-hover-icon-color: var(--ig-button-group-item-selected-hover-icon-color, var(--ig-primary-700-contrast));--item-selected-focus-background: var(--ig-button-group-item-selected-focus-background, var(--ig-primary-700));--item-selected-focus-hover-background: var(--ig-button-group-item-selected-focus-hover-background, var(--ig-primary-800));--item-selected-active-background: var(--ig-button-group-item-selected-active-background, var(--ig-primary-900));--item-active-border-color: var(--ig-button-group-item-active-border-color, var(--ig-primary-800));--item-selected-active-border-color: var(--ig-button-group-item-selected-active-border-color, var(--ig-primary-900));--disabled-background-color: var(--ig-button-group-disabled-background-color, var(--ig-primary-50));--border-radius: var(--ig-button-group-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));--default-size: var(--ig-button-group-default-size, 2);--item-icon-color: var(--ig-button-group-item-icon-color, var(--ig-primary-600-contrast));--item-hover-border-color: var(--ig-button-group-item-hover-border-color, var(--ig-primary-
|
|
2
|
+
export const styles = css `:host{--elevation: var(--ig-button-group-elevation, var(--ig-elevation-0));--idle-shadow-color: var(--ig-button-group-idle-shadow-color, hsl(from var(--ig-primary-600) h s l/0.5));--selected-shadow-color: var(--ig-button-group-selected-shadow-color, hsl(from var(--ig-primary-600) h s l/0.5));--item-text-color: var(--ig-button-group-item-text-color, var(--ig-primary-600-contrast));--item-background: var(--ig-button-group-item-background, var(--ig-primary-500));--item-border-color: var(--ig-button-group-item-border-color, var(--ig-primary-500));--item-hover-background: var(--ig-button-group-item-hover-background, var(--ig-primary-600));--item-hover-text-color: var(--ig-button-group-item-hover-text-color, var(--ig-primary-600-contrast));--item-focused-text-color: var(--ig-button-group-item-focused-text-color, var(--ig-primary-600-contrast));--item-focused-border-color: var(--ig-button-group-item-focused-border-color, var(--ig-primary-500));--item-focused-hover-text-color: var(--ig-button-group-item-focused-hover-text-color, var(--ig-primary-600-contrast));--item-focused-hover-border-color: var(--ig-button-group-item-focused-hover-border-color, var(--ig-primary-600));--item-focused-hover-background: var(--ig-button-group-item-focused-hover-background, var(--ig-primary-600));--item-selected-hover-text-color: var(--ig-button-group-item-selected-hover-text-color, var(--ig-primary-700-contrast));--item-selected-hover-icon-color: var(--ig-button-group-item-selected-hover-icon-color, var(--ig-primary-700-contrast));--item-selected-focus-background: var(--ig-button-group-item-selected-focus-background, var(--ig-primary-700));--item-selected-focus-hover-background: var(--ig-button-group-item-selected-focus-hover-background, var(--ig-primary-800));--item-selected-active-background: var(--ig-button-group-item-selected-active-background, var(--ig-primary-900));--item-active-border-color: var(--ig-button-group-item-active-border-color, var(--ig-primary-800));--item-selected-active-border-color: var(--ig-button-group-item-selected-active-border-color, var(--ig-primary-900));--disabled-background-color: var(--ig-button-group-disabled-background-color, var(--ig-primary-50));--border-radius: var(--ig-button-group-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));--default-size: var(--ig-button-group-default-size, 2);--item-icon-color: var(--ig-button-group-item-icon-color, var(--ig-primary-600-contrast));--item-hover-border-color: var(--ig-button-group-item-hover-border-color, var(--ig-primary-600));--item-hover-icon-color: var(--ig-button-group-item-hover-icon-color, var(--ig-primary-600-contrast));--item-focused-background: var(--ig-button-group-item-focused-background, var(--ig-primary-500));--item-selected-background: var(--ig-button-group-item-selected-background, var(--ig-primary-700));--item-selected-text-color: var(--ig-button-group-item-selected-text-color, var(--ig-primary-700-contrast));--item-selected-icon-color: var(--ig-button-group-item-selected-icon-color, var(--ig-primary-700-contrast));--item-selected-border-color: var(--ig-button-group-item-selected-border-color, var(--ig-primary-700));--item-selected-hover-background: var(--ig-button-group-item-selected-hover-background, var(--ig-primary-800));--item-selected-hover-border-color: var(--ig-button-group-item-selected-hover-border-color, var(--ig-primary-800));--item-active-background: var(--ig-button-group-item-active-background, var(--ig-primary-800));--disabled-text-color: var(--ig-button-group-disabled-text-color, var(--ig-primary-200));--item-disabled-border: var(--ig-button-group-item-disabled-border, var(--ig-primary-50));--disabled-selected-background: var(--ig-button-group-disabled-selected-background, var(--ig-primary-100));--disabled-selected-text-color: var(--ig-button-group-disabled-selected-text-color, var(--ig-primary-200));--disabled-selected-icon-color: var(--ig-button-group-disabled-selected-icon-color, var(--ig-primary-200));--disabled-selected-border-color: var(--ig-button-group-disabled-selected-border-color, var(--ig-primary-100));--ig-theme: bootstrap;--ig-theme-variant: dark}`;
|
|
3
3
|
//# sourceMappingURL=button-group.bootstrap.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-group.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/button-group/themes/dark/button-group.bootstrap.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,4jIAA4jI,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host{--elevation: var(--ig-button-group-elevation, var(--ig-elevation-0));--idle-shadow-color: var(--ig-button-group-idle-shadow-color, hsl(from var(--ig-primary-600) h s l/0.5));--selected-shadow-color: var(--ig-button-group-selected-shadow-color, hsl(from var(--ig-primary-600) h s l/0.5));--item-text-color: var(--ig-button-group-item-text-color, var(--ig-primary-600-contrast));--item-background: var(--ig-button-group-item-background, var(--ig-primary-500));--item-border-color: var(--ig-button-group-item-border-color, var(--ig-primary-500));--item-hover-background: var(--ig-button-group-item-hover-background, var(--ig-primary-600));--item-hover-text-color: var(--ig-button-group-item-hover-text-color, var(--ig-primary-600-contrast));--item-focused-text-color: var(--ig-button-group-item-focused-text-color, var(--ig-primary-600-contrast));--item-focused-border-color: var(--ig-button-group-item-focused-border-color, var(--ig-primary-500));--item-focused-hover-text-color: var(--ig-button-group-item-focused-hover-text-color, var(--ig-primary-600-contrast));--item-focused-hover-border-color: var(--ig-button-group-item-focused-hover-border-color, var(--ig-primary-600));--item-focused-hover-background: var(--ig-button-group-item-focused-hover-background, var(--ig-primary-600));--item-selected-hover-text-color: var(--ig-button-group-item-selected-hover-text-color, var(--ig-primary-700-contrast));--item-selected-hover-icon-color: var(--ig-button-group-item-selected-hover-icon-color, var(--ig-primary-700-contrast));--item-selected-focus-background: var(--ig-button-group-item-selected-focus-background, var(--ig-primary-700));--item-selected-focus-hover-background: var(--ig-button-group-item-selected-focus-hover-background, var(--ig-primary-800));--item-selected-active-background: var(--ig-button-group-item-selected-active-background, var(--ig-primary-900));--item-active-border-color: var(--ig-button-group-item-active-border-color, var(--ig-primary-800));--item-selected-active-border-color: var(--ig-button-group-item-selected-active-border-color, var(--ig-primary-900));--disabled-background-color: var(--ig-button-group-disabled-background-color, var(--ig-primary-50));--border-radius: var(--ig-button-group-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));--default-size: var(--ig-button-group-default-size, 2);--item-icon-color: var(--ig-button-group-item-icon-color, var(--ig-primary-600-contrast));--item-hover-border-color: var(--ig-button-group-item-hover-border-color, var(--ig-primary-
|
|
1
|
+
{"version":3,"file":"button-group.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/button-group/themes/dark/button-group.bootstrap.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,4jIAA4jI,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host{--elevation: var(--ig-button-group-elevation, var(--ig-elevation-0));--idle-shadow-color: var(--ig-button-group-idle-shadow-color, hsl(from var(--ig-primary-600) h s l/0.5));--selected-shadow-color: var(--ig-button-group-selected-shadow-color, hsl(from var(--ig-primary-600) h s l/0.5));--item-text-color: var(--ig-button-group-item-text-color, var(--ig-primary-600-contrast));--item-background: var(--ig-button-group-item-background, var(--ig-primary-500));--item-border-color: var(--ig-button-group-item-border-color, var(--ig-primary-500));--item-hover-background: var(--ig-button-group-item-hover-background, var(--ig-primary-600));--item-hover-text-color: var(--ig-button-group-item-hover-text-color, var(--ig-primary-600-contrast));--item-focused-text-color: var(--ig-button-group-item-focused-text-color, var(--ig-primary-600-contrast));--item-focused-border-color: var(--ig-button-group-item-focused-border-color, var(--ig-primary-500));--item-focused-hover-text-color: var(--ig-button-group-item-focused-hover-text-color, var(--ig-primary-600-contrast));--item-focused-hover-border-color: var(--ig-button-group-item-focused-hover-border-color, var(--ig-primary-600));--item-focused-hover-background: var(--ig-button-group-item-focused-hover-background, var(--ig-primary-600));--item-selected-hover-text-color: var(--ig-button-group-item-selected-hover-text-color, var(--ig-primary-700-contrast));--item-selected-hover-icon-color: var(--ig-button-group-item-selected-hover-icon-color, var(--ig-primary-700-contrast));--item-selected-focus-background: var(--ig-button-group-item-selected-focus-background, var(--ig-primary-700));--item-selected-focus-hover-background: var(--ig-button-group-item-selected-focus-hover-background, var(--ig-primary-800));--item-selected-active-background: var(--ig-button-group-item-selected-active-background, var(--ig-primary-900));--item-active-border-color: var(--ig-button-group-item-active-border-color, var(--ig-primary-800));--item-selected-active-border-color: var(--ig-button-group-item-selected-active-border-color, var(--ig-primary-900));--disabled-background-color: var(--ig-button-group-disabled-background-color, var(--ig-primary-50));--border-radius: var(--ig-button-group-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));--default-size: var(--ig-button-group-default-size, 2);--item-icon-color: var(--ig-button-group-item-icon-color, var(--ig-primary-600-contrast));--item-hover-border-color: var(--ig-button-group-item-hover-border-color, var(--ig-primary-600));--item-hover-icon-color: var(--ig-button-group-item-hover-icon-color, var(--ig-primary-600-contrast));--item-focused-background: var(--ig-button-group-item-focused-background, var(--ig-primary-500));--item-selected-background: var(--ig-button-group-item-selected-background, var(--ig-primary-700));--item-selected-text-color: var(--ig-button-group-item-selected-text-color, var(--ig-primary-700-contrast));--item-selected-icon-color: var(--ig-button-group-item-selected-icon-color, var(--ig-primary-700-contrast));--item-selected-border-color: var(--ig-button-group-item-selected-border-color, var(--ig-primary-700));--item-selected-hover-background: var(--ig-button-group-item-selected-hover-background, var(--ig-primary-800));--item-selected-hover-border-color: var(--ig-button-group-item-selected-hover-border-color, var(--ig-primary-800));--item-active-background: var(--ig-button-group-item-active-background, var(--ig-primary-800));--disabled-text-color: var(--ig-button-group-disabled-text-color, var(--ig-primary-200));--item-disabled-border: var(--ig-button-group-item-disabled-border, var(--ig-primary-50));--disabled-selected-background: var(--ig-button-group-disabled-selected-background, var(--ig-primary-100));--disabled-selected-text-color: var(--ig-button-group-disabled-selected-text-color, var(--ig-primary-200));--disabled-selected-icon-color: var(--ig-button-group-disabled-selected-icon-color, var(--ig-primary-200));--disabled-selected-border-color: var(--ig-button-group-disabled-selected-border-color, var(--ig-primary-100));--ig-theme: bootstrap;--ig-theme-variant: dark}`;\n "]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{--elevation: var(--ig-button-group-elevation, var(--ig-elevation-0));--idle-shadow-color: var(--ig-button-group-idle-shadow-color, hsl(from var(--ig-primary-600) h s l/0.5));--selected-shadow-color: var(--ig-button-group-selected-shadow-color, hsl(from var(--ig-primary-600) h s l/0.5));--item-text-color: var(--ig-button-group-item-text-color, var(--ig-primary-600-contrast));--item-background: var(--ig-button-group-item-background, var(--ig-primary-500));--item-border-color: var(--ig-button-group-item-border-color, var(--ig-primary-500));--item-hover-background: var(--ig-button-group-item-hover-background, var(--ig-primary-600));--item-hover-text-color: var(--ig-button-group-item-hover-text-color, var(--ig-primary-600-contrast));--item-focused-text-color: var(--ig-button-group-item-focused-text-color, var(--ig-primary-600-contrast));--item-focused-border-color: var(--ig-button-group-item-focused-border-color, var(--ig-primary-500));--item-focused-hover-text-color: var(--ig-button-group-item-focused-hover-text-color, var(--ig-primary-600-contrast));--item-focused-hover-border-color: var(--ig-button-group-item-focused-hover-border-color, var(--ig-primary-600));--item-focused-hover-background: var(--ig-button-group-item-focused-hover-background, var(--ig-primary-600));--item-selected-hover-text-color: var(--ig-button-group-item-selected-hover-text-color, var(--ig-primary-700-contrast));--item-selected-hover-icon-color: var(--ig-button-group-item-selected-hover-icon-color, var(--ig-primary-700-contrast));--item-selected-focus-background: var(--ig-button-group-item-selected-focus-background, var(--ig-primary-700));--item-selected-focus-hover-background: var(--ig-button-group-item-selected-focus-hover-background, var(--ig-primary-800));--item-selected-active-background: var(--ig-button-group-item-selected-active-background, var(--ig-primary-900));--item-active-border-color: var(--ig-button-group-item-active-border-color, var(--ig-primary-800));--item-selected-active-border-color: var(--ig-button-group-item-selected-active-border-color, var(--ig-primary-900));--disabled-background-color: var(--ig-button-group-disabled-background-color, var(--ig-primary-50));--item-icon-color: var(--ig-button-group-item-icon-color, var(--ig-primary-600-contrast));--item-hover-border-color: var(--ig-button-group-item-hover-border-color, var(--ig-primary-
|
|
2
|
+
export const styles = css `:host{--elevation: var(--ig-button-group-elevation, var(--ig-elevation-0));--idle-shadow-color: var(--ig-button-group-idle-shadow-color, hsl(from var(--ig-primary-600) h s l/0.5));--selected-shadow-color: var(--ig-button-group-selected-shadow-color, hsl(from var(--ig-primary-600) h s l/0.5));--item-text-color: var(--ig-button-group-item-text-color, var(--ig-primary-600-contrast));--item-background: var(--ig-button-group-item-background, var(--ig-primary-500));--item-border-color: var(--ig-button-group-item-border-color, var(--ig-primary-500));--item-hover-background: var(--ig-button-group-item-hover-background, var(--ig-primary-600));--item-hover-text-color: var(--ig-button-group-item-hover-text-color, var(--ig-primary-600-contrast));--item-focused-text-color: var(--ig-button-group-item-focused-text-color, var(--ig-primary-600-contrast));--item-focused-border-color: var(--ig-button-group-item-focused-border-color, var(--ig-primary-500));--item-focused-hover-text-color: var(--ig-button-group-item-focused-hover-text-color, var(--ig-primary-600-contrast));--item-focused-hover-border-color: var(--ig-button-group-item-focused-hover-border-color, var(--ig-primary-600));--item-focused-hover-background: var(--ig-button-group-item-focused-hover-background, var(--ig-primary-600));--item-selected-hover-text-color: var(--ig-button-group-item-selected-hover-text-color, var(--ig-primary-700-contrast));--item-selected-hover-icon-color: var(--ig-button-group-item-selected-hover-icon-color, var(--ig-primary-700-contrast));--item-selected-focus-background: var(--ig-button-group-item-selected-focus-background, var(--ig-primary-700));--item-selected-focus-hover-background: var(--ig-button-group-item-selected-focus-hover-background, var(--ig-primary-800));--item-selected-active-background: var(--ig-button-group-item-selected-active-background, var(--ig-primary-900));--item-active-border-color: var(--ig-button-group-item-active-border-color, var(--ig-primary-800));--item-selected-active-border-color: var(--ig-button-group-item-selected-active-border-color, var(--ig-primary-900));--disabled-background-color: var(--ig-button-group-disabled-background-color, var(--ig-primary-50));--item-icon-color: var(--ig-button-group-item-icon-color, var(--ig-primary-600-contrast));--item-hover-border-color: var(--ig-button-group-item-hover-border-color, var(--ig-primary-600));--item-hover-icon-color: var(--ig-button-group-item-hover-icon-color, var(--ig-primary-600-contrast));--item-focused-background: var(--ig-button-group-item-focused-background, var(--ig-primary-500));--item-selected-background: var(--ig-button-group-item-selected-background, var(--ig-primary-700));--item-selected-text-color: var(--ig-button-group-item-selected-text-color, var(--ig-primary-700-contrast));--item-selected-icon-color: var(--ig-button-group-item-selected-icon-color, var(--ig-primary-700-contrast));--item-selected-border-color: var(--ig-button-group-item-selected-border-color, var(--ig-primary-700));--item-selected-hover-background: var(--ig-button-group-item-selected-hover-background, var(--ig-primary-800));--item-selected-hover-border-color: var(--ig-button-group-item-selected-hover-border-color, var(--ig-primary-800));--item-active-background: var(--ig-button-group-item-active-background, var(--ig-primary-800));--disabled-text-color: var(--ig-button-group-disabled-text-color, var(--ig-primary-200));--item-disabled-border: var(--ig-button-group-item-disabled-border, var(--ig-primary-50));--disabled-selected-background: var(--ig-button-group-disabled-selected-background, var(--ig-primary-100));--disabled-selected-text-color: var(--ig-button-group-disabled-selected-text-color, var(--ig-primary-200));--disabled-selected-icon-color: var(--ig-button-group-disabled-selected-icon-color, var(--ig-primary-200));--disabled-selected-border-color: var(--ig-button-group-disabled-selected-border-color, var(--ig-primary-100));--ig-theme: bootstrap;--ig-theme-variant: light}`;
|
|
3
3
|
//# sourceMappingURL=button-group.bootstrap.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-group.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/button-group/themes/light/button-group.bootstrap.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,44HAA44H,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host{--elevation: var(--ig-button-group-elevation, var(--ig-elevation-0));--idle-shadow-color: var(--ig-button-group-idle-shadow-color, hsl(from var(--ig-primary-600) h s l/0.5));--selected-shadow-color: var(--ig-button-group-selected-shadow-color, hsl(from var(--ig-primary-600) h s l/0.5));--item-text-color: var(--ig-button-group-item-text-color, var(--ig-primary-600-contrast));--item-background: var(--ig-button-group-item-background, var(--ig-primary-500));--item-border-color: var(--ig-button-group-item-border-color, var(--ig-primary-500));--item-hover-background: var(--ig-button-group-item-hover-background, var(--ig-primary-600));--item-hover-text-color: var(--ig-button-group-item-hover-text-color, var(--ig-primary-600-contrast));--item-focused-text-color: var(--ig-button-group-item-focused-text-color, var(--ig-primary-600-contrast));--item-focused-border-color: var(--ig-button-group-item-focused-border-color, var(--ig-primary-500));--item-focused-hover-text-color: var(--ig-button-group-item-focused-hover-text-color, var(--ig-primary-600-contrast));--item-focused-hover-border-color: var(--ig-button-group-item-focused-hover-border-color, var(--ig-primary-600));--item-focused-hover-background: var(--ig-button-group-item-focused-hover-background, var(--ig-primary-600));--item-selected-hover-text-color: var(--ig-button-group-item-selected-hover-text-color, var(--ig-primary-700-contrast));--item-selected-hover-icon-color: var(--ig-button-group-item-selected-hover-icon-color, var(--ig-primary-700-contrast));--item-selected-focus-background: var(--ig-button-group-item-selected-focus-background, var(--ig-primary-700));--item-selected-focus-hover-background: var(--ig-button-group-item-selected-focus-hover-background, var(--ig-primary-800));--item-selected-active-background: var(--ig-button-group-item-selected-active-background, var(--ig-primary-900));--item-active-border-color: var(--ig-button-group-item-active-border-color, var(--ig-primary-800));--item-selected-active-border-color: var(--ig-button-group-item-selected-active-border-color, var(--ig-primary-900));--disabled-background-color: var(--ig-button-group-disabled-background-color, var(--ig-primary-50));--item-icon-color: var(--ig-button-group-item-icon-color, var(--ig-primary-600-contrast));--item-hover-border-color: var(--ig-button-group-item-hover-border-color, var(--ig-primary-
|
|
1
|
+
{"version":3,"file":"button-group.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/button-group/themes/light/button-group.bootstrap.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,44HAA44H,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host{--elevation: var(--ig-button-group-elevation, var(--ig-elevation-0));--idle-shadow-color: var(--ig-button-group-idle-shadow-color, hsl(from var(--ig-primary-600) h s l/0.5));--selected-shadow-color: var(--ig-button-group-selected-shadow-color, hsl(from var(--ig-primary-600) h s l/0.5));--item-text-color: var(--ig-button-group-item-text-color, var(--ig-primary-600-contrast));--item-background: var(--ig-button-group-item-background, var(--ig-primary-500));--item-border-color: var(--ig-button-group-item-border-color, var(--ig-primary-500));--item-hover-background: var(--ig-button-group-item-hover-background, var(--ig-primary-600));--item-hover-text-color: var(--ig-button-group-item-hover-text-color, var(--ig-primary-600-contrast));--item-focused-text-color: var(--ig-button-group-item-focused-text-color, var(--ig-primary-600-contrast));--item-focused-border-color: var(--ig-button-group-item-focused-border-color, var(--ig-primary-500));--item-focused-hover-text-color: var(--ig-button-group-item-focused-hover-text-color, var(--ig-primary-600-contrast));--item-focused-hover-border-color: var(--ig-button-group-item-focused-hover-border-color, var(--ig-primary-600));--item-focused-hover-background: var(--ig-button-group-item-focused-hover-background, var(--ig-primary-600));--item-selected-hover-text-color: var(--ig-button-group-item-selected-hover-text-color, var(--ig-primary-700-contrast));--item-selected-hover-icon-color: var(--ig-button-group-item-selected-hover-icon-color, var(--ig-primary-700-contrast));--item-selected-focus-background: var(--ig-button-group-item-selected-focus-background, var(--ig-primary-700));--item-selected-focus-hover-background: var(--ig-button-group-item-selected-focus-hover-background, var(--ig-primary-800));--item-selected-active-background: var(--ig-button-group-item-selected-active-background, var(--ig-primary-900));--item-active-border-color: var(--ig-button-group-item-active-border-color, var(--ig-primary-800));--item-selected-active-border-color: var(--ig-button-group-item-selected-active-border-color, var(--ig-primary-900));--disabled-background-color: var(--ig-button-group-disabled-background-color, var(--ig-primary-50));--item-icon-color: var(--ig-button-group-item-icon-color, var(--ig-primary-600-contrast));--item-hover-border-color: var(--ig-button-group-item-hover-border-color, var(--ig-primary-600));--item-hover-icon-color: var(--ig-button-group-item-hover-icon-color, var(--ig-primary-600-contrast));--item-focused-background: var(--ig-button-group-item-focused-background, var(--ig-primary-500));--item-selected-background: var(--ig-button-group-item-selected-background, var(--ig-primary-700));--item-selected-text-color: var(--ig-button-group-item-selected-text-color, var(--ig-primary-700-contrast));--item-selected-icon-color: var(--ig-button-group-item-selected-icon-color, var(--ig-primary-700-contrast));--item-selected-border-color: var(--ig-button-group-item-selected-border-color, var(--ig-primary-700));--item-selected-hover-background: var(--ig-button-group-item-selected-hover-background, var(--ig-primary-800));--item-selected-hover-border-color: var(--ig-button-group-item-selected-hover-border-color, var(--ig-primary-800));--item-active-background: var(--ig-button-group-item-active-background, var(--ig-primary-800));--disabled-text-color: var(--ig-button-group-disabled-text-color, var(--ig-primary-200));--item-disabled-border: var(--ig-button-group-item-disabled-border, var(--ig-primary-50));--disabled-selected-background: var(--ig-button-group-disabled-selected-background, var(--ig-primary-100));--disabled-selected-text-color: var(--ig-button-group-disabled-selected-text-color, var(--ig-primary-200));--disabled-selected-icon-color: var(--ig-button-group-disabled-selected-icon-color, var(--ig-primary-200));--disabled-selected-border-color: var(--ig-button-group-disabled-selected-border-color, var(--ig-primary-100));--ig-theme: bootstrap;--ig-theme-variant: light}`;\n "]}
|
|
@@ -174,7 +174,7 @@ export default class IgcChatInputComponent extends LitElement {
|
|
|
174
174
|
}
|
|
175
175
|
_handleInput({ detail }) {
|
|
176
176
|
this._state.inputValue = detail;
|
|
177
|
-
this._state.emitEvent('igcInputChange', { detail
|
|
177
|
+
this._state.emitEvent('igcInputChange', { detail });
|
|
178
178
|
}
|
|
179
179
|
_handleFileUpload(event) {
|
|
180
180
|
const input = event.target;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-input.js","sourceRoot":"","sources":["../../../src/components/chat/chat-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextConsumer, consume } from '@lit/context';\nimport { html, LitElement, nothing, type PropertyValues } from 'lit';\nimport { query, state } from 'lit/decorators.js';\nimport { cache } from 'lit/directives/cache.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { until } from 'lit/directives/until.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport IgcIconButtonComponent from '../button/icon-button.js';\nimport IgcChipComponent from '../chip/chip.js';\nimport { chatContext, chatUserInputContext } from '../common/context.js';\nimport { addAdoptedStylesController } from '../common/controllers/adopt-styles.js';\nimport { enterKey, tabKey } from '../common/controllers/key-bindings.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { partMap } from '../common/part-map.js';\nimport { bindIf, hasFiles, isEmpty, trimmedHtml } from '../common/util.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport IgcTextareaComponent from '../textarea/textarea.js';\nimport type { ChatState } from './chat-state.js';\nimport { styles } from './themes/input.base.css.js';\nimport { all } from './themes/input.js';\nimport { styles as shared } from './themes/shared/input/input.common.css.js';\nimport type {\n ChatInputRenderContext,\n ChatRenderContext,\n ChatTemplateRenderer,\n IgcChatMessageAttachment,\n} from './types.js';\nimport {\n type ChatAcceptedFileTypes,\n getChatAcceptedFiles,\n getIconName,\n} from './utils.js';\n\ntype DefaultInputRenderers = {\n input: ChatTemplateRenderer<ChatInputRenderContext>;\n inputActions: ChatTemplateRenderer<ChatRenderContext>;\n inputActionsEnd: ChatTemplateRenderer<ChatRenderContext>;\n inputActionsStart: ChatTemplateRenderer<ChatRenderContext>;\n inputAttachments: ChatTemplateRenderer<ChatInputRenderContext>;\n fileUploadButton: ChatTemplateRenderer<ChatRenderContext>;\n sendButton: ChatTemplateRenderer<ChatRenderContext>;\n};\n\n/* blazorSuppress */\n/**\n * A web component that provides the input area for the `igc-chat` interface.\n *\n * It supports:\n * - Text input with automatic resizing\n * - Sending messages on Enter key (with Shift+Enter for newlines)\n * - File attachments via file picker or drag-and-drop\n * - Customizable templates for send button, attachments, and text input\n * - Emits various chat-related events (typing, input focus/blur, attachment drop, etc.)\n *\n * @element igc-chat-input\n *\n * @slot - Default unnamed slot for rendering inside the component\n * @fires igcTypingChange - Fired when the user starts/stops typing\n * @fires igcInputFocus - Fired when the input area receives focus\n * @fires igcInputBlur - Fired when the input area loses focus\n * @fires igcAttachmentDrag - Fired when dragging a file over the input\n * @fires igcAttachmentDrop - Fired when a file is dropped into the input\n * @fires igcChange - Fired when file input changes (delegated from `<igc-file-input>`)\n *\n * @csspart input-container - Container for the input section\n * @csspart input-wrapper - Wrapper around the text input\n * @csspart text-input - The `<igc-textarea>` component\n * @csspart actions-container - Container for file upload/send buttons\n * @csspart send-button - The send icon button\n * @csspart attachments - Container for rendering attachments\n * @csspart attachment-wrapper - Wrapper for individual attachment\n * @csspart attachment-name - Display name of an attachment\n */\nexport default class IgcChatInputComponent extends LitElement {\n public static readonly tagName = 'igc-chat-input';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(\n IgcChatInputComponent,\n IgcTextareaComponent,\n IgcIconButtonComponent,\n IgcChipComponent,\n IgcIconComponent\n );\n }\n\n private readonly _defaults: Readonly<DefaultInputRenderers> = Object.freeze({\n fileUploadButton: () => this._renderFileUploadButton(),\n input: () => this._renderTextArea(),\n inputActions: () => this._renderActionsArea(),\n inputActionsEnd: () => nothing,\n inputActionsStart: () => nothing,\n inputAttachments: (ctx) => this._renderAttachmentsArea(ctx.attachments),\n sendButton: () => this._renderSendButton(),\n });\n\n private _userIsTyping = false;\n private _userLastTypeTime = Date.now();\n private _typingTimeout = 0;\n\n private readonly _adoptedStyles = addAdoptedStylesController(this);\n\n private readonly _stateChanged = () => {\n this._shouldAdoptRootStyles = Boolean(this._state.options?.adoptRootStyles);\n };\n\n private readonly _stateConsumer = new ContextConsumer(this, {\n context: chatContext,\n callback: this._stateChanged,\n subscribe: true,\n });\n\n @consume({ context: chatUserInputContext, subscribe: true })\n private readonly _userInputState!: ChatState;\n\n @query(IgcTextareaComponent.tagName)\n private readonly _textInputElement?: IgcTextareaComponent;\n\n @query('#input_attachments')\n protected readonly _fileInput?: HTMLInputElement;\n\n @state()\n private _parts = { 'input-container': true, dragging: false };\n\n @state()\n private _shouldAdoptRootStyles = false;\n\n private get _state(): ChatState {\n return this._stateConsumer.value!;\n }\n\n private get _acceptedTypes(): ChatAcceptedFileTypes | null {\n return this._state.acceptedFileTypes;\n }\n\n constructor() {\n super();\n addThemingController(this, all, { themeChange: this._adoptPageStyles });\n }\n\n protected override update(props: PropertyValues): void {\n if (props.has('_shouldAdoptRootStyles')) {\n this._adoptedStyles.shouldAdoptStyles(this._shouldAdoptRootStyles);\n }\n super.update(props);\n }\n\n /** @internal */\n public focusInput(): void {\n this._textInputElement?.focus();\n }\n\n private _adoptPageStyles(): void {\n this._adoptedStyles.invalidateCache(this.ownerDocument);\n this._adoptedStyles.shouldAdoptStyles(this._shouldAdoptRootStyles);\n }\n\n private _getRenderer<U extends keyof DefaultInputRenderers>(\n name: U\n ): DefaultInputRenderers[U] {\n return this._state.options?.renderers\n ? ((this._state.options.renderers[name] ??\n this._defaults[name]) as DefaultInputRenderers[U])\n : this._defaults[name];\n }\n\n private async _sendMessage(): Promise<void> {\n if (\n !this._userInputState.hasInputValue &&\n !this._userInputState.hasInputAttachments\n ) {\n return;\n }\n\n this._userInputState.addMessageWithEvent({\n text: this._userInputState.inputValue,\n attachments: this._userInputState.inputAttachments,\n });\n\n this.style.height = 'auto';\n\n await this._userInputState.host.updateComplete;\n this.focusInput();\n }\n\n private _setTypingStateAndEmit(state: boolean): void {\n this._userIsTyping = state;\n this._userInputState.emitUserTypingState(state);\n }\n\n private _handleAttachmentRemoved(attachment: IgcChatMessageAttachment): void {\n const current = this._userInputState.inputAttachments;\n\n if (this._state.emitAttachmentRemoved(attachment)) {\n this._state.inputAttachments = current.toSpliced(\n current.indexOf(attachment),\n 1\n );\n }\n }\n\n private _handleKeydown(event: KeyboardEvent): void {\n this._userLastTypeTime = Date.now();\n const isEnterKey = event.key.toLowerCase() === enterKey.toLowerCase();\n const isTab = event.key.toLocaleLowerCase() === tabKey.toLowerCase();\n\n if (isTab && !this._userIsTyping) {\n return;\n }\n\n if (isEnterKey && !event.shiftKey) {\n event.preventDefault();\n this._sendMessage();\n\n if (this._userIsTyping) {\n clearTimeout(this._typingTimeout);\n this._setTypingStateAndEmit(false);\n }\n\n return;\n }\n\n clearTimeout(this._typingTimeout);\n const delay = this._state.stopTypingDelay;\n\n if (!this._userIsTyping) {\n this._setTypingStateAndEmit(true);\n }\n\n this._typingTimeout = setTimeout(() => {\n if (this._userIsTyping && this._userLastTypeTime + delay <= Date.now()) {\n this._setTypingStateAndEmit(false);\n }\n }, delay);\n }\n\n private _handleFileInputClick(): void {\n this._fileInput?.showPicker();\n }\n\n private _handleFocusState(event: FocusEvent): void {\n this._state.emitEvent(\n event.type === 'focus' ? 'igcInputFocus' : 'igcInputBlur'\n );\n }\n\n private _handleDragEnter(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n\n const validFiles = getChatAcceptedFiles(event, this._acceptedTypes);\n this._parts = { 'input-container': true, dragging: !isEmpty(validFiles) };\n this._state.emitEvent('igcAttachmentDrag');\n }\n\n private _handleDragOver(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n private _handleDragLeave(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n\n // Check if we're actually leaving the container\n const rect = (event.currentTarget as HTMLElement).getBoundingClientRect();\n const x = event.clientX;\n const y = event.clientY;\n\n if (\n x <= rect.left ||\n x >= rect.right ||\n y <= rect.top ||\n y >= rect.bottom\n ) {\n this._parts = { 'input-container': true, dragging: false };\n }\n }\n\n private _handleDrop(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this._parts = { 'input-container': true, dragging: false };\n\n const validFiles = getChatAcceptedFiles(event, this._acceptedTypes);\n this._state.emitEvent('igcAttachmentDrop');\n this._state.attachFilesWithEvent(validFiles);\n this.requestUpdate();\n }\n\n private _handleInput({ detail }: CustomEvent<string>): void {\n this._state.inputValue = detail;\n this._state.emitEvent('igcInputChange', { detail: { value: detail } });\n }\n\n private _handleFileUpload(event: Event): void {\n const input = event.target as HTMLInputElement;\n\n if (hasFiles(input)) {\n this._state.attachFilesWithEvent(Array.from(input.files!));\n }\n }\n\n /**\n * Default attachments area template used when no custom template is provided.\n * Renders the list of input attachments as chips.\n * @returns TemplateResult containing the attachments area\n */\n private _renderAttachmentsArea(attachments: IgcChatMessageAttachment[]) {\n return html`${attachments?.map(\n (attachment) => html`\n <div part=\"attachment-wrapper\" role=\"listitem\">\n <igc-chip\n removable\n @igcRemove=${() => this._handleAttachmentRemoved(attachment)}\n >\n <igc-icon\n part=\"attachment-icon\"\n slot=\"prefix\"\n name=${getIconName(attachment.file?.type ?? attachment.type)}\n ></igc-icon>\n <span part=\"attachment-name\">${attachment.name}</span>\n </igc-chip>\n </div>\n `\n )} `;\n }\n\n /**\n * Default text area template used when no custom template is provided.\n * Renders a text area for user input.\n * @returns TemplateResult containing the text area\n */\n private _renderTextArea() {\n return html`\n <igc-textarea\n part=\"text-input\"\n aria-label=\"Chat text input\"\n placeholder=${ifDefined(this._state.options?.inputPlaceholder)}\n resize=\"auto\"\n rows=\"1\"\n .value=${this._userInputState?.inputValue}\n @igcInput=${this._handleInput}\n @keydown=${this._handleKeydown}\n @focus=${this._handleFocusState}\n @blur=${this._handleFocusState}\n ></igc-textarea>\n `;\n }\n\n private _renderFileUploadButton() {\n const accepted = this._state.options?.acceptedFiles;\n const attachmentsDisabled = this._state.options?.disableInputAttachments;\n\n return html`${cache(\n attachmentsDisabled\n ? nothing\n : html`\n <label for=\"input_attachments\" part=\"file-upload\">\n <igc-icon-button\n aria-label=\"Attach files\"\n variant=\"flat\"\n name=\"attach_file\"\n @click=${this._handleFileInputClick}\n ></igc-icon-button>\n <input\n type=\"file\"\n id=\"input_attachments\"\n tabindex=\"-1\"\n name=\"input_attachments\"\n aria-label=\"Upload button\"\n multiple\n accept=${bindIf(accepted, accepted)}\n @change=${this._handleFileUpload}\n />\n </label>\n `\n )}`;\n }\n\n private _renderSendButton() {\n const enabled =\n this._state.hasInputValue || this._state.hasInputAttachments;\n\n return html`\n <igc-icon-button\n aria-label=\"Send message\"\n name=\"send_message\"\n variant=\"contained\"\n part=\"send-button\"\n ?disabled=${!enabled}\n @click=${this._sendMessage}\n ></igc-icon-button>\n `;\n }\n\n private _renderActionsArea() {\n const ctx: ChatRenderContext = { instance: this._state.host };\n\n return trimmedHtml`\n <div part=\"file-upload-container\">\n ${this._getRenderer('fileUploadButton')(ctx)}\n </div>\n <div part=\"input-actions-start\">\n ${this._getRenderer('inputActionsStart')(ctx)}\n </div>\n <div part=\"send-button-container\">${this._getRenderer('sendButton')(ctx)}</div>\n <div part=\"input-actions-end\">\n ${this._getRenderer('inputActionsEnd')(ctx)}\n </div>\n `;\n }\n\n protected override render() {\n const ctx: ChatRenderContext = { instance: this._state.host };\n\n const inputCtx: ChatInputRenderContext = {\n ...ctx,\n attachments: this._state.inputAttachments,\n value: this._state.inputValue,\n };\n\n return html`\n <div\n part=${partMap(this._parts)}\n @dragenter=${this._handleDragEnter}\n @dragover=${this._handleDragOver}\n @dragleave=${this._handleDragLeave}\n @drop=${this._handleDrop}\n >\n ${this._state.hasInputAttachments\n ? html`\n <div part=\"attachments\" role=\"list\" aria-label=\"Attachments\">\n ${until(this._getRenderer('inputAttachments')(inputCtx))}\n </div>\n `\n : nothing}\n\n <div part=\"input-wrapper\">\n ${until(this._getRenderer('input')(inputCtx))}\n </div>\n\n <div part=\"actions-container\">\n ${until(this._getRenderer('inputActions')(ctx))}\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-chat-input': IgcChatInputComponent;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"chat-input.js","sourceRoot":"","sources":["../../../src/components/chat/chat-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextConsumer, consume } from '@lit/context';\nimport { html, LitElement, nothing, type PropertyValues } from 'lit';\nimport { query, state } from 'lit/decorators.js';\nimport { cache } from 'lit/directives/cache.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { until } from 'lit/directives/until.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport IgcIconButtonComponent from '../button/icon-button.js';\nimport IgcChipComponent from '../chip/chip.js';\nimport { chatContext, chatUserInputContext } from '../common/context.js';\nimport { addAdoptedStylesController } from '../common/controllers/adopt-styles.js';\nimport { enterKey, tabKey } from '../common/controllers/key-bindings.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { partMap } from '../common/part-map.js';\nimport { bindIf, hasFiles, isEmpty, trimmedHtml } from '../common/util.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport IgcTextareaComponent from '../textarea/textarea.js';\nimport type { ChatState } from './chat-state.js';\nimport { styles } from './themes/input.base.css.js';\nimport { all } from './themes/input.js';\nimport { styles as shared } from './themes/shared/input/input.common.css.js';\nimport type {\n ChatInputRenderContext,\n ChatRenderContext,\n ChatTemplateRenderer,\n IgcChatMessageAttachment,\n} from './types.js';\nimport {\n type ChatAcceptedFileTypes,\n getChatAcceptedFiles,\n getIconName,\n} from './utils.js';\n\ntype DefaultInputRenderers = {\n input: ChatTemplateRenderer<ChatInputRenderContext>;\n inputActions: ChatTemplateRenderer<ChatRenderContext>;\n inputActionsEnd: ChatTemplateRenderer<ChatRenderContext>;\n inputActionsStart: ChatTemplateRenderer<ChatRenderContext>;\n inputAttachments: ChatTemplateRenderer<ChatInputRenderContext>;\n fileUploadButton: ChatTemplateRenderer<ChatRenderContext>;\n sendButton: ChatTemplateRenderer<ChatRenderContext>;\n};\n\n/* blazorSuppress */\n/**\n * A web component that provides the input area for the `igc-chat` interface.\n *\n * It supports:\n * - Text input with automatic resizing\n * - Sending messages on Enter key (with Shift+Enter for newlines)\n * - File attachments via file picker or drag-and-drop\n * - Customizable templates for send button, attachments, and text input\n * - Emits various chat-related events (typing, input focus/blur, attachment drop, etc.)\n *\n * @element igc-chat-input\n *\n * @slot - Default unnamed slot for rendering inside the component\n * @fires igcTypingChange - Fired when the user starts/stops typing\n * @fires igcInputFocus - Fired when the input area receives focus\n * @fires igcInputBlur - Fired when the input area loses focus\n * @fires igcAttachmentDrag - Fired when dragging a file over the input\n * @fires igcAttachmentDrop - Fired when a file is dropped into the input\n * @fires igcChange - Fired when file input changes (delegated from `<igc-file-input>`)\n *\n * @csspart input-container - Container for the input section\n * @csspart input-wrapper - Wrapper around the text input\n * @csspart text-input - The `<igc-textarea>` component\n * @csspart actions-container - Container for file upload/send buttons\n * @csspart send-button - The send icon button\n * @csspart attachments - Container for rendering attachments\n * @csspart attachment-wrapper - Wrapper for individual attachment\n * @csspart attachment-name - Display name of an attachment\n */\nexport default class IgcChatInputComponent extends LitElement {\n public static readonly tagName = 'igc-chat-input';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(\n IgcChatInputComponent,\n IgcTextareaComponent,\n IgcIconButtonComponent,\n IgcChipComponent,\n IgcIconComponent\n );\n }\n\n private readonly _defaults: Readonly<DefaultInputRenderers> = Object.freeze({\n fileUploadButton: () => this._renderFileUploadButton(),\n input: () => this._renderTextArea(),\n inputActions: () => this._renderActionsArea(),\n inputActionsEnd: () => nothing,\n inputActionsStart: () => nothing,\n inputAttachments: (ctx) => this._renderAttachmentsArea(ctx.attachments),\n sendButton: () => this._renderSendButton(),\n });\n\n private _userIsTyping = false;\n private _userLastTypeTime = Date.now();\n private _typingTimeout = 0;\n\n private readonly _adoptedStyles = addAdoptedStylesController(this);\n\n private readonly _stateChanged = () => {\n this._shouldAdoptRootStyles = Boolean(this._state.options?.adoptRootStyles);\n };\n\n private readonly _stateConsumer = new ContextConsumer(this, {\n context: chatContext,\n callback: this._stateChanged,\n subscribe: true,\n });\n\n @consume({ context: chatUserInputContext, subscribe: true })\n private readonly _userInputState!: ChatState;\n\n @query(IgcTextareaComponent.tagName)\n private readonly _textInputElement?: IgcTextareaComponent;\n\n @query('#input_attachments')\n protected readonly _fileInput?: HTMLInputElement;\n\n @state()\n private _parts = { 'input-container': true, dragging: false };\n\n @state()\n private _shouldAdoptRootStyles = false;\n\n private get _state(): ChatState {\n return this._stateConsumer.value!;\n }\n\n private get _acceptedTypes(): ChatAcceptedFileTypes | null {\n return this._state.acceptedFileTypes;\n }\n\n constructor() {\n super();\n addThemingController(this, all, { themeChange: this._adoptPageStyles });\n }\n\n protected override update(props: PropertyValues): void {\n if (props.has('_shouldAdoptRootStyles')) {\n this._adoptedStyles.shouldAdoptStyles(this._shouldAdoptRootStyles);\n }\n super.update(props);\n }\n\n /** @internal */\n public focusInput(): void {\n this._textInputElement?.focus();\n }\n\n private _adoptPageStyles(): void {\n this._adoptedStyles.invalidateCache(this.ownerDocument);\n this._adoptedStyles.shouldAdoptStyles(this._shouldAdoptRootStyles);\n }\n\n private _getRenderer<U extends keyof DefaultInputRenderers>(\n name: U\n ): DefaultInputRenderers[U] {\n return this._state.options?.renderers\n ? ((this._state.options.renderers[name] ??\n this._defaults[name]) as DefaultInputRenderers[U])\n : this._defaults[name];\n }\n\n private async _sendMessage(): Promise<void> {\n if (\n !this._userInputState.hasInputValue &&\n !this._userInputState.hasInputAttachments\n ) {\n return;\n }\n\n this._userInputState.addMessageWithEvent({\n text: this._userInputState.inputValue,\n attachments: this._userInputState.inputAttachments,\n });\n\n this.style.height = 'auto';\n\n await this._userInputState.host.updateComplete;\n this.focusInput();\n }\n\n private _setTypingStateAndEmit(state: boolean): void {\n this._userIsTyping = state;\n this._userInputState.emitUserTypingState(state);\n }\n\n private _handleAttachmentRemoved(attachment: IgcChatMessageAttachment): void {\n const current = this._userInputState.inputAttachments;\n\n if (this._state.emitAttachmentRemoved(attachment)) {\n this._state.inputAttachments = current.toSpliced(\n current.indexOf(attachment),\n 1\n );\n }\n }\n\n private _handleKeydown(event: KeyboardEvent): void {\n this._userLastTypeTime = Date.now();\n const isEnterKey = event.key.toLowerCase() === enterKey.toLowerCase();\n const isTab = event.key.toLocaleLowerCase() === tabKey.toLowerCase();\n\n if (isTab && !this._userIsTyping) {\n return;\n }\n\n if (isEnterKey && !event.shiftKey) {\n event.preventDefault();\n this._sendMessage();\n\n if (this._userIsTyping) {\n clearTimeout(this._typingTimeout);\n this._setTypingStateAndEmit(false);\n }\n\n return;\n }\n\n clearTimeout(this._typingTimeout);\n const delay = this._state.stopTypingDelay;\n\n if (!this._userIsTyping) {\n this._setTypingStateAndEmit(true);\n }\n\n this._typingTimeout = setTimeout(() => {\n if (this._userIsTyping && this._userLastTypeTime + delay <= Date.now()) {\n this._setTypingStateAndEmit(false);\n }\n }, delay);\n }\n\n private _handleFileInputClick(): void {\n this._fileInput?.showPicker();\n }\n\n private _handleFocusState(event: FocusEvent): void {\n this._state.emitEvent(\n event.type === 'focus' ? 'igcInputFocus' : 'igcInputBlur'\n );\n }\n\n private _handleDragEnter(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n\n const validFiles = getChatAcceptedFiles(event, this._acceptedTypes);\n this._parts = { 'input-container': true, dragging: !isEmpty(validFiles) };\n this._state.emitEvent('igcAttachmentDrag');\n }\n\n private _handleDragOver(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n private _handleDragLeave(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n\n // Check if we're actually leaving the container\n const rect = (event.currentTarget as HTMLElement).getBoundingClientRect();\n const x = event.clientX;\n const y = event.clientY;\n\n if (\n x <= rect.left ||\n x >= rect.right ||\n y <= rect.top ||\n y >= rect.bottom\n ) {\n this._parts = { 'input-container': true, dragging: false };\n }\n }\n\n private _handleDrop(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this._parts = { 'input-container': true, dragging: false };\n\n const validFiles = getChatAcceptedFiles(event, this._acceptedTypes);\n this._state.emitEvent('igcAttachmentDrop');\n this._state.attachFilesWithEvent(validFiles);\n this.requestUpdate();\n }\n\n private _handleInput({ detail }: CustomEvent<string>): void {\n this._state.inputValue = detail;\n this._state.emitEvent('igcInputChange', { detail });\n }\n\n private _handleFileUpload(event: Event): void {\n const input = event.target as HTMLInputElement;\n\n if (hasFiles(input)) {\n this._state.attachFilesWithEvent(Array.from(input.files!));\n }\n }\n\n /**\n * Default attachments area template used when no custom template is provided.\n * Renders the list of input attachments as chips.\n * @returns TemplateResult containing the attachments area\n */\n private _renderAttachmentsArea(attachments: IgcChatMessageAttachment[]) {\n return html`${attachments?.map(\n (attachment) => html`\n <div part=\"attachment-wrapper\" role=\"listitem\">\n <igc-chip\n removable\n @igcRemove=${() => this._handleAttachmentRemoved(attachment)}\n >\n <igc-icon\n part=\"attachment-icon\"\n slot=\"prefix\"\n name=${getIconName(attachment.file?.type ?? attachment.type)}\n ></igc-icon>\n <span part=\"attachment-name\">${attachment.name}</span>\n </igc-chip>\n </div>\n `\n )} `;\n }\n\n /**\n * Default text area template used when no custom template is provided.\n * Renders a text area for user input.\n * @returns TemplateResult containing the text area\n */\n private _renderTextArea() {\n return html`\n <igc-textarea\n part=\"text-input\"\n aria-label=\"Chat text input\"\n placeholder=${ifDefined(this._state.options?.inputPlaceholder)}\n resize=\"auto\"\n rows=\"1\"\n .value=${this._userInputState?.inputValue}\n @igcInput=${this._handleInput}\n @keydown=${this._handleKeydown}\n @focus=${this._handleFocusState}\n @blur=${this._handleFocusState}\n ></igc-textarea>\n `;\n }\n\n private _renderFileUploadButton() {\n const accepted = this._state.options?.acceptedFiles;\n const attachmentsDisabled = this._state.options?.disableInputAttachments;\n\n return html`${cache(\n attachmentsDisabled\n ? nothing\n : html`\n <label for=\"input_attachments\" part=\"file-upload\">\n <igc-icon-button\n aria-label=\"Attach files\"\n variant=\"flat\"\n name=\"attach_file\"\n @click=${this._handleFileInputClick}\n ></igc-icon-button>\n <input\n type=\"file\"\n id=\"input_attachments\"\n tabindex=\"-1\"\n name=\"input_attachments\"\n aria-label=\"Upload button\"\n multiple\n accept=${bindIf(accepted, accepted)}\n @change=${this._handleFileUpload}\n />\n </label>\n `\n )}`;\n }\n\n private _renderSendButton() {\n const enabled =\n this._state.hasInputValue || this._state.hasInputAttachments;\n\n return html`\n <igc-icon-button\n aria-label=\"Send message\"\n name=\"send_message\"\n variant=\"contained\"\n part=\"send-button\"\n ?disabled=${!enabled}\n @click=${this._sendMessage}\n ></igc-icon-button>\n `;\n }\n\n private _renderActionsArea() {\n const ctx: ChatRenderContext = { instance: this._state.host };\n\n return trimmedHtml`\n <div part=\"file-upload-container\">\n ${this._getRenderer('fileUploadButton')(ctx)}\n </div>\n <div part=\"input-actions-start\">\n ${this._getRenderer('inputActionsStart')(ctx)}\n </div>\n <div part=\"send-button-container\">${this._getRenderer('sendButton')(ctx)}</div>\n <div part=\"input-actions-end\">\n ${this._getRenderer('inputActionsEnd')(ctx)}\n </div>\n `;\n }\n\n protected override render() {\n const ctx: ChatRenderContext = { instance: this._state.host };\n\n const inputCtx: ChatInputRenderContext = {\n ...ctx,\n attachments: this._state.inputAttachments,\n value: this._state.inputValue,\n };\n\n return html`\n <div\n part=${partMap(this._parts)}\n @dragenter=${this._handleDragEnter}\n @dragover=${this._handleDragOver}\n @dragleave=${this._handleDragLeave}\n @drop=${this._handleDrop}\n >\n ${this._state.hasInputAttachments\n ? html`\n <div part=\"attachments\" role=\"list\" aria-label=\"Attachments\">\n ${until(this._getRenderer('inputAttachments')(inputCtx))}\n </div>\n `\n : nothing}\n\n <div part=\"input-wrapper\">\n ${until(this._getRenderer('input')(inputCtx))}\n </div>\n\n <div part=\"actions-container\">\n ${until(this._getRenderer('inputActions')(ctx))}\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-chat-input': IgcChatInputComponent;\n }\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { IChatResourceStrings } from 'igniteui-i18n-core';
|
|
2
2
|
import type { IgcChatResourceStrings } from '../common/i18n/EN/chat.resources.js';
|
|
3
|
+
import type { UnpackCustomEvent } from '../common/mixins/event-emitter.js';
|
|
3
4
|
import type IgcChatComponent from './chat.js';
|
|
4
5
|
import type { IgcChatComponentEventMap } from './chat.js';
|
|
5
6
|
import type { ChatSuggestionsPosition, IgcChatMessage, IgcChatMessageAttachment, IgcChatMessageReaction, IgcChatOptions } from './types.js';
|
|
@@ -87,7 +88,7 @@ export declare class ChatState {
|
|
|
87
88
|
get resourceStrings(): IgcChatResourceStrings & IChatResourceStrings;
|
|
88
89
|
constructor(chat: IgcChatComponent, contextUpdateFn: () => unknown, userInputContextUpdateFn: () => unknown);
|
|
89
90
|
isCurrentUserMessage(message?: IgcChatMessage): boolean;
|
|
90
|
-
emitEvent
|
|
91
|
+
emitEvent<K extends keyof IgcChatComponentEventMap, D extends UnpackCustomEvent<IgcChatComponentEventMap[K]>>(event: K, eventInitDict?: CustomEventInit<D>): boolean;
|
|
91
92
|
/** @internal */
|
|
92
93
|
emitMessageCreated(message: IgcChatMessage): boolean;
|
|
93
94
|
/** @internal */
|
|
@@ -70,8 +70,8 @@ export class ChatState {
|
|
|
70
70
|
isCurrentUserMessage(message) {
|
|
71
71
|
return this.currentUserId === message?.sender;
|
|
72
72
|
}
|
|
73
|
-
emitEvent(
|
|
74
|
-
return this._host.emitEvent(
|
|
73
|
+
emitEvent(event, eventInitDict) {
|
|
74
|
+
return this._host.emitEvent(event, eventInitDict);
|
|
75
75
|
}
|
|
76
76
|
emitMessageCreated(message) {
|
|
77
77
|
return this._host.emitEvent('igcMessageCreated', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-state.js","sourceRoot":"","sources":["../../../src/components/chat/chat-state.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IChatResourceStrings } from 'igniteui-i18n-core';\nimport type { IgcChatResourceStrings } from '../common/i18n/EN/chat.resources.js';\nimport { isEmpty, nanoid } from '../common/util.js';\nimport IgcToastComponent from '../toast/toast.js';\nimport IgcTooltipComponent from '../tooltip/tooltip.js';\nimport type IgcChatComponent from './chat.js';\nimport type { IgcChatComponentEventMap } from './chat.js';\nimport type {\n ChatSuggestionsPosition,\n IgcChatMessage,\n IgcChatMessageAttachment,\n IgcChatMessageReaction,\n IgcChatOptions,\n} from './types.js';\nimport {\n type ChatAcceptedFileTypes,\n isImageAttachment,\n parseAcceptedFileTypes,\n} from './utils.js';\n\n/**\n * Internal state manager for the `<igc-chat>` component.\n *\n * Manages messages, input value, attachments, options, and event emissions.\n */\nexport class ChatState {\n //#region Internal properties and state /** The host `<igc-chat>` component instance */\n private readonly _host: IgcChatComponent;\n\n private readonly _contextUpdateFn: () => unknown;\n private readonly _userInputContextUpdateFn: () => unknown;\n\n private _actionsTooltip?: IgcTooltipComponent;\n private _actionToast?: IgcToastComponent;\n\n /** The current list of messages */\n private _messages: IgcChatMessage[] = [];\n /** Chat options/configuration */\n private _options?: IgcChatOptions;\n\n /** List of current input attachments */\n private _inputAttachments: IgcChatMessageAttachment[] = [];\n /** Current input text */\n private _inputValue = '';\n /**\n * Cache of accepted file types, organized into extensions, mimeTypes, and wildcardTypes\n */\n private _acceptedTypesCache: ChatAcceptedFileTypes | null = null;\n\n //#endregion\n\n //#region Public properties\n\n public get host(): IgcChatComponent {\n return this._host;\n }\n\n public get acceptedFileTypes(): ChatAcceptedFileTypes | null {\n return this._acceptedTypesCache;\n }\n\n public get disableAutoScroll(): boolean {\n return this._options?.disableAutoScroll ?? false;\n }\n\n /**\n * Gets the list of chat messages.\n */\n public get messages(): IgcChatMessage[] {\n return this._messages;\n }\n\n /**\n * Sets the list of chat messages.\n */\n public set messages(value: IgcChatMessage[]) {\n this._messages = value;\n }\n\n /**\n * Gets current chat options.\n */\n public get options(): IgcChatOptions | undefined {\n return this._options;\n }\n\n /**\n * Sets chat options and requests host update.\n */\n public set options(value: IgcChatOptions) {\n this._options = value;\n this._setAcceptedTypesCache();\n this._contextUpdateFn.call(this._host);\n }\n\n /**\n * Gets the current user ID from options or returns 'user' as fallback.\n */\n public get currentUserId(): string {\n return this._options?.currentUserId ?? 'user';\n }\n\n /**\n * Gets the current suggestionsPosition from options or returns the default value 'below-messages'.\n */\n public get suggestionsPosition(): ChatSuggestionsPosition {\n return this._options?.suggestionsPosition ?? 'below-messages';\n }\n\n /**\n * Gets the current stopTypingDelay from options or returns the default value `3000`.\n */\n public get stopTypingDelay(): number {\n return this._options?.stopTypingDelay ?? 3000;\n }\n\n /**\n * Gets the list of attachments currently attached to input.\n */\n public get inputAttachments(): IgcChatMessageAttachment[] {\n return this._inputAttachments;\n }\n\n /**\n * Sets the input attachments and requests host update.\n */\n public set inputAttachments(value: IgcChatMessageAttachment[]) {\n this._inputAttachments = value;\n this._userInputContextUpdateFn.call(this._host);\n }\n\n /**\n * Gets the current input value.\n */\n public get inputValue(): string {\n return this._inputValue;\n }\n\n /**\n * Sets the current input value and requests host update.\n */\n public set inputValue(value: string) {\n this._inputValue = value;\n this._userInputContextUpdateFn.call(this._host);\n }\n\n /**\n * Returns whether the default chat input textarea has a trimmed value payload.\n * @internal\n */\n public get hasInputValue(): boolean {\n return !!this._inputValue.trim();\n }\n\n /**\n * Returns whether the default file input of the chat has any attached files.\n * @internal\n */\n public get hasInputAttachments(): boolean {\n return !isEmpty(this._inputAttachments);\n }\n\n public get resourceStrings(): IgcChatResourceStrings & IChatResourceStrings {\n return this._host.resourceStrings;\n }\n\n //#endregion\n\n constructor(\n chat: IgcChatComponent,\n contextUpdateFn: () => unknown,\n userInputContextUpdateFn: () => unknown\n ) {\n this._host = chat;\n this._contextUpdateFn = contextUpdateFn;\n this._userInputContextUpdateFn = userInputContextUpdateFn;\n }\n\n public isCurrentUserMessage(message?: IgcChatMessage): boolean {\n return this.currentUserId === message?.sender;\n }\n\n //#region Event handlers\n\n public emitEvent(name: keyof IgcChatComponentEventMap, args?: any): boolean {\n return this._host.emitEvent(name, args);\n }\n\n /** @internal */\n public emitMessageCreated(message: IgcChatMessage): boolean {\n return this._host.emitEvent('igcMessageCreated', {\n detail: message,\n cancelable: true,\n });\n }\n\n /** @internal */\n public emitAttachmentsAdded(\n attachments: IgcChatMessageAttachment[]\n ): boolean {\n return this._host.emitEvent('igcAttachmentAdded', {\n detail: attachments,\n cancelable: true,\n });\n }\n\n /** @internal */\n public emitAttachmentRemoved(attachment: IgcChatMessageAttachment): boolean {\n return this._host.emitEvent('igcAttachmentRemoved', {\n detail: attachment,\n cancelable: true,\n });\n }\n\n /** @internal */\n public emitMessageReaction(reaction: IgcChatMessageReaction): boolean {\n return this._host.emitEvent('igcMessageReact', { detail: reaction });\n }\n\n /** @internal */\n public emitUserTypingState(state: boolean): boolean {\n return this._host.emitEvent('igcTypingChange', { detail: state });\n }\n\n /**\n * @internal\n */\n public showActionsTooltip(target: Element, message: string): void {\n if (!this._actionsTooltip) {\n this._actionsTooltip = document.createElement(\n IgcTooltipComponent.tagName\n );\n this._actionsTooltip.hideTriggers = 'pointerleave,click,blur';\n this._actionsTooltip.hideDelay = 100;\n this._host.renderRoot.appendChild(this._actionsTooltip);\n }\n this._actionsTooltip.message = message;\n this._actionsTooltip.show(target);\n }\n\n /**\n * @internal\n */\n public showActionToast(content: string): void {\n if (!this._actionToast) {\n this._actionToast = document.createElement(IgcToastComponent.tagName);\n this._actionToast.displayTime = 3000;\n this._host.renderRoot.appendChild(this._actionToast);\n }\n this._actionToast.textContent = content;\n this._actionToast.show();\n }\n\n //#endregion\n\n /**\n * Updates the internal cache for accepted file types.\n * Parses the acceptedFiles string option into extensions, mimeTypes, and wildcard types.\n */\n private _setAcceptedTypesCache(): void {\n this._acceptedTypesCache = this.options?.acceptedFiles\n ? parseAcceptedFileTypes(this.options.acceptedFiles)\n : null;\n }\n\n protected _createMessage(message: Partial<IgcChatMessage>): IgcChatMessage {\n return {\n id: message.id ?? nanoid(),\n text: message.text ?? '',\n sender: message.sender ?? this.currentUserId,\n timestamp: message.timestamp ?? Date.now().toString(),\n attachments: message.attachments || [],\n };\n }\n\n public addMessage(message: Partial<IgcChatMessage>) {\n this.messages.push(this._createMessage(message));\n this._host.requestUpdate('messages');\n }\n\n //#region Public API\n\n /**\n * Adds a new chat message.\n * Emits 'igcMessageCreated' event which can be canceled to prevent adding.\n * Clears input value and attachments on success.\n * @internal\n */\n public addMessageWithEvent(message: Partial<IgcChatMessage>): void {\n const newMessage = this._createMessage(message);\n\n if (this.emitMessageCreated(newMessage)) {\n this.addMessage(newMessage);\n this.inputValue = '';\n this.inputAttachments = [];\n }\n }\n\n /**\n * Adds files as attachments to the input.\n * Emits 'igcAttachmentChange' event which can be canceled to prevent adding.\n * @internal\n */\n public attachFilesWithEvent(files: File[]): void {\n const newAttachments: IgcChatMessageAttachment[] = [];\n const fileNames = new Set(\n this.inputAttachments.map((attachment) => attachment.file?.name ?? '')\n );\n\n for (const file of files) {\n if (fileNames.has(file.name)) {\n continue;\n }\n\n const url = URL.createObjectURL(file);\n const attachment: IgcChatMessageAttachment = {\n id: nanoid(),\n url,\n name: file.name,\n file,\n };\n\n if (isImageAttachment(file)) {\n attachment.thumbnail = url;\n }\n newAttachments.push(attachment);\n }\n\n if (this.emitAttachmentsAdded(newAttachments)) {\n this.inputAttachments = [...this.inputAttachments, ...newAttachments];\n }\n }\n\n //#endregion\n}\n"]}
|
|
1
|
+
{"version":3,"file":"chat-state.js","sourceRoot":"","sources":["../../../src/components/chat/chat-state.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,iBAAiB,MAAM,mBAAmB,CAAC;AAClD,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAUxD,OAAO,EAEL,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAOpB,MAAM,OAAO,SAAS;IA4BpB,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,QAAQ,EAAE,iBAAiB,IAAI,KAAK,CAAC;IACnD,CAAC;IAKD,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAKD,IAAW,QAAQ,CAAC,KAAuB;QACzC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAKD,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAKD,IAAW,OAAO,CAAC,KAAqB;QACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAKD,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,QAAQ,EAAE,aAAa,IAAI,MAAM,CAAC;IAChD,CAAC;IAKD,IAAW,mBAAmB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,mBAAmB,IAAI,gBAAgB,CAAC;IAChE,CAAC;IAKD,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,QAAQ,EAAE,eAAe,IAAI,IAAI,CAAC;IAChD,CAAC;IAKD,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAKD,IAAW,gBAAgB,CAAC,KAAiC;QAC3D,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAKD,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAKD,IAAW,UAAU,CAAC,KAAa;QACjC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAMD,IAAW,aAAa;QACtB,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAMD,IAAW,mBAAmB;QAC5B,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC1C,CAAC;IAED,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACpC,CAAC;IAID,YACE,IAAsB,EACtB,eAA8B,EAC9B,wBAAuC;QAvIjC,cAAS,GAAqB,EAAE,CAAC;QAKjC,sBAAiB,GAA+B,EAAE,CAAC;QAEnD,gBAAW,GAAG,EAAE,CAAC;QAIjB,wBAAmB,GAAiC,IAAI,CAAC;QA8H/D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,yBAAyB,GAAG,wBAAwB,CAAC;IAC5D,CAAC;IAEM,oBAAoB,CAAC,OAAwB;QAClD,OAAO,IAAI,CAAC,aAAa,KAAK,OAAO,EAAE,MAAM,CAAC;IAChD,CAAC;IAIM,SAAS,CAGd,KAAQ,EAAE,aAAkC;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACpD,CAAC;IAGM,kBAAkB,CAAC,OAAuB;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,mBAAmB,EAAE;YAC/C,MAAM,EAAE,OAAO;YACf,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAGM,oBAAoB,CACzB,WAAuC;QAEvC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,oBAAoB,EAAE;YAChD,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAGM,qBAAqB,CAAC,UAAoC;QAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,sBAAsB,EAAE;YAClD,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAGM,mBAAmB,CAAC,QAAgC;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvE,CAAC;IAGM,mBAAmB,CAAC,KAAc;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IAKM,kBAAkB,CAAC,MAAe,EAAE,OAAe;QACxD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,aAAa,CAC3C,mBAAmB,CAAC,OAAO,CAC5B,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,yBAAyB,CAAC;YAC9D,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,GAAG,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAKM,eAAe,CAAC,OAAe;QACpC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACtE,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC;QACxC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAQO,sBAAsB;QAC5B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa;YACpD,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;YACpD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAES,cAAc,CAAC,OAAgC;QACvD,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM,EAAE;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa;YAC5C,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;YACrD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;SACvC,CAAC;IACJ,CAAC;IAEM,UAAU,CAAC,OAAgC;QAChD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAUM,mBAAmB,CAAC,OAAgC;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAEhD,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAOM,oBAAoB,CAAC,KAAa;QACvC,MAAM,cAAc,GAA+B,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CACvE,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,UAAU,GAA6B;gBAC3C,EAAE,EAAE,MAAM,EAAE;gBACZ,GAAG;gBACH,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI;aACL,CAAC;YAEF,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC;YAC7B,CAAC;YACD,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,cAAc,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;CAGF","sourcesContent":["import type { IChatResourceStrings } from 'igniteui-i18n-core';\nimport type { IgcChatResourceStrings } from '../common/i18n/EN/chat.resources.js';\nimport type { UnpackCustomEvent } from '../common/mixins/event-emitter.js';\nimport { isEmpty, nanoid } from '../common/util.js';\nimport IgcToastComponent from '../toast/toast.js';\nimport IgcTooltipComponent from '../tooltip/tooltip.js';\nimport type IgcChatComponent from './chat.js';\nimport type { IgcChatComponentEventMap } from './chat.js';\nimport type {\n ChatSuggestionsPosition,\n IgcChatMessage,\n IgcChatMessageAttachment,\n IgcChatMessageReaction,\n IgcChatOptions,\n} from './types.js';\nimport {\n type ChatAcceptedFileTypes,\n isImageAttachment,\n parseAcceptedFileTypes,\n} from './utils.js';\n\n/**\n * Internal state manager for the `<igc-chat>` component.\n *\n * Manages messages, input value, attachments, options, and event emissions.\n */\nexport class ChatState {\n //#region Internal properties and state /** The host `<igc-chat>` component instance */\n private readonly _host: IgcChatComponent;\n\n private readonly _contextUpdateFn: () => unknown;\n private readonly _userInputContextUpdateFn: () => unknown;\n\n private _actionsTooltip?: IgcTooltipComponent;\n private _actionToast?: IgcToastComponent;\n\n /** The current list of messages */\n private _messages: IgcChatMessage[] = [];\n /** Chat options/configuration */\n private _options?: IgcChatOptions;\n\n /** List of current input attachments */\n private _inputAttachments: IgcChatMessageAttachment[] = [];\n /** Current input text */\n private _inputValue = '';\n /**\n * Cache of accepted file types, organized into extensions, mimeTypes, and wildcardTypes\n */\n private _acceptedTypesCache: ChatAcceptedFileTypes | null = null;\n\n //#endregion\n\n //#region Public properties\n\n public get host(): IgcChatComponent {\n return this._host;\n }\n\n public get acceptedFileTypes(): ChatAcceptedFileTypes | null {\n return this._acceptedTypesCache;\n }\n\n public get disableAutoScroll(): boolean {\n return this._options?.disableAutoScroll ?? false;\n }\n\n /**\n * Gets the list of chat messages.\n */\n public get messages(): IgcChatMessage[] {\n return this._messages;\n }\n\n /**\n * Sets the list of chat messages.\n */\n public set messages(value: IgcChatMessage[]) {\n this._messages = value;\n }\n\n /**\n * Gets current chat options.\n */\n public get options(): IgcChatOptions | undefined {\n return this._options;\n }\n\n /**\n * Sets chat options and requests host update.\n */\n public set options(value: IgcChatOptions) {\n this._options = value;\n this._setAcceptedTypesCache();\n this._contextUpdateFn.call(this._host);\n }\n\n /**\n * Gets the current user ID from options or returns 'user' as fallback.\n */\n public get currentUserId(): string {\n return this._options?.currentUserId ?? 'user';\n }\n\n /**\n * Gets the current suggestionsPosition from options or returns the default value 'below-messages'.\n */\n public get suggestionsPosition(): ChatSuggestionsPosition {\n return this._options?.suggestionsPosition ?? 'below-messages';\n }\n\n /**\n * Gets the current stopTypingDelay from options or returns the default value `3000`.\n */\n public get stopTypingDelay(): number {\n return this._options?.stopTypingDelay ?? 3000;\n }\n\n /**\n * Gets the list of attachments currently attached to input.\n */\n public get inputAttachments(): IgcChatMessageAttachment[] {\n return this._inputAttachments;\n }\n\n /**\n * Sets the input attachments and requests host update.\n */\n public set inputAttachments(value: IgcChatMessageAttachment[]) {\n this._inputAttachments = value;\n this._userInputContextUpdateFn.call(this._host);\n }\n\n /**\n * Gets the current input value.\n */\n public get inputValue(): string {\n return this._inputValue;\n }\n\n /**\n * Sets the current input value and requests host update.\n */\n public set inputValue(value: string) {\n this._inputValue = value;\n this._userInputContextUpdateFn.call(this._host);\n }\n\n /**\n * Returns whether the default chat input textarea has a trimmed value payload.\n * @internal\n */\n public get hasInputValue(): boolean {\n return !!this._inputValue.trim();\n }\n\n /**\n * Returns whether the default file input of the chat has any attached files.\n * @internal\n */\n public get hasInputAttachments(): boolean {\n return !isEmpty(this._inputAttachments);\n }\n\n public get resourceStrings(): IgcChatResourceStrings & IChatResourceStrings {\n return this._host.resourceStrings;\n }\n\n //#endregion\n\n constructor(\n chat: IgcChatComponent,\n contextUpdateFn: () => unknown,\n userInputContextUpdateFn: () => unknown\n ) {\n this._host = chat;\n this._contextUpdateFn = contextUpdateFn;\n this._userInputContextUpdateFn = userInputContextUpdateFn;\n }\n\n public isCurrentUserMessage(message?: IgcChatMessage): boolean {\n return this.currentUserId === message?.sender;\n }\n\n //#region Event handlers\n\n public emitEvent<\n K extends keyof IgcChatComponentEventMap,\n D extends UnpackCustomEvent<IgcChatComponentEventMap[K]>,\n >(event: K, eventInitDict?: CustomEventInit<D>): boolean {\n return this._host.emitEvent(event, eventInitDict);\n }\n\n /** @internal */\n public emitMessageCreated(message: IgcChatMessage): boolean {\n return this._host.emitEvent('igcMessageCreated', {\n detail: message,\n cancelable: true,\n });\n }\n\n /** @internal */\n public emitAttachmentsAdded(\n attachments: IgcChatMessageAttachment[]\n ): boolean {\n return this._host.emitEvent('igcAttachmentAdded', {\n detail: attachments,\n cancelable: true,\n });\n }\n\n /** @internal */\n public emitAttachmentRemoved(attachment: IgcChatMessageAttachment): boolean {\n return this._host.emitEvent('igcAttachmentRemoved', {\n detail: attachment,\n cancelable: true,\n });\n }\n\n /** @internal */\n public emitMessageReaction(reaction: IgcChatMessageReaction): boolean {\n return this._host.emitEvent('igcMessageReact', { detail: reaction });\n }\n\n /** @internal */\n public emitUserTypingState(state: boolean): boolean {\n return this._host.emitEvent('igcTypingChange', { detail: state });\n }\n\n /**\n * @internal\n */\n public showActionsTooltip(target: Element, message: string): void {\n if (!this._actionsTooltip) {\n this._actionsTooltip = document.createElement(\n IgcTooltipComponent.tagName\n );\n this._actionsTooltip.hideTriggers = 'pointerleave,click,blur';\n this._actionsTooltip.hideDelay = 100;\n this._host.renderRoot.appendChild(this._actionsTooltip);\n }\n this._actionsTooltip.message = message;\n this._actionsTooltip.show(target);\n }\n\n /**\n * @internal\n */\n public showActionToast(content: string): void {\n if (!this._actionToast) {\n this._actionToast = document.createElement(IgcToastComponent.tagName);\n this._actionToast.displayTime = 3000;\n this._host.renderRoot.appendChild(this._actionToast);\n }\n this._actionToast.textContent = content;\n this._actionToast.show();\n }\n\n //#endregion\n\n /**\n * Updates the internal cache for accepted file types.\n * Parses the acceptedFiles string option into extensions, mimeTypes, and wildcard types.\n */\n private _setAcceptedTypesCache(): void {\n this._acceptedTypesCache = this.options?.acceptedFiles\n ? parseAcceptedFileTypes(this.options.acceptedFiles)\n : null;\n }\n\n protected _createMessage(message: Partial<IgcChatMessage>): IgcChatMessage {\n return {\n id: message.id ?? nanoid(),\n text: message.text ?? '',\n sender: message.sender ?? this.currentUserId,\n timestamp: message.timestamp ?? Date.now().toString(),\n attachments: message.attachments || [],\n };\n }\n\n public addMessage(message: Partial<IgcChatMessage>) {\n this.messages.push(this._createMessage(message));\n this._host.requestUpdate('messages');\n }\n\n //#region Public API\n\n /**\n * Adds a new chat message.\n * Emits 'igcMessageCreated' event which can be canceled to prevent adding.\n * Clears input value and attachments on success.\n * @internal\n */\n public addMessageWithEvent(message: Partial<IgcChatMessage>): void {\n const newMessage = this._createMessage(message);\n\n if (this.emitMessageCreated(newMessage)) {\n this.addMessage(newMessage);\n this.inputValue = '';\n this.inputAttachments = [];\n }\n }\n\n /**\n * Adds files as attachments to the input.\n * Emits 'igcAttachmentChange' event which can be canceled to prevent adding.\n * @internal\n */\n public attachFilesWithEvent(files: File[]): void {\n const newAttachments: IgcChatMessageAttachment[] = [];\n const fileNames = new Set(\n this.inputAttachments.map((attachment) => attachment.file?.name ?? '')\n );\n\n for (const file of files) {\n if (fileNames.has(file.name)) {\n continue;\n }\n\n const url = URL.createObjectURL(file);\n const attachment: IgcChatMessageAttachment = {\n id: nanoid(),\n url,\n name: file.name,\n file,\n };\n\n if (isImageAttachment(file)) {\n attachment.thumbnail = url;\n }\n newAttachments.push(attachment);\n }\n\n if (this.emitAttachmentsAdded(newAttachments)) {\n this.inputAttachments = [...this.inputAttachments, ...newAttachments];\n }\n }\n\n //#endregion\n}\n"]}
|