igniteui-webcomponents 1.0.0 → 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 (267) hide show
  1. package/CHANGELOG.md +40 -1
  2. package/README.md +17 -1
  3. package/components/avatar/avatar.d.ts +20 -2
  4. package/components/avatar/avatar.material.css.d.ts +0 -1
  5. package/components/avatar/avatar.material.css.js +1 -1
  6. package/components/avatar/avatar.material.css.js.map +1 -1
  7. package/components/badge/badge.d.ts +18 -4
  8. package/components/badge/badge.js.map +1 -1
  9. package/components/badge/badge.material.css.d.ts +0 -1
  10. package/components/badge/badge.material.css.js +1 -1
  11. package/components/badge/badge.material.css.js.map +1 -1
  12. package/components/button/button-base.d.ts +24 -1
  13. package/components/button/button-base.js +16 -0
  14. package/components/button/button-base.js.map +1 -1
  15. package/components/button/button.d.ts +23 -2
  16. package/components/button/button.material.css.d.ts +0 -1
  17. package/components/button/button.material.css.js +1 -1
  18. package/components/button/button.material.css.js.map +1 -1
  19. package/components/button/icon-button.d.ts +15 -2
  20. package/components/button/icon-button.js +15 -1
  21. package/components/button/icon-button.js.map +1 -1
  22. package/components/button/icon-button.material.css.d.ts +0 -1
  23. package/components/button/icon-button.material.css.js +1 -1
  24. package/components/button/icon-button.material.css.js.map +1 -1
  25. package/components/calendar/calendar.d.ts +42 -3
  26. package/components/calendar/calendar.js +34 -12
  27. package/components/calendar/calendar.js.map +1 -1
  28. package/components/calendar/calendar.material.css.d.ts +0 -1
  29. package/components/calendar/calendar.material.css.js +1 -1
  30. package/components/calendar/calendar.material.css.js.map +1 -1
  31. package/components/calendar/common/calendar-base.d.ts +17 -2
  32. package/components/calendar/common/calendar-base.js +28 -4
  33. package/components/calendar/common/calendar-base.js.map +1 -1
  34. package/components/calendar/common/calendar.model.d.ts +57 -1
  35. package/components/calendar/common/utils.d.ts +0 -1
  36. package/components/calendar/days-view/days-view.d.ts +25 -2
  37. package/components/calendar/days-view/days-view.js +38 -35
  38. package/components/calendar/days-view/days-view.js.map +1 -1
  39. package/components/calendar/days-view/days-view.material.css.d.ts +0 -1
  40. package/components/calendar/days-view/days-view.material.css.js +1 -1
  41. package/components/calendar/days-view/days-view.material.css.js.map +1 -1
  42. package/components/calendar/months-view/months-view.d.ts +17 -2
  43. package/components/calendar/months-view/months-view.js +4 -2
  44. package/components/calendar/months-view/months-view.js.map +1 -1
  45. package/components/calendar/months-view/months-view.material.css.d.ts +0 -1
  46. package/components/calendar/years-view/years-view.d.ts +16 -2
  47. package/components/calendar/years-view/years-view.js +4 -2
  48. package/components/calendar/years-view/years-view.js.map +1 -1
  49. package/components/calendar/years-view/years-view.material.css.d.ts +0 -1
  50. package/components/card/card.actions.d.ts +10 -2
  51. package/components/card/card.actions.material.css.d.ts +0 -1
  52. package/components/card/card.actions.material.css.js +1 -1
  53. package/components/card/card.actions.material.css.js.map +1 -1
  54. package/components/card/card.content.d.ts +8 -2
  55. package/components/card/card.content.material.css.d.ts +0 -1
  56. package/components/card/card.content.material.css.js +1 -1
  57. package/components/card/card.content.material.css.js.map +1 -1
  58. package/components/card/card.d.ts +10 -3
  59. package/components/card/card.header.d.ts +13 -2
  60. package/components/card/card.header.material.css.d.ts +0 -1
  61. package/components/card/card.header.material.css.js +1 -1
  62. package/components/card/card.header.material.css.js.map +1 -1
  63. package/components/card/card.js +2 -2
  64. package/components/card/card.js.map +1 -1
  65. package/components/card/card.material.css.d.ts +0 -1
  66. package/components/card/card.material.css.js +1 -1
  67. package/components/card/card.material.css.js.map +1 -1
  68. package/components/card/card.media.d.ts +8 -2
  69. package/components/card/card.media.material.css.d.ts +0 -1
  70. package/components/card/card.media.material.css.js +1 -1
  71. package/components/card/card.media.material.css.js.map +1 -1
  72. package/components/checkbox/checkbox-base.d.ts +16 -1
  73. package/components/checkbox/checkbox.d.ts +21 -3
  74. package/components/checkbox/checkbox.js +25 -27
  75. package/components/checkbox/checkbox.js.map +1 -1
  76. package/components/checkbox/checkbox.material.css.d.ts +0 -1
  77. package/components/checkbox/checkbox.material.css.js +1 -1
  78. package/components/checkbox/checkbox.material.css.js.map +1 -1
  79. package/components/checkbox/switch.d.ts +19 -2
  80. package/components/checkbox/switch.js +17 -18
  81. package/components/checkbox/switch.js.map +1 -1
  82. package/components/checkbox/switch.material.css.d.ts +0 -1
  83. package/components/checkbox/switch.material.css.js +1 -1
  84. package/components/checkbox/switch.material.css.js.map +1 -1
  85. package/components/common/decorators/alternateName.d.ts +6 -1
  86. package/components/common/decorators/blazorInclude.d.ts +4 -1
  87. package/components/common/decorators/blazorIndirectRender.d.ts +4 -0
  88. package/components/common/decorators/blazorIndirectRender.js +2 -0
  89. package/components/common/decorators/blazorIndirectRender.js.map +1 -0
  90. package/components/common/decorators/blazorSuppress.d.ts +4 -1
  91. package/components/common/decorators/blazorSuppressComponent.d.ts +4 -0
  92. package/components/common/decorators/blazorSuppressComponent.js +2 -0
  93. package/components/common/decorators/blazorSuppressComponent.js.map +1 -0
  94. package/components/common/decorators/blazorTwoWayBind.d.ts +6 -1
  95. package/components/common/decorators/index.d.ts +2 -1
  96. package/components/common/decorators/index.js +2 -0
  97. package/components/common/decorators/index.js.map +1 -1
  98. package/components/common/decorators/watch.d.ts +0 -1
  99. package/components/common/definitions/defineAllComponents.d.ts +0 -1
  100. package/components/common/definitions/defineAllComponents.js +4 -0
  101. package/components/common/definitions/defineAllComponents.js.map +1 -1
  102. package/components/common/definitions/defineComponents.d.ts +0 -1
  103. package/components/common/i18n/calendar.resources.d.ts +0 -1
  104. package/components/common/mixins/constructor.d.ts +0 -1
  105. package/components/common/mixins/event-emitter.d.ts +0 -1
  106. package/components/common/mixins/sizable.d.ts +4 -1
  107. package/components/common/util.d.ts +0 -1
  108. package/components/form/form.d.ts +21 -2
  109. package/components/form/form.js +4 -1
  110. package/components/form/form.js.map +1 -1
  111. package/components/icon/icon.d.ts +26 -2
  112. package/components/icon/icon.material.css.d.ts +0 -1
  113. package/components/icon/icon.material.css.js +1 -1
  114. package/components/icon/icon.material.css.js.map +1 -1
  115. package/components/icon/icon.registry.d.ts +0 -1
  116. package/components/input/input.d.ts +56 -2
  117. package/components/input/input.dark.material.css.d.ts +1 -0
  118. package/components/input/input.dark.material.css.js +3 -0
  119. package/components/input/input.dark.material.css.js.map +1 -0
  120. package/components/input/input.material.css.d.ts +0 -1
  121. package/components/input/input.material.css.js +1 -1
  122. package/components/input/input.material.css.js.map +1 -1
  123. package/components/list/list-header.d.ts +10 -2
  124. package/components/list/list-header.material.css.d.ts +0 -1
  125. package/components/list/list-header.material.css.js +1 -1
  126. package/components/list/list-header.material.css.js.map +1 -1
  127. package/components/list/list-item.d.ts +22 -2
  128. package/components/list/list-item.material.css.d.ts +0 -1
  129. package/components/list/list-item.material.css.js +1 -1
  130. package/components/list/list-item.material.css.js.map +1 -1
  131. package/components/list/list.d.ts +10 -2
  132. package/components/list/list.material.css.d.ts +0 -1
  133. package/components/list/list.material.css.js +1 -1
  134. package/components/list/list.material.css.js.map +1 -1
  135. package/components/nav-drawer/nav-drawer-header-item.d.ts +9 -2
  136. package/components/nav-drawer/nav-drawer-header-item.material.css.d.ts +0 -1
  137. package/components/nav-drawer/nav-drawer-header-item.material.css.js +1 -1
  138. package/components/nav-drawer/nav-drawer-header-item.material.css.js.map +1 -1
  139. package/components/nav-drawer/nav-drawer-item.d.ts +17 -2
  140. package/components/nav-drawer/nav-drawer-item.material.css.d.ts +0 -1
  141. package/components/nav-drawer/nav-drawer-item.material.css.js +1 -1
  142. package/components/nav-drawer/nav-drawer-item.material.css.js.map +1 -1
  143. package/components/nav-drawer/nav-drawer.d.ts +26 -2
  144. package/components/nav-drawer/nav-drawer.material.css.d.ts +0 -1
  145. package/components/nav-drawer/nav-drawer.material.css.js +1 -1
  146. package/components/nav-drawer/nav-drawer.material.css.js.map +1 -1
  147. package/components/navbar/navbar.d.ts +18 -2
  148. package/components/navbar/navbar.material.css.d.ts +0 -1
  149. package/components/navbar/navbar.material.css.js +1 -1
  150. package/components/navbar/navbar.material.css.js.map +1 -1
  151. package/components/radio/radio.d.ts +31 -2
  152. package/components/radio/radio.material.css.d.ts +0 -1
  153. package/components/radio/radio.material.css.js +1 -1
  154. package/components/radio/radio.material.css.js.map +1 -1
  155. package/components/radio-group/radio-group.d.ts +3 -2
  156. package/components/radio-group/radio-group.material.css.d.ts +0 -1
  157. package/components/radio-group/radio-group.material.css.js +1 -1
  158. package/components/radio-group/radio-group.material.css.js.map +1 -1
  159. package/components/ripple/ripple.d.ts +9 -2
  160. package/components/ripple/ripple.material.css.d.ts +0 -1
  161. package/components/ripple/ripple.material.css.js +1 -1
  162. package/components/ripple/ripple.material.css.js.map +1 -1
  163. package/components/slider/range-slider.d.ts +85 -0
  164. package/components/slider/range-slider.js +141 -0
  165. package/components/slider/range-slider.js.map +1 -0
  166. package/components/slider/slider-base.d.ts +117 -0
  167. package/components/slider/slider-base.js +448 -0
  168. package/components/slider/slider-base.js.map +1 -0
  169. package/components/slider/slider.d.ts +76 -0
  170. package/components/slider/slider.js +80 -0
  171. package/components/slider/slider.js.map +1 -0
  172. package/components/slider/slider.material.css.d.ts +1 -0
  173. package/components/slider/slider.material.css.js +3 -0
  174. package/components/slider/slider.material.css.js.map +1 -0
  175. package/custom-elements.json +648 -22
  176. package/index.d.ts +2 -1
  177. package/index.js +2 -0
  178. package/index.js.map +1 -1
  179. package/package.json +5 -4
  180. package/themes/dark/bootstrap.css +1 -0
  181. package/themes/dark/fluent.css +1 -0
  182. package/themes/dark/indigo.css +1 -0
  183. package/themes/dark/material.css +1 -0
  184. package/themes/light/bootstrap.css +1 -0
  185. package/themes/light/fluent.css +1 -0
  186. package/themes/light/indigo.css +1 -0
  187. package/themes/light/material.css +1 -0
  188. package/vscode-html-custom-data.json +263 -13
  189. package/components/avatar/avatar.d.ts.map +0 -1
  190. package/components/avatar/avatar.material.css.d.ts.map +0 -1
  191. package/components/badge/badge.d.ts.map +0 -1
  192. package/components/badge/badge.material.css.d.ts.map +0 -1
  193. package/components/button/button-base.d.ts.map +0 -1
  194. package/components/button/button.d.ts.map +0 -1
  195. package/components/button/button.material.css.d.ts.map +0 -1
  196. package/components/button/icon-button.d.ts.map +0 -1
  197. package/components/button/icon-button.material.css.d.ts.map +0 -1
  198. package/components/calendar/calendar.d.ts.map +0 -1
  199. package/components/calendar/calendar.material.css.d.ts.map +0 -1
  200. package/components/calendar/common/calendar-base.d.ts.map +0 -1
  201. package/components/calendar/common/calendar.model.d.ts.map +0 -1
  202. package/components/calendar/common/utils.d.ts.map +0 -1
  203. package/components/calendar/days-view/days-view.d.ts.map +0 -1
  204. package/components/calendar/days-view/days-view.material.css.d.ts.map +0 -1
  205. package/components/calendar/months-view/months-view.d.ts.map +0 -1
  206. package/components/calendar/months-view/months-view.material.css.d.ts.map +0 -1
  207. package/components/calendar/years-view/years-view.d.ts.map +0 -1
  208. package/components/calendar/years-view/years-view.material.css.d.ts.map +0 -1
  209. package/components/card/card.actions.d.ts.map +0 -1
  210. package/components/card/card.actions.material.css.d.ts.map +0 -1
  211. package/components/card/card.content.d.ts.map +0 -1
  212. package/components/card/card.content.material.css.d.ts.map +0 -1
  213. package/components/card/card.d.ts.map +0 -1
  214. package/components/card/card.header.d.ts.map +0 -1
  215. package/components/card/card.header.material.css.d.ts.map +0 -1
  216. package/components/card/card.material.css.d.ts.map +0 -1
  217. package/components/card/card.media.d.ts.map +0 -1
  218. package/components/card/card.media.material.css.d.ts.map +0 -1
  219. package/components/checkbox/checkbox-base.d.ts.map +0 -1
  220. package/components/checkbox/checkbox.d.ts.map +0 -1
  221. package/components/checkbox/checkbox.material.css.d.ts.map +0 -1
  222. package/components/checkbox/switch.d.ts.map +0 -1
  223. package/components/checkbox/switch.material.css.d.ts.map +0 -1
  224. package/components/common/decorators/alternateName.d.ts.map +0 -1
  225. package/components/common/decorators/blazorInclude.d.ts.map +0 -1
  226. package/components/common/decorators/blazorSuppress.d.ts.map +0 -1
  227. package/components/common/decorators/blazorTwoWayBind.d.ts.map +0 -1
  228. package/components/common/decorators/index.d.ts.map +0 -1
  229. package/components/common/decorators/watch.d.ts.map +0 -1
  230. package/components/common/definitions/defineAllComponents.d.ts.map +0 -1
  231. package/components/common/definitions/defineComponents.d.ts.map +0 -1
  232. package/components/common/i18n/calendar.resources.d.ts.map +0 -1
  233. package/components/common/mixins/constructor.d.ts.map +0 -1
  234. package/components/common/mixins/event-emitter.d.ts.map +0 -1
  235. package/components/common/mixins/sizable.d.ts.map +0 -1
  236. package/components/common/util.d.ts.map +0 -1
  237. package/components/form/form.d.ts.map +0 -1
  238. package/components/icon/icon.d.ts.map +0 -1
  239. package/components/icon/icon.material.css.d.ts.map +0 -1
  240. package/components/icon/icon.registry.d.ts.map +0 -1
  241. package/components/input/input.d.ts.map +0 -1
  242. package/components/input/input.material.css.d.ts.map +0 -1
  243. package/components/list/list-header.d.ts.map +0 -1
  244. package/components/list/list-header.material.css.d.ts.map +0 -1
  245. package/components/list/list-item.d.ts.map +0 -1
  246. package/components/list/list-item.material.css.d.ts.map +0 -1
  247. package/components/list/list.d.ts.map +0 -1
  248. package/components/list/list.material.css.d.ts.map +0 -1
  249. package/components/nav-drawer/nav-drawer-header-item.d.ts.map +0 -1
  250. package/components/nav-drawer/nav-drawer-header-item.material.css.d.ts.map +0 -1
  251. package/components/nav-drawer/nav-drawer-item.d.ts.map +0 -1
  252. package/components/nav-drawer/nav-drawer-item.material.css.d.ts.map +0 -1
  253. package/components/nav-drawer/nav-drawer.d.ts.map +0 -1
  254. package/components/nav-drawer/nav-drawer.material.css.d.ts.map +0 -1
  255. package/components/navbar/navbar.d.ts.map +0 -1
  256. package/components/navbar/navbar.material.css.d.ts.map +0 -1
  257. package/components/radio/radio.d.ts.map +0 -1
  258. package/components/radio/radio.material.css.d.ts.map +0 -1
  259. package/components/radio-group/radio-group.d.ts.map +0 -1
  260. package/components/radio-group/radio-group.material.css.d.ts.map +0 -1
  261. package/components/ripple/ripple.d.ts.map +0 -1
  262. package/components/ripple/ripple.material.css.d.ts.map +0 -1
  263. package/index.d.ts.map +0 -1
  264. package/themes/bootstrap.css +0 -1
  265. package/themes/fluent.css +0 -1
  266. package/themes/indigo.css +0 -1
  267. package/themes/material.css +0 -1
