igniteui-webcomponents 1.0.0-beta.2 → 2.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/CHANGELOG.md +40 -1
  2. package/README.md +48 -3
  3. package/components/avatar/avatar.d.ts +21 -2
  4. package/components/avatar/avatar.js +7 -0
  5. package/components/avatar/avatar.js.map +1 -1
  6. package/components/avatar/avatar.material.css.d.ts +0 -1
  7. package/components/avatar/avatar.material.css.js +1 -1
  8. package/components/avatar/avatar.material.css.js.map +1 -1
  9. package/components/badge/badge.d.ts +18 -5
  10. package/components/badge/badge.js +1 -20
  11. package/components/badge/badge.js.map +1 -1
  12. package/components/badge/badge.material.css.d.ts +0 -1
  13. package/components/badge/badge.material.css.js +1 -1
  14. package/components/badge/badge.material.css.js.map +1 -1
  15. package/components/button/button-base.d.ts +24 -1
  16. package/components/button/button-base.js +16 -0
  17. package/components/button/button-base.js.map +1 -1
  18. package/components/button/button.d.ts +24 -2
  19. package/components/button/button.js +3 -2
  20. package/components/button/button.js.map +1 -1
  21. package/components/button/button.material.css.d.ts +0 -1
  22. package/components/button/button.material.css.js +1 -1
  23. package/components/button/button.material.css.js.map +1 -1
  24. package/components/button/icon-button.d.ts +15 -2
  25. package/components/button/icon-button.js +17 -2
  26. package/components/button/icon-button.js.map +1 -1
  27. package/components/button/icon-button.material.css.d.ts +0 -1
  28. package/components/button/icon-button.material.css.js +1 -1
  29. package/components/button/icon-button.material.css.js.map +1 -1
  30. package/components/calendar/calendar.d.ts +42 -5
  31. package/components/calendar/calendar.js +35 -15
  32. package/components/calendar/calendar.js.map +1 -1
  33. package/components/calendar/calendar.material.css.d.ts +0 -1
  34. package/components/calendar/calendar.material.css.js +1 -1
  35. package/components/calendar/calendar.material.css.js.map +1 -1
  36. package/components/calendar/common/calendar-base.d.ts +19 -2
  37. package/components/calendar/common/calendar-base.js +30 -4
  38. package/components/calendar/common/calendar-base.js.map +1 -1
  39. package/components/calendar/common/calendar.model.d.ts +57 -1
  40. package/components/calendar/common/utils.d.ts +0 -1
  41. package/components/calendar/days-view/days-view.d.ts +25 -2
  42. package/components/calendar/days-view/days-view.js +38 -35
  43. package/components/calendar/days-view/days-view.js.map +1 -1
  44. package/components/calendar/days-view/days-view.material.css.d.ts +0 -1
  45. package/components/calendar/days-view/days-view.material.css.js +1 -1
  46. package/components/calendar/days-view/days-view.material.css.js.map +1 -1
  47. package/components/calendar/months-view/months-view.d.ts +17 -2
  48. package/components/calendar/months-view/months-view.js +5 -3
  49. package/components/calendar/months-view/months-view.js.map +1 -1
  50. package/components/calendar/months-view/months-view.material.css.d.ts +0 -1
  51. package/components/calendar/years-view/years-view.d.ts +16 -2
  52. package/components/calendar/years-view/years-view.js +5 -3
  53. package/components/calendar/years-view/years-view.js.map +1 -1
  54. package/components/calendar/years-view/years-view.material.css.d.ts +0 -1
  55. package/components/card/card.actions.d.ts +10 -2
  56. package/components/card/card.actions.material.css.d.ts +0 -1
  57. package/components/card/card.actions.material.css.js +1 -1
  58. package/components/card/card.actions.material.css.js.map +1 -1
  59. package/components/card/card.content.d.ts +8 -2
  60. package/components/card/card.content.material.css.d.ts +0 -1
  61. package/components/card/card.content.material.css.js +1 -1
  62. package/components/card/card.content.material.css.js.map +1 -1
  63. package/components/card/card.d.ts +10 -3
  64. package/components/card/card.header.d.ts +13 -2
  65. package/components/card/card.header.material.css.d.ts +0 -1
  66. package/components/card/card.header.material.css.js +1 -1
  67. package/components/card/card.header.material.css.js.map +1 -1
  68. package/components/card/card.js +2 -2
  69. package/components/card/card.js.map +1 -1
  70. package/components/card/card.material.css.d.ts +0 -1
  71. package/components/card/card.material.css.js +1 -1
  72. package/components/card/card.material.css.js.map +1 -1
  73. package/components/card/card.media.d.ts +8 -2
  74. package/components/card/card.media.material.css.d.ts +0 -1
  75. package/components/card/card.media.material.css.js +1 -1
  76. package/components/card/card.media.material.css.js.map +1 -1
  77. package/components/checkbox/checkbox-base.d.ts +16 -1
  78. package/components/checkbox/checkbox.d.ts +21 -3
  79. package/components/checkbox/checkbox.js +25 -27
  80. package/components/checkbox/checkbox.js.map +1 -1
  81. package/components/checkbox/checkbox.material.css.d.ts +0 -1
  82. package/components/checkbox/checkbox.material.css.js +1 -1
  83. package/components/checkbox/checkbox.material.css.js.map +1 -1
  84. package/components/checkbox/switch.d.ts +19 -2
  85. package/components/checkbox/switch.js +17 -18
  86. package/components/checkbox/switch.js.map +1 -1
  87. package/components/checkbox/switch.material.css.d.ts +0 -1
  88. package/components/checkbox/switch.material.css.js +1 -1
  89. package/components/checkbox/switch.material.css.js.map +1 -1
  90. package/components/common/decorators/alternateName.d.ts +6 -1
  91. package/components/common/decorators/blazorInclude.d.ts +4 -1
  92. package/components/common/decorators/blazorIndirectRender.d.ts +4 -0
  93. package/components/common/decorators/blazorIndirectRender.js +2 -0
  94. package/components/common/decorators/blazorIndirectRender.js.map +1 -0
  95. package/components/common/decorators/blazorSuppress.d.ts +4 -1
  96. package/components/common/decorators/blazorSuppressComponent.d.ts +4 -0
  97. package/components/common/decorators/blazorSuppressComponent.js +2 -0
  98. package/components/common/decorators/blazorSuppressComponent.js.map +1 -0
  99. package/components/common/decorators/blazorTwoWayBind.d.ts +6 -1
  100. package/components/common/decorators/index.d.ts +2 -1
  101. package/components/common/decorators/index.js +2 -0
  102. package/components/common/decorators/index.js.map +1 -1
  103. package/components/common/decorators/watch.d.ts +0 -1
  104. package/components/common/definitions/defineAllComponents.d.ts +0 -1
  105. package/components/common/definitions/defineAllComponents.js +4 -0
  106. package/components/common/definitions/defineAllComponents.js.map +1 -1
  107. package/components/common/definitions/defineComponents.d.ts +0 -1
  108. package/components/common/i18n/calendar.resources.d.ts +0 -1
  109. package/components/common/mixins/constructor.d.ts +0 -1
  110. package/components/common/mixins/event-emitter.d.ts +0 -1
  111. package/components/common/mixins/sizable.d.ts +4 -1
  112. package/components/common/util.d.ts +0 -1
  113. package/components/form/form.d.ts +21 -2
  114. package/components/form/form.js +4 -1
  115. package/components/form/form.js.map +1 -1
  116. package/components/icon/icon.d.ts +26 -2
  117. package/components/icon/icon.material.css.d.ts +0 -1
  118. package/components/icon/icon.material.css.js +1 -1
  119. package/components/icon/icon.material.css.js.map +1 -1
  120. package/components/icon/icon.registry.d.ts +0 -1
  121. package/components/input/input.d.ts +57 -2
  122. package/components/input/input.dark.material.css.d.ts +1 -0
  123. package/components/input/input.dark.material.css.js +3 -0
  124. package/components/input/input.dark.material.css.js.map +1 -0
  125. package/components/input/input.js +2 -1
  126. package/components/input/input.js.map +1 -1
  127. package/components/input/input.material.css.d.ts +0 -1
  128. package/components/input/input.material.css.js +1 -1
  129. package/components/input/input.material.css.js.map +1 -1
  130. package/components/list/list-header.d.ts +10 -2
  131. package/components/list/list-header.material.css.d.ts +0 -1
  132. package/components/list/list-header.material.css.js +1 -1
  133. package/components/list/list-header.material.css.js.map +1 -1
  134. package/components/list/list-item.d.ts +22 -2
  135. package/components/list/list-item.material.css.d.ts +0 -1
  136. package/components/list/list-item.material.css.js +1 -1
  137. package/components/list/list-item.material.css.js.map +1 -1
  138. package/components/list/list.d.ts +10 -2
  139. package/components/list/list.material.css.d.ts +0 -1
  140. package/components/list/list.material.css.js +1 -1
  141. package/components/list/list.material.css.js.map +1 -1
  142. package/components/nav-drawer/nav-drawer-header-item.d.ts +9 -2
  143. package/components/nav-drawer/nav-drawer-header-item.material.css.d.ts +0 -1
  144. package/components/nav-drawer/nav-drawer-header-item.material.css.js +1 -1
  145. package/components/nav-drawer/nav-drawer-header-item.material.css.js.map +1 -1
  146. package/components/nav-drawer/nav-drawer-item.d.ts +17 -5
  147. package/components/nav-drawer/nav-drawer-item.js +1 -27
  148. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  149. package/components/nav-drawer/nav-drawer-item.material.css.d.ts +0 -1
  150. package/components/nav-drawer/nav-drawer-item.material.css.js +1 -1
  151. package/components/nav-drawer/nav-drawer-item.material.css.js.map +1 -1
  152. package/components/nav-drawer/nav-drawer.d.ts +26 -2
  153. package/components/nav-drawer/nav-drawer.material.css.d.ts +0 -1
  154. package/components/nav-drawer/nav-drawer.material.css.js +1 -1
  155. package/components/nav-drawer/nav-drawer.material.css.js.map +1 -1
  156. package/components/navbar/navbar.d.ts +18 -2
  157. package/components/navbar/navbar.material.css.d.ts +0 -1
  158. package/components/navbar/navbar.material.css.js +1 -1
  159. package/components/navbar/navbar.material.css.js.map +1 -1
  160. package/components/radio/radio.d.ts +31 -2
  161. package/components/radio/radio.material.css.d.ts +0 -1
  162. package/components/radio/radio.material.css.js +1 -1
  163. package/components/radio/radio.material.css.js.map +1 -1
  164. package/components/radio-group/radio-group.d.ts +3 -2
  165. package/components/radio-group/radio-group.material.css.d.ts +0 -1
  166. package/components/radio-group/radio-group.material.css.js +1 -1
  167. package/components/radio-group/radio-group.material.css.js.map +1 -1
  168. package/components/ripple/ripple.d.ts +9 -2
  169. package/components/ripple/ripple.material.css.d.ts +0 -1
  170. package/components/ripple/ripple.material.css.js +1 -1
  171. package/components/ripple/ripple.material.css.js.map +1 -1
  172. package/components/slider/range-slider.d.ts +85 -0
  173. package/components/slider/range-slider.js +141 -0
  174. package/components/slider/range-slider.js.map +1 -0
  175. package/components/slider/slider-base.d.ts +117 -0
  176. package/components/slider/slider-base.js +448 -0
  177. package/components/slider/slider-base.js.map +1 -0
  178. package/components/slider/slider.d.ts +76 -0
  179. package/components/slider/slider.js +80 -0
  180. package/components/slider/slider.js.map +1 -0
  181. package/components/slider/slider.material.css.d.ts +1 -0
  182. package/components/slider/slider.material.css.js +3 -0
  183. package/components/slider/slider.material.css.js.map +1 -0
  184. package/custom-elements.json +654 -28
  185. package/index.d.ts +2 -1
  186. package/index.js +2 -0
  187. package/index.js.map +1 -1
  188. package/package.json +9 -8
  189. package/themes/dark/bootstrap.css +1 -0
  190. package/themes/dark/fluent.css +1 -0
  191. package/themes/dark/indigo.css +1 -0
  192. package/themes/dark/material.css +1 -0
  193. package/themes/light/bootstrap.css +1 -0
  194. package/themes/light/fluent.css +1 -0
  195. package/themes/light/indigo.css +1 -0
  196. package/themes/light/material.css +1 -0
  197. package/vscode-html-custom-data.json +267 -39
  198. package/components/avatar/avatar.d.ts.map +0 -1
  199. package/components/avatar/avatar.material.css.d.ts.map +0 -1
  200. package/components/badge/badge.d.ts.map +0 -1
  201. package/components/badge/badge.material.css.d.ts.map +0 -1
  202. package/components/button/button-base.d.ts.map +0 -1
  203. package/components/button/button.d.ts.map +0 -1
  204. package/components/button/button.material.css.d.ts.map +0 -1
  205. package/components/button/icon-button.d.ts.map +0 -1
  206. package/components/button/icon-button.material.css.d.ts.map +0 -1
  207. package/components/calendar/calendar.d.ts.map +0 -1
  208. package/components/calendar/calendar.material.css.d.ts.map +0 -1
  209. package/components/calendar/common/calendar-base.d.ts.map +0 -1
  210. package/components/calendar/common/calendar.model.d.ts.map +0 -1
  211. package/components/calendar/common/utils.d.ts.map +0 -1
  212. package/components/calendar/days-view/days-view.d.ts.map +0 -1
  213. package/components/calendar/days-view/days-view.material.css.d.ts.map +0 -1
  214. package/components/calendar/months-view/months-view.d.ts.map +0 -1
  215. package/components/calendar/months-view/months-view.material.css.d.ts.map +0 -1
  216. package/components/calendar/years-view/years-view.d.ts.map +0 -1
  217. package/components/calendar/years-view/years-view.material.css.d.ts.map +0 -1
  218. package/components/card/card.actions.d.ts.map +0 -1
  219. package/components/card/card.actions.material.css.d.ts.map +0 -1
  220. package/components/card/card.content.d.ts.map +0 -1
  221. package/components/card/card.content.material.css.d.ts.map +0 -1
  222. package/components/card/card.d.ts.map +0 -1
  223. package/components/card/card.header.d.ts.map +0 -1
  224. package/components/card/card.header.material.css.d.ts.map +0 -1
  225. package/components/card/card.material.css.d.ts.map +0 -1
  226. package/components/card/card.media.d.ts.map +0 -1
  227. package/components/card/card.media.material.css.d.ts.map +0 -1
  228. package/components/checkbox/checkbox-base.d.ts.map +0 -1
  229. package/components/checkbox/checkbox.d.ts.map +0 -1
  230. package/components/checkbox/checkbox.material.css.d.ts.map +0 -1
  231. package/components/checkbox/switch.d.ts.map +0 -1
  232. package/components/checkbox/switch.material.css.d.ts.map +0 -1
  233. package/components/common/decorators/alternateName.d.ts.map +0 -1
  234. package/components/common/decorators/blazorInclude.d.ts.map +0 -1
  235. package/components/common/decorators/blazorSuppress.d.ts.map +0 -1
  236. package/components/common/decorators/blazorTwoWayBind.d.ts.map +0 -1
  237. package/components/common/decorators/index.d.ts.map +0 -1
  238. package/components/common/decorators/watch.d.ts.map +0 -1
  239. package/components/common/definitions/defineAllComponents.d.ts.map +0 -1
  240. package/components/common/definitions/defineComponents.d.ts.map +0 -1
  241. package/components/common/i18n/calendar.resources.d.ts.map +0 -1
  242. package/components/common/mixins/constructor.d.ts.map +0 -1
  243. package/components/common/mixins/event-emitter.d.ts.map +0 -1
  244. package/components/common/mixins/sizable.d.ts.map +0 -1
  245. package/components/common/util.d.ts.map +0 -1
  246. package/components/form/form.d.ts.map +0 -1
  247. package/components/icon/icon.d.ts.map +0 -1
  248. package/components/icon/icon.material.css.d.ts.map +0 -1
  249. package/components/icon/icon.registry.d.ts.map +0 -1
  250. package/components/input/input.d.ts.map +0 -1
  251. package/components/input/input.material.css.d.ts.map +0 -1
  252. package/components/list/list-header.d.ts.map +0 -1
  253. package/components/list/list-header.material.css.d.ts.map +0 -1
  254. package/components/list/list-item.d.ts.map +0 -1
  255. package/components/list/list-item.material.css.d.ts.map +0 -1
  256. package/components/list/list.d.ts.map +0 -1
  257. package/components/list/list.material.css.d.ts.map +0 -1
  258. package/components/nav-drawer/nav-drawer-header-item.d.ts.map +0 -1
  259. package/components/nav-drawer/nav-drawer-header-item.material.css.d.ts.map +0 -1
  260. package/components/nav-drawer/nav-drawer-item.d.ts.map +0 -1
  261. package/components/nav-drawer/nav-drawer-item.material.css.d.ts.map +0 -1
  262. package/components/nav-drawer/nav-drawer.d.ts.map +0 -1
  263. package/components/nav-drawer/nav-drawer.material.css.d.ts.map +0 -1
  264. package/components/navbar/navbar.d.ts.map +0 -1
  265. package/components/navbar/navbar.material.css.d.ts.map +0 -1
  266. package/components/radio/radio.d.ts.map +0 -1
  267. package/components/radio/radio.material.css.d.ts.map +0 -1
  268. package/components/radio-group/radio-group.d.ts.map +0 -1
  269. package/components/radio-group/radio-group.material.css.d.ts.map +0 -1
  270. package/components/ripple/ripple.d.ts.map +0 -1
  271. package/components/ripple/ripple.material.css.d.ts.map +0 -1
  272. package/index.d.ts.map +0 -1
  273. package/themes/bootstrap.css +0 -1
  274. package/themes/fluent.css +0 -1
  275. package/themes/indigo.css +0 -1
  276. package/themes/material.css +0 -1
