igniteui-webcomponents 6.3.1 → 6.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/components/calendar/helpers.d.ts +1 -0
  3. package/components/calendar/helpers.js +18 -1
  4. package/components/calendar/helpers.js.map +1 -1
  5. package/components/card/card.actions.d.ts +1 -1
  6. package/components/card/card.actions.js +2 -1
  7. package/components/card/card.actions.js.map +1 -1
  8. package/components/card/themes/card.actions.base.css.js +1 -1
  9. package/components/card/themes/card.actions.base.css.js.map +1 -1
  10. package/components/card/themes/card.content.base.css.js +1 -1
  11. package/components/card/themes/card.content.base.css.js.map +1 -1
  12. package/components/card/themes/card.header.base.css.js +1 -1
  13. package/components/card/themes/card.header.base.css.js.map +1 -1
  14. package/components/card/themes/content.js +0 -7
  15. package/components/card/themes/content.js.map +1 -1
  16. package/components/card/themes/shared/actions/card.actions.common.css.js +3 -0
  17. package/components/card/themes/shared/actions/card.actions.common.css.js.map +1 -0
  18. package/components/card/themes/shared/header/card.header.indigo.css.js +1 -1
  19. package/components/card/themes/shared/header/card.header.indigo.css.js.map +1 -1
  20. package/components/chat/chat-message.js +1 -1
  21. package/components/chat/chat-message.js.map +1 -1
  22. package/components/chat/chat-state.d.ts +1 -1
  23. package/components/chat/chat-state.js.map +1 -1
  24. package/components/chat/themes/dark/chat.bootstrap.css.js +1 -1
  25. package/components/chat/themes/dark/chat.bootstrap.css.js.map +1 -1
  26. package/components/chat/themes/dark/chat.fluent.css.js +1 -1
  27. package/components/chat/themes/dark/chat.fluent.css.js.map +1 -1
  28. package/components/chat/themes/dark/chat.indigo.css.js +1 -1
  29. package/components/chat/themes/dark/chat.indigo.css.js.map +1 -1
  30. package/components/chat/themes/dark/chat.material.css.js +1 -1
  31. package/components/chat/themes/dark/chat.material.css.js.map +1 -1
  32. package/components/chat/themes/dark/chat.shared.css.d.ts +1 -0
  33. package/components/chat/themes/dark/chat.shared.css.js +3 -0
  34. package/components/chat/themes/dark/chat.shared.css.js.map +1 -0
  35. package/components/chat/themes/light/chat.shared.css.js +1 -1
  36. package/components/chat/themes/light/chat.shared.css.js.map +1 -1
  37. package/components/chat/themes/message.base.css.js +1 -1
  38. package/components/chat/themes/message.base.css.js.map +1 -1
  39. package/components/chat/themes/shared/chat-message/chat-message.common.css.js +1 -1
  40. package/components/chat/themes/shared/chat-message/chat-message.common.css.js.map +1 -1
  41. package/components/chat/themes/themes.js +4 -3
  42. package/components/chat/themes/themes.js.map +1 -1
  43. package/components/date-picker/date-picker.d.ts +8 -11
  44. package/components/date-picker/date-picker.js +51 -62
  45. package/components/date-picker/date-picker.js.map +1 -1
  46. package/components/date-range-picker/date-range-picker.d.ts +1 -1
  47. package/components/date-range-picker/date-range-picker.js +3 -19
  48. package/components/date-range-picker/date-range-picker.js.map +1 -1
  49. package/components/date-time-input/date-time-input.d.ts +3 -4
  50. package/components/date-time-input/date-time-input.js +51 -66
  51. package/components/date-time-input/date-time-input.js.map +1 -1
  52. package/components/date-time-input/date-util.d.ts +1 -1
  53. package/components/date-time-input/date-util.js +18 -41
  54. package/components/date-time-input/date-util.js.map +1 -1
  55. package/components/mask-input/mask-input-base.d.ts +29 -20
  56. package/components/mask-input/mask-input-base.js +48 -54
  57. package/components/mask-input/mask-input-base.js.map +1 -1
  58. package/components/mask-input/mask-input.d.ts +24 -13
  59. package/components/mask-input/mask-input.js +66 -65
  60. package/components/mask-input/mask-input.js.map +1 -1
  61. package/components/mask-input/mask-parser.d.ts +4 -0
  62. package/components/mask-input/mask-parser.js +3 -0
  63. package/components/mask-input/mask-parser.js.map +1 -1
  64. package/components/mask-input/validators.js +1 -1
  65. package/components/mask-input/validators.js.map +1 -1
  66. package/custom-elements.json +500 -373
  67. package/{components/chat/extras/markdown-renderer.d.ts → extras/chat-markdown-renderer.d.ts} +1 -1
  68. package/{components/chat/extras/markdown-renderer.js → extras/chat-markdown-renderer.js} +27 -2
  69. package/extras/chat-markdown-renderer.js.map +1 -0
  70. package/extras/index.d.ts +1 -1
  71. package/extras/index.js +1 -1
  72. package/extras/index.js.map +1 -1
  73. package/igniteui-webcomponents.html-data.json +1 -1
  74. package/package.json +1 -1
  75. package/web-types.json +1 -1
  76. package/components/card/themes/shared/content/card.content.indigo.css.js +0 -3
  77. package/components/card/themes/shared/content/card.content.indigo.css.js.map +0 -1
  78. package/components/chat/extras/markdown-renderer.js.map +0 -1
  79. /package/components/card/themes/shared/{content/card.content.indigo.css.d.ts → actions/card.actions.common.css.d.ts} +0 -0
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--chat-input-border: var(--ig-chat-chat-input-border, var(--ig-gray-200));--code-border: var(--ig-chat-code-border, var(--ig-gray-200));--ig-theme: material}`;
2
+ export const styles = css `:host{--background: var(--ig-chat-background, var(--ig-surface-500));--header-background: var(--ig-chat-header-background, var(--ig-surface-500));--header-color: var(--ig-chat-header-color, var(--ig-surface-500-contrast));--header-border: var(--ig-chat-header-border, var(--ig-transparent-500));--message-background: var(--ig-chat-message-background, var(--ig-gray-200));--message-color: var(--ig-chat-message-color, var(--ig-gray-800));--message-actions-color: var(--ig-chat-message-actions-color, var(--ig-gray-700));--file-background: var(--ig-chat-file-background, var(--ig-gray-900-contrast));--file-icon-color: var(--ig-chat-file-icon-color, var(--ig-gray-500));--file-icon-accent-color: var(--ig-chat-file-icon-accent-color, var(--ig-gray-600));--image-background: var(--ig-chat-image-background, var(--ig-gray-100));--image-border: var(--ig-chat-image-border, var(--ig-gray-300));--image-attachment-icon: var(--ig-chat-image-attachment-icon, var(--ig-gray-900));--progress-indicator-color: var(--ig-chat-progress-indicator-color, var(--ig-secondary-500));--code-background: var(--ig-chat-code-background, var(--ig-gray-50));--ig-theme: material}`;
3
3
  //# sourceMappingURL=chat.material.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.material.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/dark/chat.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,qKAAqK,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--chat-input-border: var(--ig-chat-chat-input-border, var(--ig-gray-200));--code-border: var(--ig-chat-code-border, var(--ig-gray-200));--ig-theme: material}`;\n"]}