@@ -6,8 +6,40 @@ import './months-view/months-view';
6
6
  import './years-view/years-view';
7
7
  import '../icon/icon';
8
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
+ */
9
37
  export default class IgcCalendarComponent extends IgcCalendarComponent_base {
38
+ /** @private */
10
39
  static tagName: string;
40
+ /**
41
+ * @private
42
+ */
11
43
  static styles: import("lit").CSSResult[];
12
44
  private formatterMonth;
13
45
  private formatterWeekday;
@@ -17,13 +49,21 @@ export default class IgcCalendarComponent extends IgcCalendarComponent_base {
17
49
  private daysViews;
18
50
  private monthsView;
19
51
  private yearsView;
52
+ /** Controls the visibility of the dates that do not belong to the current month. */
20
53
  hideOutsideDays: boolean;
21
- 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. */
22
57
  headerOrientation: 'vertical' | 'horizontal';
58
+ /** The orientation of the multiple months displayed in days view. */
23
59
  orientation: 'vertical' | 'horizontal';
60
+ /** The number of months displayed in days view. */
24
61
  visibleMonths: number;
62
+ /** The active view. */
25
63
  activeView: 'days' | 'months' | 'years';
64
+ /** The options used to format the months and the weekdays in the calendar views. */
26
65
  formatOptions: Pick<Intl.DateTimeFormatOptions, 'month' | 'weekday'>;
66
+ /** The resource strings. */
27
67
  resourceStrings: IgcCalendarResourceStrings;
28
68
  protected formattersChange(): void;
29
69
  constructor();
@@ -55,7 +95,7 @@ export default class IgcCalendarComponent extends IgcCalendarComponent_base {
55
95
  private renderNavigation;
56
96
  private renderHeader;
57
97
  private renderHeaderDate;
58
- protected render(): import("lit").TemplateResult<1>;
98
+ protected render(): import("lit-html").TemplateResult<1>;
59
99
  }
60
100
  declare global {
61
101
  interface HTMLElementTagNameMap {
@@ -63,4 +103,3 @@ declare global {
63
103
  }
64
104
  }
65
105
  export {};
66
- //# sourceMappingURL=calendar.d.ts.map
@@ -11,7 +11,7 @@ import { IgcCalendarBaseComponent, MONTHS_PER_ROW, YEARS_PER_ROW, } from './comm
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,12 +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 default class IgcCalendarComponent extends SizableMixin(EventEmitterMixin(IgcCalendarBaseComponent)) {
23
+ let IgcCalendarComponent = class IgcCalendarComponent extends SizableMixin(EventEmitterMixin(IgcCalendarBaseComponent)) {
24
24
  constructor() {
25
25
  super();
26
26
  this.activeDaysViewIndex = 0;
27
27
  this.hideOutsideDays = false;
28
- this.hasHeader = true;
28
+ this.hideHeader = false;
29
29
  this.headerOrientation = 'horizontal';
30
30
  this.orientation = 'horizontal';
31
31
  this.visibleMonths = 1;
@@ -280,8 +280,17 @@ export default class IgcCalendarComponent extends SizableMixin(EventEmitterMixin
280
280
  }
281
281
  changeValue(event) {
282
282
  event.stopPropagation();
283
- this.value = event.target.value;
284
- 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 });
285
294
  }
286
295
  changeMonth(event) {
287
296
  event.stopPropagation();
@@ -414,7 +423,11 @@ export default class IgcCalendarComponent extends SizableMixin(EventEmitterMixin
414
423
  aria-label=${this.previousButtonLabel}
415
424
  @click=${this.navigatePrevious}
416
425
  >
417
- <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>
418
431
  </button>
419
432
  <button
420
433
  part=${partNameMap({
@@ -424,14 +437,18 @@ export default class IgcCalendarComponent extends SizableMixin(EventEmitterMixin
424
437
  aria-label=${this.nextButtonLabel}
425
438
  @click=${this.navigateNext}
426
439
  >
427
- <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>
428
445
  </button>
429
446
  </div>`
430
447
  : ''}
431
448
  </div>`;
432
449
  }
433
450
  renderHeader() {
434
- if (!this.hasHeader || this.selection === 'multiple') {
451
+ if (this.hideHeader || this.selection === 'multiple') {
435
452
  return '';
436
453
  }
437
454
  return html `<div part="header">
@@ -455,7 +472,7 @@ export default class IgcCalendarComponent extends SizableMixin(EventEmitterMixin
455
472
  : ' '}${this.formatterMonthDay.format(date)}`
456
473
  : this.resourceStrings.selectedDate}`;
457
474
  }
458
- const dates = this.value;
475
+ const dates = this.values;
459
476
  return html `<span
460
477
  >${dates && dates.length
461
478
  ? this.formatterMonthDay.format(dates[0])
@@ -503,6 +520,7 @@ export default class IgcCalendarComponent extends SizableMixin(EventEmitterMixin
503
520
  .locale=${this.locale}
504
521
  .selection=${this.selection}
505
522
  .value=${this.value}
523
+ .values=${this.values}
506
524
  .hideLeadingDays=${this.hideOutsideDays || i !== 0}
507
525
  .hideTrailingDays=${this.hideOutsideDays ||
508
526
  i !== activeDates.length - 1}
@@ -542,7 +560,7 @@ export default class IgcCalendarComponent extends SizableMixin(EventEmitterMixin
542
560
  </div>
543
561
  `;
544
562
  }
545
- }
563
+ };
546
564
  IgcCalendarComponent.tagName = 'igc-calendar';
547
565
  IgcCalendarComponent.styles = [styles];
548
566
  __decorate([
@@ -564,8 +582,8 @@ __decorate([
564
582
  property({ type: Boolean, attribute: 'hide-outside-days' })
565
583
  ], IgcCalendarComponent.prototype, "hideOutsideDays", void 0);
566
584
  __decorate([
567
- property({ type: Boolean, attribute: 'has-header' })
568
- ], IgcCalendarComponent.prototype, "hasHeader", void 0);
585
+ property({ type: Boolean, attribute: 'hide-header' })
586
+ ], IgcCalendarComponent.prototype, "hideHeader", void 0);
569
587
  __decorate([
570
588
  property({ attribute: 'header-orientation', reflect: true })
571
589
  ], IgcCalendarComponent.prototype, "headerOrientation", void 0);
@@ -588,4 +606,8 @@ __decorate([
588
606
  watch('formatOptions'),
589
607
  watch('locale')
590
608
  ], IgcCalendarComponent.prototype, "formattersChange", null);
609
+ IgcCalendarComponent = __decorate([
610
+ blazorIndirectRender
611
+ ], IgcCalendarComponent);
612
+ export default IgcCalendarComponent;
591
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 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 { 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 */\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
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.material.css.js","sourceRoot":"","sources":["../../../src/components/calendar/calendar.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,m5MAAm5M,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport 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}`;\n"]}
1
+ {"version":3,"file":"calendar.material.css.js","sourceRoot":"","sources":["../../../src/components/calendar/calendar.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,y7MAAy7M,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport 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}`;\n"]}
@@ -7,15 +7,30 @@ export interface IgcCalendarBaseEventMap {
7
7
  }
8
8
  export declare class IgcCalendarBaseComponent extends LitElement {
9
9
  protected calendarModel: Calendar;
10
- value?: Date | Date[];
10
+ /**
11
+ * Тhe current value of the calendar.
12
+ * Used when selection is set to single.
13
+ */
14
+ value?: Date;
15
+ /**
16
+ * Тhe current values of the calendar.
17
+ * Used when selection is set to multiple or range.
18
+ */
19
+ values?: Date[];
20
+ /** Sets the type of date selection. */
11
21
  selection: 'single' | 'multiple' | 'range';
22
+ /** Show/hide the week numbers. */
12
23
  showWeekNumbers: boolean;
24
+ /** Sets the start day of the week. */
13
25
  weekStart: 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday';
26
+ /** Sets the date which is shown in view and is highlighted. By default it is the current date. */
14
27
  activeDate: Date;
28
+ /** Sets the locale used for formatting and displaying the dates in the calendar. */
15
29
  locale: string;
30
+ /** Gets/sets disabled dates. */
16
31
  disabledDates: DateRangeDescriptor[];
32
+ /** Gets/sets special dates. */
17
33
  specialDates: DateRangeDescriptor[];
18
34
  protected weekStartChange(): void;
19
35
  protected selectionChange(): void;
20
36
  }
21
- //# sourceMappingURL=calendar-base.d.ts.map
@@ -6,12 +6,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { LitElement } from 'lit';
8
8
  import { property } from 'lit/decorators.js';
9
- import { watch } from '../../common/decorators';
9
+ import { blazorIndirectRender, blazorSuppress, watch, } from '../../common/decorators';
10
10
  import { Calendar } from './calendar.model';
11
11
  import { getWeekDayNumber } from './utils';
12
12
  export const MONTHS_PER_ROW = 3;
13
13
  export const YEARS_PER_ROW = 3;
14
- export class IgcCalendarBaseComponent extends LitElement {
14
+ let IgcCalendarBaseComponent = class IgcCalendarBaseComponent extends LitElement {
15
15
  constructor() {
16
16
  super(...arguments);
17
17
  this.calendarModel = new Calendar();
@@ -27,10 +27,30 @@ export class IgcCalendarBaseComponent extends LitElement {
27
27
  selectionChange() {
28
28
  this.value = undefined;
29
29
  }
30
- }
30
+ };
31
31
  __decorate([
32
- property({ attribute: false })
32
+ blazorSuppress(),
33
+ property({
34
+ converter: (value) => {
35
+ return value ? new Date(value) : undefined;
36
+ },
37
+ })
33
38
  ], IgcCalendarBaseComponent.prototype, "value", void 0);
39
+ __decorate([
40
+ blazorSuppress(),
41
+ property({
42
+ converter: (value) => {
43
+ if (!value) {
44
+ return undefined;
45
+ }
46
+ return value
47
+ .split(',')
48
+ .map((v) => v.trim())
49
+ .filter((v) => v)
50
+ .map((v) => new Date(v));
51
+ },
52
+ })
53
+ ], IgcCalendarBaseComponent.prototype, "values", void 0);
34
54
  __decorate([
35
55
  property()
36
56
  ], IgcCalendarBaseComponent.prototype, "selection", void 0);
@@ -58,4 +78,8 @@ __decorate([
58
78
  __decorate([
59
79
  watch('selection', { waitUntilFirstUpdate: true })
60
80
  ], IgcCalendarBaseComponent.prototype, "selectionChange", null);
81
+ IgcCalendarBaseComponent = __decorate([
82
+ blazorIndirectRender
83
+ ], IgcCalendarBaseComponent);
84
+ export { IgcCalendarBaseComponent };
61
85
  //# sourceMappingURL=calendar-base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-base.js","sourceRoot":"","sources":["../../../../src/components/calendar/common/calendar-base.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAuB,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAM/B,MAAM,OAAO,wBAAyB,SAAQ,UAAU;IAAxD;;QACY,kBAAa,GAAG,IAAI,QAAQ,EAAE,CAAC;QAYlC,cAAS,GAAoC,QAAQ,CAAC;QAItD,oBAAe,GAAG,KAAK,CAAC;QAIxB,cAAS,GAOC,QAAQ,CAAC;QAInB,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAIxB,WAAM,GAAG,IAAI,CAAC;IAmBvB,CAAC;IARW,eAAe;QACvB,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IAGS,eAAe;QACvB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACzB,CAAC;CACF;AA9CC;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;uDACF;AAI7B;IADC,QAAQ,EAAE;2DACkD;AAI7D;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iEAC5C;AAI/B;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;2DAQZ;AAI1B;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;4DACA;AAI/B;IADC,QAAQ,EAAE;wDACU;AAIrB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;+DACc;AAI7C;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;8DACa;AAG5C;IADC,KAAK,CAAC,WAAW,CAAC;+DAGlB;AAGD;IADC,KAAK,CAAC,WAAW,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;+DAGlD","sourcesContent":["import { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { watch } from '../../common/decorators';\nimport { Calendar, DateRangeDescriptor } from './calendar.model';\nimport { getWeekDayNumber } from './utils';\n\nexport const MONTHS_PER_ROW = 3;\nexport const YEARS_PER_ROW = 3;\n\nexport interface IgcCalendarBaseEventMap {\n igcChange: CustomEvent<Date | Date[]>;\n}\n\nexport class IgcCalendarBaseComponent extends LitElement {\n protected calendarModel = new Calendar();\n\n /**\n * Тhe current value of the calendar.\n * When selection is set to single, it accepts a single Date object.\n * Otherwise, it is an array of Date objects.\n */\n @property({ attribute: false })\n public value?: Date | Date[];\n\n /** Sets the type of date selection. */\n @property()\n public selection: 'single' | 'multiple' | 'range' = 'single';\n\n /** Show/hide the week numbers. */\n @property({ type: Boolean, attribute: 'show-week-numbers', reflect: true })\n public showWeekNumbers = false;\n\n /** Sets the start day of the week. */\n @property({ attribute: 'week-start' })\n public weekStart:\n | 'sunday'\n | 'monday'\n | 'tuesday'\n | 'wednesday'\n | 'thursday'\n | 'friday'\n | 'saturday' = 'sunday';\n\n /** Sets the date which is shown in view and is highlighted. By default it is the current date. */\n @property({ attribute: false })\n public activeDate = new Date();\n\n /** Sets the locale used for formatting and displaying the dates in the calendar. */\n @property()\n public locale = 'en';\n\n /** Gets/sets disabled dates. */\n @property({ attribute: false })\n public disabledDates!: DateRangeDescriptor[];\n\n /** Gets/sets special dates. */\n @property({ attribute: false })\n public specialDates!: DateRangeDescriptor[];\n\n @watch('weekStart')\n protected weekStartChange() {\n this.calendarModel.firstWeekDay = getWeekDayNumber(this.weekStart);\n }\n\n @watch('selection', { waitUntilFirstUpdate: true })\n protected selectionChange() {\n this.value = undefined;\n }\n}\n"]}
1
+ {"version":3,"file":"calendar-base.js","sourceRoot":"","sources":["../../../../src/components/calendar/common/calendar-base.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,KAAK,GACN,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAuB,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAO/B,IAAa,wBAAwB,GAArC,MAAa,wBAAyB,SAAQ,UAAU;IAAxD;;QACY,kBAAa,GAAG,IAAI,QAAQ,EAAE,CAAC;QAoClC,cAAS,GAAoC,QAAQ,CAAC;QAItD,oBAAe,GAAG,KAAK,CAAC;QAIxB,cAAS,GAOC,QAAQ,CAAC;QAInB,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAIxB,WAAM,GAAG,IAAI,CAAC;IAmBvB,CAAC;IARW,eAAe;QACvB,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IAGS,eAAe;QACvB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACzB,CAAC;CACF,CAAA;AAlEC;IANC,cAAc,EAAE;IAChB,QAAQ,CAAC;QACR,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACnB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7C,CAAC;KACF,CAAC;uDACkB;AAoBpB;IAbC,cAAc,EAAE;IAChB,QAAQ,CAAC;QACR,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACnB,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,SAAS,CAAC;aAClB;YACD,OAAO,KAAK;iBACT,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;iBAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;KACF,CAAC;wDACqB;AAIvB;IADC,QAAQ,EAAE;2DACkD;AAI7D;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iEAC5C;AAI/B;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;2DAQZ;AAI1B;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;4DACA;AAI/B;IADC,QAAQ,EAAE;wDACU;AAIrB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;+DACc;AAI7C;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;8DACa;AAG5C;IADC,KAAK,CAAC,WAAW,CAAC;+DAGlB;AAGD;IADC,KAAK,CAAC,WAAW,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;+DAGlD;AA9EU,wBAAwB;IADpC,oBAAoB;GACR,wBAAwB,CA+EpC;SA/EY,wBAAwB","sourcesContent":["import { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport {\n blazorIndirectRender,\n blazorSuppress,\n watch,\n} from '../../common/decorators';\nimport { Calendar, DateRangeDescriptor } from './calendar.model';\nimport { getWeekDayNumber } from './utils';\n\nexport const MONTHS_PER_ROW = 3;\nexport const YEARS_PER_ROW = 3;\n\nexport interface IgcCalendarBaseEventMap {\n igcChange: CustomEvent<Date | Date[]>;\n}\n\n@blazorIndirectRender\nexport class IgcCalendarBaseComponent extends LitElement {\n protected calendarModel = new Calendar();\n\n /**\n * Тhe current value of the calendar.\n * Used when selection is set to single.\n */\n @blazorSuppress()\n @property({\n converter: (value) => {\n return value ? new Date(value) : undefined;\n },\n })\n public value?: Date;\n //we suppress value for blazor since we need to expose it on the leaves with the events for now.\n\n /**\n * Тhe current values of the calendar.\n * Used when selection is set to multiple or range.\n */\n @blazorSuppress()\n @property({\n converter: (value) => {\n if (!value) {\n return undefined;\n }\n return value\n .split(',')\n .map((v) => v.trim())\n .filter((v) => v)\n .map((v) => new Date(v));\n },\n })\n public values?: Date[];\n\n /** Sets the type of date selection. */\n @property()\n public selection: 'single' | 'multiple' | 'range' = 'single';\n\n /** Show/hide the week numbers. */\n @property({ type: Boolean, attribute: 'show-week-numbers', reflect: true })\n public showWeekNumbers = false;\n\n /** Sets the start day of the week. */\n @property({ attribute: 'week-start' })\n public weekStart:\n | 'sunday'\n | 'monday'\n | 'tuesday'\n | 'wednesday'\n | 'thursday'\n | 'friday'\n | 'saturday' = 'sunday';\n\n /** Sets the date which is shown in view and is highlighted. By default it is the current date. */\n @property({ attribute: false })\n public activeDate = new Date();\n\n /** Sets the locale used for formatting and displaying the dates in the calendar. */\n @property()\n public locale = 'en';\n\n /** Gets/sets disabled dates. */\n @property({ attribute: false })\n public disabledDates!: DateRangeDescriptor[];\n\n /** Gets/sets special dates. */\n @property({ attribute: false })\n public specialDates!: DateRangeDescriptor[];\n\n @watch('weekStart')\n protected weekStartChange() {\n this.calendarModel.firstWeekDay = getWeekDayNumber(this.weekStart);\n }\n\n @watch('selection', { waitUntilFirstUpdate: true })\n protected selectionChange() {\n this.value = undefined;\n }\n}\n"]}