igniteui-webcomponents 4.0.0-alpha.2 → 4.0.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 (240) hide show
  1. package/CHANGELOG.md +33 -2
  2. package/README.md +17 -15
  3. package/components/avatar/themes/avatar.base.css.js +20 -12
  4. package/components/avatar/themes/avatar.base.css.js.map +1 -1
  5. package/components/badge/themes/light/badge.base.css.js +13 -6
  6. package/components/badge/themes/light/badge.base.css.js.map +1 -1
  7. package/components/button/icon-button.js +13 -10
  8. package/components/button/icon-button.js.map +1 -1
  9. package/components/button/themes/button/light/button.base.css.js +41 -37
  10. package/components/button/themes/button/light/button.base.css.js.map +1 -1
  11. package/components/button/themes/button/light/button.bootstrap.css.js +4 -12
  12. package/components/button/themes/button/light/button.bootstrap.css.js.map +1 -1
  13. package/components/button/themes/button/light/button.fluent.css.js +5 -15
  14. package/components/button/themes/button/light/button.fluent.css.js.map +1 -1
  15. package/components/button/themes/button/light/button.indigo.css.js +6 -18
  16. package/components/button/themes/button/light/button.indigo.css.js.map +1 -1
  17. package/components/button/themes/button/light/button.material.css.js +41 -37
  18. package/components/button/themes/button/light/button.material.css.js.map +1 -1
  19. package/components/button/themes/icon-button/light/icon-button.base.css.js +22 -25
  20. package/components/button/themes/icon-button/light/icon-button.base.css.js.map +1 -1
  21. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js +7 -18
  22. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js.map +1 -1
  23. package/components/button/themes/icon-button/light/icon-button.fluent.css.js +7 -17
  24. package/components/button/themes/icon-button/light/icon-button.fluent.css.js.map +1 -1
  25. package/components/button/themes/icon-button/light/icon-button.indigo.css.js +7 -17
  26. package/components/button/themes/icon-button/light/icon-button.indigo.css.js.map +1 -1
  27. package/components/button/themes/icon-button/light/icon-button.material.css.js +6 -13
  28. package/components/button/themes/icon-button/light/icon-button.material.css.js.map +1 -1
  29. package/components/calendar/days-view/days-view.d.ts +2 -0
  30. package/components/calendar/days-view/days-view.js +17 -5
  31. package/components/calendar/days-view/days-view.js.map +1 -1
  32. package/components/calendar/themes/calendar.base.css.js +66 -89
  33. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  34. package/components/calendar/themes/days-view.base.css.js +0 -1
  35. package/components/calendar/themes/days-view.base.css.js.map +1 -1
  36. package/components/calendar/themes/fluent/calendar.fluent.css.js +66 -89
  37. package/components/calendar/themes/fluent/calendar.fluent.css.js.map +1 -1
  38. package/components/card/themes/light/card.actions.bootstrap.css.js +13 -6
  39. package/components/card/themes/light/card.actions.bootstrap.css.js.map +1 -1
  40. package/components/card/themes/light/card.actions.material.css.js +13 -6
  41. package/components/card/themes/light/card.actions.material.css.js.map +1 -1
  42. package/components/card/themes/light/card.content.bootstrap.css.js +13 -6
  43. package/components/card/themes/light/card.content.bootstrap.css.js.map +1 -1
  44. package/components/card/themes/light/card.content.indigo.css.js +13 -6
  45. package/components/card/themes/light/card.content.indigo.css.js.map +1 -1
  46. package/components/card/themes/light/card.content.material.css.js +13 -6
  47. package/components/card/themes/light/card.content.material.css.js.map +1 -1
  48. package/components/card/themes/light/card.header.bootstrap.css.js +13 -6
  49. package/components/card/themes/light/card.header.bootstrap.css.js.map +1 -1
  50. package/components/card/themes/light/card.header.fluent.css.js +13 -6
  51. package/components/card/themes/light/card.header.fluent.css.js.map +1 -1
  52. package/components/card/themes/light/card.header.indigo.css.js +13 -6
  53. package/components/card/themes/light/card.header.indigo.css.js.map +1 -1
  54. package/components/card/themes/light/card.header.material.css.js +13 -6
  55. package/components/card/themes/light/card.header.material.css.js.map +1 -1
  56. package/components/card/themes/light/card.material.css.js +13 -6
  57. package/components/card/themes/light/card.material.css.js.map +1 -1
  58. package/components/card/themes/light/card.media.material.css.js +13 -6
  59. package/components/card/themes/light/card.media.material.css.js.map +1 -1
  60. package/components/checkbox/checkbox-base.d.ts +2 -0
  61. package/components/checkbox/checkbox-base.js +3 -0
  62. package/components/checkbox/checkbox-base.js.map +1 -1
  63. package/components/checkbox/themes/light/checkbox.base.css.js +16 -8
  64. package/components/checkbox/themes/light/checkbox.base.css.js.map +1 -1
  65. package/components/checkbox/themes/light/checkbox.bootstrap.css.js +4 -3
  66. package/components/checkbox/themes/light/checkbox.bootstrap.css.js.map +1 -1
  67. package/components/checkbox/themes/light/switch.base.css.js +13 -6
  68. package/components/checkbox/themes/light/switch.base.css.js.map +1 -1
  69. package/components/chip/themes/chip.base.css.js +53 -46
  70. package/components/chip/themes/chip.base.css.js.map +1 -1
  71. package/components/chip/themes/chip.bootstrap.css.js +53 -46
  72. package/components/chip/themes/chip.bootstrap.css.js.map +1 -1
  73. package/components/chip/themes/chip.fluent.css.js +53 -46
  74. package/components/chip/themes/chip.fluent.css.js.map +1 -1
  75. package/components/chip/themes/chip.indigo.css.js +53 -46
  76. package/components/chip/themes/chip.indigo.css.js.map +1 -1
  77. package/components/chip/themes/chip.material.css.js +53 -46
  78. package/components/chip/themes/chip.material.css.js.map +1 -1
  79. package/components/dialog/dialog.d.ts +69 -0
  80. package/components/dialog/dialog.js +168 -0
  81. package/components/dialog/dialog.js.map +1 -0
  82. package/components/dialog/themes/light/dialog.base.css.d.ts +1 -0
  83. package/components/dialog/themes/light/dialog.base.css.js +127 -0
  84. package/components/dialog/themes/light/dialog.base.css.js.map +1 -0
  85. package/components/dialog/themes/light/dialog.bootstrap.css.d.ts +1 -0
  86. package/components/dialog/themes/light/dialog.bootstrap.css.js +42 -0
  87. package/components/dialog/themes/light/dialog.bootstrap.css.js.map +1 -0
  88. package/components/dialog/themes/light/dialog.fluent.css.d.ts +1 -0
  89. package/components/dialog/themes/light/dialog.fluent.css.js +24 -0
  90. package/components/dialog/themes/light/dialog.fluent.css.js.map +1 -0
  91. package/components/dialog/themes/light/dialog.indigo.css.d.ts +1 -0
  92. package/components/dialog/themes/light/dialog.indigo.css.js +17 -0
  93. package/components/dialog/themes/light/dialog.indigo.css.js.map +1 -0
  94. package/components/dialog/themes/light/dialog.material.css.d.ts +1 -0
  95. package/components/dialog/themes/light/dialog.material.css.js +18 -0
  96. package/components/dialog/themes/light/dialog.material.css.js.map +1 -0
  97. package/components/dropdown/dropdown-header.js +2 -1
  98. package/components/dropdown/dropdown-header.js.map +1 -1
  99. package/components/dropdown/dropdown.js +2 -0
  100. package/components/dropdown/dropdown.js.map +1 -1
  101. package/components/dropdown/themes/light/dropdown-group.base.css.js +15 -30
  102. package/components/dropdown/themes/light/dropdown-group.base.css.js.map +1 -1
  103. package/components/dropdown/themes/light/dropdown-group.fluent.css.js +2 -16
  104. package/components/dropdown/themes/light/dropdown-group.fluent.css.js.map +1 -1
  105. package/components/dropdown/themes/light/dropdown-header.base.css.js +15 -6
  106. package/components/dropdown/themes/light/dropdown-header.base.css.js.map +1 -1
  107. package/components/dropdown/themes/light/dropdown-header.fluent.css.d.ts +1 -0
  108. package/components/dropdown/themes/light/dropdown-header.fluent.css.js +6 -0
  109. package/components/dropdown/themes/light/dropdown-header.fluent.css.js.map +1 -0
  110. package/components/dropdown/themes/light/dropdown-item.base.css.js +19 -10
  111. package/components/dropdown/themes/light/dropdown-item.base.css.js.map +1 -1
  112. package/components/dropdown/themes/light/dropdown-item.fluent.css.js +4 -0
  113. package/components/dropdown/themes/light/dropdown-item.fluent.css.js.map +1 -1
  114. package/components/dropdown/themes/light/dropdown.base.css.js +19 -24
  115. package/components/dropdown/themes/light/dropdown.base.css.js.map +1 -1
  116. package/components/dropdown/themes/light/dropdown.fluent.css.js +0 -18
  117. package/components/dropdown/themes/light/dropdown.fluent.css.js.map +1 -1
  118. package/components/expansion-panel/themes/light/expansion-panel.base.css.js +8 -6
  119. package/components/expansion-panel/themes/light/expansion-panel.base.css.js.map +1 -1
  120. package/components/form/form.js +3 -3
  121. package/components/form/form.js.map +1 -1
  122. package/components/icon/icon.material.css.js +19 -11
  123. package/components/icon/icon.material.css.js.map +1 -1
  124. package/components/input/input.d.ts +2 -0
  125. package/components/input/input.js +3 -0
  126. package/components/input/input.js.map +1 -1
  127. package/components/input/themes/light/input.base.css.js +28 -22
  128. package/components/input/themes/light/input.base.css.js.map +1 -1
  129. package/components/input/themes/light/input.bootstrap.css.js +26 -45
  130. package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
  131. package/components/input/themes/light/input.fluent.css.js +20 -34
  132. package/components/input/themes/light/input.fluent.css.js.map +1 -1
  133. package/components/list/themes/light/list-header.base.css.js +15 -6
  134. package/components/list/themes/light/list-header.base.css.js.map +1 -1
  135. package/components/list/themes/light/list-item.base.css.js +19 -10
  136. package/components/list/themes/light/list-item.base.css.js.map +1 -1
  137. package/components/list/themes/light/list.base.css.js +19 -15
  138. package/components/list/themes/light/list.base.css.js.map +1 -1
  139. package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js +13 -6
  140. package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js.map +1 -1
  141. package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js +13 -6
  142. package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js.map +1 -1
  143. package/components/nav-drawer/themes/light/nav-drawer.base.css.js +13 -6
  144. package/components/nav-drawer/themes/light/nav-drawer.base.css.js.map +1 -1
  145. package/components/navbar/themes/light/navbar.base.css.js +13 -6
  146. package/components/navbar/themes/light/navbar.base.css.js.map +1 -1
  147. package/components/progress/themes/circular/circular.progress.base.css.js +39 -30
  148. package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
  149. package/components/progress/themes/circular/circular.progress.bootstrap.css.js +2 -2
  150. package/components/progress/themes/circular/circular.progress.bootstrap.css.js.map +1 -1
  151. package/components/progress/themes/circular/circular.progress.fluent.css.js +1 -1
  152. package/components/progress/themes/circular/circular.progress.fluent.css.js.map +1 -1
  153. package/components/progress/themes/linear/linear.progress.base.css.js +29 -22
  154. package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
  155. package/components/progress/themes/linear/linear.progress.bootstrap.css.js +29 -22
  156. package/components/progress/themes/linear/linear.progress.bootstrap.css.js.map +1 -1
  157. package/components/progress/themes/linear/linear.progress.indigo.css.js +13 -6
  158. package/components/progress/themes/linear/linear.progress.indigo.css.js.map +1 -1
  159. package/components/radio/radio.d.ts +3 -1
  160. package/components/radio/radio.js +4 -1
  161. package/components/radio/radio.js.map +1 -1
  162. package/components/radio/themes/light/radio.base.css.js +13 -6
  163. package/components/radio/themes/light/radio.base.css.js.map +1 -1
  164. package/components/radio-group/radio-group.base.css.js +13 -6
  165. package/components/radio-group/radio-group.base.css.js.map +1 -1
  166. package/components/rating/rating-symbol.base.css.js +14 -6
  167. package/components/rating/rating-symbol.base.css.js.map +1 -1
  168. package/components/rating/rating.base.css.js +18 -11
  169. package/components/rating/rating.base.css.js.map +1 -1
  170. package/components/ripple/ripple.material.css.js +13 -6
  171. package/components/ripple/ripple.material.css.js.map +1 -1
  172. package/components/select/select.d.ts +4 -0
  173. package/components/select/select.js +20 -8
  174. package/components/select/select.js.map +1 -1
  175. package/components/select/themes/light/select.base.css.js +26 -24
  176. package/components/select/themes/light/select.base.css.js.map +1 -1
  177. package/components/select/themes/light/select.fluent.css.js +6 -8
  178. package/components/select/themes/light/select.fluent.css.js.map +1 -1
  179. package/components/slider/range-slider.d.ts +2 -0
  180. package/components/slider/range-slider.js +65 -0
  181. package/components/slider/range-slider.js.map +1 -1
  182. package/components/slider/slider-base.d.ts +9 -7
  183. package/components/slider/slider-base.js +16 -2
  184. package/components/slider/slider-base.js.map +1 -1
  185. package/components/slider/themes/light/slider.base.css.js +18 -11
  186. package/components/slider/themes/light/slider.base.css.js.map +1 -1
  187. package/components/slider/themes/light/slider.bootstrap.css.js +2 -2
  188. package/components/slider/themes/light/slider.bootstrap.css.js.map +1 -1
  189. package/components/slider/themes/light/slider.fluent.css.js +29 -11
  190. package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
  191. package/components/slider/themes/light/slider.indigo.css.js +4 -4
  192. package/components/slider/themes/light/slider.indigo.css.js.map +1 -1
  193. package/components/slider/themes/light/slider.material.css.js +5 -5
  194. package/components/slider/themes/light/slider.material.css.js.map +1 -1
  195. package/components/snackbar/themes/light/snackbar.base.css.js +13 -6
  196. package/components/snackbar/themes/light/snackbar.base.css.js.map +1 -1
  197. package/components/tabs/tab-panel.js +1 -0
  198. package/components/tabs/tab-panel.js.map +1 -1
  199. package/components/tabs/tabs.js +2 -3
  200. package/components/tabs/tabs.js.map +1 -1
  201. package/components/tabs/themes/light/tab-panel.base.css.js +13 -7
  202. package/components/tabs/themes/light/tab-panel.base.css.js.map +1 -1
  203. package/components/tabs/themes/light/tab.base.css.js +13 -6
  204. package/components/tabs/themes/light/tab.base.css.js.map +1 -1
  205. package/components/tabs/themes/light/tabs.base.css.js +13 -6
  206. package/components/tabs/themes/light/tabs.base.css.js.map +1 -1
  207. package/components/toggle/toggle.controller.d.ts +1 -1
  208. package/components/toggle/toggle.controller.js.map +1 -1
  209. package/components/toggle/toggle.directive.d.ts +2 -2
  210. package/components/toggle/toggle.directive.js.map +1 -1
  211. package/components/tree/themes/light/tree-item.base.css.js +17 -28
  212. package/components/tree/themes/light/tree-item.base.css.js.map +1 -1
  213. package/components/tree/themes/light/tree.base.css.js +25 -6
  214. package/components/tree/themes/light/tree.base.css.js.map +1 -1
  215. package/custom-elements.json +129 -0
  216. package/index.d.ts +3 -1
  217. package/index.js +2 -0
  218. package/index.js.map +1 -1
  219. package/package.json +3 -3
  220. package/themes/dark/bootstrap.css +159 -91
  221. package/themes/dark/fluent.css +162 -94
  222. package/themes/dark/indigo.css +79 -11
  223. package/themes/dark/material.css +160 -92
  224. package/themes/light/bootstrap.css +158 -90
  225. package/themes/light/fluent.css +158 -90
  226. package/themes/light/indigo.css +78 -10
  227. package/themes/light/material.css +159 -91
  228. package/theming/config.d.ts +1 -1
  229. package/theming/config.js +1 -2
  230. package/theming/config.js.map +1 -1
  231. package/theming/index.d.ts +1 -1
  232. package/theming/index.js +1 -1
  233. package/theming/index.js.map +1 -1
  234. package/theming/theming-controller.d.ts +1 -1
  235. package/theming/theming-controller.js.map +1 -1
  236. package/theming/theming-decorator.d.ts +1 -1
  237. package/theming/theming-decorator.js.map +1 -1
  238. package/theming/theming-event.d.ts +1 -1
  239. package/theming/theming-event.js.map +1 -1
  240. package/vscode-html-custom-data.json +39 -1