@@ -1,17 +1,30 @@
1
1
  import { IgcButtonBaseComponent } from './button-base.js';
2
2
  import '../icon/icon';
3
+ /**
4
+ * @element igc-icon-button
5
+ *
6
+ * @csspart base - The wrapping element.
7
+ * @csspart icon - The icon element.
8
+ */
3
9
  export default class IgcIconButtonComponent extends IgcButtonBaseComponent {
10
+ /** @private */
4
11
  static tagName: string;
12
+ /** @private */
5
13
  static styles: import("lit").CSSResult[];
14
+ /** The name of the icon. */
6
15
  name: string;
16
+ /** The name of the icon collection. */
7
17
  collection: string;
18
+ /** Whether to flip the icon button. Useful for RTL layouts. */
8
19
  mirrored: boolean;
20
+ /** The visual variant of the icon button. */
9
21
  variant: 'flat' | 'contained' | 'outlined';
10
- protected renderContent(): import("lit").TemplateResult<1>;
22
+ protected renderContent(): import("lit-html").TemplateResult<1>;
23
+ protected registerIcon(name: string, url: string, collection?: string): Promise<void>;
24
+ protected registerIconFromText(name: string, iconText: string, collection?: string): void;
11
25
  }
12
26
  declare global {
13
27
  interface HTMLElementTagNameMap {
14
28
  'igc-icon-button': IgcIconButtonComponent;
15
29
  }
16
30
  }
17
- //# sourceMappingURL=icon-button.d.ts.map
@@ -10,11 +10,13 @@ import { ifDefined } from 'lit/directives/if-defined.js';
10
10
  import { IgcButtonBaseComponent } from './button-base.js';
11
11
  import { styles } from './icon-button.material.css';
12
12
  import '../icon/icon';
13
+ import { alternateName, blazorInclude } from '../common/decorators';
14
+ import { registerIcon as registerIcon_impl, registerIconFromText as registerIconFromText_impl, } from '../icon/icon.registry.js';
13
15
  export default class IgcIconButtonComponent extends IgcButtonBaseComponent {
14
16
  constructor() {
15
17
  super(...arguments);
16
18
  this.mirrored = false;
17
- this.variant = 'flat';
19
+ this.variant = 'contained';
18
20
  }
19
21
  renderContent() {
20
22
  return html `
@@ -28,10 +30,17 @@ export default class IgcIconButtonComponent extends IgcButtonBaseComponent {
28
30
  ></igc-icon>
29
31
  `;
30
32
  }
33
+ async registerIcon(name, url, collection = 'default') {
34
+ await registerIcon_impl(name, url, collection);
35
+ }
36
+ registerIconFromText(name, iconText, collection = 'default') {
37
+ registerIconFromText_impl(name, iconText, collection);
38
+ }
31
39
  }
32
40
  IgcIconButtonComponent.tagName = 'igc-icon-button';
33
41
  IgcIconButtonComponent.styles = [styles];
34
42
  __decorate([
43
+ alternateName('iconName'),
35
44
  property()
36
45
  ], IgcIconButtonComponent.prototype, "name", void 0);