1
+ {"version":3,"file":"chat.material.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/dark/chat.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,moCAAmoC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--background: var(--ig-chat-background, var(--ig-surface-500));--header-background: var(--ig-chat-header-background, var(--ig-surface-500));--header-color: var(--ig-chat-header-color, var(--ig-surface-500-contrast));--header-border: var(--ig-chat-header-border, var(--ig-transparent-500));--message-background: var(--ig-chat-message-background, var(--ig-gray-200));--message-color: var(--ig-chat-message-color, var(--ig-gray-800));--message-actions-color: var(--ig-chat-message-actions-color, var(--ig-gray-700));--file-background: var(--ig-chat-file-background, var(--ig-gray-900-contrast));--file-icon-color: var(--ig-chat-file-icon-color, var(--ig-gray-500));--file-icon-accent-color: var(--ig-chat-file-icon-accent-color, var(--ig-gray-600));--image-background: var(--ig-chat-image-background, var(--ig-gray-100));--image-border: var(--ig-chat-image-border, var(--ig-gray-300));--image-attachment-icon: var(--ig-chat-image-attachment-icon, var(--ig-gray-900));--progress-indicator-color: var(--ig-chat-progress-indicator-color, var(--ig-secondary-500));--code-background: var(--ig-chat-code-background, var(--ig-gray-50));--ig-theme: material}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{color-scheme:dark;--chat-input-border: var(--ig-chat-chat-input-border, var(--ig-gray-200));--code-border: var(--ig-chat-code-border, var(--ig-gray-200))}:host igc-chat-message::part(message-container){--shiki-purple: #b392f0;--shiki-navy: #e1e4e8;--shiki-dark-blue: #9ecbff;--shiki-red: #f97583;--shiki-blue: #79bbff;--shiki-green: #85e89d;--shiki-orange: #ffab70}`;
3
+ //# sourceMappingURL=chat.shared.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.shared.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/dark/chat.shared.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,qXAAqX,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{color-scheme:dark;--chat-input-border: var(--ig-chat-chat-input-border, var(--ig-gray-200));--code-border: var(--ig-chat-code-border, var(--ig-gray-200))}:host igc-chat-message::part(message-container){--shiki-purple: #b392f0;--shiki-navy: #e1e4e8;--shiki-dark-blue: #9ecbff;--shiki-red: #f97583;--shiki-blue: #79bbff;--shiki-green: #85e89d;--shiki-orange: #ffab70}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--background: var(--ig-chat-background, var(--ig-surface-500));--header-background: var(--ig-chat-header-background, var(--ig-surface-500));--header-color: var(--ig-chat-header-color, var(--ig-surface-500-contrast));--header-border: var(--ig-chat-header-border, var(--ig-transparent-500));--message-background: var(--ig-chat-message-background, var(--ig-gray-200));--message-color: var(--ig-chat-message-color, var(--ig-gray-800));--message-actions-color: var(--ig-chat-message-actions-color, var(--ig-gray-700));--file-background: var(--ig-chat-file-background, var(--ig-gray-900-contrast));--file-icon-color: var(--ig-chat-file-icon-color, var(--ig-gray-500));--file-icon-accent-color: var(--ig-chat-file-icon-accent-color, var(--ig-gray-600));--image-background: var(--ig-chat-image-background, var(--ig-gray-100));--image-border: var(--ig-chat-image-border, var(--ig-gray-300));--image-attachment-icon: var(--ig-chat-image-attachment-icon, var(--ig-gray-900));--chat-input-border: var(--ig-chat-chat-input-border, var(--ig-gray-400));--progress-indicator-color: var(--ig-chat-progress-indicator-color, var(--ig-secondary-500));--code-background: var(--ig-chat-code-background, var(--ig-gray-50));--code-border: var(--ig-chat-code-border, var(--ig-gray-300))}`;
2
+ export const styles = css `:host{color-scheme:light;--background: var(--ig-chat-background, var(--ig-surface-500));--header-background: var(--ig-chat-header-background, var(--ig-surface-500));--header-color: var(--ig-chat-header-color, var(--ig-surface-500-contrast));--header-border: var(--ig-chat-header-border, var(--ig-transparent-500));--message-background: var(--ig-chat-message-background, var(--ig-gray-200));--message-color: var(--ig-chat-message-color, var(--ig-gray-800));--message-actions-color: var(--ig-chat-message-actions-color, var(--ig-gray-700));--file-background: var(--ig-chat-file-background, var(--ig-gray-900-contrast));--file-icon-color: var(--ig-chat-file-icon-color, var(--ig-gray-500));--file-icon-accent-color: var(--ig-chat-file-icon-accent-color, var(--ig-gray-600));--image-background: var(--ig-chat-image-background, var(--ig-gray-100));--image-border: var(--ig-chat-image-border, var(--ig-gray-300));--image-attachment-icon: var(--ig-chat-image-attachment-icon, var(--ig-gray-900));--chat-input-border: var(--ig-chat-chat-input-border, var(--ig-gray-400));--progress-indicator-color: var(--ig-chat-progress-indicator-color, var(--ig-secondary-500));--code-background: var(--ig-chat-code-background, var(--ig-gray-50));--code-border: var(--ig-chat-code-border, var(--ig-gray-300))}:host igc-chat-message::part(message-container){--shiki-purple: #6f42c1;--shiki-navy: #24292e;--shiki-dark-blue: #032f62;--shiki-red: #d73a49;--shiki-blue: #005cc5;--shiki-green: #22863a;--shiki-orange: #e36209}`;
3
3
  //# sourceMappingURL=chat.shared.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.shared.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/light/chat.shared.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,svCAAsvC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--background: var(--ig-chat-background, var(--ig-surface-500));--header-background: var(--ig-chat-header-background, var(--ig-surface-500));--header-color: var(--ig-chat-header-color, var(--ig-surface-500-contrast));--header-border: var(--ig-chat-header-border, var(--ig-transparent-500));--message-background: var(--ig-chat-message-background, var(--ig-gray-200));--message-color: var(--ig-chat-message-color, var(--ig-gray-800));--message-actions-color: var(--ig-chat-message-actions-color, var(--ig-gray-700));--file-background: var(--ig-chat-file-background, var(--ig-gray-900-contrast));--file-icon-color: var(--ig-chat-file-icon-color, var(--ig-gray-500));--file-icon-accent-color: var(--ig-chat-file-icon-accent-color, var(--ig-gray-600));--image-background: var(--ig-chat-image-background, var(--ig-gray-100));--image-border: var(--ig-chat-image-border, var(--ig-gray-300));--image-attachment-icon: var(--ig-chat-image-attachment-icon, var(--ig-gray-900));--chat-input-border: var(--ig-chat-chat-input-border, var(--ig-gray-400));--progress-indicator-color: var(--ig-chat-progress-indicator-color, var(--ig-secondary-500));--code-background: var(--ig-chat-code-background, var(--ig-gray-50));--code-border: var(--ig-chat-code-border, var(--ig-gray-300))}`;\n"]}
1
+ {"version":3,"file":"chat.shared.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/light/chat.shared.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,49CAA49C,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{color-scheme:light;--background: var(--ig-chat-background, var(--ig-surface-500));--header-background: var(--ig-chat-header-background, var(--ig-surface-500));--header-color: var(--ig-chat-header-color, var(--ig-surface-500-contrast));--header-border: var(--ig-chat-header-border, var(--ig-transparent-500));--message-background: var(--ig-chat-message-background, var(--ig-gray-200));--message-color: var(--ig-chat-message-color, var(--ig-gray-800));--message-actions-color: var(--ig-chat-message-actions-color, var(--ig-gray-700));--file-background: var(--ig-chat-file-background, var(--ig-gray-900-contrast));--file-icon-color: var(--ig-chat-file-icon-color, var(--ig-gray-500));--file-icon-accent-color: var(--ig-chat-file-icon-accent-color, var(--ig-gray-600));--image-background: var(--ig-chat-image-background, var(--ig-gray-100));--image-border: var(--ig-chat-image-border, var(--ig-gray-300));--image-attachment-icon: var(--ig-chat-image-attachment-icon, var(--ig-gray-900));--chat-input-border: var(--ig-chat-chat-input-border, var(--ig-gray-400));--progress-indicator-color: var(--ig-chat-progress-indicator-color, var(--ig-secondary-500));--code-background: var(--ig-chat-code-background, var(--ig-gray-50));--code-border: var(--ig-chat-code-border, var(--ig-gray-300))}:host igc-chat-message::part(message-container){--shiki-purple: #6f42c1;--shiki-navy: #24292e;--shiki-dark-blue: #032f62;--shiki-red: #d73a49;--shiki-blue: #005cc5;--shiki-green: #22863a;--shiki-orange: #e36209}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{--igc-chat-message-padding: 0.75rem 1rem;--igc-chat-sent-message-start-margin: auto;--igc-chat-sent-message-end-margin: unset;--igc-chat-message-container-end-margin: auto;display:flex;flex-direction:column;width:100%}[part~=message-container],[part=plain-text]{font-family:var(--ig-body-1-font-family, var(--ig-font-family));font-size:var(--ig-body-1-font-size);font-weight:var(--ig-body-1-font-weight);font-style:var(--ig-body-1-font-style);line-height:var(--ig-body-1-line-height);letter-spacing:var(--ig-body-1-letter-spacing);text-transform:var(--ig-body-1-text-transform);margin-top:var(--ig-body-1-margin-top);margin-bottom:var(--ig-body-1-margin-bottom);margin:0}[part~=message-container]{display:flex;margin-inline-end:var(--igc-chat-message-container-end-margin);flex-direction:column;gap:1rem}[part~=message-container] p{margin:0;padding:0}[part~=message-container] a{overflow-wrap:anywhere;color:var(--ig-primary-500)}[part~=message-container] pre,[part~=message-container] code{white-space:pre-wrap;overflow-wrap:break-word;overflow-x:auto;margin-block:unset}[part~=message-header]:empty,[part~=message-attachments]:empty,[part~=message-actions]:empty{display:none}[part~=sent]{margin-inline:var(--igc-chat-sent-message-start-margin, 0) var(--igc-chat-sent-message-end-margin, 0);padding:var(--igc-chat-message-padding);border-radius:1.5rem 1.5rem 0;max-width:36rem;width:-moz-fit-content;width:fit-content}`;
2
+ export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{--igc-chat-message-padding: 0.75rem 1rem;--igc-chat-sent-message-start-margin: auto;--igc-chat-sent-message-end-margin: unset;--igc-chat-message-container-end-margin: auto;display:flex;flex-direction:column;width:100%}[part~=message-container],[part=plain-text]{font-family:var(--ig-body-1-font-family, var(--ig-font-family));font-size:var(--ig-body-1-font-size);font-weight:var(--ig-body-1-font-weight);font-style:var(--ig-body-1-font-style);line-height:var(--ig-body-1-line-height);letter-spacing:var(--ig-body-1-letter-spacing);text-transform:var(--ig-body-1-text-transform);margin-top:var(--ig-body-1-margin-top);margin-bottom:var(--ig-body-1-margin-bottom);margin:0}[part~=message-container]{display:flex;margin-inline-end:var(--igc-chat-message-container-end-margin);flex-direction:column;gap:1rem}[part~=message-container] p{margin:0;padding:0}[part~=message-container] a{overflow-wrap:anywhere;color:var(--ig-primary-500)}[part~=message-container] pre.shiki{font-size:.875rem;line-height:1.5rem;padding:1rem;border-radius:.25rem;max-height:20rem;max-width:42.5rem;overflow-y:auto}[part~=message-header]:empty,[part~=message-attachments]:empty,[part~=message-actions]:empty,[part~=plain-text]:empty{display:none}[part~=sent]{margin-inline:var(--igc-chat-sent-message-start-margin, 0) var(--igc-chat-sent-message-end-margin, 0);padding:var(--igc-chat-message-padding);border-radius:1.5rem 1.5rem 0;max-width:36rem;width:-moz-fit-content;width:fit-content}`;
3
3
  //# sourceMappingURL=message.base.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.base.css.js","sourceRoot":"","sources":["../../../../src/components/chat/themes/message.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,41EAA41E,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{--igc-chat-message-padding: 0.75rem 1rem;--igc-chat-sent-message-start-margin: auto;--igc-chat-sent-message-end-margin: unset;--igc-chat-message-container-end-margin: auto;display:flex;flex-direction:column;width:100%}[part~=message-container],[part=plain-text]{font-family:var(--ig-body-1-font-family, var(--ig-font-family));font-size:var(--ig-body-1-font-size);font-weight:var(--ig-body-1-font-weight);font-style:var(--ig-body-1-font-style);line-height:var(--ig-body-1-line-height);letter-spacing:var(--ig-body-1-letter-spacing);text-transform:var(--ig-body-1-text-transform);margin-top:var(--ig-body-1-margin-top);margin-bottom:var(--ig-body-1-margin-bottom);margin:0}[part~=message-container]{display:flex;margin-inline-end:var(--igc-chat-message-container-end-margin);flex-direction:column;gap:1rem}[part~=message-container] p{margin:0;padding:0}[part~=message-container] a{overflow-wrap:anywhere;color:var(--ig-primary-500)}[part~=message-container] pre,[part~=message-container] code{white-space:pre-wrap;overflow-wrap:break-word;overflow-x:auto;margin-block:unset}[part~=message-header]:empty,[part~=message-attachments]:empty,[part~=message-actions]:empty{display:none}[part~=sent]{margin-inline:var(--igc-chat-sent-message-start-margin, 0) var(--igc-chat-sent-message-end-margin, 0);padding:var(--igc-chat-message-padding);border-radius:1.5rem 1.5rem 0;max-width:36rem;width:-moz-fit-content;width:fit-content}`;\n"]}
1
+ {"version":3,"file":"message.base.css.js","sourceRoot":"","sources":["../../../../src/components/chat/themes/message.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,q4EAAq4E,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{--igc-chat-message-padding: 0.75rem 1rem;--igc-chat-sent-message-start-margin: auto;--igc-chat-sent-message-end-margin: unset;--igc-chat-message-container-end-margin: auto;display:flex;flex-direction:column;width:100%}[part~=message-container],[part=plain-text]{font-family:var(--ig-body-1-font-family, var(--ig-font-family));font-size:var(--ig-body-1-font-size);font-weight:var(--ig-body-1-font-weight);font-style:var(--ig-body-1-font-style);line-height:var(--ig-body-1-line-height);letter-spacing:var(--ig-body-1-letter-spacing);text-transform:var(--ig-body-1-text-transform);margin-top:var(--ig-body-1-margin-top);margin-bottom:var(--ig-body-1-margin-bottom);margin:0}[part~=message-container]{display:flex;margin-inline-end:var(--igc-chat-message-container-end-margin);flex-direction:column;gap:1rem}[part~=message-container] p{margin:0;padding:0}[part~=message-container] a{overflow-wrap:anywhere;color:var(--ig-primary-500)}[part~=message-container] pre.shiki{font-size:.875rem;line-height:1.5rem;padding:1rem;border-radius:.25rem;max-height:20rem;max-width:42.5rem;overflow-y:auto}[part~=message-header]:empty,[part~=message-attachments]:empty,[part~=message-actions]:empty,[part~=plain-text]:empty{display:none}[part~=sent]{margin-inline:var(--igc-chat-sent-message-start-margin, 0) var(--igc-chat-sent-message-end-margin, 0);padding:var(--igc-chat-message-padding);border-radius:1.5rem 1.5rem 0;max-width:36rem;width:-moz-fit-content;width:fit-content}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `[part~=sent]{background:var(--message-background)}[part~=message-container]{color:var(--message-color)}[part~=message-actions] igc-icon-button::part(icon){color:var(--message-actions-color)}`;
2
+ export const styles = css `:host{--shiki-bg: var(--code-background)}[part~=sent]{background:var(--message-background)}[part~=message-container]{color:var(--message-color)}[part~=message-container] pre.shiki{border:.0625rem solid var(--code-border)}[part~=message-actions] igc-icon-button::part(icon){color:var(--message-actions-color)}`;
3
3
  //# sourceMappingURL=chat-message.common.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-message.common.css.js","sourceRoot":"","sources":["../../../../../../src/components/chat/themes/shared/chat-message/chat-message.common.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,gMAAgM,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part~=sent]{background:var(--message-background)}[part~=message-container]{color:var(--message-color)}[part~=message-actions] igc-icon-button::part(icon){color:var(--message-actions-color)}`;\n"]}
1
+ {"version":3,"file":"chat-message.common.css.js","sourceRoot":"","sources":["../../../../../../src/components/chat/themes/shared/chat-message/chat-message.common.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,sTAAsT,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--shiki-bg: var(--code-background)}[part~=sent]{background:var(--message-background)}[part~=message-container]{color:var(--message-color)}[part~=message-container] pre.shiki{border:.0625rem solid var(--code-border)}[part~=message-actions] igc-icon-button::part(icon){color:var(--message-actions-color)}`;\n"]}
@@ -3,17 +3,18 @@ import { styles as bootstrapDark } from './dark/chat.bootstrap.css.js';
3
3
  import { styles as fluentDark } from './dark/chat.fluent.css.js';
4
4
  import { styles as indigoDark } from './dark/chat.indigo.css.js';
5
5
  import { styles as materialDark } from './dark/chat.material.css.js';
6
+ import { styles as sharedDark } from './dark/chat.shared.css.js';
6
7
  import { styles as bootstrapLight } from './light/chat.bootstrap.css.js';
7
8
  import { styles as fluentLight } from './light/chat.fluent.css.js';
8
9
  import { styles as indigoLight } from './light/chat.indigo.css.js';
9
10
  import { styles as materialLight } from './light/chat.material.css.js';
10
- import { styles as shared } from './light/chat.shared.css.js';
11
+ import { styles as sharedLight } from './light/chat.shared.css.js';
11
12
  import { styles as bootstrap } from './shared/chat.bootstrap.css.js';
12
13
  import { styles as fluent } from './shared/chat.fluent.css.js';
13
14
  import { styles as indigo } from './shared/chat.indigo.css.js';
14
15
  const light = {
15
16
  shared: css `
16
- ${shared}
17
+ ${sharedLight}
17
18
  `,
18
19
  bootstrap: css `
19
20
  ${bootstrap} ${bootstrapLight}
@@ -30,7 +31,7 @@ const light = {
30
31
  };
31
32
  const dark = {
32
33
  shared: css `
33
- ${shared}
34
+ ${sharedDark}
34
35
  `,
35
36
  bootstrap: css `
36
37
  ${bootstrap} ${bootstrapDark}
@@ -1 +1 @@
1
- {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../src/components/chat/themes/themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,cAAc;GAC9B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,aAAa;GAChB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,aAAa;GAC7B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,YAAY;GACf;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\nimport type { Themes } from '../../../theming/types.js';\n// Dark Overrides\nimport { styles as bootstrapDark } from './dark/chat.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/chat.fluent.css.js';\nimport { styles as indigoDark } from './dark/chat.indigo.css.js';\nimport { styles as materialDark } from './dark/chat.material.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/chat.bootstrap.css.js';\nimport { styles as fluentLight } from './light/chat.fluent.css.js';\nimport { styles as indigoLight } from './light/chat.indigo.css.js';\nimport { styles as materialLight } from './light/chat.material.css.js';\n// Shared Styles\nimport { styles as shared } from './light/chat.shared.css.js';\nimport { styles as bootstrap } from './shared/chat.bootstrap.css.js';\nimport { styles as fluent } from './shared/chat.fluent.css.js';\nimport { styles as indigo } from './shared/chat.indigo.css.js';\n\nconst light = {\n shared: css`\n ${shared}\n `,\n bootstrap: css`\n ${bootstrap} ${bootstrapLight}\n `,\n material: css`\n ${materialLight}\n `,\n fluent: css`\n ${fluent} ${fluentLight}\n `,\n indigo: css`\n ${indigo} ${indigoLight}\n `,\n};\n\nconst dark = {\n shared: css`\n ${shared}\n `,\n bootstrap: css`\n ${bootstrap} ${bootstrapDark}\n `,\n material: css`\n ${materialDark}\n `,\n fluent: css`\n ${fluent} ${fluentDark}\n `,\n indigo: css`\n ${indigo} ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
1
+ {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../src/components/chat/themes/themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,GAAG,CAAA;MACP,WAAW;GACd;IACD,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,cAAc;GAC9B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,aAAa;GAChB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,MAAM,EAAE,GAAG,CAAA;MACP,UAAU;GACb;IACD,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,aAAa;GAC7B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,YAAY;GACf;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\nimport type { Themes } from '../../../theming/types.js';\n// Dark Overrides\nimport { styles as bootstrapDark } from './dark/chat.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/chat.fluent.css.js';\nimport { styles as indigoDark } from './dark/chat.indigo.css.js';\nimport { styles as materialDark } from './dark/chat.material.css.js';\nimport { styles as sharedDark } from './dark/chat.shared.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/chat.bootstrap.css.js';\nimport { styles as fluentLight } from './light/chat.fluent.css.js';\nimport { styles as indigoLight } from './light/chat.indigo.css.js';\nimport { styles as materialLight } from './light/chat.material.css.js';\nimport { styles as sharedLight } from './light/chat.shared.css.js';\n// Shared Styles\nimport { styles as bootstrap } from './shared/chat.bootstrap.css.js';\nimport { styles as fluent } from './shared/chat.fluent.css.js';\nimport { styles as indigo } from './shared/chat.indigo.css.js';\n\nconst light = {\n shared: css`\n ${sharedLight}\n `,\n bootstrap: css`\n ${bootstrap} ${bootstrapLight}\n `,\n material: css`\n ${materialLight}\n `,\n fluent: css`\n ${fluent} ${fluentLight}\n `,\n indigo: css`\n ${indigo} ${indigoLight}\n `,\n};\n\nconst dark = {\n shared: css`\n ${sharedDark}\n `,\n bootstrap: css`\n ${bootstrap} ${bootstrapDark}\n `,\n material: css`\n ${materialDark}\n `,\n fluent: css`\n ${fluent} ${fluentDark}\n `,\n indigo: css`\n ${indigo} ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
@@ -1,5 +1,5 @@
1
1
  import { type TemplateResult } from 'lit';
2
- import { type CalendarHeaderOrientation, type DateRangeDescriptor, type WeekDays } from '../calendar/types.js';
2
+ import type { CalendarHeaderOrientation, DateRangeDescriptor, WeekDays } from '../calendar/types.js';
3
3
  import { type IgcCalendarResourceStrings } from '../common/i18n/calendar.resources.js';
4
4
  import { IgcBaseComboBoxLikeComponent } from '../common/mixins/combo-box.js';
5
5
  import type { AbstractConstructor } from '../common/mixins/constructor.js';
@@ -10,8 +10,8 @@ export interface IgcDatePickerComponentEventMap {
10
10
  igcOpened: CustomEvent<void>;
11
11
  igcClosing: CustomEvent<void>;
12
12
  igcClosed: CustomEvent<void>;
13
- igcChange: CustomEvent<Date>;
14
- igcInput: CustomEvent<Date>;
13
+ igcChange: CustomEvent<Date | null>;
14
+ igcInput: CustomEvent<Date | null>;
15
15
  }
16
16
  declare const IgcDatePickerComponent_base: import("../common/mixins/constructor.js").Constructor<import("../common/mixins/forms/types.js").FormRequiredInterface & import("../common/mixins/forms/types.js").FormAssociatedElementInterface> & import("../common/mixins/constructor.js").Constructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcDatePickerComponentEventMap>> & AbstractConstructor<IgcBaseComboBoxLikeComponent>;
17
17
  /**
@@ -94,10 +94,11 @@ export default class IgcDatePickerComponent extends IgcDatePickerComponent_base
94
94
  static readonly tagName = "igc-date-picker";
95
95
  static styles: import("lit").CSSResult[];
96
96
  static register(): void;
97
- private static readonly _increment;
98
- protected _inputId: string;
99
- private readonly _themes;
100
97
  protected get __validators(): import("../common/validators.js").Validator<IgcDatePickerComponent>[];
98
+ private readonly _inputId;
99
+ private readonly _themes;
100
+ private readonly _slots;
101
+ private _oldValue;
101
102
  private _activeDate;
102
103
  private _min;
103
104
  private _max;
@@ -109,11 +110,8 @@ export default class IgcDatePickerComponent extends IgcDatePickerComponent_base
109
110
  protected readonly _rootClickController: import("../common/controllers/root-click.js").RootClickController;
110
111
  private readonly _input;
111
112
  private readonly _calendar;
112
- private readonly _prefixes;
113
- private readonly _suffixes;
114
- private readonly _actions;
115
- private readonly _headerSlotItems;
116
113
  private get _isDropDown();
114
+ private get _isMaterial();
117
115
  /**
118
116
  * Sets the state of the datepicker dropdown.
119
117
  * @attr
@@ -237,7 +235,6 @@ export default class IgcDatePickerComponent extends IgcDatePickerComponent_base
237
235
  weekStart: WeekDays;
238
236
  protected _openChange(): void;
239
237
  constructor();
240
- protected createRenderRoot(): HTMLElement | DocumentFragment;
241
238
  private _setDateConstraints;
242
239
  private _shouldCloseCalendarDropdown;
243
240
  protected _onEscapeKey(): Promise<void>;
@@ -6,14 +6,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  var IgcDatePickerComponent_1;
8
8
  import { html, nothing } from 'lit';
9
- import { property, query, queryAssignedElements } from 'lit/decorators.js';
9
+ import { property, query } from 'lit/decorators.js';
10
10
  import { ifDefined } from 'lit/directives/if-defined.js';
11
11
  import { addThemingController } from '../../theming/theming-controller.js';
12
12
  import IgcCalendarComponent, { focusActiveDate } from '../calendar/calendar.js';
13
- import { convertToDate } from '../calendar/helpers.js';
14
- import { DateRangeType, } from '../calendar/types.js';
13
+ import { convertToDate, createDateConstraints } from '../calendar/helpers.js';
15
14
  import { addKeybindings, altKey, arrowDown, arrowUp, escapeKey, } from '../common/controllers/key-bindings.js';
16
15
  import { addRootClickController } from '../common/controllers/root-click.js';
16
+ import { addSlotController, setSlots } from '../common/controllers/slot.js';
17
17
  import { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';
18
18
  import { shadowOptions } from '../common/decorators/shadow-options.js';
19
19
  import { watch } from '../common/decorators/watch.js';
@@ -24,7 +24,7 @@ import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
24
24
  import { FormAssociatedRequiredMixin } from '../common/mixins/forms/associated-required.js';
25
25
  import { FormValueDateTimeTransformers } from '../common/mixins/forms/form-transformers.js';
26
26
  import { createFormValueState } from '../common/mixins/forms/form-value.js';
27
- import { addSafeEventListener, createCounter, findElementFromEventPath, isEmpty, } from '../common/util.js';
27
+ import { addSafeEventListener, bindIf, equal, findElementFromEventPath, } from '../common/util.js';
28
28
  import IgcDateTimeInputComponent from '../date-time-input/date-time-input.js';
29
29
  import { DateTimeUtil } from '../date-time-input/date-util.js';
30
30
  import IgcDialogComponent from '../dialog/dialog.js';
@@ -36,6 +36,8 @@ import { styles } from './themes/date-picker.base.css.js';
36
36
  import { styles as shared } from './themes/shared/date-picker.common.css.js';
37
37
  import { all } from './themes/themes.js';
38
38
  import { datePickerValidators } from './validators.js';
39
+ let nextId = 1;
40
+ const Slots = setSlots('prefix', 'suffix', 'helper-text', 'bad-input', 'value-missing', 'range-overflow', 'range-underflow', 'custom-error', 'invalid', 'title', 'header-date', 'clear-icon', 'calendar-icon', 'calendar-icon-open', 'actions');
39
41
  let IgcDatePickerComponent = class IgcDatePickerComponent extends FormAssociatedRequiredMixin(EventEmitterMixin(IgcBaseComboBoxLikeComponent)) {
40
42
  static { IgcDatePickerComponent_1 = this; }
41
43
  static { this.tagName = 'igc-date-picker'; }
@@ -43,13 +45,15 @@ let IgcDatePickerComponent = class IgcDatePickerComponent extends FormAssociated
43
45
  static register() {
44
46
  registerComponent(IgcDatePickerComponent_1, IgcCalendarComponent, IgcDateTimeInputComponent, IgcFocusTrapComponent, IgcIconComponent, IgcPopoverComponent, IgcDialogComponent, IgcValidationContainerComponent);
45
47
  }
46
- static { this._increment = createCounter(); }
47
48
  get __validators() {
48
49
  return datePickerValidators;
49
50
  }
50
51
  get _isDropDown() {
51
52
  return this.mode === 'dropdown';
52
53
  }
54
+ get _isMaterial() {
55
+ return this._themes.theme === 'material';
56
+ }
53
57
  set value(value) {
54
58
  this._formValue.setValueAndFormState(value);
55
59
  }
@@ -100,11 +104,16 @@ let IgcDatePickerComponent = class IgcDatePickerComponent extends FormAssociated
100
104
  }
101
105
  _openChange() {
102
106
  this._rootClickController.update();
107
+ if (this.open) {
108
+ this._oldValue = this.value;
109
+ }
103
110
  }
104
111
  constructor() {
105
112
  super();
106
- this._inputId = `date-picker-${IgcDatePickerComponent_1._increment()}`;
113
+ this._inputId = `date-picker-${nextId++}`;
107
114
  this._themes = addThemingController(this, all);
115
+ this._slots = addSlotController(this, { slots: Slots });
116
+ this._oldValue = null;
108
117
  this._activeDate = null;
109
118
  this._min = null;
110
119
  this._max = null;
@@ -138,29 +147,8 @@ let IgcDatePickerComponent = class IgcDatePickerComponent extends FormAssociated
138
147
  .set([altKey, arrowUp], this._onEscapeKey)
139
148
  .set(escapeKey, this._onEscapeKey);
140
149
  }
141
- createRenderRoot() {
142
- const root = super.createRenderRoot();
143
- root.addEventListener('slotchange', () => this.requestUpdate());
144
- return root;
145
- }
146
150
  _setDateConstraints() {
147
- const dates = [];
148
- if (this._min) {
149
- dates.push({
150
- type: DateRangeType.Before,
151
- dateRange: [this._min],
152
- });
153
- }
154
- if (this._max) {
155
- dates.push({
156
- type: DateRangeType.After,
157
- dateRange: [this._max],
158
- });
159
- }
160
- if (!isEmpty(this._disabledDates ?? [])) {
161
- dates.push(...this.disabledDates);
162
- }
163
- this._dateConstraints = isEmpty(dates) ? undefined : dates;
151
+ this._dateConstraints = createDateConstraints(this.min, this.max, this.disabledDates);
164
152
  }
165
153
  async _shouldCloseCalendarDropdown() {
166
154
  if (!this.keepOpenOnSelect && (await this._hide(true))) {
@@ -176,6 +164,11 @@ let IgcDatePickerComponent = class IgcDatePickerComponent extends FormAssociated
176
164
  _handleFocusOut({ relatedTarget }) {
177
165
  if (!this.contains(relatedTarget)) {
178
166
  this._handleBlur();
167
+ const readOnly = !this._isDropDown || this.readOnly || this.nonEditable;
168
+ if (readOnly && !equal(this.value, this._oldValue)) {
169
+ this.emitEvent('igcChange', { detail: this.value });
170
+ this._oldValue = this.value;
171
+ }
179
172
  }
180
173
  }
181
174
  _handlerCalendarIconSlotPointerDown(event) {
@@ -226,12 +219,14 @@ let IgcDatePickerComponent = class IgcDatePickerComponent extends FormAssociated
226
219
  }
227
220
  _handleDialogClosing(event) {
228
221
  event.stopPropagation();
222
+ this._oldValue = this.value;
229
223
  this._hide(true);
230
224
  }
231
225
  _handleDialogClosed(event) {
232
226
  event.stopPropagation();
233
227
  }
234
228
  clear() {
229
+ this._oldValue = this.value;
235
230
  this.value = null;
236
231
  this._input?.clear();
237
232
  }
@@ -257,7 +252,7 @@ let IgcDatePickerComponent = class IgcDatePickerComponent extends FormAssociated
257
252
  <span
258
253
  slot="suffix"
259
254
  part="clear-icon"
260
- @click=${this.readOnly ? nothing : this.clear}
255
+ @click=${bindIf(!this.readOnly, this.clear)}
261
256
  >
262
257
  <slot name="clear-icon">
263
258
  <igc-icon
@@ -280,7 +275,7 @@ let IgcDatePickerComponent = class IgcDatePickerComponent extends FormAssociated
280
275
  slot="prefix"
281
276
  part=${state}
282
277
  @pointerdown=${this._handlerCalendarIconSlotPointerDown}
283
- @click=${this.readOnly ? nothing : this.handleAnchorClick}
278
+ @click=${bindIf(!this.readOnly, this.handleAnchorClick)}
284
279
  >
285
280
  <slot name=${state}>${defaultIcon}</slot>
286
281
  </span>
@@ -290,21 +285,25 @@ let IgcDatePickerComponent = class IgcDatePickerComponent extends FormAssociated
290
285
  if (this._isDropDown) {
291
286
  return nothing;
292
287
  }
293
- const hasHeaderDate = isEmpty(this._headerSlotItems) ? '' : 'header-date';
288
+ const hasHeaderDate = this._slots.hasAssignedElements('header-date');
294
289
  return html `
295
290
  <slot name="title" slot="title">
296
291
  ${this.resourceStrings.selectDate}
297
292
  </slot>
298
- <slot name="header-date" slot=${hasHeaderDate}></slot>
293
+ <slot
294
+ name="header-date"
295
+ slot=${bindIf(hasHeaderDate, 'header-date')}
296
+ ></slot>
299
297
  `;
300
298
  }
301
299
  _renderCalendar(id) {
302
300
  const hideHeader = this._isDropDown ? true : this.hideHeader;
301
+ const isInert = !this.open || this.disabled;
303
302
  return html `
304
303
  <igc-calendar
305
304
  aria-labelledby=${id}
306
305
  role="dialog"
307
- .inert=${!this.open || this.disabled}
306
+ .inert=${isInert}
308
307
  ?show-week-numbers=${this.showWeekNumbers}
309
308
  ?hide-outside-days=${this.hideOutsideDays}
310
309
  ?hide-header=${hideHeader}
@@ -329,19 +328,23 @@ let IgcDatePickerComponent = class IgcDatePickerComponent extends FormAssociated
329
328
  `;
330
329
  }
331
330
  _renderActions() {
332
- const hasActions = !isEmpty(this._actions);
333
- const slot = this._isDropDown || hasActions ? undefined : 'footer';
331
+ const hasActions = this._slots.hasAssignedElements('actions');
334
332
  return html `
335
- <div part="actions" ?hidden=${!hasActions} slot=${ifDefined(slot)}>
333
+ <div
334
+ part="actions"
335
+ ?hidden=${!hasActions}
336
+ slot=${bindIf(!(this._isDropDown || hasActions), 'footer')}
337
+ >
336
338
  <slot name="actions"></slot>
337
339
  </div>
338
340
  `;
339
341
  }
340
342
  _renderPicker(id) {
343
+ const isDisabled = !this.open || this.disabled;
341
344
  return this._isDropDown
342
345
  ? html `
343
346
  <igc-popover ?open=${this.open} anchor=${id} flip shift>
344
- <igc-focus-trap ?disabled=${!this.open || this.disabled}>
347
+ <igc-focus-trap ?disabled=${isDisabled}>
345
348
  ${this._renderCalendar(id)}${this._renderActions()}
346
349
  </igc-focus-trap>
347
350
  </igc-popover>
@@ -368,7 +371,7 @@ let IgcDatePickerComponent = class IgcDatePickerComponent extends FormAssociated
368
371
  <label
369
372
  part="label"
370
373
  for=${id}
371
- @click=${isDisabled ? nothing : this.handleAnchorClick}
374
+ @click=${bindIf(!isDisabled, this.handleAnchorClick)}
372
375
  >
373
376
  ${this.label}
374
377
  </label>
@@ -381,14 +384,14 @@ let IgcDatePickerComponent = class IgcDatePickerComponent extends FormAssociated
381
384
  _renderInput(id) {
382
385
  const format = DateTimeUtil.predefinedToDateDisplayFormat(this._displayFormat);
383
386
  const readOnly = !this._isDropDown || this.readOnly || this.nonEditable;
384
- const prefix = isEmpty(this._prefixes) ? undefined : 'prefix';
385
- const suffix = isEmpty(this._suffixes) ? undefined : 'suffix';
386
- const isMaterial = this._themes.theme === 'material';
387
+ const hasPrefix = this._slots.hasAssignedElements('prefix');
388
+ const hasSuffix = this._slots.hasAssignedElements('suffix');
389
+ const hasClickHandler = !(this._isDropDown || this.readOnly);
387
390
  return html `
388
391
  <igc-date-time-input
389
392
  id=${id}
390
393
  aria-haspopup="dialog"
391
- label=${ifDefined(isMaterial ? this.label : undefined)}
394
+ label=${bindIf(this._isMaterial, this.label)}
392
395
  input-format=${ifDefined(this._inputFormat)}
393
396
  display-format=${ifDefined(format)}
394
397
  ?disabled=${this.disabled}
@@ -404,24 +407,22 @@ let IgcDatePickerComponent = class IgcDatePickerComponent extends FormAssociated
404
407
  .invalid=${this.invalid}
405
408
  @igcChange=${this._handleInputChangeEvent}
406
409
  @igcInput=${this._handleInputEvent}
407
- @click=${this._isDropDown || this.readOnly
408
- ? nothing
409
- : this._handleInputClick}
410
+ @click=${bindIf(hasClickHandler, this._handleInputClick)}
410
411
  exportparts="input, label, prefix, suffix"
411
412
  >
412
413
  ${this._renderCalendarIcon()}
413
- <slot name="prefix" slot=${ifDefined(prefix)}></slot>
414
+ <slot name="prefix" slot=${bindIf(hasPrefix, 'prefix')}></slot>
414
415
  ${this._renderClearIcon()}
415
- <slot name="suffix" slot=${ifDefined(suffix)}></slot>
416
+ <slot name="suffix" slot=${bindIf(hasSuffix, 'suffix')}></slot>
416
417
  </igc-date-time-input>
417
418
  `;
418
419
  }
419
420
  render() {
420
421
  const id = this.id || this._inputId;
421
- const isMaterial = this._themes.theme === 'material';
422
422
  return html `
423
- ${isMaterial ? nothing : this._renderLabel(id)} ${this._renderInput(id)}
424
- ${this._renderPicker(id)} ${this._renderHelperText()}
423
+ ${this._isMaterial ? nothing : this._renderLabel(id)}
424
+ ${this._renderInput(id)} ${this._renderPicker(id)}
425
+ ${this._renderHelperText()}
425
426
  `;
426
427
  }
427
428
  };
@@ -431,18 +432,6 @@ __decorate([
431
432
  __decorate([
432
433
  query(IgcCalendarComponent.tagName)
433
434
  ], IgcDatePickerComponent.prototype, "_calendar", void 0);
434
- __decorate([
435
- queryAssignedElements({ slot: 'prefix' })
436
- ], IgcDatePickerComponent.prototype, "_prefixes", void 0);
437
- __decorate([
438
- queryAssignedElements({ slot: 'suffix' })
439
- ], IgcDatePickerComponent.prototype, "_suffixes", void 0);
440
- __decorate([
441
- queryAssignedElements({ slot: 'actions' })
442
- ], IgcDatePickerComponent.prototype, "_actions", void 0);
443
- __decorate([
444
- queryAssignedElements({ slot: 'header-date' })
445
- ], IgcDatePickerComponent.prototype, "_headerSlotItems", void 0);
446
435
  __decorate([
447
436
  property({ type: Boolean, reflect: true })
448
437
  ], IgcDatePickerComponent.prototype, "open", void 0);