@@ -43,6 +43,12 @@ let IgcDaysViewComponent = class IgcDaysViewComponent extends EventEmitterMixin(
43
43
  this.formatterWeekday = new Intl.DateTimeFormat(this.locale, {
44
44
  weekday: this.weekDayFormat,
45
45
  });
46
+ this.labelFormatter = new Intl.DateTimeFormat(this.locale, {
47
+ weekday: 'long',
48
+ year: 'numeric',
49
+ month: 'long',
50
+ day: 'numeric',
51
+ });
46
52
  }
47
53
  generateWeekHeader() {
48
54
  const dayNames = [];
@@ -369,6 +375,16 @@ let IgcDaysViewComponent = class IgcDaysViewComponent extends EventEmitterMixin(
369
375
  </div>`;
370
376
  });
371
377
  }
378
+ dayLabelFormatter(value) {
379
+ if (this.rangePreviewDate &&
380
+ areEqualDates(this.rangePreviewDate, value.date)) {
381
+ return this.labelFormatter.formatRange(this.values.at(0), this.rangePreviewDate);
382
+ }
383
+ if (this.isFirstInRange(value) || this.isLastInRange(value)) {
384
+ return this.labelFormatter.formatRange(this.values.at(0), this.values.at(-1));
385
+ }
386
+ return this.labelFormatter.format(value.date);
387
+ }
372
388
  renderDateItem(day) {
373
389
  const datePartName = partNameMap(this.resolveDayItemPartName(day));
374
390
  const dateInnerPartName = datePartName.replace('date', 'date-inner');
@@ -376,11 +392,7 @@ let IgcDaysViewComponent = class IgcDaysViewComponent extends EventEmitterMixin(
376
392
  <span
377
393
  part=${dateInnerPartName}
378
394
  role="gridcell"
379
- aria-label=${day.date.toLocaleString(this.locale, {
380
- year: 'numeric',
381
- month: 'long',
382
- day: 'numeric',
383
- })}
395
+ aria-label=${this.dayLabelFormatter(day)}
384
396
  aria-selected=${this.isSelected(day)}
385
397
  aria-disabled=${this.isDisabled(day.date)}
386
398
  tabindex=${this.active && areEqualDates(this.activeDate, day.date)
@@ -1 +1 @@
1
- {"version":3,"file":"days-view.js","sourceRoot":"","sources":["../../../../src/components/calendar/days-view/days-view.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { themes } from '../../../theming/theming-decorator.js';\nimport { blazorIndirectRender } from '../../common/decorators/blazorIndirectRender.js';\nimport { blazorSuppressComponent } from '../../common/decorators/blazorSuppressComponent.js';\nimport { watch } from '../../common/decorators/watch.js';\nimport {\n IgcCalendarResourceStringEN,\n IgcCalendarResourceStrings,\n} from '../../common/i18n/calendar.resources.js';\nimport { Constructor } from '../../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../../common/mixins/event-emitter.js';\nimport { partNameMap } from '../../common/util.js';\nimport {\n IgcCalendarBaseComponent,\n IgcCalendarBaseEventMap,\n} from '../common/calendar-base.js';\nimport {\n DateRangeType,\n ICalendarDate,\n isDateInRanges,\n TimeDeltaInterval,\n} from '../common/calendar.model.js';\nimport { areEqualDates, getDateOnly, isEqual } from '../common/utils.js';\nimport { styles as bootstrap } from '../themes/bootstrap/days-view.bootstrap.css.js';\nimport { styles } from '../themes/days-view.base.css.js';\nimport { styles as fluent } from '../themes/fluent/days-view.fluent.css.js';\n\nexport interface IgcDaysViewEventMap extends IgcCalendarBaseEventMap {\n igcActiveDateChange: CustomEvent<ICalendarDate>;\n igcRangePreviewDateChange: CustomEvent<Date>;\n}\n\n/**\n * Instantiate a days view as a separate component in the calendar.\n *\n * @element igc-days-view\n *\n * @fires igcActiveDateChange - Emitted when the active date changes.\n * @fires igcRangePreviewDateChange - Emitted when the range preview date changes.\n *\n * @csspart days-row - The days row container.\n * @csspart label - The label container.\n * @csspart label-inner - The inner label container.\n * @csspart week-number - The week number container.\n * @csspart week-number-inner - The inner week number container.\n */\n@blazorSuppressComponent\n@blazorIndirectRender\n@themes({\n bootstrap,\n fluent,\n})\nexport default class IgcDaysViewComponent extends EventEmitterMixin<\n IgcDaysViewEventMap,\n Constructor<IgcCalendarBaseComponent>\n>(IgcCalendarBaseComponent) {\n public static readonly tagName = 'igc-days-view';\n public static styles = styles;\n private formatterWeekday!: Intl.DateTimeFormat;\n private dates!: ICalendarDate[][];\n\n @query('[tabindex=\"0\"]')\n private activeDay!: HTMLElement;\n\n /** Controls the visibility of the leading dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-leading-days' })\n public hideLeadingDays = false;\n\n /** Controls the visibility of the trailing dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-trailing-days' })\n public hideTrailingDays = false;\n\n /** Gets/sets the active state of the days view. */\n @property({ type: Boolean })\n public active = false;\n\n /** The range preview date. */\n @property({ attribute: false })\n public rangePreviewDate?: Date;\n\n /** The format of the days. Defaults to narrow. */\n @property({ attribute: 'week-day-format' })\n public weekDayFormat: 'long' | 'short' | 'narrow' | undefined = 'narrow';\n\n /** The resource strings. */\n @property({ attribute: false })\n public resourceStrings: IgcCalendarResourceStrings = IgcCalendarResourceStringEN;\n\n @watch('weekDayFormat')\n @watch('locale')\n protected formattersChange() {\n this.initFormatters();\n }\n\n @watch('weekStart')\n @watch('activeDate')\n protected datesChange() {\n this.dates = this.getCalendarMonth();\n }\n\n constructor() {\n super();\n this.setAttribute('role', 'grid');\n this.initFormatters();\n }\n\n /** Focuses the active date. */\n public focusActiveDate() {\n this.activeDay.focus();\n }\n\n private initFormatters() {\n this.formatterWeekday = new Intl.DateTimeFormat(this.locale, {\n weekday: this.weekDayFormat,\n });\n }\n\n private generateWeekHeader(): { label: string; ariaLabel: string }[] {\n const dayNames = [];\n const rv = this.calendarModel.monthdatescalendar(\n this.activeDate.getFullYear(),\n this.activeDate.getMonth()\n )[0];\n for (const day of rv) {\n dayNames.push({\n label: this.formatterWeekday.format(day.date),\n ariaLabel: day.date.toLocaleString(this.locale, { weekday: 'long' }),\n });\n }\n\n return dayNames;\n }\n\n private getCalendarMonth(): ICalendarDate[][] {\n return this.calendarModel.monthdatescalendar(\n this.activeDate.getFullYear(),\n this.activeDate.getMonth(),\n true\n );\n }\n\n private titleCase(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n private getWeekNumber(date: Date): number {\n return this.calendarModel.getWeekNumber(date);\n }\n\n private formattedDate(value: Date): string {\n return `${value.getDate()}`;\n }\n\n private get isSingleSelection(): boolean {\n return this.selection !== 'range';\n }\n\n private isLastInRange(date: ICalendarDate): boolean {\n if (this.isSingleSelection || !this.values || this.values.length === 0) {\n return false;\n }\n\n const dates = this.values;\n let lastDate = dates[dates.length - 1];\n\n if (this.rangePreviewDate) {\n if (this.rangePreviewDate > lastDate) {\n lastDate = this.rangePreviewDate;\n }\n }\n\n return isEqual(lastDate, date.date);\n }\n\n private isFirstInRange(date: ICalendarDate): boolean {\n if (this.isSingleSelection || !this.values || this.values.length === 0) {\n return false;\n }\n\n const dates = this.values;\n let firstDate = dates[0];\n\n if (this.rangePreviewDate) {\n if (this.rangePreviewDate < firstDate) {\n firstDate = this.rangePreviewDate;\n }\n }\n\n return isEqual(firstDate, date.date);\n }\n\n private isDisabled(date: Date): boolean {\n if (!this.disabledDates) {\n return false;\n }\n\n return isDateInRanges(date, this.disabledDates);\n }\n\n private isWithinRange(date: Date, min: Date, max: Date): boolean {\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [min, max],\n },\n ]);\n }\n\n private isRangeDate(date: Date) {\n if (\n this.selection !== 'range' ||\n !this.values ||\n this.values.length === 0\n ) {\n return false;\n }\n\n const dates = this.values;\n const min = dates[0];\n let max;\n\n if (dates.length === 1) {\n if (!this.rangePreviewDate) {\n return false;\n }\n\n max = this.rangePreviewDate;\n } else {\n max = dates[dates.length - 1];\n }\n\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [min, max],\n },\n ]);\n }\n\n private isRangePreview(date: Date) {\n if (\n this.selection === 'range' &&\n this.values &&\n this.values.length > 0 &&\n this.rangePreviewDate\n ) {\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [this.values[0], this.rangePreviewDate],\n },\n ]);\n }\n\n return false;\n }\n\n private isSelected(date: ICalendarDate) {\n if (this.isDisabled(date.date)) {\n return false;\n }\n\n if (this.selection === 'single') {\n if (!this.value) {\n return false;\n }\n return getDateOnly(this.value).getTime() === date.date.getTime();\n }\n\n if (!this.values || this.values.length === 0) {\n return false;\n }\n\n if (this.selection === 'range' && this.values.length === 1) {\n return getDateOnly(this.values[0]).getTime() === date.date.getTime();\n }\n\n if (this.selection === 'multiple') {\n const start = getDateOnly(this.values[0]);\n const end = getDateOnly(this.values[this.values.length - 1]);\n\n if (this.isWithinRange(date.date, start, end)) {\n const currentDate = this.values.find(\n (element) => element.getTime() === date.date.getTime()\n );\n return !!currentDate;\n } else {\n return false;\n }\n } else {\n return this.isWithinRange(\n date.date,\n this.values[0],\n this.values[this.values.length - 1]\n );\n }\n }\n\n private isToday(day: ICalendarDate): boolean {\n const today = new Date(Date.now());\n const date = day.date;\n\n // TODO\n // if (date.getDate() === today.getDate()) {\n // this.nativeElement.setAttribute('aria-current', 'date');\n // }\n\n return (\n date.getFullYear() === today.getFullYear() &&\n date.getMonth() === today.getMonth() &&\n date.getDate() === today.getDate()\n );\n }\n\n private isWeekend(date: ICalendarDate): boolean {\n const day = date.date.getDay();\n return day === 0 || day === 6;\n }\n\n private isSpecial(day: ICalendarDate): boolean {\n if (this.specialDates === null) {\n return false;\n }\n\n return isDateInRanges(day.date, this.specialDates);\n }\n\n private dateClicked(event: Event, day: ICalendarDate) {\n event.stopPropagation();\n\n this.selectDay(day);\n\n this.changeActiveDate(day);\n }\n\n private selectDay(day: ICalendarDate) {\n if (this.rangePreviewDate) {\n this.setRangePreviewDate(undefined);\n }\n\n const result = this.selectDate(day.date);\n\n if (result) {\n this.emitEvent('igcChange', { detail: day.date });\n }\n }\n\n private selectDate(value: Date) {\n if (this.isDisabled(value)) {\n return false;\n }\n\n switch (this.selection) {\n case 'single':\n if (this.value?.getTime() === value.getTime()) {\n return false;\n }\n this.selectSingle(value);\n break;\n case 'multiple':\n this.selectMultiple(value);\n break;\n case 'range':\n this.selectRange(value);\n break;\n }\n\n return true;\n }\n\n private generateDateRange(start: Date, end: Date): Date[] {\n const result = [];\n start = getDateOnly(start);\n end = getDateOnly(end);\n while (start.getTime() < end.getTime()) {\n start = this.calendarModel.timedelta(start, TimeDeltaInterval.Day, 1);\n result.push(start);\n }\n\n return result;\n }\n\n private selectRange(value: Date) {\n let start: Date;\n let end: Date;\n let selectedDates: Date[] = (this.values ?? []) as Date[];\n\n if (selectedDates.length !== 1) {\n // start new range\n selectedDates = [value];\n } else {\n if (selectedDates[0].getTime() === value.getTime()) {\n this.values = [];\n return;\n }\n\n selectedDates.push(value);\n selectedDates.sort((a: Date, b: Date) => a.valueOf() - b.valueOf());\n\n start = selectedDates.shift()!;\n end = selectedDates.pop()!;\n selectedDates = [start, ...this.generateDateRange(start, end)];\n }\n\n // exclude disabled dates\n selectedDates = selectedDates.filter((d) => !this.isDisabled(d));\n\n this.values = [...selectedDates];\n }\n\n private selectSingle(value: Date) {\n this.value = getDateOnly(value);\n }\n\n private selectMultiple(value: Date) {\n let selectedDates: Date[] = (this.values ?? []) as Date[];\n const valueDateOnly = getDateOnly(value);\n const newSelection = [];\n\n if (\n selectedDates.every(\n (date: Date) => date.getTime() !== valueDateOnly.getTime()\n )\n ) {\n newSelection.push(valueDateOnly);\n } else {\n selectedDates = selectedDates.filter(\n (date: Date) => date.getTime() !== valueDateOnly.getTime()\n );\n }\n\n if (newSelection.length > 0) {\n selectedDates = selectedDates.concat(newSelection);\n }\n\n selectedDates = selectedDates.filter((d) => !this.isDisabled(d));\n selectedDates.sort((a: Date, b: Date) => a.valueOf() - b.valueOf());\n this.values = [...selectedDates];\n }\n\n private changeActiveDate(day: ICalendarDate) {\n this.activeDate = day.date;\n this.emitEvent('igcActiveDateChange', { detail: day });\n }\n\n private dateKeyDown(event: KeyboardEvent, day: ICalendarDate) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.selectDay(day);\n }\n }\n\n private changeRangePreview(date: Date) {\n if (\n this.selection === 'range' &&\n this.values &&\n this.values.length === 1 &&\n !isEqual(this.values[0], date)\n ) {\n this.setRangePreviewDate(date);\n }\n }\n\n private clearRangePreview() {\n if (this.rangePreviewDate) {\n this.setRangePreviewDate(undefined);\n }\n }\n\n private setRangePreviewDate(value?: Date) {\n this.rangePreviewDate = value;\n this.emitEvent('igcRangePreviewDateChange', { detail: value });\n }\n\n private resolveDayItemPartName(day: ICalendarDate) {\n const isInactive = day.isNextMonth || day.isPrevMonth;\n const isHidden =\n (this.hideLeadingDays && day.isPrevMonth) ||\n (this.hideTrailingDays && day.isNextMonth);\n const isDisabled = this.isDisabled(day.date);\n\n return {\n date: true,\n first: this.isFirstInRange(day),\n last: this.isLastInRange(day),\n selected: !isDisabled && this.isSelected(day),\n inactive: isInactive,\n hidden: isHidden,\n current: this.isToday(day),\n weekend: this.isWeekend(day),\n range: this.selection === 'range' && this.isRangeDate(day.date),\n special: this.isSpecial(day),\n disabled: isHidden || isDisabled,\n single: this.selection !== 'range',\n preview: this.isRangePreview(day.date),\n };\n }\n\n private renderWeekHeaders() {\n return html`<div role=\"row\" part=\"days-row first\">\n ${this.showWeekNumbers\n ? html`<span role=\"columnheader\" part=\"label week-number first\">\n <span part=\"week-number-inner first\"\n >${this.resourceStrings.weekLabel}</span\n >\n </span>`\n : ''}\n ${this.generateWeekHeader().map(\n (weekday) => html`<span\n role=\"columnheader\"\n part=\"label\"\n aria-label=${weekday.ariaLabel}\n >\n <span part=\"label-inner\">${this.titleCase(weekday.label)}</span>\n </span> `\n )}\n </div>`;\n }\n\n private renderDates() {\n return this.dates.map((week, i) => {\n const last = i === this.dates.length - 1;\n\n return html`<div role=\"row\" part=\"days-row\">\n ${this.showWeekNumbers\n ? html`<span\n role=\"rowheader\"\n part=${partNameMap({ 'week-number': true, last })}\n >\n <span part=${partNameMap({ 'week-number-inner': true, last })}\n >${this.getWeekNumber(week[0].date)}</span\n >\n </span>`\n : ''}\n ${week.map((day) => this.renderDateItem(day))}\n </div>`;\n });\n }\n\n private renderDateItem(day: ICalendarDate) {\n const datePartName = partNameMap(this.resolveDayItemPartName(day));\n const dateInnerPartName = datePartName.replace('date', 'date-inner');\n\n return html`<span part=${datePartName}>\n <span\n part=${dateInnerPartName}\n role=\"gridcell\"\n aria-label=${day.date.toLocaleString(this.locale, {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n })}\n aria-selected=${this.isSelected(day)}\n aria-disabled=${this.isDisabled(day.date)}\n tabindex=${this.active && areEqualDates(this.activeDate, day.date)\n ? 0\n : -1}\n @click=${(event: MouseEvent) => this.dateClicked(event, day)}\n @focus=${() => this.changeRangePreview(day.date)}\n @blur=${() => this.clearRangePreview()}\n @keydown=${(event: KeyboardEvent) => this.dateKeyDown(event, day)}\n @mouseenter=${() => this.changeRangePreview(day.date)}\n @mouseleave=${() => this.clearRangePreview()}\n >${this.formattedDate(day.date)}</span\n >\n </span>`;\n }\n\n protected override render() {\n return html`${this.renderWeekHeaders()} ${this.renderDates()}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-days-view': IgcDaysViewComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"days-view.js","sourceRoot":"","sources":["../../../../src/components/calendar/days-view/days-view.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EACL,2BAA2B,GAE5B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACL,wBAAwB,GAEzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,aAAa,EAEb,cAAc,EACd,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,0CAA0C,CAAC;AA2B5E,IAAqB,oBAAoB,GAAzC,MAAqB,oBAAqB,SAAQ,iBAAiB,CAGjE,wBAAwB,CAAC;IA8CzB;QACE,KAAK,EAAE,CAAC;QAnCH,oBAAe,GAAG,KAAK,CAAC;QAIxB,qBAAgB,GAAG,KAAK,CAAC;QAIzB,WAAM,GAAG,KAAK,CAAC;QAQf,kBAAa,GAA4C,QAAQ,CAAC;QAIlE,oBAAe,GAA+B,2BAA2B,CAAC;QAgB/E,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAdS,gBAAgB;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAIS,WAAW;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACvC,CAAC;IASM,eAAe;QACpB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE;YAC3D,OAAO,EAAE,IAAI,CAAC,aAAa;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE;YACzD,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,MAAM;YACb,GAAG,EAAE,SAAS;SACf,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB;QACxB,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAC9C,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAC3B,CAAC,CAAC,CAAC,CAAC;QACL,KAAK,MAAM,GAAG,IAAI,EAAE,EAAE;YACpB,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC7C,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;aACrE,CAAC,CAAC;SACJ;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,gBAAgB;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAC1C,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAC1B,IAAI,CACL,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,GAAW;QAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAEO,aAAa,CAAC,IAAU;QAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAEO,aAAa,CAAC,KAAW;QAC/B,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;IAC9B,CAAC;IAED,IAAY,iBAAiB;QAC3B,OAAO,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC;IACpC,CAAC;IAEO,aAAa,CAAC,IAAmB;QACvC,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACtE,OAAO,KAAK,CAAC;SACd;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEvC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,IAAI,CAAC,gBAAgB,GAAG,QAAQ,EAAE;gBACpC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;aAClC;SACF;QAED,OAAO,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAEO,cAAc,CAAC,IAAmB;QACxC,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACtE,OAAO,KAAK,CAAC;SACd;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEzB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,IAAI,CAAC,gBAAgB,GAAG,SAAS,EAAE;gBACrC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;aACnC;SACF;QAED,OAAO,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEO,UAAU,CAAC,IAAU;QAC3B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,OAAO,KAAK,CAAC;SACd;QAED,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;IAEO,aAAa,CAAC,IAAU,EAAE,GAAS,EAAE,GAAS;QACpD,OAAO,cAAc,CAAC,IAAI,EAAE;YAC1B;gBACE,IAAI,EAAE,aAAa,CAAC,OAAO;gBAC3B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,IAAU;QAC5B,IACE,IAAI,CAAC,SAAS,KAAK,OAAO;YAC1B,CAAC,IAAI,CAAC,MAAM;YACZ,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EACxB;YACA,OAAO,KAAK,CAAC;SACd;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,GAAG,CAAC;QAER,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,OAAO,KAAK,CAAC;aACd;YAED,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC;SAC7B;aAAM;YACL,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC/B;QAED,OAAO,cAAc,CAAC,IAAI,EAAE;YAC1B;gBACE,IAAI,EAAE,aAAa,CAAC,OAAO;gBAC3B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,IAAU;QAC/B,IACE,IAAI,CAAC,SAAS,KAAK,OAAO;YAC1B,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACtB,IAAI,CAAC,gBAAgB,EACrB;YACA,OAAO,cAAc,CAAC,IAAI,EAAE;gBAC1B;oBACE,IAAI,EAAE,aAAa,CAAC,OAAO;oBAC3B,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC;iBACnD;aACF,CAAC,CAAC;SACJ;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,UAAU,CAAC,IAAmB;QACpC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC9B,OAAO,KAAK,CAAC;SACd;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACf,OAAO,KAAK,CAAC;aACd;YACD,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;SAClE;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,OAAO,KAAK,CAAC;SACd;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1D,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;SACtE;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE;YACjC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAE7D,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE;gBAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAClC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CACvD,CAAC;gBACF,OAAO,CAAC,CAAC,WAAW,CAAC;aACtB;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;SACF;aAAM;YACL,OAAO,IAAI,CAAC,aAAa,CACvB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CACpC,CAAC;SACH;IACH,CAAC;IAEO,OAAO,CAAC,GAAkB;QAChC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QAOtB,OAAO,CACL,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE;YAC1C,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,CACnC,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,IAAmB;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/B,OAAO,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;IAChC,CAAC;IAEO,SAAS,CAAC,GAAkB;QAClC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,OAAO,KAAK,CAAC;SACd;QAED,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IAEO,WAAW,CAAC,KAAY,EAAE,GAAkB;QAClD,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAEO,SAAS,CAAC,GAAkB;QAClC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;SACrC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;SACnD;IACH,CAAC;IAEO,UAAU,CAAC,KAAW;;QAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,KAAK,CAAC;SACd;QAED,QAAQ,IAAI,CAAC,SAAS,EAAE;YACtB,KAAK,QAAQ;gBACX,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,EAAE,MAAK,KAAK,CAAC,OAAO,EAAE,EAAE;oBAC7C,OAAO,KAAK,CAAC;iBACd;gBACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACzB,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM;SACT;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,iBAAiB,CAAC,KAAW,EAAE,GAAS;QAC9C,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3B,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,KAAK,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,EAAE;YACtC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,WAAW,CAAC,KAAW;;QAC7B,IAAI,KAAW,CAAC;QAChB,IAAI,GAAS,CAAC;QACd,IAAI,aAAa,GAAW,CAAC,MAAA,IAAI,CAAC,MAAM,mCAAI,EAAE,CAAW,CAAC;QAE1D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAE9B,aAAa,GAAG,CAAC,KAAK,CAAC,CAAC;SACzB;aAAM;YACL,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE;gBAClD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBACjB,OAAO;aACR;YAED,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAEpE,KAAK,GAAG,aAAa,CAAC,KAAK,EAAG,CAAC;YAC/B,GAAG,GAAG,aAAa,CAAC,GAAG,EAAG,CAAC;YAC3B,aAAa,GAAG,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;SAChE;QAGD,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjE,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;IACnC,CAAC;IAEO,YAAY,CAAC,KAAW;QAC9B,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEO,cAAc,CAAC,KAAW;;QAChC,IAAI,aAAa,GAAW,CAAC,MAAA,IAAI,CAAC,MAAM,mCAAI,EAAE,CAAW,CAAC;QAC1D,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,IACE,aAAa,CAAC,KAAK,CACjB,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,aAAa,CAAC,OAAO,EAAE,CAC3D,EACD;YACA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAClC;aAAM;YACL,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,aAAa,CAAC,OAAO,EAAE,CAC3D,CAAC;SACH;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SACpD;QAED,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;IACnC,CAAC;IAEO,gBAAgB,CAAC,GAAkB;QACzC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;IAEO,WAAW,CAAC,KAAoB,EAAE,GAAkB;QAC1D,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;YAC9C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SACrB;IACH,CAAC;IAEO,kBAAkB,CAAC,IAAU;QACnC,IACE,IAAI,CAAC,SAAS,KAAK,OAAO;YAC1B,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YACxB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAC9B;YACA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SAChC;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;SACrC;IACH,CAAC;IAEO,mBAAmB,CAAC,KAAY;QACtC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;IAEO,sBAAsB,CAAC,GAAkB;QAC/C,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC;QACtD,MAAM,QAAQ,GACZ,CAAC,IAAI,CAAC,eAAe,IAAI,GAAG,CAAC,WAAW,CAAC;YACzC,CAAC,IAAI,CAAC,gBAAgB,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO;YACL,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;YAC7B,QAAQ,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAC7C,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAC1B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YAC5B,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;YAC/D,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YAC5B,QAAQ,EAAE,QAAQ,IAAI,UAAU;YAChC,MAAM,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO;YAClC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;SACvC,CAAC;IACJ,CAAC;IAEO,iBAAiB;QACvB,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,eAAe;YACpB,CAAC,CAAC,IAAI,CAAA;;iBAEG,IAAI,CAAC,eAAe,CAAC,SAAS;;kBAE7B;YACV,CAAC,CAAC,EAAE;QACJ,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAC7B,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAA;;;uBAGF,OAAO,CAAC,SAAS;;qCAEH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;iBACjD,CACV;WACI,CAAC;IACV,CAAC;IAEO,WAAW;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YAChC,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAEzC,OAAO,IAAI,CAAA;UACP,IAAI,CAAC,eAAe;gBACpB,CAAC,CAAC,IAAI,CAAA;;qBAEK,WAAW,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;2BAEpC,WAAW,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;mBACxD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;;oBAE/B;gBACV,CAAC,CAAC,EAAE;UACJ,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;aACxC,CAAC;QACV,CAAC,CAAC,CAAC;IACL,CAAC;IAES,iBAAiB,CAAC,KAAoB;QAE9C,IACE,IAAI,CAAC,gBAAgB;YACrB,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,EAChD;YACA,OAAQ,IAAI,CAAC,cAAsB,CAAC,WAAW,CAC7C,IAAI,CAAC,MAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAClB,IAAI,CAAC,gBAAgB,CACtB,CAAC;SACH;QAGD,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YAC3D,OAAQ,IAAI,CAAC,cAAsB,CAAC,WAAW,CAC7C,IAAI,CAAC,MAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAClB,IAAI,CAAC,MAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CACpB,CAAC;SACH;QAGD,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAEO,cAAc,CAAC,GAAkB;QACvC,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAErE,OAAO,IAAI,CAAA,cAAc,YAAY;;eAE1B,iBAAiB;;qBAEX,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;wBACxB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;wBACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;mBAC9B,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC;YAChE,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,CAAC;iBACG,CAAC,KAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC;iBACnD,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;gBACxC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;mBAC3B,CAAC,KAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC;sBACnD,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;sBACvC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;WACzC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;;YAE3B,CAAC;IACX,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;IACjE,CAAC;CACF,CAAA;AA9hBwB,4BAAO,GAAG,eAAgB,CAAA;AACnC,2BAAM,GAAG,MAAO,CAAA;AAM9B;IADC,KAAK,CAAC,gBAAgB,CAAC;uDACQ;AAIhC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;6DAC7B;AAI/B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;8DAC7B;AAIhC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACN;AAItB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;8DACA;AAI/B;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;2DAC8B;AAIzE;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;6DACkD;AAIjF;IAFC,KAAK,CAAC,eAAe,CAAC;IACtB,KAAK,CAAC,QAAQ,CAAC;4DAGf;AAID;IAFC,KAAK,CAAC,WAAW,CAAC;IAClB,KAAK,CAAC,YAAY,CAAC;uDAGnB;AA/CkB,oBAAoB;IANxC,uBAAuB;IACvB,oBAAoB;IACpB,MAAM,CAAC;QACN,SAAS;QACT,MAAM;KACP,CAAC;GACmB,oBAAoB,CAkiBxC;eAliBoB,oBAAoB","sourcesContent":["import { html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { themes } from '../../../theming/theming-decorator.js';\nimport { blazorIndirectRender } from '../../common/decorators/blazorIndirectRender.js';\nimport { blazorSuppressComponent } from '../../common/decorators/blazorSuppressComponent.js';\nimport { watch } from '../../common/decorators/watch.js';\nimport {\n IgcCalendarResourceStringEN,\n IgcCalendarResourceStrings,\n} from '../../common/i18n/calendar.resources.js';\nimport { Constructor } from '../../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../../common/mixins/event-emitter.js';\nimport { partNameMap } from '../../common/util.js';\nimport {\n IgcCalendarBaseComponent,\n IgcCalendarBaseEventMap,\n} from '../common/calendar-base.js';\nimport {\n DateRangeType,\n ICalendarDate,\n isDateInRanges,\n TimeDeltaInterval,\n} from '../common/calendar.model.js';\nimport { areEqualDates, getDateOnly, isEqual } from '../common/utils.js';\nimport { styles as bootstrap } from '../themes/bootstrap/days-view.bootstrap.css.js';\nimport { styles } from '../themes/days-view.base.css.js';\nimport { styles as fluent } from '../themes/fluent/days-view.fluent.css.js';\n\nexport interface IgcDaysViewEventMap extends IgcCalendarBaseEventMap {\n igcActiveDateChange: CustomEvent<ICalendarDate>;\n igcRangePreviewDateChange: CustomEvent<Date>;\n}\n\n/**\n * Instantiate a days view as a separate component in the calendar.\n *\n * @element igc-days-view\n *\n * @fires igcActiveDateChange - Emitted when the active date changes.\n * @fires igcRangePreviewDateChange - Emitted when the range preview date changes.\n *\n * @csspart days-row - The days row container.\n * @csspart label - The label container.\n * @csspart label-inner - The inner label container.\n * @csspart week-number - The week number container.\n * @csspart week-number-inner - The inner week number container.\n */\n@blazorSuppressComponent\n@blazorIndirectRender\n@themes({\n bootstrap,\n fluent,\n})\nexport default class IgcDaysViewComponent extends EventEmitterMixin<\n IgcDaysViewEventMap,\n Constructor<IgcCalendarBaseComponent>\n>(IgcCalendarBaseComponent) {\n public static readonly tagName = 'igc-days-view';\n public static styles = styles;\n private labelFormatter!: Intl.DateTimeFormat;\n private formatterWeekday!: Intl.DateTimeFormat;\n private dates!: ICalendarDate[][];\n\n @query('[tabindex=\"0\"]')\n private activeDay!: HTMLElement;\n\n /** Controls the visibility of the leading dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-leading-days' })\n public hideLeadingDays = false;\n\n /** Controls the visibility of the trailing dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-trailing-days' })\n public hideTrailingDays = false;\n\n /** Gets/sets the active state of the days view. */\n @property({ type: Boolean })\n public active = false;\n\n /** The range preview date. */\n @property({ attribute: false })\n public rangePreviewDate?: Date;\n\n /** The format of the days. Defaults to narrow. */\n @property({ attribute: 'week-day-format' })\n public weekDayFormat: 'long' | 'short' | 'narrow' | undefined = 'narrow';\n\n /** The resource strings. */\n @property({ attribute: false })\n public resourceStrings: IgcCalendarResourceStrings = IgcCalendarResourceStringEN;\n\n @watch('weekDayFormat')\n @watch('locale')\n protected formattersChange() {\n this.initFormatters();\n }\n\n @watch('weekStart')\n @watch('activeDate')\n protected datesChange() {\n this.dates = this.getCalendarMonth();\n }\n\n constructor() {\n super();\n this.setAttribute('role', 'grid');\n this.initFormatters();\n }\n\n /** Focuses the active date. */\n public focusActiveDate() {\n this.activeDay.focus();\n }\n\n private initFormatters() {\n this.formatterWeekday = new Intl.DateTimeFormat(this.locale, {\n weekday: this.weekDayFormat,\n });\n this.labelFormatter = new Intl.DateTimeFormat(this.locale, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n });\n }\n\n private generateWeekHeader(): { label: string; ariaLabel: string }[] {\n const dayNames = [];\n const rv = this.calendarModel.monthdatescalendar(\n this.activeDate.getFullYear(),\n this.activeDate.getMonth()\n )[0];\n for (const day of rv) {\n dayNames.push({\n label: this.formatterWeekday.format(day.date),\n ariaLabel: day.date.toLocaleString(this.locale, { weekday: 'long' }),\n });\n }\n\n return dayNames;\n }\n\n private getCalendarMonth(): ICalendarDate[][] {\n return this.calendarModel.monthdatescalendar(\n this.activeDate.getFullYear(),\n this.activeDate.getMonth(),\n true\n );\n }\n\n private titleCase(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n private getWeekNumber(date: Date): number {\n return this.calendarModel.getWeekNumber(date);\n }\n\n private formattedDate(value: Date): string {\n return `${value.getDate()}`;\n }\n\n private get isSingleSelection(): boolean {\n return this.selection !== 'range';\n }\n\n private isLastInRange(date: ICalendarDate): boolean {\n if (this.isSingleSelection || !this.values || this.values.length === 0) {\n return false;\n }\n\n const dates = this.values;\n let lastDate = dates[dates.length - 1];\n\n if (this.rangePreviewDate) {\n if (this.rangePreviewDate > lastDate) {\n lastDate = this.rangePreviewDate;\n }\n }\n\n return isEqual(lastDate, date.date);\n }\n\n private isFirstInRange(date: ICalendarDate): boolean {\n if (this.isSingleSelection || !this.values || this.values.length === 0) {\n return false;\n }\n\n const dates = this.values;\n let firstDate = dates[0];\n\n if (this.rangePreviewDate) {\n if (this.rangePreviewDate < firstDate) {\n firstDate = this.rangePreviewDate;\n }\n }\n\n return isEqual(firstDate, date.date);\n }\n\n private isDisabled(date: Date): boolean {\n if (!this.disabledDates) {\n return false;\n }\n\n return isDateInRanges(date, this.disabledDates);\n }\n\n private isWithinRange(date: Date, min: Date, max: Date): boolean {\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [min, max],\n },\n ]);\n }\n\n private isRangeDate(date: Date) {\n if (\n this.selection !== 'range' ||\n !this.values ||\n this.values.length === 0\n ) {\n return false;\n }\n\n const dates = this.values;\n const min = dates[0];\n let max;\n\n if (dates.length === 1) {\n if (!this.rangePreviewDate) {\n return false;\n }\n\n max = this.rangePreviewDate;\n } else {\n max = dates[dates.length - 1];\n }\n\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [min, max],\n },\n ]);\n }\n\n private isRangePreview(date: Date) {\n if (\n this.selection === 'range' &&\n this.values &&\n this.values.length > 0 &&\n this.rangePreviewDate\n ) {\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [this.values[0], this.rangePreviewDate],\n },\n ]);\n }\n\n return false;\n }\n\n private isSelected(date: ICalendarDate) {\n if (this.isDisabled(date.date)) {\n return false;\n }\n\n if (this.selection === 'single') {\n if (!this.value) {\n return false;\n }\n return getDateOnly(this.value).getTime() === date.date.getTime();\n }\n\n if (!this.values || this.values.length === 0) {\n return false;\n }\n\n if (this.selection === 'range' && this.values.length === 1) {\n return getDateOnly(this.values[0]).getTime() === date.date.getTime();\n }\n\n if (this.selection === 'multiple') {\n const start = getDateOnly(this.values[0]);\n const end = getDateOnly(this.values[this.values.length - 1]);\n\n if (this.isWithinRange(date.date, start, end)) {\n const currentDate = this.values.find(\n (element) => element.getTime() === date.date.getTime()\n );\n return !!currentDate;\n } else {\n return false;\n }\n } else {\n return this.isWithinRange(\n date.date,\n this.values[0],\n this.values[this.values.length - 1]\n );\n }\n }\n\n private isToday(day: ICalendarDate): boolean {\n const today = new Date(Date.now());\n const date = day.date;\n\n // TODO\n // if (date.getDate() === today.getDate()) {\n // this.nativeElement.setAttribute('aria-current', 'date');\n // }\n\n return (\n date.getFullYear() === today.getFullYear() &&\n date.getMonth() === today.getMonth() &&\n date.getDate() === today.getDate()\n );\n }\n\n private isWeekend(date: ICalendarDate): boolean {\n const day = date.date.getDay();\n return day === 0 || day === 6;\n }\n\n private isSpecial(day: ICalendarDate): boolean {\n if (this.specialDates === null) {\n return false;\n }\n\n return isDateInRanges(day.date, this.specialDates);\n }\n\n private dateClicked(event: Event, day: ICalendarDate) {\n event.stopPropagation();\n\n this.selectDay(day);\n\n this.changeActiveDate(day);\n }\n\n private selectDay(day: ICalendarDate) {\n if (this.rangePreviewDate) {\n this.setRangePreviewDate(undefined);\n }\n\n const result = this.selectDate(day.date);\n\n if (result) {\n this.emitEvent('igcChange', { detail: day.date });\n }\n }\n\n private selectDate(value: Date) {\n if (this.isDisabled(value)) {\n return false;\n }\n\n switch (this.selection) {\n case 'single':\n if (this.value?.getTime() === value.getTime()) {\n return false;\n }\n this.selectSingle(value);\n break;\n case 'multiple':\n this.selectMultiple(value);\n break;\n case 'range':\n this.selectRange(value);\n break;\n }\n\n return true;\n }\n\n private generateDateRange(start: Date, end: Date): Date[] {\n const result = [];\n start = getDateOnly(start);\n end = getDateOnly(end);\n while (start.getTime() < end.getTime()) {\n start = this.calendarModel.timedelta(start, TimeDeltaInterval.Day, 1);\n result.push(start);\n }\n\n return result;\n }\n\n private selectRange(value: Date) {\n let start: Date;\n let end: Date;\n let selectedDates: Date[] = (this.values ?? []) as Date[];\n\n if (selectedDates.length !== 1) {\n // start new range\n selectedDates = [value];\n } else {\n if (selectedDates[0].getTime() === value.getTime()) {\n this.values = [];\n return;\n }\n\n selectedDates.push(value);\n selectedDates.sort((a: Date, b: Date) => a.valueOf() - b.valueOf());\n\n start = selectedDates.shift()!;\n end = selectedDates.pop()!;\n selectedDates = [start, ...this.generateDateRange(start, end)];\n }\n\n // exclude disabled dates\n selectedDates = selectedDates.filter((d) => !this.isDisabled(d));\n\n this.values = [...selectedDates];\n }\n\n private selectSingle(value: Date) {\n this.value = getDateOnly(value);\n }\n\n private selectMultiple(value: Date) {\n let selectedDates: Date[] = (this.values ?? []) as Date[];\n const valueDateOnly = getDateOnly(value);\n const newSelection = [];\n\n if (\n selectedDates.every(\n (date: Date) => date.getTime() !== valueDateOnly.getTime()\n )\n ) {\n newSelection.push(valueDateOnly);\n } else {\n selectedDates = selectedDates.filter(\n (date: Date) => date.getTime() !== valueDateOnly.getTime()\n );\n }\n\n if (newSelection.length > 0) {\n selectedDates = selectedDates.concat(newSelection);\n }\n\n selectedDates = selectedDates.filter((d) => !this.isDisabled(d));\n selectedDates.sort((a: Date, b: Date) => a.valueOf() - b.valueOf());\n this.values = [...selectedDates];\n }\n\n private changeActiveDate(day: ICalendarDate) {\n this.activeDate = day.date;\n this.emitEvent('igcActiveDateChange', { detail: day });\n }\n\n private dateKeyDown(event: KeyboardEvent, day: ICalendarDate) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.selectDay(day);\n }\n }\n\n private changeRangePreview(date: Date) {\n if (\n this.selection === 'range' &&\n this.values &&\n this.values.length === 1 &&\n !isEqual(this.values[0], date)\n ) {\n this.setRangePreviewDate(date);\n }\n }\n\n private clearRangePreview() {\n if (this.rangePreviewDate) {\n this.setRangePreviewDate(undefined);\n }\n }\n\n private setRangePreviewDate(value?: Date) {\n this.rangePreviewDate = value;\n this.emitEvent('igcRangePreviewDateChange', { detail: value });\n }\n\n private resolveDayItemPartName(day: ICalendarDate) {\n const isInactive = day.isNextMonth || day.isPrevMonth;\n const isHidden =\n (this.hideLeadingDays && day.isPrevMonth) ||\n (this.hideTrailingDays && day.isNextMonth);\n const isDisabled = this.isDisabled(day.date);\n\n return {\n date: true,\n first: this.isFirstInRange(day),\n last: this.isLastInRange(day),\n selected: !isDisabled && this.isSelected(day),\n inactive: isInactive,\n hidden: isHidden,\n current: this.isToday(day),\n weekend: this.isWeekend(day),\n range: this.selection === 'range' && this.isRangeDate(day.date),\n special: this.isSpecial(day),\n disabled: isHidden || isDisabled,\n single: this.selection !== 'range',\n preview: this.isRangePreview(day.date),\n };\n }\n\n private renderWeekHeaders() {\n return html`<div role=\"row\" part=\"days-row first\">\n ${this.showWeekNumbers\n ? html`<span role=\"columnheader\" part=\"label week-number first\">\n <span part=\"week-number-inner first\"\n >${this.resourceStrings.weekLabel}</span\n >\n </span>`\n : ''}\n ${this.generateWeekHeader().map(\n (weekday) => html`<span\n role=\"columnheader\"\n part=\"label\"\n aria-label=${weekday.ariaLabel}\n >\n <span part=\"label-inner\">${this.titleCase(weekday.label)}</span>\n </span> `\n )}\n </div>`;\n }\n\n private renderDates() {\n return this.dates.map((week, i) => {\n const last = i === this.dates.length - 1;\n\n return html`<div role=\"row\" part=\"days-row\">\n ${this.showWeekNumbers\n ? html`<span\n role=\"rowheader\"\n part=${partNameMap({ 'week-number': true, last })}\n >\n <span part=${partNameMap({ 'week-number-inner': true, last })}\n >${this.getWeekNumber(week[0].date)}</span\n >\n </span>`\n : ''}\n ${week.map((day) => this.renderDateItem(day))}\n </div>`;\n });\n }\n\n protected dayLabelFormatter(value: ICalendarDate) {\n // Range selection in progress\n if (\n this.rangePreviewDate &&\n areEqualDates(this.rangePreviewDate, value.date)\n ) {\n return (this.labelFormatter as any).formatRange(\n this.values!.at(0),\n this.rangePreviewDate\n );\n }\n\n // Range selection finished\n if (this.isFirstInRange(value) || this.isLastInRange(value)) {\n return (this.labelFormatter as any).formatRange(\n this.values!.at(0),\n this.values!.at(-1)\n );\n }\n\n // Default\n return this.labelFormatter.format(value.date);\n }\n\n private renderDateItem(day: ICalendarDate) {\n const datePartName = partNameMap(this.resolveDayItemPartName(day));\n const dateInnerPartName = datePartName.replace('date', 'date-inner');\n\n return html`<span part=${datePartName}>\n <span\n part=${dateInnerPartName}\n role=\"gridcell\"\n aria-label=${this.dayLabelFormatter(day)}\n aria-selected=${this.isSelected(day)}\n aria-disabled=${this.isDisabled(day.date)}\n tabindex=${this.active && areEqualDates(this.activeDate, day.date)\n ? 0\n : -1}\n @click=${(event: MouseEvent) => this.dateClicked(event, day)}\n @focus=${() => this.changeRangePreview(day.date)}\n @blur=${() => this.clearRangePreview()}\n @keydown=${(event: KeyboardEvent) => this.dateKeyDown(event, day)}\n @mouseenter=${() => this.changeRangePreview(day.date)}\n @mouseleave=${() => this.clearRangePreview()}\n >${this.formattedDate(day.date)}</span\n >\n </span>`;\n }\n\n protected override render() {\n return html`${this.renderWeekHeaders()} ${this.renderDates()}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-days-view': IgcDaysViewComponent;\n }\n}\n"]}
@@ -1,6 +1,40 @@
1
1
  import { css } from 'lit';
2
2
  export const styles = css `/* stylelint-disable max-line-length */
3
+ :host {
4
+ --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
5
+ --is-medium:
6
+ min(
7
+ clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
8
+ clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
9
+ );
10
+ --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
11
+ position: relative;
12
+ -webkit-box-sizing: border-box;
13
+ box-sizing: border-box;
14
+ scrollbar-width: var(--ig-scrollbar-size);
15
+ scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);
16
+ }
17
+ :host *,
18
+ :host *::before,
19
+ :host *::after {
20
+ -webkit-box-sizing: border-box;
21
+ box-sizing: border-box;
22
+ }
23
+ :host ::-webkit-scrollbar {
24
+ width: var(--ig-scrollbar-size);
25
+ height: var(--ig-scrollbar-size);
26
+ background: var(--ig-scrollbar-track-background);
27
+ }
28
+ :host ::-webkit-scrollbar-thumb {
29
+ background: var(--ig-scrollbar-thumb-background);
30
+ }
31
+
32
+ [hidden] {
33
+ display: none !important;
34
+ }
35
+
3
36
  :host(igc-calendar) {
37
+ --size: max(var(--is-large, 1) * 2rem, var(--is-medium, 1) * 1.75rem, var(--is-small, 1) * 1.5rem);
4
38
  display: -webkit-box;
5
39
  display: -ms-flexbox;
6
40
  display: flex;
@@ -15,107 +49,50 @@ export const styles = css `/* stylelint-disable max-line-length */
15
49
  :host(igc-calendar) > * {
16
50
  font-family: var(--ig-font-family);
17
51
  }
18
-
19
- :host(igc-calendar[size=large]) igc-days-view::part(date),
20
- :host(igc-calendar[size=large]) igc-days-view::part(week-number),
21
- :host(igc-calendar[size=large]) igc-days-view::part(label),
22
- :host(igc-calendar[size=large]) igc-days-view::part(days-row) {
23
- height: 2rem;
24
- }
25
- :host(igc-calendar[size=large]) igc-days-view::part(week-number-inner),
26
- :host(igc-calendar[size=large]) igc-days-view::part(date-inner) {
27
- width: calc(2rem - 0.125rem);
28
- min-width: calc(2rem - 0.125rem);
29
- height: 100%;
30
- }
31
- :host(igc-calendar[size=large]) igc-days-view::part(label) {
32
- min-width: 2rem;
33
- height: 2rem;
34
- }
35
- :host(igc-calendar[size=large]) igc-days-view::part(date-inner) {
36
- border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 1.125rem), 1.125rem);
52
+ :host(igc-calendar) igc-days-view::part(date),
53
+ :host(igc-calendar) igc-days-view::part(week-number),
54
+ :host(igc-calendar) igc-days-view::part(label),
55
+ :host(igc-calendar) igc-days-view::part(days-row) {
56
+ height: var(--size);
37
57
  }