37
46
  __decorate([
@@ -41,6 +50,12 @@ __decorate([
41
50
  property({ type: Boolean })
42
51
  ], IgcIconButtonComponent.prototype, "mirrored", void 0);
43
52
  __decorate([
44
- property()
53
+ property({ reflect: true })
45
54
  ], IgcIconButtonComponent.prototype, "variant", void 0);
55
+ __decorate([
56
+ blazorInclude()
57
+ ], IgcIconButtonComponent.prototype, "registerIcon", null);
58
+ __decorate([
59
+ blazorInclude()
60
+ ], IgcIconButtonComponent.prototype, "registerIconFromText", null);
46
61
  //# sourceMappingURL=icon-button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../src/components/button/icon-button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,OAAO,cAAc,CAAC;AAOtB,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,sBAAsB;IAA1E;;QAiBS,aAAQ,GAAG,KAAK,CAAC;QAIjB,YAAO,GAAsC,MAAM,CAAC;IAc7D,CAAC;IAZW,aAAa;QACrB,OAAO,IAAI,CAAA;;;eAGA,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;qBACd,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;oBAC3B,IAAI,CAAC,QAAQ;eAClB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;;;KAG9B,CAAC;IACJ,CAAC;;AAhCa,8BAAO,GAAG,iBAAiB,CAAC;AAG5B,6BAAM,GAAG,CAAC,MAAM,CAAC,CAAC;AAIhC;IADC,QAAQ,EAAE;oDACU;AAIrB;IADC,QAAQ,EAAE;0DACgB;AAI3B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wDACJ;AAIxB;IADC,QAAQ,EAAE;uDACgD","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { IgcButtonBaseComponent } from './button-base.js';\nimport { styles } from './icon-button.material.css';\n\nimport '../icon/icon';\n/**\n * @element igc-icon-button\n *\n * @csspart base - The wrapping element.\n * @csspart icon - The icon element.\n */\nexport default class IgcIconButtonComponent extends IgcButtonBaseComponent {\n /** @private */\n public static tagName = 'igc-icon-button';\n\n /** @private */\n public static styles = [styles];\n\n /** The name of the icon. */\n @property()\n public name!: string;\n\n /** The name of the icon collection. */\n @property()\n public collection!: string;\n\n /** Whether to flip the icon button. Useful for RTL layouts. */\n @property({ type: Boolean })\n public mirrored = false;\n\n /** The visual variant of the icon button. */\n @property()\n public variant: 'flat' | 'contained' | 'outlined' = 'flat';\n\n protected renderContent() {\n return html`\n <igc-icon\n part=\"icon\"\n name=${ifDefined(this.name)}\n collection=${ifDefined(this.collection)}\n .mirrored=${this.mirrored}\n size=${ifDefined(this.size)}\n aria-hidden=\"true\"\n ></igc-icon>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-icon-button': IgcIconButtonComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../src/components/button/icon-button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EACL,YAAY,IAAI,iBAAiB,EACjC,oBAAoB,IAAI,yBAAyB,GAClD,MAAM,0BAA0B,CAAC;AAQlC,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,sBAAsB;IAA1E;;QAkBS,aAAQ,GAAG,KAAK,CAAC;QAIjB,YAAO,GAAsC,WAAW,CAAC;IAgClE,CAAC;IA9BW,aAAa;QACrB,OAAO,IAAI,CAAA;;;eAGA,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;qBACd,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;oBAC3B,IAAI,CAAC,QAAQ;eAClB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;;;KAG9B,CAAC;IACJ,CAAC;IAGS,KAAK,CAAC,YAAY,CAC1B,IAAY,EACZ,GAAW,EACX,UAAU,GAAG,SAAS;QAEtB,MAAM,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAGS,oBAAoB,CAC5B,IAAY,EACZ,QAAgB,EAChB,UAAU,GAAG,SAAS;QAEtB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;;AAnDa,8BAAO,GAAG,iBAAiB,CAAC;AAG5B,6BAAM,GAAG,CAAC,MAAM,CAAC,CAAC;AAKhC;IAFC,aAAa,CAAC,UAAU,CAAC;IACzB,QAAQ,EAAE;oDACU;AAIrB;IADC,QAAQ,EAAE;0DACgB;AAI3B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wDACJ;AAIxB;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uDACoC;AAgBhE;IADC,aAAa,EAAE;0DAOf;AAGD;IADC,aAAa,EAAE;kEAOf","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { IgcButtonBaseComponent } from './button-base.js';\nimport { styles } from './icon-button.material.css';\nimport '../icon/icon';\nimport { alternateName, blazorInclude } from '../common/decorators';\nimport {\n registerIcon as registerIcon_impl,\n registerIconFromText as registerIconFromText_impl,\n} from '../icon/icon.registry.js';\n\n/**\n * @element igc-icon-button\n *\n * @csspart base - The wrapping element.\n * @csspart icon - The icon element.\n */\nexport default class IgcIconButtonComponent extends IgcButtonBaseComponent {\n /** @private */\n public static tagName = 'igc-icon-button';\n\n /** @private */\n public static styles = [styles];\n\n /** The name of the icon. */\n @alternateName('iconName')\n @property()\n public name!: string;\n\n /** The name of the icon collection. */\n @property()\n public collection!: string;\n\n /** Whether to flip the icon button. Useful for RTL layouts. */\n @property({ type: Boolean })\n public mirrored = false;\n\n /** The visual variant of the icon button. */\n @property({ reflect: true })\n public variant: 'flat' | 'contained' | 'outlined' = 'contained';\n\n protected renderContent() {\n return html`\n <igc-icon\n part=\"icon\"\n name=${ifDefined(this.name)}\n collection=${ifDefined(this.collection)}\n .mirrored=${this.mirrored}\n size=${ifDefined(this.size)}\n aria-hidden=\"true\"\n ></igc-icon>\n `;\n }\n\n @blazorInclude()\n protected async registerIcon(\n name: string,\n url: string,\n collection = 'default'\n ) {\n await registerIcon_impl(name, url, collection);\n }\n\n @blazorInclude()\n protected registerIconFromText(\n name: string,\n iconText: string,\n collection = 'default'\n ) {\n registerIconFromText_impl(name, iconText, collection);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-icon-button': IgcIconButtonComponent;\n }\n}\n"]}
@@ -1,2 +1 @@
1
1
  export declare const styles: import("lit").CSSResult;
2
- //# sourceMappingURL=icon-button.material.css.d.ts.map
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}[part=base]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border:none;outline-style:none;background:transparent;padding:0;color:hsla(var(--igc-gray-900), var(--igc-gray-a));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer;border-radius:50%;-webkit-transition:background .15s ease-out,-webkit-box-shadow .2s ease-in;transition:background .15s ease-out,-webkit-box-shadow .2s ease-in;-o-transition:box-shadow .2s ease-in,background .15s ease-out;transition:box-shadow .2s ease-in,background .15s ease-out;transition:box-shadow .2s ease-in,background .15s ease-out,-webkit-box-shadow .2s ease-in;-webkit-transition-delay:.05s;-o-transition-delay:.05s;transition-delay:.05s}:host([size=small]) [part=icon]{--size: 1rem}:host([size=small]) [part=base]{padding:calc(var(--igc-spacing-small)*2)}:host([size=medium]) [part=icon]{--size: 1.25rem}:host([size=medium]) [part=base]{padding:calc(var(--igc-spacing-medium)*1.5)}:host([size=large]) [part=icon]{--size: 1.5rem}:host([size=large]) [part=base]{padding:var(--igc-spacing-large)}:host([variant=contained]) [part=base]{background:hsla(var(--igc-gray-200), var(--igc-gray-a))}:host([variant=outlined]) [part=base]{-webkit-box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-300), var(--igc-gray-a));box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-300), var(--igc-gray-a))}:host(:focus-within) [part=base]{-webkit-transition:none;-o-transition:none;transition:none;background:hsla(var(--igc-gray-200), var(--igc-gray-a));-webkit-box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-400), var(--igc-gray-a));box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-400), var(--igc-gray-a))}:host([variant=contained]:focus-within) [part=base]{background:hsla(var(--igc-gray-300), var(--igc-gray-a))}:host([disabled]){pointer-events:none}:host([disabled]) [part=base]{color:hsla(var(--igc-gray-500), var(--igc-gray-a))}:host([disabled][variant=contained]){pointer-events:none}:host([disabled][variant=contained]) [part=base]{background:hsla(var(--igc-gray-100), var(--igc-gray-a))}:host([disabled][variant=outlined]){pointer-events:none}:host([disabled][variant=outlined]) [part=base]{background:hsla(var(--igc-gray-100), var(--igc-gray-a));-webkit-box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-100), var(--igc-gray-a));box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-100), var(--igc-gray-a))}`;
2
+ export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size);scrollbar-color:var(--igc-scrollbar-thumb-color) var(--igc-scrollbar-track-color)}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size);height:var(--scrolbar-size);background:var(--igc-scrollbar-track-color)}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color)}[hidden]{display:none !important}:host{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}[part=base]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border:none;outline-style:none;background:transparent;padding:0;color:hsla(var(--igc-gray-900), var(--igc-gray-a));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer;border-radius:50%;-webkit-transition:background .15s ease-out,-webkit-box-shadow .2s ease-in;transition:background .15s ease-out,-webkit-box-shadow .2s ease-in;-o-transition:box-shadow .2s ease-in,background .15s ease-out;transition:box-shadow .2s ease-in,background .15s ease-out;transition:box-shadow .2s ease-in,background .15s ease-out,-webkit-box-shadow .2s ease-in;-webkit-transition-delay:.05s;-o-transition-delay:.05s;transition-delay:.05s}:host([size=small]) [part=icon]{--size: 1rem}:host([size=small]) [part=base]{padding:calc(var(--igc-spacing-small)*2)}:host([size=medium]) [part=icon]{--size: 1.25rem}:host([size=medium]) [part=base]{padding:calc(var(--igc-spacing-medium)*1.5)}:host([size=large]) [part=icon]{--size: 1.5rem}:host([size=large]) [part=base]{padding:var(--igc-spacing-large)}:host([variant=contained]) [part=base]{background:hsla(var(--igc-gray-200), var(--igc-gray-a))}:host([variant=outlined]) [part=base]{-webkit-box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-300), var(--igc-gray-a));box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-300), var(--igc-gray-a))}:host(:focus-within) [part=base]{-webkit-transition:none;-o-transition:none;transition:none;background:hsla(var(--igc-gray-200), var(--igc-gray-a));-webkit-box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-400), var(--igc-gray-a));box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-400), var(--igc-gray-a))}:host([variant=contained]:focus-within) [part=base]{background:hsla(var(--igc-gray-300), var(--igc-gray-a))}:host([disabled]){pointer-events:none}:host([disabled]) [part=base]{color:hsla(var(--igc-gray-500), var(--igc-gray-a))}:host([disabled][variant=contained]){pointer-events:none}:host([disabled][variant=contained]) [part=base]{background:hsla(var(--igc-gray-100), var(--igc-gray-a))}:host([disabled][variant=outlined]){pointer-events:none}:host([disabled][variant=outlined]) [part=base]{background:hsla(var(--igc-gray-100), var(--igc-gray-a));-webkit-box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-100), var(--igc-gray-a));box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-100), var(--igc-gray-a))}`;
3
3
  //# sourceMappingURL=icon-button.material.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.material.css.js","sourceRoot":"","sources":["../../../src/components/button/icon-button.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,0wFAA0wF,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}[part=base]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border:none;outline-style:none;background:transparent;padding:0;color:hsla(var(--igc-gray-900), var(--igc-gray-a));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer;border-radius:50%;-webkit-transition:background .15s ease-out,-webkit-box-shadow .2s ease-in;transition:background .15s ease-out,-webkit-box-shadow .2s ease-in;-o-transition:box-shadow .2s ease-in,background .15s ease-out;transition:box-shadow .2s ease-in,background .15s ease-out;transition:box-shadow .2s ease-in,background .15s ease-out,-webkit-box-shadow .2s ease-in;-webkit-transition-delay:.05s;-o-transition-delay:.05s;transition-delay:.05s}:host([size=small]) [part=icon]{--size: 1rem}:host([size=small]) [part=base]{padding:calc(var(--igc-spacing-small)*2)}:host([size=medium]) [part=icon]{--size: 1.25rem}:host([size=medium]) [part=base]{padding:calc(var(--igc-spacing-medium)*1.5)}:host([size=large]) [part=icon]{--size: 1.5rem}:host([size=large]) [part=base]{padding:var(--igc-spacing-large)}:host([variant=contained]) [part=base]{background:hsla(var(--igc-gray-200), var(--igc-gray-a))}:host([variant=outlined]) [part=base]{-webkit-box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-300), var(--igc-gray-a));box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-300), var(--igc-gray-a))}:host(:focus-within) [part=base]{-webkit-transition:none;-o-transition:none;transition:none;background:hsla(var(--igc-gray-200), var(--igc-gray-a));-webkit-box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-400), var(--igc-gray-a));box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-400), var(--igc-gray-a))}:host([variant=contained]:focus-within) [part=base]{background:hsla(var(--igc-gray-300), var(--igc-gray-a))}:host([disabled]){pointer-events:none}:host([disabled]) [part=base]{color:hsla(var(--igc-gray-500), var(--igc-gray-a))}:host([disabled][variant=contained]){pointer-events:none}:host([disabled][variant=contained]) [part=base]{background:hsla(var(--igc-gray-100), var(--igc-gray-a))}:host([disabled][variant=outlined]){pointer-events:none}:host([disabled][variant=outlined]) [part=base]{background:hsla(var(--igc-gray-100), var(--igc-gray-a));-webkit-box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-100), var(--igc-gray-a));box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-100), var(--igc-gray-a))}`;\n"]}
1
+ {"version":3,"file":"icon-button.material.css.js","sourceRoot":"","sources":["../../../src/components/button/icon-button.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,0kGAA0kG,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size);scrollbar-color:var(--igc-scrollbar-thumb-color) var(--igc-scrollbar-track-color)}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size);height:var(--scrolbar-size);background:var(--igc-scrollbar-track-color)}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color)}[hidden]{display:none !important}:host{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}[part=base]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border:none;outline-style:none;background:transparent;padding:0;color:hsla(var(--igc-gray-900), var(--igc-gray-a));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer;border-radius:50%;-webkit-transition:background .15s ease-out,-webkit-box-shadow .2s ease-in;transition:background .15s ease-out,-webkit-box-shadow .2s ease-in;-o-transition:box-shadow .2s ease-in,background .15s ease-out;transition:box-shadow .2s ease-in,background .15s ease-out;transition:box-shadow .2s ease-in,background .15s ease-out,-webkit-box-shadow .2s ease-in;-webkit-transition-delay:.05s;-o-transition-delay:.05s;transition-delay:.05s}:host([size=small]) [part=icon]{--size: 1rem}:host([size=small]) [part=base]{padding:calc(var(--igc-spacing-small)*2)}:host([size=medium]) [part=icon]{--size: 1.25rem}:host([size=medium]) [part=base]{padding:calc(var(--igc-spacing-medium)*1.5)}:host([size=large]) [part=icon]{--size: 1.5rem}:host([size=large]) [part=base]{padding:var(--igc-spacing-large)}:host([variant=contained]) [part=base]{background:hsla(var(--igc-gray-200), var(--igc-gray-a))}:host([variant=outlined]) [part=base]{-webkit-box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-300), var(--igc-gray-a));box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-300), var(--igc-gray-a))}:host(:focus-within) [part=base]{-webkit-transition:none;-o-transition:none;transition:none;background:hsla(var(--igc-gray-200), var(--igc-gray-a));-webkit-box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-400), var(--igc-gray-a));box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-400), var(--igc-gray-a))}:host([variant=contained]:focus-within) [part=base]{background:hsla(var(--igc-gray-300), var(--igc-gray-a))}:host([disabled]){pointer-events:none}:host([disabled]) [part=base]{color:hsla(var(--igc-gray-500), var(--igc-gray-a))}:host([disabled][variant=contained]){pointer-events:none}:host([disabled][variant=contained]) [part=base]{background:hsla(var(--igc-gray-100), var(--igc-gray-a))}:host([disabled][variant=outlined]){pointer-events:none}:host([disabled][variant=outlined]) [part=base]{background:hsla(var(--igc-gray-100), var(--igc-gray-a));-webkit-box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-100), var(--igc-gray-a));box-shadow:inset 0 0 0 1px hsla(var(--igc-gray-100), var(--igc-gray-a))}`;\n"]}
@@ -5,11 +5,41 @@ import './days-view/days-view';
5
5
  import './months-view/months-view';
6
6
  import './years-view/years-view';
7
7
  import '../icon/icon';
8
- export declare const MONTHS_PER_ROW = 3;
9
- export declare const YEARS_PER_ROW = 3;
10
8
  declare const IgcCalendarComponent_base: Constructor<import("../common/mixins/sizable").SizableInterface> & Constructor<import("../common/mixins/event-emitter").EventEmitterInterface<IgcCalendarBaseEventMap>> & Constructor<IgcCalendarBaseComponent>;