38
- :host(igc-calendar[size=large]) igc-months-view {
39
- grid-template-rows: repeat(4, minmax(2rem, 1fr));
40
- }
41
- :host(igc-calendar[size=large]) igc-months-view::part(month-inner) {
42
- height: 2rem;
43
- border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 1.125rem), 1.125rem);
44
- }
45
- :host(igc-calendar[size=large]) igc-years-view {
46
- grid-template-rows: repeat(5, minmax(2rem, 1fr));
47
- }
48
- :host(igc-calendar[size=large]) igc-years-view::part(year-inner) {
49
- height: 2rem;
50
- border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 1.125rem), 1.125rem);
51
- }
52
-
53
- :host(igc-calendar[size=medium]) igc-days-view::part(date),
54
- :host(igc-calendar[size=medium]) igc-days-view::part(week-number),
55
- :host(igc-calendar[size=medium]) igc-days-view::part(label),
56
- :host(igc-calendar[size=medium]) igc-days-view::part(days-row) {
57
- height: 1.75rem;
58
- }
59
- :host(igc-calendar[size=medium]) igc-days-view::part(week-number-inner),
60
- :host(igc-calendar[size=medium]) igc-days-view::part(date-inner) {
61
- width: calc(1.75rem - 0.125rem);
62
- min-width: calc(1.75rem - 0.125rem);
58
+ :host(igc-calendar) igc-days-view::part(week-number-inner),
59
+ :host(igc-calendar) igc-days-view::part(date-inner) {
60
+ width: calc(var(--size) - 0.125rem);
61
+ min-width: calc(var(--size) - 0.125rem);
63
62
  height: 100%;
64
63
  }
65
- :host(igc-calendar[size=medium]) igc-days-view::part(label) {
66
- min-width: 1.75rem;
67
- height: 1.75rem;
64
+ :host(igc-calendar) igc-days-view::part(label) {
65
+ min-width: var(--size);
66
+ height: var(--size);
68
67
  }
69
- :host(igc-calendar[size=medium]) igc-days-view::part(date-inner) {
70
- border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 1rem), 1rem);
68
+ :host(igc-calendar) igc-days-view::part(date-inner) {
69
+ border-radius: clamp(0rem, calc(var(--ig-radius-factor) * calc(calc(var(--size) / 2) + 0.125rem)), calc(calc(var(--size) / 2) + 0.125rem));
71
70
  }
72
- :host(igc-calendar[size=medium]) igc-months-view {
73
- grid-template-rows: repeat(4, minmax(1.75rem, 1fr));
71
+ :host(igc-calendar) igc-months-view {
72
+ grid-template-rows: repeat(4, minmax(var(--size), 1fr));
74
73
  }
75
- :host(igc-calendar[size=medium]) igc-months-view::part(month-inner) {
76
- height: 1.75rem;
77
- border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 1rem), 1rem);
74
+ :host(igc-calendar) igc-months-view::part(month-inner) {
75
+ height: var(--size);
76
+ border-radius: clamp(0rem, calc(var(--ig-radius-factor) * calc(calc(var(--size) / 2) + 0.125rem)), calc(calc(var(--size) / 2) + 0.125rem));
78
77
  }
79
- :host(igc-calendar[size=medium]) igc-years-view {
80
- grid-template-rows: repeat(5, minmax(1.75rem, 1fr));
78
+ :host(igc-calendar) igc-years-view {
79
+ grid-template-rows: repeat(5, minmax(var(--size), 1fr));
81
80
  }
82
- :host(igc-calendar[size=medium]) igc-years-view::part(year-inner) {
83
- height: 1.75rem;
84
- border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 1rem), 1rem);
81
+ :host(igc-calendar) igc-years-view::part(year-inner) {
82
+ height: var(--size);
83
+ border-radius: clamp(0rem, calc(var(--ig-radius-factor) * calc(calc(var(--size) / 2) + 0.125rem)), calc(calc(var(--size) / 2) + 0.125rem));
85
84
  }
86
85
 
87
- :host(igc-calendar[size=small]) igc-days-view::part(date),
88
- :host(igc-calendar[size=small]) igc-days-view::part(week-number),
89
- :host(igc-calendar[size=small]) igc-days-view::part(label),
90
- :host(igc-calendar[size=small]) igc-days-view::part(days-row) {
91
- height: 1.5rem;
92
- }
93
- :host(igc-calendar[size=small]) igc-days-view::part(week-number-inner),
94
- :host(igc-calendar[size=small]) igc-days-view::part(date-inner) {
95
- width: calc(1.5rem - 0.125rem);
96
- min-width: calc(1.5rem - 0.125rem);
97
- height: 100%;
86
+ :host(igc-calendar[size=large]) {
87
+ --component-size: var(--ig-size, var(--ig-size-large));
98
88
  }
99
- :host(igc-calendar[size=small]) igc-days-view::part(label) {
100
- min-width: 1.5rem;
101
- height: 1.5rem;
102
- }
103
- :host(igc-calendar[size=small]) igc-days-view::part(date-inner) {
104
- border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.875rem), 0.875rem);
105
- }
106
- :host(igc-calendar[size=small]) igc-months-view {
107
- grid-template-rows: repeat(4, minmax(1.5rem, 1fr));
108
- }
109
- :host(igc-calendar[size=small]) igc-months-view::part(month-inner) {
110
- height: 1.5rem;
111
- border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.875rem), 0.875rem);
112
- }
113
- :host(igc-calendar[size=small]) igc-years-view {
114
- grid-template-rows: repeat(6, minmax(1.5rem, 1fr));
89
+
90
+ :host(igc-calendar[size=medium]) {
91
+ --component-size: var(--ig-size, var(--ig-size-medium));
115
92
  }
116
- :host(igc-calendar[size=small]) igc-years-view::part(year-inner) {
117
- height: 1.5rem;
118
- border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.875rem), 0.875rem);
93
+
94
+ :host(igc-calendar[size=small]) {
95
+ --component-size: var(--ig-size, var(--ig-size-small));
119
96
  }
120
97
 
121
98
  [part=navigation] {
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.base.css.js","sourceRoot":"","sources":["../../../../src/components/calendar/themes/calendar.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqRvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`/* stylelint-disable max-line-length */\n:host(igc-calendar) {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n font-family: var(--ig-font-family);\n background: hsla(var(--ig-surface-500), var(--ig-surface-a));\n color: var(--ig-surface-500-contrast);\n}\n:host(igc-calendar) > * {\n font-family: var(--ig-font-family);\n}\n\n:host(igc-calendar[size=large]) igc-days-view::part(date),\n:host(igc-calendar[size=large]) igc-days-view::part(week-number),\n:host(igc-calendar[size=large]) igc-days-view::part(label),\n:host(igc-calendar[size=large]) igc-days-view::part(days-row) {\n height: 2rem;\n}\n:host(igc-calendar[size=large]) igc-days-view::part(week-number-inner),\n:host(igc-calendar[size=large]) igc-days-view::part(date-inner) {\n width: calc(2rem - 0.125rem);\n min-width: calc(2rem - 0.125rem);\n height: 100%;\n}\n:host(igc-calendar[size=large]) igc-days-view::part(label) {\n min-width: 2rem;\n height: 2rem;\n}\n:host(igc-calendar[size=large]) igc-days-view::part(date-inner) {\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 1.125rem), 1.125rem);\n}\n:host(igc-calendar[size=large]) igc-months-view {\n grid-template-rows: repeat(4, minmax(2rem, 1fr));\n}\n:host(igc-calendar[size=large]) igc-months-view::part(month-inner) {\n height: 2rem;\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 1.125rem), 1.125rem);\n}\n:host(igc-calendar[size=large]) igc-years-view {\n grid-template-rows: repeat(5, minmax(2rem, 1fr));\n}\n:host(igc-calendar[size=large]) igc-years-view::part(year-inner) {\n height: 2rem;\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 1.125rem), 1.125rem);\n}\n\n:host(igc-calendar[size=medium]) igc-days-view::part(date),\n:host(igc-calendar[size=medium]) igc-days-view::part(week-number),\n:host(igc-calendar[size=medium]) igc-days-view::part(label),\n:host(igc-calendar[size=medium]) igc-days-view::part(days-row) {\n height: 1.75rem;\n}\n:host(igc-calendar[size=medium]) igc-days-view::part(week-number-inner),\n:host(igc-calendar[size=medium]) igc-days-view::part(date-inner) {\n width: calc(1.75rem - 0.125rem);\n min-width: calc(1.75rem - 0.125rem);\n height: 100%;\n}\n:host(igc-calendar[size=medium]) igc-days-view::part(label) {\n min-width: 1.75rem;\n height: 1.75rem;\n}\n:host(igc-calendar[size=medium]) igc-days-view::part(date-inner) {\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 1rem), 1rem);\n}\n:host(igc-calendar[size=medium]) igc-months-view {\n grid-template-rows: repeat(4, minmax(1.75rem, 1fr));\n}\n:host(igc-calendar[size=medium]) igc-months-view::part(month-inner) {\n height: 1.75rem;\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 1rem), 1rem);\n}\n:host(igc-calendar[size=medium]) igc-years-view {\n grid-template-rows: repeat(5, minmax(1.75rem, 1fr));\n}\n:host(igc-calendar[size=medium]) igc-years-view::part(year-inner) {\n height: 1.75rem;\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 1rem), 1rem);\n}\n\n:host(igc-calendar[size=small]) igc-days-view::part(date),\n:host(igc-calendar[size=small]) igc-days-view::part(week-number),\n:host(igc-calendar[size=small]) igc-days-view::part(label),\n:host(igc-calendar[size=small]) igc-days-view::part(days-row) {\n height: 1.5rem;\n}\n:host(igc-calendar[size=small]) igc-days-view::part(week-number-inner),\n:host(igc-calendar[size=small]) igc-days-view::part(date-inner) {\n width: calc(1.5rem - 0.125rem);\n min-width: calc(1.5rem - 0.125rem);\n height: 100%;\n}\n:host(igc-calendar[size=small]) igc-days-view::part(label) {\n min-width: 1.5rem;\n height: 1.5rem;\n}\n:host(igc-calendar[size=small]) igc-days-view::part(date-inner) {\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.875rem), 0.875rem);\n}\n:host(igc-calendar[size=small]) igc-months-view {\n grid-template-rows: repeat(4, minmax(1.5rem, 1fr));\n}\n:host(igc-calendar[size=small]) igc-months-view::part(month-inner) {\n height: 1.5rem;\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.875rem), 0.875rem);\n}\n:host(igc-calendar[size=small]) igc-years-view {\n grid-template-rows: repeat(6, minmax(1.5rem, 1fr));\n}\n:host(igc-calendar[size=small]) igc-years-view::part(year-inner) {\n height: 1.5rem;\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.875rem), 0.875rem);\n}\n\n[part=navigation] {\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n height: 1.25rem;\n padding: 1.5625rem 1.125rem;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n[part=months-navigation],\n[part=years-navigation],\n[part~=navigation-button] {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background: transparent;\n border: none;\n color: hsla(var(--ig-gray-800), var(--ig-gray-a));\n font-size: 1rem;\n padding: 0;\n -webkit-transition: color 150ms ease-in-out;\n -o-transition: color 150ms ease-in-out;\n transition: color 150ms ease-in-out;\n}\n[part=months-navigation]:hover, [part=months-navigation]:focus,\n[part=years-navigation]:hover,\n[part=years-navigation]:focus,\n[part~=navigation-button]:hover,\n[part~=navigation-button]:focus {\n color: hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n cursor: pointer;\n}\n[part=months-navigation]:focus,\n[part=years-navigation]:focus,\n[part~=navigation-button]:focus {\n outline: none;\n}\n\n[part~=navigation-button] {\n -webkit-margin-start: 1.5rem;\n margin-inline-start: 1.5rem;\n}\n[part~=navigation-button][part~=vertical] {\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n[part=navigation-buttons] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n:host(igc-calendar[header-orientation=vertical]) {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n:host(igc-calendar[header-orientation=vertical]) [part=header] {\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n width: 8.75rem;\n}\n:host(igc-calendar[header-orientation=vertical]) [part=header-date] {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n[part=days-view-container] {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n}\n\n[part=header] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 1rem;\n background: hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n color: var(--ig-secondary-600-contrast);\n}\n\n[part=header-date],\n[part=header-title] {\n margin: 0;\n}\n\n[part=header-date] {\n font-family: var(--ig-h4-font-family);\n font-size: var(--ig-h4-font-size);\n font-weight: var(--ig-h4-font-weight);\n font-style: var(--ig-h4-font-style);\n line-height: var(--ig-h4-line-height);\n letter-spacing: var(--ig-h4-letter-spacing);\n text-transform: var(--ig-h4-text-transform);\n margin-top: var(--ig-h4-margin-top);\n margin-bottom: var(--ig-h4-margin-bottom);\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n white-space: pre-wrap;\n}\n\n[part=header-title] {\n font-family: var(--ig-overline-font-family);\n font-size: var(--ig-overline-font-size);\n font-weight: var(--ig-overline-font-weight);\n font-style: var(--ig-overline-font-style);\n line-height: var(--ig-overline-line-height);\n letter-spacing: var(--ig-overline-letter-spacing);\n text-transform: var(--ig-overline-text-transform);\n margin-top: var(--ig-overline-margin-top);\n margin-bottom: var(--ig-overline-margin-bottom);\n}\n\n.aria-off-screen {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n border: none;\n clip: rect(0, 0, 0, 0);\n outline: 0;\n pointer-events: none;\n overflow: hidden;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}`;\n"]}
1
+ {"version":3,"file":"calendar.base.css.js","sourceRoot":"","sources":["../../../../src/components/calendar/themes/calendar.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8PvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`/* stylelint-disable max-line-length */\n:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium:\n min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--ig-scrollbar-size);\n scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--ig-scrollbar-size);\n height: var(--ig-scrollbar-size);\n background: var(--ig-scrollbar-track-background);\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--ig-scrollbar-thumb-background);\n}\n\n[hidden] {\n display: none !important;\n}\n\n:host(igc-calendar) {\n --size: max(var(--is-large, 1) * 2rem, var(--is-medium, 1) * 1.75rem, var(--is-small, 1) * 1.5rem);\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n font-family: var(--ig-font-family);\n background: hsla(var(--ig-surface-500), var(--ig-surface-a));\n color: var(--ig-surface-500-contrast);\n}\n:host(igc-calendar) > * {\n font-family: var(--ig-font-family);\n}\n:host(igc-calendar) igc-days-view::part(date),\n:host(igc-calendar) igc-days-view::part(week-number),\n:host(igc-calendar) igc-days-view::part(label),\n:host(igc-calendar) igc-days-view::part(days-row) {\n height: var(--size);\n}\n:host(igc-calendar) igc-days-view::part(week-number-inner),\n:host(igc-calendar) igc-days-view::part(date-inner) {\n width: calc(var(--size) - 0.125rem);\n min-width: calc(var(--size) - 0.125rem);\n height: 100%;\n}\n:host(igc-calendar) igc-days-view::part(label) {\n min-width: var(--size);\n height: var(--size);\n}\n:host(igc-calendar) igc-days-view::part(date-inner) {\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * calc(calc(var(--size) / 2) + 0.125rem)), calc(calc(var(--size) / 2) + 0.125rem));\n}\n:host(igc-calendar) igc-months-view {\n grid-template-rows: repeat(4, minmax(var(--size), 1fr));\n}\n:host(igc-calendar) igc-months-view::part(month-inner) {\n height: var(--size);\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * calc(calc(var(--size) / 2) + 0.125rem)), calc(calc(var(--size) / 2) + 0.125rem));\n}\n:host(igc-calendar) igc-years-view {\n grid-template-rows: repeat(5, minmax(var(--size), 1fr));\n}\n:host(igc-calendar) igc-years-view::part(year-inner) {\n height: var(--size);\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * calc(calc(var(--size) / 2) + 0.125rem)), calc(calc(var(--size) / 2) + 0.125rem));\n}\n\n:host(igc-calendar[size=large]) {\n --component-size: var(--ig-size, var(--ig-size-large));\n}\n\n:host(igc-calendar[size=medium]) {\n --component-size: var(--ig-size, var(--ig-size-medium));\n}\n\n:host(igc-calendar[size=small]) {\n --component-size: var(--ig-size, var(--ig-size-small));\n}\n\n[part=navigation] {\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n height: 1.25rem;\n padding: 1.5625rem 1.125rem;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n[part=months-navigation],\n[part=years-navigation],\n[part~=navigation-button] {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background: transparent;\n border: none;\n color: hsla(var(--ig-gray-800), var(--ig-gray-a));\n font-size: 1rem;\n padding: 0;\n -webkit-transition: color 150ms ease-in-out;\n -o-transition: color 150ms ease-in-out;\n transition: color 150ms ease-in-out;\n}\n[part=months-navigation]:hover, [part=months-navigation]:focus,\n[part=years-navigation]:hover,\n[part=years-navigation]:focus,\n[part~=navigation-button]:hover,\n[part~=navigation-button]:focus {\n color: hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n cursor: pointer;\n}\n[part=months-navigation]:focus,\n[part=years-navigation]:focus,\n[part~=navigation-button]:focus {\n outline: none;\n}\n\n[part~=navigation-button] {\n -webkit-margin-start: 1.5rem;\n margin-inline-start: 1.5rem;\n}\n[part~=navigation-button][part~=vertical] {\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n[part=navigation-buttons] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n:host(igc-calendar[header-orientation=vertical]) {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n:host(igc-calendar[header-orientation=vertical]) [part=header] {\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n width: 8.75rem;\n}\n:host(igc-calendar[header-orientation=vertical]) [part=header-date] {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n[part=days-view-container] {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n}\n\n[part=header] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 1rem;\n background: hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n color: var(--ig-secondary-600-contrast);\n}\n\n[part=header-date],\n[part=header-title] {\n margin: 0;\n}\n\n[part=header-date] {\n font-family: var(--ig-h4-font-family);\n font-size: var(--ig-h4-font-size);\n font-weight: var(--ig-h4-font-weight);\n font-style: var(--ig-h4-font-style);\n line-height: var(--ig-h4-line-height);\n letter-spacing: var(--ig-h4-letter-spacing);\n text-transform: var(--ig-h4-text-transform);\n margin-top: var(--ig-h4-margin-top);\n margin-bottom: var(--ig-h4-margin-bottom);\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n white-space: pre-wrap;\n}\n\n[part=header-title] {\n font-family: var(--ig-overline-font-family);\n font-size: var(--ig-overline-font-size);\n font-weight: var(--ig-overline-font-weight);\n font-style: var(--ig-overline-font-style);\n line-height: var(--ig-overline-line-height);\n letter-spacing: var(--ig-overline-letter-spacing);\n text-transform: var(--ig-overline-text-transform);\n margin-top: var(--ig-overline-margin-top);\n margin-bottom: var(--ig-overline-margin-bottom);\n}\n\n.aria-off-screen {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n border: none;\n clip: rect(0, 0, 0, 0);\n outline: 0;\n pointer-events: none;\n overflow: hidden;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}`;\n"]}
@@ -161,7 +161,6 @@ export const styles = css `/* stylelint-disable max-line-length */
161
161
  inset-inline-end: 50%;
162
162
  }
163
163
 
164
- [part~=date-inner][part~=weekend],
165
164
  [part~=date-inner][part~=inactive],
166
165
  [part~=date-inner][part~=label],
167
166
  [part~=date-inner][part~=disabled] {
@@ -1 +1 @@
1
- {"version":3,"file":"days-view.base.css.js","sourceRoot":"","sources":["../../../../src/components/calendar/themes/days-view.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6RvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`/* stylelint-disable max-line-length */\n:host([part=days-view]) {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n min-width: 18.125rem;\n outline: none;\n padding: 0 0.75rem 1rem 0.75rem;\n overflow: hidden;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n gap: 0.375rem;\n}\n\n[part~=days-row] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n[part~=date-inner] {\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n z-index: 2;\n}\n[part~=date-inner]:hover, [part~=date-inner]:focus {\n background: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n color: var(--ig-secondary-100-contrast);\n border-color: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n}\n\n[part~=date-inner][part~=current][part~=selected] {\n -webkit-box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-surface-500), var(--ig-surface-a)), 0 0 0 0.0625rem hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-surface-500), var(--ig-surface-a)), 0 0 0 0.0625rem hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n}\n\n[part~=current][part~=date-inner] {\n -webkit-box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-gray-600), var(--ig-gray-a));\n box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-gray-600), var(--ig-gray-a));\n}\n[part~=current][part~=date-inner]:hover, [part~=current][part~=date-inner]:focus {\n -webkit-box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-surface-500), var(--ig-surface-a));\n box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-surface-500), var(--ig-surface-a));\n}\n\n[part~=date],\n[part~=week-number],\n[part~=label] {\n font-size: var(--ig-subtitle-1-font-size);\n width: 100%;\n color: hsla(var(--ig-gray-800), var(--ig-gray-a));\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n outline: none;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n border-top: 0.0625rem solid transparent;\n border-bottom: 0.0625rem solid transparent;\n}\n\n[part=label-inner] {\n -o-text-overflow: ellipsis;\n text-overflow: ellipsis;\n overflow: hidden;\n min-width: 4ch;\n text-align: center;\n}\n\n[part~=date-inner],\n[part~=week-number-inner] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n border: 0.0625rem solid transparent;\n}\n[part~=date-inner]:focus,\n[part~=week-number-inner]:focus {\n outline: none;\n}\n\n[part~=date][part~=range] {\n background: hsla(var(--ig-secondary-50), var(--ig-secondary-a));\n}\n\n[part~=date][part~=range][part~=preview] {\n background: transparent;\n border-top: 0.0625rem dashed hsla(var(--ig-gray-300), var(--ig-gray-a));\n border-bottom: 0.0625rem dashed hsla(var(--ig-gray-300), var(--ig-gray-a));\n}\n\n[part~=date][part~=range][part~=preview][part~=first],\n[part~=date][part~=range][part~=preview][part~=last] {\n background: transparent;\n border-top-color: transparent;\n border-bottom-color: transparent;\n}\n[part~=date][part~=range][part~=preview][part~=first]::after,\n[part~=date][part~=range][part~=preview][part~=last]::after {\n border-top: 0.0625rem dashed hsla(var(--ig-gray-300), var(--ig-gray-a));\n border-bottom: 0.0625rem dashed hsla(var(--ig-gray-300), var(--ig-gray-a));\n background: transparent;\n}\n\n[part~=date][part~=range][part~=first],\n[part~=date][part~=range][part~=last] {\n background: transparent;\n}\n[part~=date][part~=range][part~=first]::after,\n[part~=date][part~=range][part~=last]::after {\n content: \"\";\n position: absolute;\n height: 100%;\n width: calc(50% + 0.0625rem);\n background: hsla(var(--ig-secondary-50), var(--ig-secondary-a));\n border-top: 0.0625rem solid hsla(var(--ig-secondary-50), var(--ig-secondary-a));\n border-bottom: 0.0625rem solid hsla(var(--ig-secondary-50), var(--ig-secondary-a));\n z-index: 1;\n}\n\n[part~=date][part~=range][part~=first]::after {\n inset-inline-start: 50%;\n}\n\n[part~=date][part~=range][part~=last]::after {\n inset-inline-end: calc(50% - 0.0625rem);\n}\n\n[part~=date][part~=range] + [part~=date][part~=range][part~=last]::after {\n inset-inline-end: 50%;\n}\n\n[part~=date-inner][part~=weekend],\n[part~=date-inner][part~=inactive],\n[part~=date-inner][part~=label],\n[part~=date-inner][part~=disabled] {\n color: hsla(var(--ig-gray-500), var(--ig-gray-a));\n}\n\n[part~=date-inner][part~=weekend]:hover, [part~=date-inner][part~=weekend]:focus,\n[part~=date-inner][part~=inactive]:hover,\n[part~=date-inner][part~=inactive]:focus {\n color: var(--ig-secondary-100-contrast);\n}\n\n[part~=date-inner][part~=selected][part~=range][part~=first],\n[part~=date-inner][part~=selected][part~=range][part~=last],\n[part~=date-inner][part~=selected][part~=range][part~=weekend][part~=first],\n[part~=date-inner][part~=selected][part~=range][part~=weekend][part~=last],\n[part~=date-inner][part~=selected][part~=range][part~=inactive][part~=first],\n[part~=date-inner][part~=selected][part~=range][part~=inactive][part~=last] {\n color: var(--ig-secondary-700-contrast);\n}\n\n[part~=date-inner][part~=selected][part~=range][part~=weekend],\n[part~=date-inner][part~=selected][part~=range][part~=inactive],\n[part~=date-inner][part~=selected][part~=range] {\n color: var(--ig-secondary-50-contrast);\n}\n[part~=date-inner][part~=selected][part~=range][part~=weekend]:hover, [part~=date-inner][part~=selected][part~=range][part~=weekend]:focus,\n[part~=date-inner][part~=selected][part~=range][part~=inactive]:hover,\n[part~=date-inner][part~=selected][part~=range][part~=inactive]:focus,\n[part~=date-inner][part~=selected][part~=range]:hover,\n[part~=date-inner][part~=selected][part~=range]:focus {\n color: var(--ig-secondary-100-contrast);\n background: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n border-color: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n}\n\n[part~=date-inner][part~=selected][part~=range][part~=first],\n[part~=date-inner][part~=selected][part~=range][part~=last],\n[part~=date-inner][part~=selected]:not([part~=range]) {\n background: hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n border-color: hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n}\n[part~=date-inner][part~=selected][part~=range][part~=first]:hover, [part~=date-inner][part~=selected][part~=range][part~=first]:focus,\n[part~=date-inner][part~=selected][part~=range][part~=last]:hover,\n[part~=date-inner][part~=selected][part~=range][part~=last]:focus,\n[part~=date-inner][part~=selected]:not([part~=range]):hover,\n[part~=date-inner][part~=selected]:not([part~=range]):focus {\n background: hsla(var(--ig-secondary-700), var(--ig-secondary-a));\n border-color: hsla(var(--ig-secondary-700), var(--ig-secondary-a));\n color: var(--ig-secondary-700-contrast);\n}\n\n[part~=date-inner][part~=selected][part~=weekend]:not([part~=range]),\n[part~=date-inner][part~=selected][part~=inactive]:not([part~=range]),\n[part~=date-inner][part~=selected]:not([part~=range]) {\n color: var(--ig-secondary-700-contrast);\n}\n\n[part~=week-number] {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n color: hsla(var(--ig-gray-500), var(--ig-gray-a));\n cursor: default;\n}\n\n[part=\"week-number-inner first\"] {\n border-top-left-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.25rem), 0.25rem);\n border-top-right-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.25rem), 0.25rem);\n}\n[part=\"week-number-inner first\"]::after {\n display: none;\n}\n\n[part=\"week-number-inner last\"] {\n border-bottom-left-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.25rem), 0.25rem);\n border-bottom-right-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.25rem), 0.25rem);\n}\n\n[part~=week-number-inner] {\n position: relative;\n background: hsla(var(--ig-gray-200), var(--ig-gray-a));\n border-inline-end-color: hsla(var(--ig-gray-200), var(--ig-gray-a));\n}\n[part~=week-number-inner]::after {\n content: \"\";\n position: absolute;\n bottom: 100%;\n height: calc(0.375rem + (0.0625rem * 2 + 2px));\n width: 100%;\n background: hsla(var(--ig-gray-200), var(--ig-gray-a));\n -webkit-border-start: 0.0625rem solid hsla(var(--ig-gray-200), var(--ig-gray-a));\n border-inline-start: 0.0625rem solid hsla(var(--ig-gray-200), var(--ig-gray-a));\n -webkit-border-end: 0.0625rem solid hsla(var(--ig-gray-200), var(--ig-gray-a));\n border-inline-end: 0.0625rem solid hsla(var(--ig-gray-200), var(--ig-gray-a));\n}\n\n[part~=date-inner][part~=disabled] {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: not-allowed;\n}\n\n[part~=date-inner][part~=special][part~=range],\n[part~=date-inner][part~=special] {\n background: hsla(var(--ig-gray-100), var(--ig-gray-a));\n border-color: hsla(var(--ig-gray-100), var(--ig-gray-a));\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n font-weight: 900;\n}\n[part~=date-inner][part~=special][part~=range]:hover, [part~=date-inner][part~=special][part~=range]:focus,\n[part~=date-inner][part~=special]:hover,\n[part~=date-inner][part~=special]:focus {\n background: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n border-color: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n}\n\n[part~=hidden] {\n visibility: hidden;\n}`;\n"]}
1
+ {"version":3,"file":"days-view.base.css.js","sourceRoot":"","sources":["../../../../src/components/calendar/themes/days-view.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4RvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`/* stylelint-disable max-line-length */\n:host([part=days-view]) {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n min-width: 18.125rem;\n outline: none;\n padding: 0 0.75rem 1rem 0.75rem;\n overflow: hidden;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n gap: 0.375rem;\n}\n\n[part~=days-row] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n[part~=date-inner] {\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n z-index: 2;\n}\n[part~=date-inner]:hover, [part~=date-inner]:focus {\n background: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n color: var(--ig-secondary-100-contrast);\n border-color: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n}\n\n[part~=date-inner][part~=current][part~=selected] {\n -webkit-box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-surface-500), var(--ig-surface-a)), 0 0 0 0.0625rem hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-surface-500), var(--ig-surface-a)), 0 0 0 0.0625rem hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n}\n\n[part~=current][part~=date-inner] {\n -webkit-box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-gray-600), var(--ig-gray-a));\n box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-gray-600), var(--ig-gray-a));\n}\n[part~=current][part~=date-inner]:hover, [part~=current][part~=date-inner]:focus {\n -webkit-box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-surface-500), var(--ig-surface-a));\n box-shadow: inset 0 0 0 0.0625rem hsla(var(--ig-surface-500), var(--ig-surface-a));\n}\n\n[part~=date],\n[part~=week-number],\n[part~=label] {\n font-size: var(--ig-subtitle-1-font-size);\n width: 100%;\n color: hsla(var(--ig-gray-800), var(--ig-gray-a));\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n outline: none;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n border-top: 0.0625rem solid transparent;\n border-bottom: 0.0625rem solid transparent;\n}\n\n[part=label-inner] {\n -o-text-overflow: ellipsis;\n text-overflow: ellipsis;\n overflow: hidden;\n min-width: 4ch;\n text-align: center;\n}\n\n[part~=date-inner],\n[part~=week-number-inner] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n border: 0.0625rem solid transparent;\n}\n[part~=date-inner]:focus,\n[part~=week-number-inner]:focus {\n outline: none;\n}\n\n[part~=date][part~=range] {\n background: hsla(var(--ig-secondary-50), var(--ig-secondary-a));\n}\n\n[part~=date][part~=range][part~=preview] {\n background: transparent;\n border-top: 0.0625rem dashed hsla(var(--ig-gray-300), var(--ig-gray-a));\n border-bottom: 0.0625rem dashed hsla(var(--ig-gray-300), var(--ig-gray-a));\n}\n\n[part~=date][part~=range][part~=preview][part~=first],\n[part~=date][part~=range][part~=preview][part~=last] {\n background: transparent;\n border-top-color: transparent;\n border-bottom-color: transparent;\n}\n[part~=date][part~=range][part~=preview][part~=first]::after,\n[part~=date][part~=range][part~=preview][part~=last]::after {\n border-top: 0.0625rem dashed hsla(var(--ig-gray-300), var(--ig-gray-a));\n border-bottom: 0.0625rem dashed hsla(var(--ig-gray-300), var(--ig-gray-a));\n background: transparent;\n}\n\n[part~=date][part~=range][part~=first],\n[part~=date][part~=range][part~=last] {\n background: transparent;\n}\n[part~=date][part~=range][part~=first]::after,\n[part~=date][part~=range][part~=last]::after {\n content: \"\";\n position: absolute;\n height: 100%;\n width: calc(50% + 0.0625rem);\n background: hsla(var(--ig-secondary-50), var(--ig-secondary-a));\n border-top: 0.0625rem solid hsla(var(--ig-secondary-50), var(--ig-secondary-a));\n border-bottom: 0.0625rem solid hsla(var(--ig-secondary-50), var(--ig-secondary-a));\n z-index: 1;\n}\n\n[part~=date][part~=range][part~=first]::after {\n inset-inline-start: 50%;\n}\n\n[part~=date][part~=range][part~=last]::after {\n inset-inline-end: calc(50% - 0.0625rem);\n}\n\n[part~=date][part~=range] + [part~=date][part~=range][part~=last]::after {\n inset-inline-end: 50%;\n}\n\n[part~=date-inner][part~=inactive],\n[part~=date-inner][part~=label],\n[part~=date-inner][part~=disabled] {\n color: hsla(var(--ig-gray-500), var(--ig-gray-a));\n}\n\n[part~=date-inner][part~=weekend]:hover, [part~=date-inner][part~=weekend]:focus,\n[part~=date-inner][part~=inactive]:hover,\n[part~=date-inner][part~=inactive]:focus {\n color: var(--ig-secondary-100-contrast);\n}\n\n[part~=date-inner][part~=selected][part~=range][part~=first],\n[part~=date-inner][part~=selected][part~=range][part~=last],\n[part~=date-inner][part~=selected][part~=range][part~=weekend][part~=first],\n[part~=date-inner][part~=selected][part~=range][part~=weekend][part~=last],\n[part~=date-inner][part~=selected][part~=range][part~=inactive][part~=first],\n[part~=date-inner][part~=selected][part~=range][part~=inactive][part~=last] {\n color: var(--ig-secondary-700-contrast);\n}\n\n[part~=date-inner][part~=selected][part~=range][part~=weekend],\n[part~=date-inner][part~=selected][part~=range][part~=inactive],\n[part~=date-inner][part~=selected][part~=range] {\n color: var(--ig-secondary-50-contrast);\n}\n[part~=date-inner][part~=selected][part~=range][part~=weekend]:hover, [part~=date-inner][part~=selected][part~=range][part~=weekend]:focus,\n[part~=date-inner][part~=selected][part~=range][part~=inactive]:hover,\n[part~=date-inner][part~=selected][part~=range][part~=inactive]:focus,\n[part~=date-inner][part~=selected][part~=range]:hover,\n[part~=date-inner][part~=selected][part~=range]:focus {\n color: var(--ig-secondary-100-contrast);\n background: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n border-color: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n}\n\n[part~=date-inner][part~=selected][part~=range][part~=first],\n[part~=date-inner][part~=selected][part~=range][part~=last],\n[part~=date-inner][part~=selected]:not([part~=range]) {\n background: hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n border-color: hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n}\n[part~=date-inner][part~=selected][part~=range][part~=first]:hover, [part~=date-inner][part~=selected][part~=range][part~=first]:focus,\n[part~=date-inner][part~=selected][part~=range][part~=last]:hover,\n[part~=date-inner][part~=selected][part~=range][part~=last]:focus,\n[part~=date-inner][part~=selected]:not([part~=range]):hover,\n[part~=date-inner][part~=selected]:not([part~=range]):focus {\n background: hsla(var(--ig-secondary-700), var(--ig-secondary-a));\n border-color: hsla(var(--ig-secondary-700), var(--ig-secondary-a));\n color: var(--ig-secondary-700-contrast);\n}\n\n[part~=date-inner][part~=selected][part~=weekend]:not([part~=range]),\n[part~=date-inner][part~=selected][part~=inactive]:not([part~=range]),\n[part~=date-inner][part~=selected]:not([part~=range]) {\n color: var(--ig-secondary-700-contrast);\n}\n\n[part~=week-number] {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n color: hsla(var(--ig-gray-500), var(--ig-gray-a));\n cursor: default;\n}\n\n[part=\"week-number-inner first\"] {\n border-top-left-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.25rem), 0.25rem);\n border-top-right-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.25rem), 0.25rem);\n}\n[part=\"week-number-inner first\"]::after {\n display: none;\n}\n\n[part=\"week-number-inner last\"] {\n border-bottom-left-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.25rem), 0.25rem);\n border-bottom-right-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.25rem), 0.25rem);\n}\n\n[part~=week-number-inner] {\n position: relative;\n background: hsla(var(--ig-gray-200), var(--ig-gray-a));\n border-inline-end-color: hsla(var(--ig-gray-200), var(--ig-gray-a));\n}\n[part~=week-number-inner]::after {\n content: \"\";\n position: absolute;\n bottom: 100%;\n height: calc(0.375rem + (0.0625rem * 2 + 2px));\n width: 100%;\n background: hsla(var(--ig-gray-200), var(--ig-gray-a));\n -webkit-border-start: 0.0625rem solid hsla(var(--ig-gray-200), var(--ig-gray-a));\n border-inline-start: 0.0625rem solid hsla(var(--ig-gray-200), var(--ig-gray-a));\n -webkit-border-end: 0.0625rem solid hsla(var(--ig-gray-200), var(--ig-gray-a));\n border-inline-end: 0.0625rem solid hsla(var(--ig-gray-200), var(--ig-gray-a));\n}\n\n[part~=date-inner][part~=disabled] {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: not-allowed;\n}\n\n[part~=date-inner][part~=special][part~=range],\n[part~=date-inner][part~=special] {\n background: hsla(var(--ig-gray-100), var(--ig-gray-a));\n border-color: hsla(var(--ig-gray-100), var(--ig-gray-a));\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n font-weight: 900;\n}\n[part~=date-inner][part~=special][part~=range]:hover, [part~=date-inner][part~=special][part~=range]:focus,\n[part~=date-inner][part~=special]:hover,\n[part~=date-inner][part~=special]:focus {\n background: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n border-color: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n}\n\n[part~=hidden] {\n visibility: hidden;\n}`;\n"]}