9
+ /**
10
+ * Represents a calendar that lets users
11
+ * to select a date value in a variety of different ways.
12
+ *
13
+ * @element igc-calendar
14
+ *
15
+ * @slot - The default slot for the calendar.
16
+ * @slot title - Renders the title of the calendar header.
17
+ *
18
+ * @fires igcChange - Emitted when calendar changes its value.
19
+ *
20
+ * @csspart content - The content container.
21
+ * @csspart days-view - The days view container.
22
+ * @csspart months-view - The months view container.
23
+ * @csspart years-view - The years view container.
24
+ * @csspart header - The header container.
25
+ * @csspart header-title - The header title container.
26
+ * @csspart header-date - The header date container.
27
+ * @csspart navigation - The navigation container.
28
+ * @csspart months-navigation - The months navigation container.
29
+ * @csspart years-navigation - The years navigation container.
30
+ * @csspart years-range - The years range container.
31
+ * @csspart navigation-buttons - The navigation buttons container.
32
+ * @csspart navigation-button - The navigation button container.
33
+ * @csspart navigation-button vertical - The navigation button container
34
+ * when calendar orientation is vertical.
35
+ * @csspart days-view-container - The days view container.
36
+ */
11
37
  export default class IgcCalendarComponent extends IgcCalendarComponent_base {
38
+ /** @private */
12
39
  static tagName: string;
40
+ /**
41
+ * @private
42
+ */
13
43
  static styles: import("lit").CSSResult[];
14
44
  private formatterMonth;
15
45
  private formatterWeekday;
@@ -19,13 +49,21 @@ export default class IgcCalendarComponent extends IgcCalendarComponent_base {
19
49
  private daysViews;
20
50
  private monthsView;
21
51
  private yearsView;
52
+ /** Controls the visibility of the dates that do not belong to the current month. */
22
53
  hideOutsideDays: boolean;
23
- hasHeader: boolean;
54
+ /** Determines whether the calendar hides its header. Even if set to false, the header is not displayed for `multiple` selection. */
55
+ hideHeader: boolean;
56
+ /** The orientation of the header. */
24
57
  headerOrientation: 'vertical' | 'horizontal';
58
+ /** The orientation of the multiple months displayed in days view. */
25
59
  orientation: 'vertical' | 'horizontal';
60
+ /** The number of months displayed in days view. */
26
61
  visibleMonths: number;
62
+ /** The active view. */
27
63
  activeView: 'days' | 'months' | 'years';
64
+ /** The options used to format the months and the weekdays in the calendar views. */
28
65
  formatOptions: Pick<Intl.DateTimeFormatOptions, 'month' | 'weekday'>;
66
+ /** The resource strings. */
29
67
  resourceStrings: IgcCalendarResourceStrings;
30
68
  protected formattersChange(): void;
31
69
  constructor();
@@ -57,7 +95,7 @@ export default class IgcCalendarComponent extends IgcCalendarComponent_base {
57
95
  private renderNavigation;
58
96
  private renderHeader;
59
97
  private renderHeaderDate;
60
- protected render(): import("lit").TemplateResult<1>;
98
+ protected render(): import("lit-html").TemplateResult<1>;
61
99
  }
62
100
  declare global {
63
101
  interface HTMLElementTagNameMap {
@@ -65,4 +103,3 @@ declare global {
65
103
  }
66
104
  }
67
105
  export {};
68
- //# sourceMappingURL=calendar.d.ts.map
@@ -7,11 +7,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { html } from 'lit';
8
8
  import { property, query, queryAll, state } from 'lit/decorators.js';
9
9
  import { styleMap } from 'lit/directives/style-map.js';
10
- import { IgcCalendarBaseComponent, } from './common/calendar-base';
10
+ import { IgcCalendarBaseComponent, MONTHS_PER_ROW, YEARS_PER_ROW, } from './common/calendar-base';
11
11
  import { styles } from './calendar.material.css';
12
12
  import { EventEmitterMixin } from '../common/mixins/event-emitter';
13
13
  import { TimeDeltaInterval } from './common/calendar.model';
14
- import { watch } from '../common/decorators';
14
+ import { blazorIndirectRender, watch } from '../common/decorators';
15
15
  import { calculateYearsRangeStart, setDateSafe } from './common/utils';
16
16
  import { SizableMixin } from '../common/mixins/sizable';
17
17
  import { IgcCalendarResourceStringEN, } from '../common/i18n/calendar.resources';
@@ -20,14 +20,12 @@ import './days-view/days-view';
20
20
  import './months-view/months-view';
21
21
  import './years-view/years-view';
22
22
  import '../icon/icon';
23
- export const MONTHS_PER_ROW = 3;
24
- export const YEARS_PER_ROW = 3;
25
- export default class IgcCalendarComponent extends SizableMixin(EventEmitterMixin(IgcCalendarBaseComponent)) {
23
+ let IgcCalendarComponent = class IgcCalendarComponent extends SizableMixin(EventEmitterMixin(IgcCalendarBaseComponent)) {
26
24
  constructor() {
27
25
  super();
28
26
  this.activeDaysViewIndex = 0;
29
27
  this.hideOutsideDays = false;
30
- this.hasHeader = true;
28
+ this.hideHeader = false;
31
29
  this.headerOrientation = 'horizontal';
32
30
  this.orientation = 'horizontal';
33
31
  this.visibleMonths = 1;
@@ -282,8 +280,17 @@ export default class IgcCalendarComponent extends SizableMixin(EventEmitterMixin
282
280
  }
283
281
  changeValue(event) {
284
282
  event.stopPropagation();
285
- this.value = event.target.value;
286
- this.emitEvent('igcChange', { detail: this.value });
283
+ const daysView = event.target;
284
+ let newValue;
285
+ if (this.selection === 'single') {
286
+ this.value = daysView.value;
287
+ newValue = this.value;
288
+ }
289
+ else {
290
+ this.values = daysView.values;
291
+ newValue = this.values;
292
+ }
293
+ this.emitEvent('igcChange', { detail: newValue });
287
294
  }
288
295
  changeMonth(event) {
289
296
  event.stopPropagation();
@@ -416,7 +423,11 @@ export default class IgcCalendarComponent extends SizableMixin(EventEmitterMixin
416
423
  aria-label=${this.previousButtonLabel}
417
424
  @click=${this.navigatePrevious}
418
425
  >
419
- <igc-icon name="navigate_before" collection="internal"></igc-icon>
426
+ <igc-icon
427
+ aria-hidden="true"
428
+ name="navigate_before"
429
+ collection="internal"
430
+ ></igc-icon>
420
431
  </button>
421
432
  <button
422
433
  part=${partNameMap({
@@ -426,14 +437,18 @@ export default class IgcCalendarComponent extends SizableMixin(EventEmitterMixin
426
437
  aria-label=${this.nextButtonLabel}
427
438
  @click=${this.navigateNext}
428
439
  >
429
- <igc-icon name="navigate_next" collection="internal"></igc-icon>
440
+ <igc-icon
441
+ aria-hidden="true"
442
+ name="navigate_next"
443
+ collection="internal"
444
+ ></igc-icon>
430
445
  </button>
431
446
  </div>`
432
447
  : ''}
433
448
  </div>`;
434
449
  }
435
450
  renderHeader() {
436
- if (!this.hasHeader || this.selection === 'multiple') {
451
+ if (this.hideHeader || this.selection === 'multiple') {
437
452
  return '';
438
453
  }
439
454
  return html `<div part="header">
@@ -457,7 +472,7 @@ export default class IgcCalendarComponent extends SizableMixin(EventEmitterMixin
457
472
  : ' '}${this.formatterMonthDay.format(date)}`
458
473
  : this.resourceStrings.selectedDate}`;
459
474
  }
460
- const dates = this.value;
475
+ const dates = this.values;
461
476
  return html `<span
462
477
  >${dates && dates.length
463
478
  ? this.formatterMonthDay.format(dates[0])
@@ -505,6 +520,7 @@ export default class IgcCalendarComponent extends SizableMixin(EventEmitterMixin
505
520
  .locale=${this.locale}
506
521
  .selection=${this.selection}
507
522
  .value=${this.value}
523
+ .values=${this.values}
508
524
  .hideLeadingDays=${this.hideOutsideDays || i !== 0}
509
525
  .hideTrailingDays=${this.hideOutsideDays ||
510
526
  i !== activeDates.length - 1}
@@ -544,7 +560,7 @@ export default class IgcCalendarComponent extends SizableMixin(EventEmitterMixin
544
560
  </div>
545
561
  `;
546
562
  }
547
- }
563
+ };
548
564
  IgcCalendarComponent.tagName = 'igc-calendar';
549
565
  IgcCalendarComponent.styles = [styles];
550
566
  __decorate([
@@ -566,8 +582,8 @@ __decorate([
566
582
  property({ type: Boolean, attribute: 'hide-outside-days' })
567
583
  ], IgcCalendarComponent.prototype, "hideOutsideDays", void 0);
568
584
  __decorate([
569
- property({ type: Boolean, attribute: 'has-header' })
570
- ], IgcCalendarComponent.prototype, "hasHeader", void 0);
585
+ property({ type: Boolean, attribute: 'hide-header' })
586
+ ], IgcCalendarComponent.prototype, "hideHeader", void 0);
571
587
  __decorate([
572
588
  property({ attribute: 'header-orientation', reflect: true })
573
589
  ], IgcCalendarComponent.prototype, "headerOrientation", void 0);
@@ -590,4 +606,8 @@ __decorate([
590
606
  watch('formatOptions'),
591
607
  watch('locale')
592
608
  ], IgcCalendarComponent.prototype, "formattersChange", null);
609
+ IgcCalendarComponent = __decorate([
610
+ blazorIndirectRender
611
+ ], IgcCalendarComponent);
612
+ export default IgcCalendarComponent;
593
613
  //# sourceMappingURL=calendar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../../src/components/calendar/calendar.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property, query, queryAll, state } from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport type IgcDaysViewComponent from './days-view/days-view';\nimport type IgcMonthsViewComponent from './months-view/months-view';\nimport type IgcYearsViewComponent from './years-view/years-view';\nimport {\n IgcCalendarBaseComponent,\n IgcCalendarBaseEventMap,\n} from './common/calendar-base';\nimport { styles } from './calendar.material.css';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter';\nimport { Constructor } from '../common/mixins/constructor';\nimport { ICalendarDate, TimeDeltaInterval } from './common/calendar.model';\nimport { watch } from '../common/decorators';\nimport { calculateYearsRangeStart, setDateSafe } from './common/utils';\nimport { SizableMixin } from '../common/mixins/sizable';\nimport {\n IgcCalendarResourceStringEN,\n IgcCalendarResourceStrings,\n} from '../common/i18n/calendar.resources';\nimport { partNameMap } from '../common/util';\n\nimport './days-view/days-view';\nimport './months-view/months-view';\nimport './years-view/years-view';\nimport '../icon/icon';\n\nexport const MONTHS_PER_ROW = 3;\nexport const YEARS_PER_ROW = 3;\n\n/**\n * Represents a calendar that lets users\n * to select a date value in a variety of different ways.\n *\n * @element igc-calendar\n *\n * @slot - The default slot for the calendar.\n * @slot title - Renders the title of the calendar header.\n *\n * @fires igcChange - Emitted when calendar changes its value.\n *\n * @csspart content - The content container.\n * @csspart days-view - The days view container.\n * @csspart months-view - The months view container.\n * @csspart years-view - The years view container.\n * @csspart header - The header container.\n * @csspart header-title - The header title container.\n * @csspart header-date - The header date container.\n * @csspart navigation - The navigation container.\n * @csspart months-navigation - The months navigation container.\n * @csspart years-navigation - The years navigation container.\n * @csspart years-range - The years range container.\n * @csspart navigation-buttons - The navigation buttons container.\n * @csspart navigation-button - The navigation button container.\n * @csspart navigation-button vertical - The navigation button container\n * when calendar orientation is vertical.\n * @csspart days-view-container - The days view container.\n */\nexport default class IgcCalendarComponent extends SizableMixin(\n EventEmitterMixin<\n IgcCalendarBaseEventMap,\n Constructor<IgcCalendarBaseComponent>\n >(IgcCalendarBaseComponent)\n) {\n /** @private */\n public static tagName = 'igc-calendar';\n\n /**\n * @private\n */\n public static styles = [styles];\n\n private formatterMonth!: Intl.DateTimeFormat;\n private formatterWeekday!: Intl.DateTimeFormat;\n private formatterMonthDay!: Intl.DateTimeFormat;\n\n @state()\n private rangePreviewDate?: Date;\n\n @state()\n private activeDaysViewIndex = 0;\n\n @queryAll('igc-days-view')\n private daysViews!: NodeList;\n\n @query('igc-months-view')\n private monthsView!: IgcMonthsViewComponent;\n\n @query('igc-years-view')\n private yearsView!: IgcYearsViewComponent;\n\n /** Controls the visibility of the dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-outside-days' })\n public hideOutsideDays = false;\n\n /** Determines whether the calendar has header. Even if set to true, the header is not displayed for `multiple` selection. */\n @property({ type: Boolean, attribute: 'has-header' })\n public hasHeader = true;\n\n /** The orientation of the header. */\n @property({ attribute: 'header-orientation', reflect: true })\n public headerOrientation: 'vertical' | 'horizontal' = 'horizontal';\n\n /** The orientation of the multiple months displayed in days view. */\n @property()\n public orientation: 'vertical' | 'horizontal' = 'horizontal';\n\n /** The number of months displayed in days view. */\n @property({ type: Number, attribute: 'visible-months' })\n public visibleMonths = 1;\n\n /** The active view. */\n @property({ attribute: 'active-view' })\n public activeView: 'days' | 'months' | 'years' = 'days';\n\n /** The options used to format the months and the weekdays in the calendar views. */\n @property({ attribute: false })\n public formatOptions: Pick<Intl.DateTimeFormatOptions, 'month' | 'weekday'> =\n {\n month: 'long',\n weekday: 'narrow',\n };\n\n /** The resource strings. */\n @property({ attribute: false })\n public resourceStrings: IgcCalendarResourceStrings = IgcCalendarResourceStringEN;\n\n @watch('formatOptions')\n @watch('locale')\n protected formattersChange() {\n this.initFormatters();\n }\n\n constructor() {\n super();\n this.initFormatters();\n }\n\n private get yearPerPage() {\n return this.size === 'small' ? 18 : 15;\n }\n\n private get previousButtonLabel() {\n return this.activeView === 'days'\n ? this.resourceStrings.previousMonth\n : this.activeView === 'months'\n ? this.resourceStrings.previousYear\n : this.activeView === 'years'\n ? this.resourceStrings.previousYears.replace(\n '{0}',\n this.yearPerPage.toString()\n )\n : '';\n }\n\n private get nextButtonLabel() {\n return this.activeView === 'days'\n ? this.resourceStrings.nextMonth\n : this.activeView === 'months'\n ? this.resourceStrings.nextYear\n : this.activeView === 'years'\n ? this.resourceStrings.nextYears.replace(\n '{0}',\n this.yearPerPage.toString()\n )\n : '';\n }\n\n private monthSelectLabel(activeDate: Date) {\n return (\n activeDate.toLocaleString(this.locale, {\n month: 'long',\n }) +\n ', ' +\n this.resourceStrings.selectMonth\n );\n }\n\n private yearSelectLabel(activeDate: Date) {\n return activeDate.getFullYear() + ', ' + this.resourceStrings.selectYear;\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n const tagName = (event.target as HTMLElement).tagName.toLowerCase();\n\n if (\n tagName !== 'igc-days-view' &&\n tagName !== 'igc-months-view' &&\n tagName !== 'igc-years-view'\n ) {\n return;\n }\n\n switch (event.key) {\n case 'PageDown':\n event.preventDefault();\n\n if (event.shiftKey && this.activeView === 'days') {\n this.nextYear();\n } else {\n this.navigateNext();\n }\n\n if (this.activeView === 'days') {\n this.focusActiveDate();\n }\n break;\n case 'PageUp':\n event.preventDefault();\n\n if (event.shiftKey && this.activeView === 'days') {\n this.previousYear();\n } else {\n this.navigatePrevious();\n }\n\n if (this.activeView === 'days') {\n this.focusActiveDate();\n }\n break;\n case 'Home':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const firstDaysView = this.daysViews[0] as IgcDaysViewComponent;\n const activeDate = firstDaysView.activeDate;\n const date = new Date(activeDate);\n date.setDate(1);\n this.activeDate = date;\n this.activeDaysViewIndex = 0;\n } else if (this.activeView === 'months') {\n const date = new Date(this.activeDate);\n date.setMonth(0);\n this.activeDate = date;\n } else if (this.activeView === 'years') {\n const startYear = calculateYearsRangeStart(\n this.activeDate,\n this.yearPerPage\n );\n const date = new Date(this.activeDate);\n date.setDate(1);\n date.setFullYear(startYear);\n setDateSafe(date, this.activeDate.getDate());\n this.activeDate = date;\n }\n\n this.focusActiveDate();\n break;\n case 'End':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const index = this.daysViews.length - 1;\n const lastDaysView = this.daysViews[index] as IgcDaysViewComponent;\n const activeDate = lastDaysView.activeDate;\n const date = new Date(activeDate);\n date.setDate(1);\n date.setMonth(date.getMonth() + 1);\n date.setDate(0);\n this.activeDate = date;\n this.activeDaysViewIndex = index;\n } else if (this.activeView === 'months') {\n const date = new Date(this.activeDate);\n date.setMonth(11);\n this.activeDate = date;\n } else if (this.activeView === 'years') {\n const startYear = calculateYearsRangeStart(\n this.activeDate,\n this.yearPerPage\n );\n const date = new Date(this.activeDate);\n date.setDate(1);\n date.setFullYear(startYear + this.yearPerPage - 1);\n setDateSafe(date, this.activeDate.getDate());\n this.activeDate = date;\n }\n\n this.focusActiveDate();\n break;\n case 'ArrowLeft':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const date = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Day,\n -1\n );\n\n if (this.visibleMonths > 1) {\n const activeDayView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n const activeMonthDate = activeDayView.activeDate;\n\n if (activeMonthDate.getMonth() !== date.getMonth()) {\n this.activeDaysViewIndex =\n this.activeDaysViewIndex > 0 ? this.activeDaysViewIndex - 1 : 0;\n }\n }\n this.activeDate = date;\n } else if (this.activeView === 'months') {\n this.previousMonth();\n } else if (this.activeView === 'years') {\n this.previousYear();\n }\n\n this.focusActiveDate();\n break;\n case 'ArrowRight':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const date = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Day,\n 1\n );\n\n if (this.visibleMonths > 1) {\n const activeDayView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n const activeMonthDate = activeDayView.activeDate;\n\n if (activeMonthDate.getMonth() !== date.getMonth()) {\n this.activeDaysViewIndex =\n this.activeDaysViewIndex === this.visibleMonths - 1\n ? this.activeDaysViewIndex\n : this.activeDaysViewIndex + 1;\n }\n }\n this.activeDate = date;\n } else if (this.activeView === 'months') {\n this.nextMonth();\n } else if (this.activeView === 'years') {\n this.nextYear();\n }\n\n this.focusActiveDate();\n break;\n case 'ArrowUp':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const date = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Week,\n -1\n );\n\n if (this.visibleMonths > 1) {\n const activeDayView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n const activeMonthDate = activeDayView.activeDate;\n\n if (activeMonthDate.getMonth() !== date.getMonth()) {\n this.activeDaysViewIndex =\n this.activeDaysViewIndex > 0 ? this.activeDaysViewIndex - 1 : 0;\n }\n }\n this.activeDate = date;\n } else if (this.activeView === 'months') {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Month,\n -MONTHS_PER_ROW\n );\n } else if (this.activeView === 'years') {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Year,\n -YEARS_PER_ROW\n );\n }\n\n this.focusActiveDate();\n break;\n case 'ArrowDown':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const date = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Week,\n 1\n );\n\n if (this.visibleMonths > 1) {\n const activeDayView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n const activeMonthDate = activeDayView.activeDate;\n\n if (activeMonthDate.getMonth() !== date.getMonth()) {\n this.activeDaysViewIndex =\n this.activeDaysViewIndex === this.visibleMonths - 1\n ? this.activeDaysViewIndex\n : this.activeDaysViewIndex + 1;\n }\n }\n this.activeDate = date;\n } else if (this.activeView === 'months') {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Month,\n MONTHS_PER_ROW\n );\n } else if (this.activeView === 'years') {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Year,\n YEARS_PER_ROW\n );\n }\n\n this.focusActiveDate();\n break;\n }\n };\n\n private async focusActiveDate() {\n await this.updateComplete;\n\n if (this.activeView === 'days') {\n const daysView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n daysView.focusActiveDate();\n } else if (this.activeView === 'months') {\n this.monthsView.focusActiveDate();\n } else if (this.activeView === 'years') {\n this.yearsView.focusActiveDate();\n }\n }\n\n private initFormatters() {\n this.formatterMonth = new Intl.DateTimeFormat(this.locale, {\n month: this.formatOptions.month,\n });\n this.formatterWeekday = new Intl.DateTimeFormat(this.locale, {\n weekday: 'short',\n });\n this.formatterMonthDay = new Intl.DateTimeFormat(this.locale, {\n month: 'short',\n day: 'numeric',\n });\n }\n\n private formattedMonth(value: Date) {\n return this.formatterMonth.format(value);\n }\n\n private changeValue(event: CustomEvent<void>) {\n event.stopPropagation();\n this.value = (event.target as IgcDaysViewComponent).value;\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n private changeMonth(event: CustomEvent<void>) {\n event.stopPropagation();\n this.activeDate = (event.target as IgcMonthsViewComponent).value;\n this.activeView = 'days';\n\n this.focusActiveDate();\n }\n\n private changeYear(event: CustomEvent<void>) {\n event.stopPropagation();\n this.activeDate = (event.target as IgcYearsViewComponent).value;\n this.activeView = 'months';\n\n this.focusActiveDate();\n }\n\n private switchToMonths(daysViewIndex: number) {\n this.activateDaysView(daysViewIndex);\n this.activeView = 'months';\n }\n\n private switchToYears(daysViewIndex: number) {\n if (this.activeView === 'days') {\n this.activateDaysView(daysViewIndex);\n }\n this.activeView = 'years';\n }\n\n private activateDaysView(daysViewIndex: number) {\n const activeDaysView = this.daysViews[\n daysViewIndex\n ] as IgcDaysViewComponent;\n this.activeDate = activeDaysView.activeDate;\n this.activeDaysViewIndex = daysViewIndex;\n }\n\n private activeDateChanged(event: CustomEvent<ICalendarDate>) {\n const day = event.detail;\n const daysViews = Array.from(this.daysViews);\n\n this.activeDaysViewIndex = daysViews.indexOf(event.target as Node);\n this.activeDate = day.date;\n\n if (!day.isCurrentMonth) {\n this.focusActiveDate();\n }\n }\n\n private rangePreviewDateChange(event: CustomEvent<Date>) {\n this.rangePreviewDate = event.detail;\n }\n\n private nextMonth() {\n this.activeDate = this.calendarModel.getNextMonth(this.activeDate);\n }\n\n private previousMonth() {\n this.activeDate = this.calendarModel.getPrevMonth(this.activeDate);\n }\n\n private nextYear() {\n this.activeDate = this.calendarModel.getNextYear(this.activeDate);\n }\n\n private previousYear() {\n this.activeDate = this.calendarModel.getPrevYear(this.activeDate);\n }\n\n private nextYearsPage() {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Year,\n this.yearPerPage\n );\n }\n\n private previousYearsPage() {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Year,\n -this.yearPerPage\n );\n }\n\n private navigateNext() {\n if (this.activeView === 'days') {\n this.nextMonth();\n } else if (this.activeView === 'months') {\n this.nextYear();\n } else if (this.activeView === 'years') {\n this.nextYearsPage();\n }\n }\n\n private navigatePrevious() {\n if (this.activeView === 'days') {\n this.previousMonth();\n } else if (this.activeView === 'months') {\n this.previousYear();\n } else if (this.activeView === 'years') {\n this.previousYearsPage();\n }\n }\n\n private renderNavigation(\n activeDate?: Date,\n renderButtons = true,\n daysViewIndex = 0\n ) {\n activeDate = activeDate ?? this.activeDate;\n\n let startYear = undefined;\n let endYear = undefined;\n\n if (this.activeView === 'years') {\n startYear = calculateYearsRangeStart(activeDate, this.yearPerPage);\n endYear = startYear + this.yearPerPage - 1;\n }\n\n return html`<div part=\"navigation\">\n <div>\n ${this.activeView === 'days'\n ? html`<button\n part=\"months-navigation\"\n aria-label=${this.monthSelectLabel(activeDate)}\n @click=${() => this.switchToMonths(daysViewIndex)}\n >\n ${this.formattedMonth(activeDate)}\n </button>`\n : ''}\n ${this.activeView === 'days' || this.activeView === 'months'\n ? html`<span class=\"aria-off-screen\" aria-live=\"polite\">\n ${this.activeView === 'days'\n ? activeDate.toLocaleString(this.locale, {\n month: 'long',\n year: 'numeric',\n })\n : activeDate.getFullYear()}\n </span>\n <button\n part=\"years-navigation\"\n aria-label=${this.yearSelectLabel(activeDate)}\n @click=${() => this.switchToYears(daysViewIndex)}\n >\n ${activeDate.getFullYear()}\n </button>`\n : ''}\n ${this.activeView === 'years'\n ? html`<span part=\"years-range\" aria-live=\"polite\"\n >${`${startYear} - ${endYear}`}</span\n >`\n : ''}\n </div>\n ${renderButtons\n ? html`<div part=\"navigation-buttons\">\n <button\n part=${partNameMap({\n 'navigation-button': true,\n vertical: this.orientation === 'vertical',\n })}\n aria-label=${this.previousButtonLabel}\n @click=${this.navigatePrevious}\n >\n <igc-icon name=\"navigate_before\" collection=\"internal\"></igc-icon>\n </button>\n <button\n part=${partNameMap({\n 'navigation-button': true,\n vertical: this.orientation === 'vertical',\n })}\n aria-label=${this.nextButtonLabel}\n @click=${this.navigateNext}\n >\n <igc-icon name=\"navigate_next\" collection=\"internal\"></igc-icon>\n </button>\n </div>`\n : ''}\n </div>`;\n }\n\n private renderHeader() {\n if (!this.hasHeader || this.selection === 'multiple') {\n return '';\n }\n\n return html`<div part=\"header\">\n <h5 part=\"header-title\">\n <slot name=\"title\"\n >${this.selection === 'single'\n ? this.resourceStrings.selectDate\n : this.resourceStrings.selectRange}</slot\n >\n </h5>\n <h2 part=\"header-date\">${this.renderHeaderDate()}</h2>\n </div>`;\n }\n\n private renderHeaderDate() {\n if (this.selection === 'single') {\n const date = this.value as Date;\n return html`${date\n ? html`${this.formatterWeekday.format(date)},${this\n .headerOrientation === 'vertical'\n ? html`<br />`\n : ' '}${this.formatterMonthDay.format(date)}`\n : this.resourceStrings.selectedDate}`;\n }\n\n const dates = this.value as Date[];\n\n return html`<span\n >${dates && dates.length\n ? this.formatterMonthDay.format(dates[0])\n : this.resourceStrings.startDate}</span\n >\n <span> - </span>\n <span\n >${dates && dates.length > 1\n ? this.formatterMonthDay.format(dates[dates.length - 1])\n : this.resourceStrings.endDate}</span\n >`;\n }\n\n protected render() {\n const activeDates: Date[] = [];\n const monthsCount = this.visibleMonths > 1 ? this.visibleMonths : 1;\n\n for (let i = 0; i < monthsCount; i++) {\n activeDates.push(\n this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Month,\n i - this.activeDaysViewIndex\n )\n );\n }\n\n return html`\n ${this.renderHeader()}\n <div\n part=\"content\"\n style=${styleMap({\n display: 'flex',\n flexGrow: '1',\n flexDirection:\n this.activeView === 'days'\n ? this.orientation === 'horizontal'\n ? 'row'\n : 'column'\n : 'column',\n })}\n @keydown=${this.handleKeyDown}\n >\n ${this.activeView === 'days'\n ? activeDates.map(\n (activeDate, i) => html`<div part=\"days-view-container\">\n ${this.renderNavigation(\n activeDate,\n this.orientation === 'horizontal'\n ? i === activeDates.length - 1\n : i === 0,\n i\n )}\n <igc-days-view\n part=\"days-view\"\n .active=${this.activeDaysViewIndex === i}\n .activeDate=${activeDate}\n .weekStart=${this.weekStart}\n .weekDayFormat=${this.formatOptions.weekday!}\n .locale=${this.locale}\n .selection=${this.selection}\n .value=${this.value}\n .hideLeadingDays=${this.hideOutsideDays || i !== 0}\n .hideTrailingDays=${this.hideOutsideDays ||\n i !== activeDates.length - 1}\n .showWeekNumbers=${this.showWeekNumbers}\n .disabledDates=${this.disabledDates}\n .specialDates=${this.specialDates}\n .rangePreviewDate=${this.rangePreviewDate}\n .resourceStrings=${this.resourceStrings}\n exportparts=\"days-row, label, date-inner, week-number-inner, week-number, date, first, last, selected, inactive, hidden, current, weekend, range, special, disabled, single, preview\"\n @igcChange=${this.changeValue}\n @igcActiveDateChange=${this.activeDateChanged}\n @igcRangePreviewDateChange=${this.rangePreviewDateChange}\n ></igc-days-view>\n </div>`\n )\n : ''}\n ${this.activeView === 'months'\n ? html` ${this.renderNavigation()}\n <igc-months-view\n part=\"months-view\"\n .value=${this.activeDate}\n .locale=${this.locale}\n .monthFormat=${this.formatOptions.month!}\n exportparts=\"month, selected, month-inner, current\"\n @igcChange=${this.changeMonth}\n ></igc-months-view>`\n : ''}\n ${this.activeView === 'years'\n ? html`${this.renderNavigation()}\n <igc-years-view\n part=\"years-view\"\n .value=${this.activeDate}\n .yearsPerPage=${this.yearPerPage}\n exportparts=\"year, selected, year-inner, current\"\n @igcChange=${this.changeYear}\n ></igc-years-view>`\n : ''}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-calendar': IgcCalendarComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../../src/components/calendar/calendar.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property, query, queryAll, state } from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport type IgcDaysViewComponent from './days-view/days-view';\nimport type IgcMonthsViewComponent from './months-view/months-view';\nimport type IgcYearsViewComponent from './years-view/years-view';\nimport {\n IgcCalendarBaseComponent,\n IgcCalendarBaseEventMap,\n MONTHS_PER_ROW,\n YEARS_PER_ROW,\n} from './common/calendar-base';\nimport { styles } from './calendar.material.css';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter';\nimport { Constructor } from '../common/mixins/constructor';\nimport { ICalendarDate, TimeDeltaInterval } from './common/calendar.model';\nimport { blazorIndirectRender, watch } from '../common/decorators';\nimport { calculateYearsRangeStart, setDateSafe } from './common/utils';\nimport { SizableMixin } from '../common/mixins/sizable';\nimport {\n IgcCalendarResourceStringEN,\n IgcCalendarResourceStrings,\n} from '../common/i18n/calendar.resources';\nimport { partNameMap } from '../common/util';\n\nimport './days-view/days-view';\nimport './months-view/months-view';\nimport './years-view/years-view';\nimport '../icon/icon';\n\n/**\n * Represents a calendar that lets users\n * to select a date value in a variety of different ways.\n *\n * @element igc-calendar\n *\n * @slot - The default slot for the calendar.\n * @slot title - Renders the title of the calendar header.\n *\n * @fires igcChange - Emitted when calendar changes its value.\n *\n * @csspart content - The content container.\n * @csspart days-view - The days view container.\n * @csspart months-view - The months view container.\n * @csspart years-view - The years view container.\n * @csspart header - The header container.\n * @csspart header-title - The header title container.\n * @csspart header-date - The header date container.\n * @csspart navigation - The navigation container.\n * @csspart months-navigation - The months navigation container.\n * @csspart years-navigation - The years navigation container.\n * @csspart years-range - The years range container.\n * @csspart navigation-buttons - The navigation buttons container.\n * @csspart navigation-button - The navigation button container.\n * @csspart navigation-button vertical - The navigation button container\n * when calendar orientation is vertical.\n * @csspart days-view-container - The days view container.\n */\n@blazorIndirectRender\nexport default class IgcCalendarComponent extends SizableMixin(\n EventEmitterMixin<\n IgcCalendarBaseEventMap,\n Constructor<IgcCalendarBaseComponent>\n >(IgcCalendarBaseComponent)\n) {\n /** @private */\n public static tagName = 'igc-calendar';\n\n /**\n * @private\n */\n public static styles = [styles];\n\n private formatterMonth!: Intl.DateTimeFormat;\n private formatterWeekday!: Intl.DateTimeFormat;\n private formatterMonthDay!: Intl.DateTimeFormat;\n\n @state()\n private rangePreviewDate?: Date;\n\n @state()\n private activeDaysViewIndex = 0;\n\n @queryAll('igc-days-view')\n private daysViews!: NodeList;\n\n @query('igc-months-view')\n private monthsView!: IgcMonthsViewComponent;\n\n @query('igc-years-view')\n private yearsView!: IgcYearsViewComponent;\n\n /** Controls the visibility of the dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-outside-days' })\n public hideOutsideDays = false;\n\n /** Determines whether the calendar hides its header. Even if set to false, the header is not displayed for `multiple` selection. */\n @property({ type: Boolean, attribute: 'hide-header' })\n public hideHeader = false;\n\n /** The orientation of the header. */\n @property({ attribute: 'header-orientation', reflect: true })\n public headerOrientation: 'vertical' | 'horizontal' = 'horizontal';\n\n /** The orientation of the multiple months displayed in days view. */\n @property()\n public orientation: 'vertical' | 'horizontal' = 'horizontal';\n\n /** The number of months displayed in days view. */\n @property({ type: Number, attribute: 'visible-months' })\n public visibleMonths = 1;\n\n /** The active view. */\n @property({ attribute: 'active-view' })\n public activeView: 'days' | 'months' | 'years' = 'days';\n\n /** The options used to format the months and the weekdays in the calendar views. */\n @property({ attribute: false })\n public formatOptions: Pick<Intl.DateTimeFormatOptions, 'month' | 'weekday'> =\n {\n month: 'long',\n weekday: 'narrow',\n };\n\n /** The resource strings. */\n @property({ attribute: false })\n public resourceStrings: IgcCalendarResourceStrings = IgcCalendarResourceStringEN;\n\n @watch('formatOptions')\n @watch('locale')\n protected formattersChange() {\n this.initFormatters();\n }\n\n constructor() {\n super();\n this.initFormatters();\n }\n\n private get yearPerPage() {\n return this.size === 'small' ? 18 : 15;\n }\n\n private get previousButtonLabel() {\n return this.activeView === 'days'\n ? this.resourceStrings.previousMonth\n : this.activeView === 'months'\n ? this.resourceStrings.previousYear\n : this.activeView === 'years'\n ? this.resourceStrings.previousYears.replace(\n '{0}',\n this.yearPerPage.toString()\n )\n : '';\n }\n\n private get nextButtonLabel() {\n return this.activeView === 'days'\n ? this.resourceStrings.nextMonth\n : this.activeView === 'months'\n ? this.resourceStrings.nextYear\n : this.activeView === 'years'\n ? this.resourceStrings.nextYears.replace(\n '{0}',\n this.yearPerPage.toString()\n )\n : '';\n }\n\n private monthSelectLabel(activeDate: Date) {\n return (\n activeDate.toLocaleString(this.locale, {\n month: 'long',\n }) +\n ', ' +\n this.resourceStrings.selectMonth\n );\n }\n\n private yearSelectLabel(activeDate: Date) {\n return activeDate.getFullYear() + ', ' + this.resourceStrings.selectYear;\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n const tagName = (event.target as HTMLElement).tagName.toLowerCase();\n\n if (\n tagName !== 'igc-days-view' &&\n tagName !== 'igc-months-view' &&\n tagName !== 'igc-years-view'\n ) {\n return;\n }\n\n switch (event.key) {\n case 'PageDown':\n event.preventDefault();\n\n if (event.shiftKey && this.activeView === 'days') {\n this.nextYear();\n } else {\n this.navigateNext();\n }\n\n if (this.activeView === 'days') {\n this.focusActiveDate();\n }\n break;\n case 'PageUp':\n event.preventDefault();\n\n if (event.shiftKey && this.activeView === 'days') {\n this.previousYear();\n } else {\n this.navigatePrevious();\n }\n\n if (this.activeView === 'days') {\n this.focusActiveDate();\n }\n break;\n case 'Home':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const firstDaysView = this.daysViews[0] as IgcDaysViewComponent;\n const activeDate = firstDaysView.activeDate;\n const date = new Date(activeDate);\n date.setDate(1);\n this.activeDate = date;\n this.activeDaysViewIndex = 0;\n } else if (this.activeView === 'months') {\n const date = new Date(this.activeDate);\n date.setMonth(0);\n this.activeDate = date;\n } else if (this.activeView === 'years') {\n const startYear = calculateYearsRangeStart(\n this.activeDate,\n this.yearPerPage\n );\n const date = new Date(this.activeDate);\n date.setDate(1);\n date.setFullYear(startYear);\n setDateSafe(date, this.activeDate.getDate());\n this.activeDate = date;\n }\n\n this.focusActiveDate();\n break;\n case 'End':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const index = this.daysViews.length - 1;\n const lastDaysView = this.daysViews[index] as IgcDaysViewComponent;\n const activeDate = lastDaysView.activeDate;\n const date = new Date(activeDate);\n date.setDate(1);\n date.setMonth(date.getMonth() + 1);\n date.setDate(0);\n this.activeDate = date;\n this.activeDaysViewIndex = index;\n } else if (this.activeView === 'months') {\n const date = new Date(this.activeDate);\n date.setMonth(11);\n this.activeDate = date;\n } else if (this.activeView === 'years') {\n const startYear = calculateYearsRangeStart(\n this.activeDate,\n this.yearPerPage\n );\n const date = new Date(this.activeDate);\n date.setDate(1);\n date.setFullYear(startYear + this.yearPerPage - 1);\n setDateSafe(date, this.activeDate.getDate());\n this.activeDate = date;\n }\n\n this.focusActiveDate();\n break;\n case 'ArrowLeft':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const date = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Day,\n -1\n );\n\n if (this.visibleMonths > 1) {\n const activeDayView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n const activeMonthDate = activeDayView.activeDate;\n\n if (activeMonthDate.getMonth() !== date.getMonth()) {\n this.activeDaysViewIndex =\n this.activeDaysViewIndex > 0 ? this.activeDaysViewIndex - 1 : 0;\n }\n }\n this.activeDate = date;\n } else if (this.activeView === 'months') {\n this.previousMonth();\n } else if (this.activeView === 'years') {\n this.previousYear();\n }\n\n this.focusActiveDate();\n break;\n case 'ArrowRight':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const date = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Day,\n 1\n );\n\n if (this.visibleMonths > 1) {\n const activeDayView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n const activeMonthDate = activeDayView.activeDate;\n\n if (activeMonthDate.getMonth() !== date.getMonth()) {\n this.activeDaysViewIndex =\n this.activeDaysViewIndex === this.visibleMonths - 1\n ? this.activeDaysViewIndex\n : this.activeDaysViewIndex + 1;\n }\n }\n this.activeDate = date;\n } else if (this.activeView === 'months') {\n this.nextMonth();\n } else if (this.activeView === 'years') {\n this.nextYear();\n }\n\n this.focusActiveDate();\n break;\n case 'ArrowUp':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const date = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Week,\n -1\n );\n\n if (this.visibleMonths > 1) {\n const activeDayView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n const activeMonthDate = activeDayView.activeDate;\n\n if (activeMonthDate.getMonth() !== date.getMonth()) {\n this.activeDaysViewIndex =\n this.activeDaysViewIndex > 0 ? this.activeDaysViewIndex - 1 : 0;\n }\n }\n this.activeDate = date;\n } else if (this.activeView === 'months') {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Month,\n -MONTHS_PER_ROW\n );\n } else if (this.activeView === 'years') {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Year,\n -YEARS_PER_ROW\n );\n }\n\n this.focusActiveDate();\n break;\n case 'ArrowDown':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const date = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Week,\n 1\n );\n\n if (this.visibleMonths > 1) {\n const activeDayView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n const activeMonthDate = activeDayView.activeDate;\n\n if (activeMonthDate.getMonth() !== date.getMonth()) {\n this.activeDaysViewIndex =\n this.activeDaysViewIndex === this.visibleMonths - 1\n ? this.activeDaysViewIndex\n : this.activeDaysViewIndex + 1;\n }\n }\n this.activeDate = date;\n } else if (this.activeView === 'months') {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Month,\n MONTHS_PER_ROW\n );\n } else if (this.activeView === 'years') {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Year,\n YEARS_PER_ROW\n );\n }\n\n this.focusActiveDate();\n break;\n }\n };\n\n private async focusActiveDate() {\n await this.updateComplete;\n\n if (this.activeView === 'days') {\n const daysView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n daysView.focusActiveDate();\n } else if (this.activeView === 'months') {\n this.monthsView.focusActiveDate();\n } else if (this.activeView === 'years') {\n this.yearsView.focusActiveDate();\n }\n }\n\n private initFormatters() {\n this.formatterMonth = new Intl.DateTimeFormat(this.locale, {\n month: this.formatOptions.month,\n });\n this.formatterWeekday = new Intl.DateTimeFormat(this.locale, {\n weekday: 'short',\n });\n this.formatterMonthDay = new Intl.DateTimeFormat(this.locale, {\n month: 'short',\n day: 'numeric',\n });\n }\n\n private formattedMonth(value: Date) {\n return this.formatterMonth.format(value);\n }\n\n private changeValue(event: CustomEvent<void>) {\n event.stopPropagation();\n\n const daysView = event.target as IgcDaysViewComponent;\n let newValue;\n\n if (this.selection === 'single') {\n this.value = daysView.value;\n newValue = this.value;\n } else {\n this.values = daysView.values;\n newValue = this.values;\n }\n\n this.emitEvent('igcChange', { detail: newValue });\n }\n\n private changeMonth(event: CustomEvent<void>) {\n event.stopPropagation();\n this.activeDate = (event.target as IgcMonthsViewComponent).value;\n this.activeView = 'days';\n\n this.focusActiveDate();\n }\n\n private changeYear(event: CustomEvent<void>) {\n event.stopPropagation();\n this.activeDate = (event.target as IgcYearsViewComponent).value;\n this.activeView = 'months';\n\n this.focusActiveDate();\n }\n\n private switchToMonths(daysViewIndex: number) {\n this.activateDaysView(daysViewIndex);\n this.activeView = 'months';\n }\n\n private switchToYears(daysViewIndex: number) {\n if (this.activeView === 'days') {\n this.activateDaysView(daysViewIndex);\n }\n this.activeView = 'years';\n }\n\n private activateDaysView(daysViewIndex: number) {\n const activeDaysView = this.daysViews[\n daysViewIndex\n ] as IgcDaysViewComponent;\n this.activeDate = activeDaysView.activeDate;\n this.activeDaysViewIndex = daysViewIndex;\n }\n\n private activeDateChanged(event: CustomEvent<ICalendarDate>) {\n const day = event.detail;\n const daysViews = Array.from(this.daysViews);\n\n this.activeDaysViewIndex = daysViews.indexOf(event.target as Node);\n this.activeDate = day.date;\n\n if (!day.isCurrentMonth) {\n this.focusActiveDate();\n }\n }\n\n private rangePreviewDateChange(event: CustomEvent<Date>) {\n this.rangePreviewDate = event.detail;\n }\n\n private nextMonth() {\n this.activeDate = this.calendarModel.getNextMonth(this.activeDate);\n }\n\n private previousMonth() {\n this.activeDate = this.calendarModel.getPrevMonth(this.activeDate);\n }\n\n private nextYear() {\n this.activeDate = this.calendarModel.getNextYear(this.activeDate);\n }\n\n private previousYear() {\n this.activeDate = this.calendarModel.getPrevYear(this.activeDate);\n }\n\n private nextYearsPage() {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Year,\n this.yearPerPage\n );\n }\n\n private previousYearsPage() {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Year,\n -this.yearPerPage\n );\n }\n\n private navigateNext() {\n if (this.activeView === 'days') {\n this.nextMonth();\n } else if (this.activeView === 'months') {\n this.nextYear();\n } else if (this.activeView === 'years') {\n this.nextYearsPage();\n }\n }\n\n private navigatePrevious() {\n if (this.activeView === 'days') {\n this.previousMonth();\n } else if (this.activeView === 'months') {\n this.previousYear();\n } else if (this.activeView === 'years') {\n this.previousYearsPage();\n }\n }\n\n private renderNavigation(\n activeDate?: Date,\n renderButtons = true,\n daysViewIndex = 0\n ) {\n activeDate = activeDate ?? this.activeDate;\n\n let startYear = undefined;\n let endYear = undefined;\n\n if (this.activeView === 'years') {\n startYear = calculateYearsRangeStart(activeDate, this.yearPerPage);\n endYear = startYear + this.yearPerPage - 1;\n }\n\n return html`<div part=\"navigation\">\n <div>\n ${this.activeView === 'days'\n ? html`<button\n part=\"months-navigation\"\n aria-label=${this.monthSelectLabel(activeDate)}\n @click=${() => this.switchToMonths(daysViewIndex)}\n >\n ${this.formattedMonth(activeDate)}\n </button>`\n : ''}\n ${this.activeView === 'days' || this.activeView === 'months'\n ? html`<span class=\"aria-off-screen\" aria-live=\"polite\">\n ${this.activeView === 'days'\n ? activeDate.toLocaleString(this.locale, {\n month: 'long',\n year: 'numeric',\n })\n : activeDate.getFullYear()}\n </span>\n <button\n part=\"years-navigation\"\n aria-label=${this.yearSelectLabel(activeDate)}\n @click=${() => this.switchToYears(daysViewIndex)}\n >\n ${activeDate.getFullYear()}\n </button>`\n : ''}\n ${this.activeView === 'years'\n ? html`<span part=\"years-range\" aria-live=\"polite\"\n >${`${startYear} - ${endYear}`}</span\n >`\n : ''}\n </div>\n ${renderButtons\n ? html`<div part=\"navigation-buttons\">\n <button\n part=${partNameMap({\n 'navigation-button': true,\n vertical: this.orientation === 'vertical',\n })}\n aria-label=${this.previousButtonLabel}\n @click=${this.navigatePrevious}\n >\n <igc-icon\n aria-hidden=\"true\"\n name=\"navigate_before\"\n collection=\"internal\"\n ></igc-icon>\n </button>\n <button\n part=${partNameMap({\n 'navigation-button': true,\n vertical: this.orientation === 'vertical',\n })}\n aria-label=${this.nextButtonLabel}\n @click=${this.navigateNext}\n >\n <igc-icon\n aria-hidden=\"true\"\n name=\"navigate_next\"\n collection=\"internal\"\n ></igc-icon>\n </button>\n </div>`\n : ''}\n </div>`;\n }\n\n private renderHeader() {\n if (this.hideHeader || this.selection === 'multiple') {\n return '';\n }\n\n return html`<div part=\"header\">\n <h5 part=\"header-title\">\n <slot name=\"title\"\n >${this.selection === 'single'\n ? this.resourceStrings.selectDate\n : this.resourceStrings.selectRange}</slot\n >\n </h5>\n <h2 part=\"header-date\">${this.renderHeaderDate()}</h2>\n </div>`;\n }\n\n private renderHeaderDate() {\n if (this.selection === 'single') {\n const date = this.value;\n return html`${date\n ? html`${this.formatterWeekday.format(date)},${this\n .headerOrientation === 'vertical'\n ? html`<br />`\n : ' '}${this.formatterMonthDay.format(date)}`\n : this.resourceStrings.selectedDate}`;\n }\n\n const dates = this.values;\n\n return html`<span\n >${dates && dates.length\n ? this.formatterMonthDay.format(dates[0])\n : this.resourceStrings.startDate}</span\n >\n <span> - </span>\n <span\n >${dates && dates.length > 1\n ? this.formatterMonthDay.format(dates[dates.length - 1])\n : this.resourceStrings.endDate}</span\n >`;\n }\n\n protected render() {\n const activeDates: Date[] = [];\n const monthsCount = this.visibleMonths > 1 ? this.visibleMonths : 1;\n\n for (let i = 0; i < monthsCount; i++) {\n activeDates.push(\n this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Month,\n i - this.activeDaysViewIndex\n )\n );\n }\n\n return html`\n ${this.renderHeader()}\n <div\n part=\"content\"\n style=${styleMap({\n display: 'flex',\n flexGrow: '1',\n flexDirection:\n this.activeView === 'days'\n ? this.orientation === 'horizontal'\n ? 'row'\n : 'column'\n : 'column',\n })}\n @keydown=${this.handleKeyDown}\n >\n ${this.activeView === 'days'\n ? activeDates.map(\n (activeDate, i) => html`<div part=\"days-view-container\">\n ${this.renderNavigation(\n activeDate,\n this.orientation === 'horizontal'\n ? i === activeDates.length - 1\n : i === 0,\n i\n )}\n <igc-days-view\n part=\"days-view\"\n .active=${this.activeDaysViewIndex === i}\n .activeDate=${activeDate}\n .weekStart=${this.weekStart}\n .weekDayFormat=${this.formatOptions.weekday!}\n .locale=${this.locale}\n .selection=${this.selection}\n .value=${this.value}\n .values=${this.values}\n .hideLeadingDays=${this.hideOutsideDays || i !== 0}\n .hideTrailingDays=${this.hideOutsideDays ||\n i !== activeDates.length - 1}\n .showWeekNumbers=${this.showWeekNumbers}\n .disabledDates=${this.disabledDates}\n .specialDates=${this.specialDates}\n .rangePreviewDate=${this.rangePreviewDate}\n .resourceStrings=${this.resourceStrings}\n exportparts=\"days-row, label, date-inner, week-number-inner, week-number, date, first, last, selected, inactive, hidden, current, weekend, range, special, disabled, single, preview\"\n @igcChange=${this.changeValue}\n @igcActiveDateChange=${this.activeDateChanged}\n @igcRangePreviewDateChange=${this.rangePreviewDateChange}\n ></igc-days-view>\n </div>`\n )\n : ''}\n ${this.activeView === 'months'\n ? html` ${this.renderNavigation()}\n <igc-months-view\n part=\"months-view\"\n .value=${this.activeDate}\n .locale=${this.locale}\n .monthFormat=${this.formatOptions.month!}\n exportparts=\"month, selected, month-inner, current\"\n @igcChange=${this.changeMonth}\n ></igc-months-view>`\n : ''}\n ${this.activeView === 'years'\n ? html`${this.renderNavigation()}\n <igc-years-view\n part=\"years-view\"\n .value=${this.activeDate}\n .yearsPerPage=${this.yearPerPage}\n exportparts=\"year, selected, year-inner, current\"\n @igcChange=${this.changeYear}\n ></igc-years-view>`\n : ''}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-calendar': IgcCalendarComponent;\n }\n}\n"]}
@@ -1,2 +1 @@
1
1
  export declare const styles: import("lit").CSSResult;
2
- //# sourceMappingURL=calendar.material.css.d.ts.map
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;font-family:var(--igc-font-family);background:hsla(var(--igc-surface-500), var(--igc-surface-a))}:host>*{font-family:var(--igc-font-family)}:host([size=large]) igc-days-view::part(date),:host([size=large]) igc-days-view::part(week-number),:host([size=large]) igc-days-view::part(label),:host([size=large]) igc-days-view::part(days-row){height:2rem}:host([size=large]) igc-days-view::part(week-number-inner),:host([size=large]) igc-days-view::part(date-inner){width:calc(2rem - 0.125rem);min-width:calc(2rem - 0.125rem);height:100%}:host([size=large]) igc-days-view::part(label){min-width:2rem;height:2rem}:host([size=large]) igc-days-view::part(date-inner){border-radius:1.125rem}:host([size=large]) igc-months-view{grid-template-rows:repeat(4, minmax(2rem, 1fr))}:host([size=large]) igc-months-view::part(month-inner){height:2rem;border-radius:1.125rem}:host([size=large]) igc-years-view{grid-template-rows:repeat(5, minmax(2rem, 1fr))}:host([size=large]) igc-years-view::part(year-inner){height:2rem;border-radius:1.125rem}:host([size=medium]) igc-days-view::part(date),:host([size=medium]) igc-days-view::part(week-number),:host([size=medium]) igc-days-view::part(label),:host([size=medium]) igc-days-view::part(days-row){height:1.75rem}:host([size=medium]) igc-days-view::part(week-number-inner),:host([size=medium]) igc-days-view::part(date-inner){width:calc(1.75rem - 0.125rem);min-width:calc(1.75rem - 0.125rem);height:100%}:host([size=medium]) igc-days-view::part(label){min-width:1.75rem;height:1.75rem}:host([size=medium]) igc-days-view::part(date-inner){border-radius:1rem}:host([size=medium]) igc-months-view{grid-template-rows:repeat(4, minmax(1.75rem, 1fr))}:host([size=medium]) igc-months-view::part(month-inner){height:1.75rem;border-radius:1rem}:host([size=medium]) igc-years-view{grid-template-rows:repeat(5, minmax(1.75rem, 1fr))}:host([size=medium]) igc-years-view::part(year-inner){height:1.75rem;border-radius:1rem}:host([size=small]) igc-days-view::part(date),:host([size=small]) igc-days-view::part(week-number),:host([size=small]) igc-days-view::part(label),:host([size=small]) igc-days-view::part(days-row){height:1.5rem}:host([size=small]) igc-days-view::part(week-number-inner),:host([size=small]) igc-days-view::part(date-inner){width:calc(1.5rem - 0.125rem);min-width:calc(1.5rem - 0.125rem);height:100%}:host([size=small]) igc-days-view::part(label){min-width:1.5rem;height:1.5rem}:host([size=small]) igc-days-view::part(date-inner){border-radius:.875rem}:host([size=small]) igc-months-view{grid-template-rows:repeat(4, minmax(1.5rem, 1fr))}:host([size=small]) igc-months-view::part(month-inner){height:1.5rem;border-radius:.875rem}:host([size=small]) igc-years-view{grid-template-rows:repeat(6, minmax(1.5rem, 1fr))}:host([size=small]) igc-years-view::part(year-inner){height:1.5rem;border-radius:.875rem}[part=navigation]{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:1.25rem;padding:1.5625rem 1.125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[part=months-navigation],[part=years-navigation],[part~=navigation-button]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:transparent;border:none;color:hsla(var(--igc-gray-800), var(--igc-gray-a));font-size:1rem;padding:0;-webkit-transition:color 150ms ease-in-out;-o-transition:color 150ms ease-in-out;transition:color 150ms ease-in-out}[part=months-navigation]:hover,[part=months-navigation]:focus,[part=years-navigation]:hover,[part=years-navigation]:focus,[part~=navigation-button]:hover,[part~=navigation-button]:focus{color:hsla(var(--igc-secondary-500), var(--igc-secondary-a));cursor:pointer}[part=months-navigation]:focus,[part=years-navigation]:focus,[part~=navigation-button]:focus{outline:none}[part~=navigation-button]{-webkit-margin-start:1.5rem;margin-inline-start:1.5rem}[part~=navigation-button][part~=vertical]{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}[part=navigation-buttons]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}:host([header-orientation=vertical]){-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}:host([header-orientation=vertical]) [part=header]{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;width:8.75rem}:host([header-orientation=vertical]) [part=header-date]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}[part=days-view-container]{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}[part=header]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;background:hsla(var(--igc-secondary-500), var(--igc-secondary-a));color:var(--igc-secondary-600-contrast)}[part=header-date],[part=header-title]{margin:0}[part=header-date]{display:-webkit-box;display:-ms-flexbox;display:flex;white-space:pre-wrap;font-family:var(--igc-h4-font-family);font-weight:var(--igc-h4-font-weight);font-size:var(--igc-h4-font-size);font-style:var(--igc-h4-font-style);letter-spacing:var(--igc-h4-letter-spacing);text-transform:var(--igc-h4-text-transform);line-height:var(--igc-h4-line-height);margin-top:var(--igc-h4-margin-top);margin-bottom:var(--igc-h4-margin-bottom)}[part=header-title]{font-family:var(--igc-overline-font-family);font-weight:var(--igc-overline-font-weight);font-size:var(--igc-overline-font-size);font-style:var(--igc-overline-font-style);letter-spacing:var(--igc-overline-letter-spacing);text-transform:var(--igc-overline-text-transform);line-height:var(--igc-overline-line-height);margin-top:var(--igc-overline-margin-top);margin-bottom:var(--igc-overline-margin-bottom)}.aria-off-screen{position:absolute;width:1px;height:1px;margin:-1px;border:none;clip:rect(0, 0, 0, 0);outline:0;pointer-events:none;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}`;
2
+ export const styles = css `:host{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;font-family:var(--igc-font-family);background:hsla(var(--igc-surface-500), var(--igc-surface-a));color:var(--igc-surface-500-contrast)}:host>*{font-family:var(--igc-font-family)}:host([size=large]) igc-days-view::part(date),:host([size=large]) igc-days-view::part(week-number),:host([size=large]) igc-days-view::part(label),:host([size=large]) igc-days-view::part(days-row){height:2rem}:host([size=large]) igc-days-view::part(week-number-inner),:host([size=large]) igc-days-view::part(date-inner){width:calc(2rem - 0.125rem);min-width:calc(2rem - 0.125rem);height:100%}:host([size=large]) igc-days-view::part(label){min-width:2rem;height:2rem}:host([size=large]) igc-days-view::part(date-inner){border-radius:1.125rem}:host([size=large]) igc-months-view{grid-template-rows:repeat(4, minmax(2rem, 1fr))}:host([size=large]) igc-months-view::part(month-inner){height:2rem;border-radius:1.125rem}:host([size=large]) igc-years-view{grid-template-rows:repeat(5, minmax(2rem, 1fr))}:host([size=large]) igc-years-view::part(year-inner){height:2rem;border-radius:1.125rem}:host([size=medium]) igc-days-view::part(date),:host([size=medium]) igc-days-view::part(week-number),:host([size=medium]) igc-days-view::part(label),:host([size=medium]) igc-days-view::part(days-row){height:1.75rem}:host([size=medium]) igc-days-view::part(week-number-inner),:host([size=medium]) igc-days-view::part(date-inner){width:calc(1.75rem - 0.125rem);min-width:calc(1.75rem - 0.125rem);height:100%}:host([size=medium]) igc-days-view::part(label){min-width:1.75rem;height:1.75rem}:host([size=medium]) igc-days-view::part(date-inner){border-radius:1rem}:host([size=medium]) igc-months-view{grid-template-rows:repeat(4, minmax(1.75rem, 1fr))}:host([size=medium]) igc-months-view::part(month-inner){height:1.75rem;border-radius:1rem}:host([size=medium]) igc-years-view{grid-template-rows:repeat(5, minmax(1.75rem, 1fr))}:host([size=medium]) igc-years-view::part(year-inner){height:1.75rem;border-radius:1rem}:host([size=small]) igc-days-view::part(date),:host([size=small]) igc-days-view::part(week-number),:host([size=small]) igc-days-view::part(label),:host([size=small]) igc-days-view::part(days-row){height:1.5rem}:host([size=small]) igc-days-view::part(week-number-inner),:host([size=small]) igc-days-view::part(date-inner){width:calc(1.5rem - 0.125rem);min-width:calc(1.5rem - 0.125rem);height:100%}:host([size=small]) igc-days-view::part(label){min-width:1.5rem;height:1.5rem}:host([size=small]) igc-days-view::part(date-inner){border-radius:.875rem}:host([size=small]) igc-months-view{grid-template-rows:repeat(4, minmax(1.5rem, 1fr))}:host([size=small]) igc-months-view::part(month-inner){height:1.5rem;border-radius:.875rem}:host([size=small]) igc-years-view{grid-template-rows:repeat(6, minmax(1.5rem, 1fr))}:host([size=small]) igc-years-view::part(year-inner){height:1.5rem;border-radius:.875rem}[part=navigation]{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:1.25rem;padding:1.5625rem 1.125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[part=months-navigation],[part=years-navigation],[part~=navigation-button]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:transparent;border:none;color:hsla(var(--igc-gray-800), var(--igc-gray-a));font-size:1rem;padding:0;-webkit-transition:color 150ms ease-in-out;-o-transition:color 150ms ease-in-out;transition:color 150ms ease-in-out}[part=months-navigation]:hover,[part=months-navigation]:focus,[part=years-navigation]:hover,[part=years-navigation]:focus,[part~=navigation-button]:hover,[part~=navigation-button]:focus{color:hsla(var(--igc-secondary-500), var(--igc-secondary-a));cursor:pointer}[part=months-navigation]:focus,[part=years-navigation]:focus,[part~=navigation-button]:focus{outline:none}[part~=navigation-button]{-webkit-margin-start:1.5rem;margin-inline-start:1.5rem}[part~=navigation-button][part~=vertical]{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}[part=navigation-buttons]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}:host([header-orientation=vertical]){-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}:host([header-orientation=vertical]) [part=header]{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;width:8.75rem}:host([header-orientation=vertical]) [part=header-date]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}[part=days-view-container]{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}[part=header]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;background:hsla(var(--igc-secondary-500), var(--igc-secondary-a));color:var(--igc-secondary-600-contrast)}[part=header-date],[part=header-title]{margin:0}[part=header-date]{font-family:var(--igc-h4-font-family);font-weight:var(--igc-h4-font-weight);font-size:var(--igc-h4-font-size);font-style:var(--igc-h4-font-style);letter-spacing:var(--igc-h4-letter-spacing);text-transform:var(--igc-h4-text-transform);line-height:var(--igc-h4-line-height);margin-top:var(--igc-h4-margin-top);margin-bottom:var(--igc-h4-margin-bottom);display:-webkit-box;display:-ms-flexbox;display:flex;white-space:pre-wrap}[part=header-title]{font-family:var(--igc-overline-font-family);font-weight:var(--igc-overline-font-weight);font-size:var(--igc-overline-font-size);font-style:var(--igc-overline-font-style);letter-spacing:var(--igc-overline-letter-spacing);text-transform:var(--igc-overline-text-transform);line-height:var(--igc-overline-line-height);margin-top:var(--igc-overline-margin-top);margin-bottom:var(--igc-overline-margin-bottom)}.aria-off-screen{position:absolute;width:1px;height:1px;margin:-1px;border:none;clip:rect(0, 0, 0, 0);outline:0;pointer-events:none;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}`;
3
3
  //# sourceMappingURL=calendar.material.css.js.map