igniteui-webcomponents 3.1.0 → 3.3.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 (411) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +56 -1
  3. package/components/accordion/accordion.d.ts +36 -0
  4. package/components/accordion/accordion.js +127 -0
  5. package/components/accordion/accordion.js.map +1 -0
  6. package/components/{nav-drawer/styles/indigo/nav-drawer-header-item.indigo.css.d.ts → accordion/themes/accordion.base.css.d.ts} +0 -0
  7. package/components/accordion/themes/accordion.base.css.js +3 -0
  8. package/components/accordion/themes/accordion.base.css.js.map +1 -0
  9. package/components/badge/themes/light/badge.bootstrap.css.js +1 -1
  10. package/components/badge/themes/light/badge.bootstrap.css.js.map +1 -1
  11. package/components/button/button-base.d.ts +6 -1
  12. package/components/button/button-base.js +4 -0
  13. package/components/button/button-base.js.map +1 -1
  14. package/components/button/icon-button.d.ts +0 -1
  15. package/components/button/icon-button.js +13 -9
  16. package/components/button/icon-button.js.map +1 -1
  17. package/components/button/themes/button/light/button.base.css.js +1 -1
  18. package/components/button/themes/button/light/button.base.css.js.map +1 -1
  19. package/components/button/themes/button/light/button.material.css.js +1 -1
  20. package/components/button/themes/button/light/button.material.css.js.map +1 -1
  21. package/components/button/themes/icon-button/light/icon-button.base.css.js +1 -1
  22. package/components/button/themes/icon-button/light/icon-button.base.css.js.map +1 -1
  23. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js +1 -1
  24. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js.map +1 -1
  25. package/components/button/themes/icon-button/light/icon-button.fluent.css.js +1 -1
  26. package/components/button/themes/icon-button/light/icon-button.fluent.css.js.map +1 -1
  27. package/components/button/themes/icon-button/light/icon-button.indigo.css.js +1 -1
  28. package/components/button/themes/icon-button/light/icon-button.indigo.css.js.map +1 -1
  29. package/components/button/themes/icon-button/light/icon-button.material.css.js +1 -1
  30. package/components/button/themes/icon-button/light/icon-button.material.css.js.map +1 -1
  31. package/components/calendar/calendar.d.ts +1 -5
  32. package/components/calendar/calendar.js +6 -4
  33. package/components/calendar/calendar.js.map +1 -1
  34. package/components/calendar/common/calendar-base.js +16 -12
  35. package/components/calendar/common/calendar-base.js.map +1 -1
  36. package/components/calendar/common/calendar.model.js.map +1 -1
  37. package/components/calendar/days-view/days-view.d.ts +2 -1
  38. package/components/calendar/days-view/days-view.js +2 -2
  39. package/components/calendar/days-view/days-view.js.map +1 -1
  40. package/components/calendar/months-view/months-view.d.ts +2 -1
  41. package/components/calendar/months-view/months-view.js +2 -2
  42. package/components/calendar/months-view/months-view.js.map +1 -1
  43. package/components/calendar/themes/bootstrap/calendar.bootstrap.css.js +1 -1
  44. package/components/calendar/themes/bootstrap/calendar.bootstrap.css.js.map +1 -1
  45. package/components/calendar/years-view/years-view.d.ts +2 -1
  46. package/components/calendar/years-view/years-view.js +2 -2
  47. package/components/calendar/years-view/years-view.js.map +1 -1
  48. package/components/card/card.header.js +2 -0
  49. package/components/card/card.header.js.map +1 -1
  50. package/components/card/card.js +6 -0
  51. package/components/card/card.js.map +1 -1
  52. package/components/card/themes/light/card.header.bootstrap.css.js +1 -1
  53. package/components/card/themes/light/card.header.bootstrap.css.js.map +1 -1
  54. package/components/{nav-drawer/styles/indigo/nav-drawer-item.indigo.css.d.ts → card/themes/light/card.header.fluent.css.d.ts} +0 -0
  55. package/components/card/themes/light/card.header.fluent.css.js +3 -0
  56. package/components/card/themes/light/card.header.fluent.css.js.map +1 -0
  57. package/components/checkbox/checkbox-base.d.ts +1 -1
  58. package/components/checkbox/checkbox.d.ts +1 -0
  59. package/components/checkbox/checkbox.js +6 -5
  60. package/components/checkbox/checkbox.js.map +1 -1
  61. package/components/checkbox/switch.d.ts +1 -0
  62. package/components/checkbox/switch.js +6 -5
  63. package/components/checkbox/switch.js.map +1 -1
  64. package/components/checkbox/themes/light/checkbox.base.css.js +1 -1
  65. package/components/checkbox/themes/light/checkbox.base.css.js.map +1 -1
  66. package/components/checkbox/themes/light/checkbox.bootstrap.css.js +1 -1
  67. package/components/checkbox/themes/light/checkbox.bootstrap.css.js.map +1 -1
  68. package/components/checkbox/themes/light/checkbox.fluent.css.js +1 -1
  69. package/components/checkbox/themes/light/checkbox.fluent.css.js.map +1 -1
  70. package/components/checkbox/themes/light/checkbox.indigo.css.js +1 -1
  71. package/components/checkbox/themes/light/checkbox.indigo.css.js.map +1 -1
  72. package/components/checkbox/themes/light/checkbox.material.css.js +1 -1
  73. package/components/checkbox/themes/light/checkbox.material.css.js.map +1 -1
  74. package/components/checkbox/themes/light/switch.base.css.js +1 -1
  75. package/components/checkbox/themes/light/switch.base.css.js.map +1 -1
  76. package/components/checkbox/themes/light/switch.fluent.css.js +1 -1
  77. package/components/checkbox/themes/light/switch.fluent.css.js.map +1 -1
  78. package/components/chip/chip.d.ts +1 -2
  79. package/components/chip/chip.js +3 -1
  80. package/components/chip/chip.js.map +1 -1
  81. package/components/chip/themes/chip.base.css.js +1 -1
  82. package/components/chip/themes/chip.base.css.js.map +1 -1
  83. package/components/chip/themes/chip.bootstrap.css.js +1 -1
  84. package/components/chip/themes/chip.bootstrap.css.js.map +1 -1
  85. package/components/chip/themes/chip.fluent.css.js +1 -1
  86. package/components/chip/themes/chip.fluent.css.js.map +1 -1
  87. package/components/chip/themes/chip.indigo.css.js +1 -1
  88. package/components/chip/themes/chip.indigo.css.js.map +1 -1
  89. package/components/chip/themes/chip.material.css.js +1 -1
  90. package/components/chip/themes/chip.material.css.js.map +1 -1
  91. package/components/common/decorators/blazorAdditionalDependencies.d.ts +5 -0
  92. package/components/common/decorators/blazorAdditionalDependencies.js +6 -0
  93. package/components/common/decorators/blazorAdditionalDependencies.js.map +1 -0
  94. package/components/common/decorators/index.d.ts +1 -0
  95. package/components/common/decorators/index.js +1 -0
  96. package/components/common/decorators/index.js.map +1 -1
  97. package/components/common/definitions/defineAllComponents.js +18 -0
  98. package/components/common/definitions/defineAllComponents.js.map +1 -1
  99. package/components/common/i18n/calendar.resources.js.map +1 -1
  100. package/components/common/mixins/constructor.d.ts +1 -0
  101. package/components/common/mixins/constructor.js.map +1 -1
  102. package/components/common/mixins/event-emitter.d.ts +2 -2
  103. package/components/common/mixins/event-emitter.js +2 -2
  104. package/components/common/mixins/event-emitter.js.map +1 -1
  105. package/components/common/types.d.ts +1 -0
  106. package/components/common/types.js +2 -0
  107. package/components/common/types.js.map +1 -0
  108. package/components/common/util.d.ts +18 -0
  109. package/components/common/util.js +17 -0
  110. package/components/common/util.js.map +1 -1
  111. package/components/date-time-input/date-time-input.d.ts +110 -0
  112. package/components/date-time-input/date-time-input.js +505 -0
  113. package/components/date-time-input/date-time-input.js.map +1 -0
  114. package/components/date-time-input/date-util.d.ts +89 -0
  115. package/components/date-time-input/date-util.js +597 -0
  116. package/components/date-time-input/date-util.js.map +1 -0
  117. package/components/dropdown/dropdown-group.d.ts +3 -2
  118. package/components/dropdown/dropdown-group.js +9 -10
  119. package/components/dropdown/dropdown-group.js.map +1 -1
  120. package/components/dropdown/dropdown.d.ts +25 -21
  121. package/components/dropdown/dropdown.js +63 -79
  122. package/components/dropdown/dropdown.js.map +1 -1
  123. package/components/expansion-panel/expansion-panel.d.ts +73 -0
  124. package/components/expansion-panel/expansion-panel.js +173 -0
  125. package/components/expansion-panel/expansion-panel.js.map +1 -0
  126. package/components/{nav-drawer/styles/indigo/nav-drawer.indigo.css.d.ts → expansion-panel/themes/light/expansion-panel.base.css.d.ts} +0 -0
  127. package/components/expansion-panel/themes/light/expansion-panel.base.css.js +3 -0
  128. package/components/expansion-panel/themes/light/expansion-panel.base.css.js.map +1 -0
  129. package/components/{nav-drawer/styles/nav-drawer-header-item.base.css.d.ts → expansion-panel/themes/light/expansion-panel.bootstrap.css.d.ts} +0 -0
  130. package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js +3 -0
  131. package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js.map +1 -0
  132. package/components/{nav-drawer/styles/nav-drawer-item.base.css.d.ts → expansion-panel/themes/light/expansion-panel.fluent.css.d.ts} +0 -0
  133. package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js +3 -0
  134. package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js.map +1 -0
  135. package/components/{nav-drawer/styles/nav-drawer.base.css.d.ts → expansion-panel/themes/light/expansion-panel.indigo.css.d.ts} +0 -0
  136. package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js +3 -0
  137. package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js.map +1 -0
  138. package/components/form/form.d.ts +1 -1
  139. package/components/form/form.js +12 -2
  140. package/components/form/form.js.map +1 -1
  141. package/components/icon/icon.js +3 -7
  142. package/components/icon/icon.js.map +1 -1
  143. package/components/icon/icon.material.css.js +1 -1
  144. package/components/icon/icon.material.css.js.map +1 -1
  145. package/components/icon/icon.registry.js +5 -0
  146. package/components/icon/icon.registry.js.map +1 -1
  147. package/components/input/input-base.d.ts +7 -3
  148. package/components/input/input-base.js +16 -11
  149. package/components/input/input-base.js.map +1 -1
  150. package/components/input/input.d.ts +1 -4
  151. package/components/input/input.js +8 -4
  152. package/components/input/input.js.map +1 -1
  153. package/components/input/themes/light/input.base.css.js +1 -1
  154. package/components/input/themes/light/input.base.css.js.map +1 -1
  155. package/components/input/themes/light/input.bootstrap.css.js +1 -1
  156. package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
  157. package/components/list/list.js +4 -0
  158. package/components/list/list.js.map +1 -1
  159. package/components/list/themes/light/list-item.bootstrap.css.js +1 -1
  160. package/components/list/themes/light/list-item.bootstrap.css.js.map +1 -1
  161. package/components/list/themes/light/list-item.fluent.css.js +1 -1
  162. package/components/list/themes/light/list-item.fluent.css.js.map +1 -1
  163. package/components/list/themes/light/list-item.indigo.css.js +1 -1
  164. package/components/list/themes/light/list-item.indigo.css.js.map +1 -1
  165. package/components/list/themes/light/list.base.css.js +1 -1
  166. package/components/list/themes/light/list.base.css.js.map +1 -1
  167. package/components/mask-input/mask-input-base.d.ts +38 -0
  168. package/components/mask-input/mask-input-base.js +110 -0
  169. package/components/mask-input/mask-input-base.js.map +1 -0
  170. package/components/mask-input/mask-input.d.ts +71 -0
  171. package/components/mask-input/mask-input.js +182 -0
  172. package/components/mask-input/mask-input.js.map +1 -0
  173. package/components/mask-input/mask-parser.d.ts +30 -0
  174. package/components/mask-input/mask-parser.js +167 -0
  175. package/components/mask-input/mask-parser.js.map +1 -0
  176. package/components/nav-drawer/nav-drawer-header-item.js +4 -3
  177. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  178. package/components/nav-drawer/nav-drawer-item.d.ts +1 -0
  179. package/components/nav-drawer/nav-drawer-item.js +9 -5
  180. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  181. package/components/nav-drawer/nav-drawer.js +6 -2
  182. package/components/nav-drawer/nav-drawer.js.map +1 -1
  183. package/components/{snackbar/themes/snackbar.base.css.d.ts → nav-drawer/themes/dark/nav-drawer-item.base.css.d.ts} +0 -0
  184. package/components/nav-drawer/themes/dark/nav-drawer-item.base.css.js +3 -0
  185. package/components/nav-drawer/themes/dark/nav-drawer-item.base.css.js.map +1 -0
  186. package/components/{snackbar/themes/snackbar.bootstrap.css.d.ts → nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.d.ts} +0 -0
  187. package/components/nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.js +3 -0
  188. package/components/nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.js.map +1 -0
  189. package/components/{snackbar/themes/snackbar.fluent.css.d.ts → nav-drawer/themes/dark/nav-drawer-item.fluent.css.d.ts} +0 -0
  190. package/components/nav-drawer/themes/dark/nav-drawer-item.fluent.css.js +3 -0
  191. package/components/nav-drawer/themes/dark/nav-drawer-item.fluent.css.js.map +1 -0
  192. package/components/{snackbar/themes/snackbar.indigo.css.d.ts → nav-drawer/themes/dark/nav-drawer-item.indigo.css.d.ts} +0 -0
  193. package/components/nav-drawer/themes/dark/nav-drawer-item.indigo.css.js +3 -0
  194. package/components/nav-drawer/themes/dark/nav-drawer-item.indigo.css.js.map +1 -0
  195. package/components/nav-drawer/themes/dark/nav-drawer.indigo.css.d.ts +1 -0
  196. package/components/nav-drawer/themes/dark/nav-drawer.indigo.css.js +3 -0
  197. package/components/nav-drawer/themes/dark/nav-drawer.indigo.css.js.map +1 -0
  198. package/components/nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.d.ts +1 -0
  199. package/components/nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.js +3 -0
  200. package/components/nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.js.map +1 -0
  201. package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.d.ts +1 -0
  202. package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.js +3 -0
  203. package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.js.map +1 -0
  204. package/components/nav-drawer/themes/light/indigo/nav-drawer-header-item.indigo.css.d.ts +1 -0
  205. package/components/nav-drawer/{styles → themes/light}/indigo/nav-drawer-header-item.indigo.css.js +0 -0
  206. package/components/nav-drawer/themes/light/indigo/nav-drawer-header-item.indigo.css.js.map +1 -0
  207. package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.d.ts +1 -0
  208. package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.js +3 -0
  209. package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.js.map +1 -0
  210. package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.d.ts +1 -0
  211. package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.js +3 -0
  212. package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.js.map +1 -0
  213. package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.d.ts +1 -0
  214. package/components/nav-drawer/{styles → themes/light}/nav-drawer-header-item.base.css.js +1 -1
  215. package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js.map +1 -0
  216. package/components/nav-drawer/themes/light/nav-drawer-item.base.css.d.ts +1 -0
  217. package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js +3 -0
  218. package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js.map +1 -0
  219. package/components/nav-drawer/themes/light/nav-drawer.base.css.d.ts +1 -0
  220. package/components/nav-drawer/{styles → themes/light}/nav-drawer.base.css.js +1 -1
  221. package/components/nav-drawer/themes/light/nav-drawer.base.css.js.map +1 -0
  222. package/components/navbar/navbar.js +2 -1
  223. package/components/navbar/navbar.js.map +1 -1
  224. package/components/navbar/themes/light/navbar.base.css.js +1 -1
  225. package/components/navbar/themes/light/navbar.base.css.js.map +1 -1
  226. package/components/navbar/themes/light/navbar.bootstrap.css.js +1 -1
  227. package/components/navbar/themes/light/navbar.bootstrap.css.js.map +1 -1
  228. package/components/navbar/themes/light/navbar.fluent.css.d.ts +1 -0
  229. package/components/navbar/themes/light/navbar.fluent.css.js +3 -0
  230. package/components/navbar/themes/light/navbar.fluent.css.js.map +1 -0
  231. package/components/progress/circular-progress.d.ts +1 -1
  232. package/components/progress/circular-progress.js +3 -0
  233. package/components/progress/circular-progress.js.map +1 -1
  234. package/components/radio/radio.d.ts +2 -1
  235. package/components/radio/radio.js +6 -5
  236. package/components/radio/radio.js.map +1 -1
  237. package/components/radio/themes/light/radio.base.css.js +1 -1
  238. package/components/radio/themes/light/radio.base.css.js.map +1 -1
  239. package/components/radio/themes/light/radio.fluent.css.js +1 -1
  240. package/components/radio/themes/light/radio.fluent.css.js.map +1 -1
  241. package/components/rating/rating-symbol.base.css.d.ts +1 -0
  242. package/components/rating/rating-symbol.base.css.js +3 -0
  243. package/components/rating/rating-symbol.base.css.js.map +1 -0
  244. package/components/rating/rating-symbol.d.ts +8 -2
  245. package/components/rating/rating-symbol.js +12 -3
  246. package/components/rating/rating-symbol.js.map +1 -1
  247. package/components/rating/rating.base.css.js +1 -1
  248. package/components/rating/rating.base.css.js.map +1 -1
  249. package/components/rating/rating.bootstrap.css.js +1 -1
  250. package/components/rating/rating.bootstrap.css.js.map +1 -1
  251. package/components/rating/rating.d.ts +19 -14
  252. package/components/rating/rating.fluent.css.js +1 -1
  253. package/components/rating/rating.fluent.css.js.map +1 -1
  254. package/components/rating/rating.indigo.css.js +1 -1
  255. package/components/rating/rating.indigo.css.js.map +1 -1
  256. package/components/rating/rating.js +86 -44
  257. package/components/rating/rating.js.map +1 -1
  258. package/components/slider/range-slider.d.ts +1 -1
  259. package/components/slider/range-slider.js.map +1 -1
  260. package/components/slider/slider-base.js +4 -1
  261. package/components/slider/slider-base.js.map +1 -1
  262. package/components/slider/slider.d.ts +1 -1
  263. package/components/slider/themes/light/slider.base.css.js +1 -1
  264. package/components/slider/themes/light/slider.base.css.js.map +1 -1
  265. package/components/slider/themes/light/slider.bootstrap.css.js +1 -1
  266. package/components/slider/themes/light/slider.bootstrap.css.js.map +1 -1
  267. package/components/slider/themes/light/slider.fluent.css.js +1 -1
  268. package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
  269. package/components/slider/themes/light/slider.indigo.css.js +1 -1
  270. package/components/slider/themes/light/slider.indigo.css.js.map +1 -1
  271. package/components/slider/themes/light/slider.material.css.js +1 -1
  272. package/components/slider/themes/light/slider.material.css.js.map +1 -1
  273. package/components/snackbar/snackbar.d.ts +1 -1
  274. package/components/snackbar/snackbar.js +8 -4
  275. package/components/snackbar/snackbar.js.map +1 -1
  276. package/components/snackbar/themes/dark/snackbar.indigo.css.d.ts +1 -0
  277. package/components/snackbar/themes/dark/snackbar.indigo.css.js +3 -0
  278. package/components/snackbar/themes/dark/snackbar.indigo.css.js.map +1 -0
  279. package/components/snackbar/themes/light/snackbar.base.css.d.ts +1 -0
  280. package/components/snackbar/themes/light/snackbar.base.css.js +3 -0
  281. package/components/snackbar/themes/light/snackbar.base.css.js.map +1 -0
  282. package/components/snackbar/themes/light/snackbar.bootstrap.css.d.ts +1 -0
  283. package/components/snackbar/themes/light/snackbar.bootstrap.css.js +3 -0
  284. package/components/snackbar/themes/light/snackbar.bootstrap.css.js.map +1 -0
  285. package/components/snackbar/themes/light/snackbar.fluent.css.d.ts +1 -0
  286. package/components/snackbar/themes/light/snackbar.fluent.css.js +3 -0
  287. package/components/snackbar/themes/light/snackbar.fluent.css.js.map +1 -0
  288. package/components/snackbar/themes/light/snackbar.indigo.css.d.ts +1 -0
  289. package/components/snackbar/themes/light/snackbar.indigo.css.js +3 -0
  290. package/components/snackbar/themes/light/snackbar.indigo.css.js.map +1 -0
  291. package/components/tabs/tab-panel.d.ts +20 -0
  292. package/components/tabs/tab-panel.js +20 -0
  293. package/components/tabs/tab-panel.js.map +1 -0
  294. package/components/tabs/tab.d.ts +37 -0
  295. package/components/tabs/tab.js +71 -0
  296. package/components/tabs/tab.js.map +1 -0
  297. package/components/tabs/tabs.d.ts +79 -0
  298. package/components/tabs/tabs.js +316 -0
  299. package/components/tabs/tabs.js.map +1 -0
  300. package/components/tabs/themes/dark/tab.dark.base.css.d.ts +1 -0
  301. package/components/tabs/themes/dark/tab.dark.base.css.js +3 -0
  302. package/components/tabs/themes/dark/tab.dark.base.css.js.map +1 -0
  303. package/components/tabs/themes/dark/tab.dark.bootstrap.css.d.ts +1 -0
  304. package/components/tabs/themes/dark/tab.dark.bootstrap.css.js +3 -0
  305. package/components/tabs/themes/dark/tab.dark.bootstrap.css.js.map +1 -0
  306. package/components/tabs/themes/light/tab-panel.base.css.d.ts +1 -0
  307. package/components/tabs/themes/light/tab-panel.base.css.js +3 -0
  308. package/components/tabs/themes/light/tab-panel.base.css.js.map +1 -0
  309. package/components/tabs/themes/light/tab.base.css.d.ts +1 -0
  310. package/components/tabs/themes/light/tab.base.css.js +3 -0
  311. package/components/tabs/themes/light/tab.base.css.js.map +1 -0
  312. package/components/tabs/themes/light/tab.bootstrap.css.d.ts +1 -0
  313. package/components/tabs/themes/light/tab.bootstrap.css.js +3 -0
  314. package/components/tabs/themes/light/tab.bootstrap.css.js.map +1 -0
  315. package/components/tabs/themes/light/tab.fluent.css.d.ts +1 -0
  316. package/components/tabs/themes/light/tab.fluent.css.js +3 -0
  317. package/components/tabs/themes/light/tab.fluent.css.js.map +1 -0
  318. package/components/tabs/themes/light/tab.indigo.css.d.ts +1 -0
  319. package/components/tabs/themes/light/tab.indigo.css.js +3 -0
  320. package/components/tabs/themes/light/tab.indigo.css.js.map +1 -0
  321. package/components/tabs/themes/light/tabs.base.css.d.ts +1 -0
  322. package/components/tabs/themes/light/tabs.base.css.js +3 -0
  323. package/components/tabs/themes/light/tabs.base.css.js.map +1 -0
  324. package/components/tabs/themes/light/tabs.bootstrap.css.d.ts +1 -0
  325. package/components/tabs/themes/light/tabs.bootstrap.css.js +3 -0
  326. package/components/tabs/themes/light/tabs.bootstrap.css.js.map +1 -0
  327. package/components/tabs/themes/light/tabs.fluent.css.d.ts +1 -0
  328. package/components/tabs/themes/light/tabs.fluent.css.js +3 -0
  329. package/components/tabs/themes/light/tabs.fluent.css.js.map +1 -0
  330. package/components/tabs/themes/light/tabs.indigo.css.d.ts +1 -0
  331. package/components/tabs/themes/light/tabs.indigo.css.js +3 -0
  332. package/components/tabs/themes/light/tabs.indigo.css.js.map +1 -0
  333. package/components/tabs/utils.d.ts +14 -0
  334. package/components/tabs/utils.js +32 -0
  335. package/components/tabs/utils.js.map +1 -0
  336. package/components/toast/themes/toast.base.css.js +1 -1
  337. package/components/toast/themes/toast.base.css.js.map +1 -1
  338. package/components/toggle/toggle.controller.d.ts +17 -2
  339. package/components/toggle/toggle.controller.js +16 -11
  340. package/components/toggle/toggle.controller.js.map +1 -1
  341. package/components/toggle/toggle.directive.d.ts +1 -1
  342. package/components/toggle/toggle.directive.js +6 -4
  343. package/components/toggle/toggle.directive.js.map +1 -1
  344. package/components/tree/themes/dark/tree-item.bootstrap.css.d.ts +1 -0
  345. package/components/tree/themes/dark/tree-item.bootstrap.css.js +3 -0
  346. package/components/tree/themes/dark/tree-item.bootstrap.css.js.map +1 -0
  347. package/components/tree/themes/dark/tree-item.fluent.css.d.ts +1 -0
  348. package/components/tree/themes/dark/tree-item.fluent.css.js +3 -0
  349. package/components/tree/themes/dark/tree-item.fluent.css.js.map +1 -0
  350. package/components/tree/themes/dark/tree-item.indigo.css.d.ts +1 -0
  351. package/components/tree/themes/dark/tree-item.indigo.css.js +3 -0
  352. package/components/tree/themes/dark/tree-item.indigo.css.js.map +1 -0
  353. package/components/tree/themes/light/tree-item.base.css.d.ts +1 -0
  354. package/components/tree/themes/light/tree-item.base.css.js +3 -0
  355. package/components/tree/themes/light/tree-item.base.css.js.map +1 -0
  356. package/components/tree/themes/light/tree-item.bootstrap.css.d.ts +1 -0
  357. package/components/tree/themes/light/tree-item.bootstrap.css.js +3 -0
  358. package/components/tree/themes/light/tree-item.bootstrap.css.js.map +1 -0
  359. package/components/tree/themes/light/tree-item.fluent.css.d.ts +1 -0
  360. package/components/tree/themes/light/tree-item.fluent.css.js +3 -0
  361. package/components/tree/themes/light/tree-item.fluent.css.js.map +1 -0
  362. package/components/tree/themes/light/tree-item.indigo.css.d.ts +1 -0
  363. package/components/tree/themes/light/tree-item.indigo.css.js +3 -0
  364. package/components/tree/themes/light/tree-item.indigo.css.js.map +1 -0
  365. package/components/tree/themes/light/tree.base.css.d.ts +1 -0
  366. package/components/tree/themes/light/tree.base.css.js +3 -0
  367. package/components/tree/themes/light/tree.base.css.js.map +1 -0
  368. package/components/tree/tree-item.d.ts +116 -0
  369. package/components/tree/tree-item.js +465 -0
  370. package/components/tree/tree-item.js.map +1 -0
  371. package/components/tree/tree.common.d.ts +17 -0
  372. package/components/tree/tree.common.js +2 -0
  373. package/components/tree/tree.common.js.map +1 -0
  374. package/components/tree/tree.d.ts +71 -0
  375. package/components/tree/tree.js +169 -0
  376. package/components/tree/tree.js.map +1 -0
  377. package/components/tree/tree.navigation.d.ts +41 -0
  378. package/components/tree/tree.navigation.js +260 -0
  379. package/components/tree/tree.navigation.js.map +1 -0
  380. package/components/tree/tree.selection.d.ts +55 -0
  381. package/components/tree/tree.selection.js +265 -0
  382. package/components/tree/tree.selection.js.map +1 -0
  383. package/custom-elements.json +2754 -1522
  384. package/index.d.ts +12 -8
  385. package/index.js +9 -7
  386. package/index.js.map +1 -1
  387. package/package.json +10 -8
  388. package/themes/dark/bootstrap.css +1 -1
  389. package/themes/dark/fluent.css +1 -1
  390. package/themes/dark/indigo.css +1 -1
  391. package/themes/dark/material.css +1 -1
  392. package/themes/light/bootstrap.css +1 -1
  393. package/themes/light/fluent.css +1 -1
  394. package/vscode-html-custom-data.json +515 -72
  395. package/components/nav-drawer/styles/indigo/nav-drawer-header-item.indigo.css.js.map +0 -1
  396. package/components/nav-drawer/styles/indigo/nav-drawer-item.indigo.css.js +0 -3
  397. package/components/nav-drawer/styles/indigo/nav-drawer-item.indigo.css.js.map +0 -1
  398. package/components/nav-drawer/styles/indigo/nav-drawer.indigo.css.js +0 -3
  399. package/components/nav-drawer/styles/indigo/nav-drawer.indigo.css.js.map +0 -1
  400. package/components/nav-drawer/styles/nav-drawer-header-item.base.css.js.map +0 -1
  401. package/components/nav-drawer/styles/nav-drawer-item.base.css.js +0 -3
  402. package/components/nav-drawer/styles/nav-drawer-item.base.css.js.map +0 -1
  403. package/components/nav-drawer/styles/nav-drawer.base.css.js.map +0 -1
  404. package/components/snackbar/themes/snackbar.base.css.js +0 -3
  405. package/components/snackbar/themes/snackbar.base.css.js.map +0 -1
  406. package/components/snackbar/themes/snackbar.bootstrap.css.js +0 -3
  407. package/components/snackbar/themes/snackbar.bootstrap.css.js.map +0 -1
  408. package/components/snackbar/themes/snackbar.fluent.css.js +0 -3
  409. package/components/snackbar/themes/snackbar.fluent.css.js.map +0 -1
  410. package/components/snackbar/themes/snackbar.indigo.css.js +0 -3
  411. package/components/snackbar/themes/snackbar.indigo.css.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.model.js","sourceRoot":"","sources":["../../../../src/components/calendar/common/calendar.model.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,mDAAK,CAAA;IACL,qDAAM,CAAA;IACN,uDAAO,CAAA;IACP,yDAAQ,CAAA;IACR,yDAAQ,CAAA;IACR,yDAAQ,CAAA;AACV,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAKD,MAAM,CAAN,IAAY,iBASX;AATD,WAAY,iBAAiB;IAC3B,6DAAM,CAAA;IACN,6DAAM,CAAA;IACN,yDAAI,CAAA;IACJ,uDAAG,CAAA;IACH,yDAAI,CAAA;IACJ,2DAAK,CAAA;IACL,+DAAO,CAAA;IACP,yDAAI,CAAA;AACN,CAAC,EATW,iBAAiB,KAAjB,iBAAiB,QAS5B;AAED,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC/D,MAAM,QAAQ,GAAG,CAAC,CAAC;AAEnB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,IAAY,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE;IACzD,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,MAAM,GAAG,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;QACzD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACb;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AASF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAW,EAAE,CAC9C,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW,EAAU,EAAE,CAC1E,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAUtC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,KAAa,EAAY,EAAE;IAClE,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACpC,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;QACtC,KAAK,EAAE,CAAC;KACT;IACD,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,IAAU,EACV,MAA6B,EACpB,EAAE;IACX,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAEhC,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,KAAK,CAAC;KACd;IAED,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE;QAC/B,MAAM,OAAO,GAAW,UAAU,CAAC,SAAS;YAC1C,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CACtB,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAC5D;YACH,CAAC,CAAC,EAAE,CAAC;QACP,QAAQ,UAAU,CAAC,IAAI,EAAE;YACvB,KAAK,aAAa,CAAC,KAAK;gBACtB,IAAI,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE;oBACnC,OAAO,IAAI,CAAC;iBACb;gBAED,MAAM;YACR,KAAK,aAAa,CAAC,MAAM;gBACvB,IAAI,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE;oBACnC,OAAO,IAAI,CAAC;iBACb;gBAED,MAAM;YACR,KAAK,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,IAAI,QAAQ,IAAI,GAAG,IAAI,QAAQ,IAAI,GAAG,EAAE;oBACtC,OAAO,IAAI,CAAC;iBACb;gBAED,MAAM;aACP;YACD,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClD,KAAK,MAAM,gBAAgB,IAAI,SAAS,EAAE;oBACxC,IAAI,QAAQ,KAAK,gBAAgB,EAAE;wBACjC,OAAO,IAAI,CAAC;qBACb;iBACF;gBAED,MAAM;aACP;YACD,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC1B,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;oBACjB,OAAO,IAAI,CAAC;iBACb;gBAED,MAAM;aACP;YACD,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC9B,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE;oBACrB,OAAO,IAAI,CAAC;iBACb;gBAED,MAAM;aACP;YACD;gBACE,OAAO,KAAK,CAAC;SAChB;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AA8BF,MAAM,CAAN,IAAY,QAQX;AARD,WAAY,QAAQ;IAClB,2CAAU,CAAA;IACV,2CAAU,CAAA;IACV,6CAAW,CAAA;IACX,iDAAa,CAAA;IACb,+CAAY,CAAA;IACZ,2CAAU,CAAA;IACV,+CAAY,CAAA;AACd,CAAC,EARW,QAAQ,KAAR,QAAQ,QAQnB;AAED,MAAM,OAAO,QAAQ;IAGnB,YAAY,eAAkC,QAAQ,CAAC,MAAM;QAC3D,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAGD,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IAChC,CAAC;IAGD,IAAW,YAAY,CAAC,KAAa;QACnC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAaM,QAAQ;QACb,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE;YAC/D,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SACjB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAaM,UAAU,CACf,IAAY,EACZ,KAAa,EACb,SAAS,GAAG,KAAK;QAEjB,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACpC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAC3B;QACD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,IAAI,KAAoB,CAAC;QAGzB,OAAO,IAAI,EAAE;YACX,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEhB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAEtD,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,YAAY,EAAE;gBACpE,IAAI,SAAS,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE;oBACjC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;wBAC3B,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;wBACtD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAChB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;qBACvD;iBACF;gBACD,MAAM;aACP;SACF;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAYM,kBAAkB,CACvB,IAAY,EACZ,KAAa,EACb,SAAS,GAAG,KAAK;QAEjB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE;YACzC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACjC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,SAAS,CACd,IAAU,EACV,QAA2B,EAC3B,KAAa;QAEb,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3B,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE;gBACpC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAChB;QACH,CAAC,CAAC;QAEF,QAAQ,QAAQ,EAAE;YAChB,KAAK,iBAAiB,CAAC,IAAI;gBACzB,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC;gBAC3C,aAAa,EAAE,CAAC;gBAChB,MAAM;YACR,KAAK,iBAAiB,CAAC,OAAO;gBAC5B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;gBACzC,aAAa,EAAE,CAAC;gBAChB,MAAM;YACR,KAAK,iBAAiB,CAAC,KAAK;gBAC1B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC;gBACrC,aAAa,EAAE,CAAC;gBAChB,MAAM;YACR,KAAK,iBAAiB,CAAC,IAAI;gBACzB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,iBAAiB,CAAC,GAAG;gBACxB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,iBAAiB,CAAC,IAAI;gBACzB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,OAAO,CAAC,CAAC;gBAC7C,MAAM;YACR,KAAK,iBAAiB,CAAC,MAAM;gBAC3B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,iBAAiB,CAAC,MAAM;gBAC3B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;gBAC1C,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;SACjD;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAGM,YAAY,CAAC,IAAU;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAGM,YAAY,CAAC,IAAU;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAGM,WAAW,CAAC,IAAU;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAGM,WAAW,CAAC,IAAU;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAGM,aAAa,CAAC,IAAU;QAC7B,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,IAAI,CACpB,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,QAAQ,EAAE,EACf,IAAI,CAAC,OAAO,EAAE,CACf,CAAC,OAAO,EAAE,CAAC;QACZ,MAAM,eAAe,GAAG,QAAQ,CAAC;QACjC,MAAM,SAAS,GAAG,CAAC,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IAEO,qBAAqB,CAC3B,IAAU,EACV,IAAY,EACZ,KAAa;QAEb,OAAO;YACL,IAAI;YACJ,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK;YACxE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;YAChD,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;SACrD,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,IAAU,EAAE,IAAY,EAAE,KAAa;QAC7D,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YAC/B,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC;SAChC;QACD,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;IACnC,CAAC;IAEO,WAAW,CAAC,IAAU,EAAE,IAAY,EAAE,KAAa;QACzD,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YAC/B,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC;SAChC;QAED,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;IACnC,CAAC;CACF","sourcesContent":["export interface DateRangeDescriptor {\n type: DateRangeType;\n dateRange?: Date[];\n}\n\nexport enum DateRangeType {\n After,\n Before,\n Between,\n Specific,\n Weekdays,\n Weekends,\n}\n\n/**\n * @hidden\n */\nexport enum TimeDeltaInterval {\n Second,\n Minute,\n Hour,\n Day,\n Week,\n Month,\n Quarter,\n Year,\n}\n\nconst MDAYS = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst FEBRUARY = 1;\n\nexport const range = (start = 0, stop: number, step = 1) => {\n const res = [];\n const cur = stop === undefined ? 0 : start;\n const max = stop === undefined ? start : stop;\n for (let i = cur; step < 0 ? i > max : i < max; i += step) {\n res.push(i);\n }\n return res;\n};\n\n/**\n * Returns true for leap years, false for non-leap years.\n *\n * @export\n * @param year\n * @returns\n */\nexport const isLeap = (year: number): boolean =>\n year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n\nexport const weekDay = (year: number, month: number, day: number): number =>\n new Date(year, month, day).getDay();\n\n/**\n * Return weekday and number of days for year, month.\n *\n * @export\n * @param year\n * @param month\n * @returns\n */\nexport const monthRange = (year: number, month: number): number[] => {\n if (month < 0 || month > 11) {\n throw new Error('Invalid month specified');\n }\n const day = weekDay(year, month, 1);\n let nDays = MDAYS[month];\n if (month === FEBRUARY && isLeap(year)) {\n nDays++;\n }\n return [day, nDays];\n};\n\nexport const isDateInRanges = (\n date: Date,\n ranges: DateRangeDescriptor[]\n): boolean => {\n date = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n const dateInMs = date.getTime();\n\n if (!ranges) {\n return false;\n }\n\n for (const descriptor of ranges) {\n const dRanges: Date[] = descriptor.dateRange\n ? descriptor.dateRange.map(\n (r) => new Date(r.getFullYear(), r.getMonth(), r.getDate())\n )\n : [];\n switch (descriptor.type) {\n case DateRangeType.After:\n if (dateInMs > dRanges[0].getTime()) {\n return true;\n }\n\n break;\n case DateRangeType.Before:\n if (dateInMs < dRanges[0].getTime()) {\n return true;\n }\n\n break;\n case DateRangeType.Between: {\n const dRange = dRanges.map((d) => d.getTime());\n const min = Math.min(dRange[0], dRange[1]);\n const max = Math.max(dRange[0], dRange[1]);\n if (dateInMs >= min && dateInMs <= max) {\n return true;\n }\n\n break;\n }\n case DateRangeType.Specific: {\n const datesInMs = dRanges.map((d) => d.getTime());\n for (const specificDateInMs of datesInMs) {\n if (dateInMs === specificDateInMs) {\n return true;\n }\n }\n\n break;\n }\n case DateRangeType.Weekdays: {\n const day = date.getDay();\n if (day % 6 !== 0) {\n return true;\n }\n\n break;\n }\n case DateRangeType.Weekends: {\n const weekday = date.getDay();\n if (weekday % 6 === 0) {\n return true;\n }\n\n break;\n }\n default:\n return false;\n }\n }\n\n return false;\n};\n\nexport interface ICalendarDate {\n date: Date;\n isCurrentMonth: boolean;\n isPrevMonth: boolean;\n isNextMonth: boolean;\n}\n\nexport interface IFormattedParts {\n value: string;\n literal?: string;\n combined: string;\n}\n\nexport interface IFormattingViews {\n day?: boolean;\n month?: boolean;\n year?: boolean;\n}\n\nexport type WeekDays =\n | 'sunday'\n | 'monday'\n | 'tuesday'\n | 'wednesday'\n | 'thursday'\n | 'friday'\n | 'saturday';\n\nexport enum WEEKDAYS {\n SUNDAY = 0,\n MONDAY = 1,\n TUESDAY = 2,\n WEDNESDAY = 3,\n THURSDAY = 4,\n FRIDAY = 5,\n SATURDAY = 6,\n}\n\nexport class Calendar {\n private _firstWeekDay: number | WEEKDAYS;\n\n constructor(firstWeekDay: number | WEEKDAYS = WEEKDAYS.SUNDAY) {\n this._firstWeekDay = firstWeekDay;\n }\n\n /** Gets the starting day of the week. */\n public get firstWeekDay(): number {\n return this._firstWeekDay % 7;\n }\n\n /** Sets the starting day of the week. */\n public set firstWeekDay(value: number) {\n this._firstWeekDay = value;\n }\n\n /**\n * Returns an array of weekdays for one week starting\n * with the currently set `firstWeekDay`\n *\n * this.firstWeekDay = 0 (Sunday) --> [0, 1, 2, 3, 4, 5, 6]\n * this.firstWeekDay = 1 (Monday) --> [1, 2, 3, 4, 5, 6, 0]\n *\n * @returns\n *\n * @memberof Calendar\n */\n public weekdays(): number[] {\n const res = [];\n for (const i of range(this.firstWeekDay, this.firstWeekDay + 7)) {\n res.push(i % 7);\n }\n return res;\n }\n\n /**\n * Returns the date values for one month. It will always iterate throught\n * complete weeks, so it will contain dates outside the specified month.\n *\n * @param year\n * @param month\n * @param boolean\n * @returns\n *\n * @memberof Calendar\n */\n public monthdates(\n year: number,\n month: number,\n extraWeek = false\n ): ICalendarDate[] {\n let date = new Date(year, month, 1);\n let days = (date.getDay() - this.firstWeekDay) % 7;\n if (days < 0) {\n days = 7 - Math.abs(days);\n }\n date = this.timedelta(date, TimeDeltaInterval.Day, -days);\n const res = [];\n let value: ICalendarDate;\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n value = this.generateICalendarDate(date, year, month);\n res.push(value);\n\n date = this.timedelta(date, TimeDeltaInterval.Day, 1);\n\n if (date.getMonth() !== month && date.getDay() === this.firstWeekDay) {\n if (extraWeek && res.length <= 35) {\n for (const _ of range(0, 7)) {\n value = this.generateICalendarDate(date, year, month);\n res.push(value);\n date = this.timedelta(date, TimeDeltaInterval.Day, 1);\n }\n }\n break;\n }\n }\n return res;\n }\n\n /**\n * Returns a matrix (array of arrays) representing a month's calendar.\n * Each row represents a full week; week entries are ICalendarDate objects.\n *\n * @param year\n * @param month\n * @returns\n *\n * @memberof Calendar\n */\n public monthdatescalendar(\n year: number,\n month: number,\n extraWeek = false\n ): ICalendarDate[][] {\n const dates = this.monthdates(year, month, extraWeek);\n const res = [];\n for (const i of range(0, dates.length, 7)) {\n res.push(dates.slice(i, i + 7));\n }\n return res;\n }\n\n public timedelta(\n date: Date,\n interval: TimeDeltaInterval,\n units: number\n ): Date {\n const ret = new Date(date);\n\n const checkRollover = () => {\n if (ret.getDate() !== date.getDate()) {\n ret.setDate(0);\n }\n };\n\n switch (interval) {\n case TimeDeltaInterval.Year:\n ret.setFullYear(ret.getFullYear() + units);\n checkRollover();\n break;\n case TimeDeltaInterval.Quarter:\n ret.setMonth(ret.getMonth() + 3 * units);\n checkRollover();\n break;\n case TimeDeltaInterval.Month:\n ret.setMonth(ret.getMonth() + units);\n checkRollover();\n break;\n case TimeDeltaInterval.Week:\n ret.setDate(ret.getDate() + 7 * units);\n break;\n case TimeDeltaInterval.Day:\n ret.setDate(ret.getDate() + units);\n break;\n case TimeDeltaInterval.Hour:\n ret.setTime(ret.getTime() + units * 3600000);\n break;\n case TimeDeltaInterval.Minute:\n ret.setTime(ret.getTime() + units * 60000);\n break;\n case TimeDeltaInterval.Second:\n ret.setTime(ret.getTime() + units * 1000);\n break;\n default:\n throw new Error('Invalid interval specifier');\n }\n return ret;\n }\n\n /** Gets the same date the month after. */\n public getNextMonth(date: Date) {\n return this.timedelta(date, TimeDeltaInterval.Month, 1);\n }\n\n /** Gets the same date the month prior. */\n public getPrevMonth(date: Date) {\n return this.timedelta(date, TimeDeltaInterval.Month, -1);\n }\n\n /** Gets the same date the year after. */\n public getNextYear(date: Date) {\n return this.timedelta(date, TimeDeltaInterval.Year, 1);\n }\n\n /** Gets the same date the year prior. */\n public getPrevYear(date: Date) {\n return this.timedelta(date, TimeDeltaInterval.Year, -1);\n }\n\n /** Gets the week number of a given date. */\n public getWeekNumber(date: Date) {\n const firstJan = new Date(date.getFullYear(), 0, 1).getTime();\n const today = new Date(\n date.getFullYear(),\n date.getMonth(),\n date.getDate()\n ).getTime();\n const dayInMilSeconds = 86400000;\n const dayOfYear = (today - firstJan + 1) / dayInMilSeconds;\n return Math.ceil(dayOfYear / 7);\n }\n\n private generateICalendarDate(\n date: Date,\n year: number,\n month: number\n ): ICalendarDate {\n return {\n date,\n isCurrentMonth: date.getFullYear() === year && date.getMonth() === month,\n isNextMonth: this.isNextMonth(date, year, month),\n isPrevMonth: this.isPreviousMonth(date, year, month),\n };\n }\n\n private isPreviousMonth(date: Date, year: number, month: number): boolean {\n if (date.getFullYear() === year) {\n return date.getMonth() < month;\n }\n return date.getFullYear() < year;\n }\n\n private isNextMonth(date: Date, year: number, month: number): boolean {\n if (date.getFullYear() === year) {\n return date.getMonth() > month;\n }\n\n return date.getFullYear() > year;\n }\n}\n"]}
1
+ {"version":3,"file":"calendar.model.js","sourceRoot":"","sources":["../../../../src/components/calendar/common/calendar.model.ts"],"names":[],"mappings":"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","sourcesContent":["export interface DateRangeDescriptor {\n type: DateRangeType;\n dateRange?: Date[];\n}\n\nexport enum DateRangeType {\n After,\n Before,\n Between,\n Specific,\n Weekdays,\n Weekends,\n}\n\n/**\n * @hidden\n */\nexport enum TimeDeltaInterval {\n Second,\n Minute,\n Hour,\n Day,\n Week,\n Month,\n Quarter,\n Year,\n}\n\nconst MDAYS = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst FEBRUARY = 1;\n\nexport const range = (start = 0, stop: number, step = 1) => {\n const res = [];\n const cur = stop === undefined ? 0 : start;\n const max = stop === undefined ? start : stop;\n for (let i = cur; step < 0 ? i > max : i < max; i += step) {\n res.push(i);\n }\n return res;\n};\n\n/**\n * Returns true for leap years, false for non-leap years.\n *\n * @export\n * @param year\n * @returns\n */\nexport const isLeap = (year: number): boolean =>\n year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n\nexport const weekDay = (year: number, month: number, day: number): number =>\n new Date(year, month, day).getDay();\n\n/**\n * Return weekday and number of days for year, month.\n *\n * @export\n * @param year\n * @param month\n * @returns\n */\nexport const monthRange = (year: number, month: number): number[] => {\n if (month < 0 || month > 11) {\n throw new Error('Invalid month specified');\n }\n const day = weekDay(year, month, 1);\n let nDays = MDAYS[month];\n if (month === FEBRUARY && isLeap(year)) {\n nDays++;\n }\n return [day, nDays];\n};\n\nexport const isDateInRanges = (\n date: Date,\n ranges: DateRangeDescriptor[]\n): boolean => {\n date = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n const dateInMs = date.getTime();\n\n if (!ranges) {\n return false;\n }\n\n for (const descriptor of ranges) {\n const dRanges: Date[] = descriptor.dateRange\n ? descriptor.dateRange.map(\n (r) => new Date(r.getFullYear(), r.getMonth(), r.getDate())\n )\n : [];\n switch (descriptor.type) {\n case DateRangeType.After:\n if (dateInMs > dRanges[0].getTime()) {\n return true;\n }\n\n break;\n case DateRangeType.Before:\n if (dateInMs < dRanges[0].getTime()) {\n return true;\n }\n\n break;\n case DateRangeType.Between: {\n const dRange = dRanges.map((d) => d.getTime());\n const min = Math.min(dRange[0], dRange[1]);\n const max = Math.max(dRange[0], dRange[1]);\n if (dateInMs >= min && dateInMs <= max) {\n return true;\n }\n\n break;\n }\n case DateRangeType.Specific: {\n const datesInMs = dRanges.map((d) => d.getTime());\n for (const specificDateInMs of datesInMs) {\n if (dateInMs === specificDateInMs) {\n return true;\n }\n }\n\n break;\n }\n case DateRangeType.Weekdays: {\n const day = date.getDay();\n if (day % 6 !== 0) {\n return true;\n }\n\n break;\n }\n case DateRangeType.Weekends: {\n const weekday = date.getDay();\n if (weekday % 6 === 0) {\n return true;\n }\n\n break;\n }\n default:\n return false;\n }\n }\n\n return false;\n};\n\n/* blazorSuppress */\nexport interface ICalendarDate {\n date: Date;\n isCurrentMonth: boolean;\n isPrevMonth: boolean;\n isNextMonth: boolean;\n}\n\nexport interface IFormattedParts {\n value: string;\n literal?: string;\n combined: string;\n}\n\nexport interface IFormattingViews {\n day?: boolean;\n month?: boolean;\n year?: boolean;\n}\n\nexport type WeekDays =\n | 'sunday'\n | 'monday'\n | 'tuesday'\n | 'wednesday'\n | 'thursday'\n | 'friday'\n | 'saturday';\n\nexport enum WEEKDAYS {\n SUNDAY = 0,\n MONDAY = 1,\n TUESDAY = 2,\n WEDNESDAY = 3,\n THURSDAY = 4,\n FRIDAY = 5,\n SATURDAY = 6,\n}\n\nexport class Calendar {\n private _firstWeekDay: number | WEEKDAYS;\n\n constructor(firstWeekDay: number | WEEKDAYS = WEEKDAYS.SUNDAY) {\n this._firstWeekDay = firstWeekDay;\n }\n\n /** Gets the starting day of the week. */\n public get firstWeekDay(): number {\n return this._firstWeekDay % 7;\n }\n\n /** Sets the starting day of the week. */\n public set firstWeekDay(value: number) {\n this._firstWeekDay = value;\n }\n\n /**\n * Returns an array of weekdays for one week starting\n * with the currently set `firstWeekDay`\n *\n * this.firstWeekDay = 0 (Sunday) --> [0, 1, 2, 3, 4, 5, 6]\n * this.firstWeekDay = 1 (Monday) --> [1, 2, 3, 4, 5, 6, 0]\n *\n * @returns\n *\n * @memberof Calendar\n */\n public weekdays(): number[] {\n const res = [];\n for (const i of range(this.firstWeekDay, this.firstWeekDay + 7)) {\n res.push(i % 7);\n }\n return res;\n }\n\n /**\n * Returns the date values for one month. It will always iterate throught\n * complete weeks, so it will contain dates outside the specified month.\n *\n * @param year\n * @param month\n * @param boolean\n * @returns\n *\n * @memberof Calendar\n */\n public monthdates(\n year: number,\n month: number,\n extraWeek = false\n ): ICalendarDate[] {\n let date = new Date(year, month, 1);\n let days = (date.getDay() - this.firstWeekDay) % 7;\n if (days < 0) {\n days = 7 - Math.abs(days);\n }\n date = this.timedelta(date, TimeDeltaInterval.Day, -days);\n const res = [];\n let value: ICalendarDate;\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n value = this.generateICalendarDate(date, year, month);\n res.push(value);\n\n date = this.timedelta(date, TimeDeltaInterval.Day, 1);\n\n if (date.getMonth() !== month && date.getDay() === this.firstWeekDay) {\n if (extraWeek && res.length <= 35) {\n for (const _ of range(0, 7)) {\n value = this.generateICalendarDate(date, year, month);\n res.push(value);\n date = this.timedelta(date, TimeDeltaInterval.Day, 1);\n }\n }\n break;\n }\n }\n return res;\n }\n\n /**\n * Returns a matrix (array of arrays) representing a month's calendar.\n * Each row represents a full week; week entries are ICalendarDate objects.\n *\n * @param year\n * @param month\n * @returns\n *\n * @memberof Calendar\n */\n public monthdatescalendar(\n year: number,\n month: number,\n extraWeek = false\n ): ICalendarDate[][] {\n const dates = this.monthdates(year, month, extraWeek);\n const res = [];\n for (const i of range(0, dates.length, 7)) {\n res.push(dates.slice(i, i + 7));\n }\n return res;\n }\n\n public timedelta(\n date: Date,\n interval: TimeDeltaInterval,\n units: number\n ): Date {\n const ret = new Date(date);\n\n const checkRollover = () => {\n if (ret.getDate() !== date.getDate()) {\n ret.setDate(0);\n }\n };\n\n switch (interval) {\n case TimeDeltaInterval.Year:\n ret.setFullYear(ret.getFullYear() + units);\n checkRollover();\n break;\n case TimeDeltaInterval.Quarter:\n ret.setMonth(ret.getMonth() + 3 * units);\n checkRollover();\n break;\n case TimeDeltaInterval.Month:\n ret.setMonth(ret.getMonth() + units);\n checkRollover();\n break;\n case TimeDeltaInterval.Week:\n ret.setDate(ret.getDate() + 7 * units);\n break;\n case TimeDeltaInterval.Day:\n ret.setDate(ret.getDate() + units);\n break;\n case TimeDeltaInterval.Hour:\n ret.setTime(ret.getTime() + units * 3600000);\n break;\n case TimeDeltaInterval.Minute:\n ret.setTime(ret.getTime() + units * 60000);\n break;\n case TimeDeltaInterval.Second:\n ret.setTime(ret.getTime() + units * 1000);\n break;\n default:\n throw new Error('Invalid interval specifier');\n }\n return ret;\n }\n\n /** Gets the same date the month after. */\n public getNextMonth(date: Date) {\n return this.timedelta(date, TimeDeltaInterval.Month, 1);\n }\n\n /** Gets the same date the month prior. */\n public getPrevMonth(date: Date) {\n return this.timedelta(date, TimeDeltaInterval.Month, -1);\n }\n\n /** Gets the same date the year after. */\n public getNextYear(date: Date) {\n return this.timedelta(date, TimeDeltaInterval.Year, 1);\n }\n\n /** Gets the same date the year prior. */\n public getPrevYear(date: Date) {\n return this.timedelta(date, TimeDeltaInterval.Year, -1);\n }\n\n /** Gets the week number of a given date. */\n public getWeekNumber(date: Date) {\n const firstJan = new Date(date.getFullYear(), 0, 1).getTime();\n const today = new Date(\n date.getFullYear(),\n date.getMonth(),\n date.getDate()\n ).getTime();\n const dayInMilSeconds = 86400000;\n const dayOfYear = (today - firstJan + 1) / dayInMilSeconds;\n return Math.ceil(dayOfYear / 7);\n }\n\n private generateICalendarDate(\n date: Date,\n year: number,\n month: number\n ): ICalendarDate {\n return {\n date,\n isCurrentMonth: date.getFullYear() === year && date.getMonth() === month,\n isNextMonth: this.isNextMonth(date, year, month),\n isPrevMonth: this.isPreviousMonth(date, year, month),\n };\n }\n\n private isPreviousMonth(date: Date, year: number, month: number): boolean {\n if (date.getFullYear() === year) {\n return date.getMonth() < month;\n }\n return date.getFullYear() < year;\n }\n\n private isNextMonth(date: Date, year: number, month: number): boolean {\n if (date.getFullYear() === year) {\n return date.getMonth() > month;\n }\n\n return date.getFullYear() > year;\n }\n}\n"]}
@@ -6,7 +6,7 @@ export interface IgcDaysViewEventMap extends IgcCalendarBaseEventMap {
6
6
  igcActiveDateChange: CustomEvent<ICalendarDate>;
7
7
  igcRangePreviewDateChange: CustomEvent<Date>;
8
8
  }
9
- declare const IgcDaysViewComponent_base: Constructor<import("../../common/mixins/event-emitter.js").EventEmitterInterface<IgcDaysViewEventMap>> & Constructor<IgcCalendarBaseComponent>;
9
+ declare const IgcDaysViewComponent_base: import("../../common/mixins/constructor.js").AbstractConstructor<import("../../common/mixins/event-emitter.js").EventEmitterInterface<IgcDaysViewEventMap>> & Constructor<IgcCalendarBaseComponent>;
10
10
  /**
11
11
  * Instantiate a days view as a separate component in the calendar.
12
12
  *
@@ -22,6 +22,7 @@ declare const IgcDaysViewComponent_base: Constructor<import("../../common/mixins
22
22
  * @csspart week-number-inner - The inner week number container.
23
23
  */
24
24
  export default class IgcDaysViewComponent extends IgcDaysViewComponent_base {
25
+ static readonly tagName = "igc-days-view";
25
26
  static styles: import("lit").CSSResult;
26
27
  private formatterWeekday;
27
28
  private dates;
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { html } from 'lit';
8
- import { customElement, property, query } from 'lit/decorators.js';
8
+ import { property, query } from 'lit/decorators.js';
9
9
  import { themes } from '../../../theming/theming-decorator.js';
10
10
  import { blazorIndirectRender } from '../../common/decorators/blazorIndirectRender.js';
11
11
  import { blazorSuppressComponent } from '../../common/decorators/blazorSuppressComponent.js';
@@ -400,6 +400,7 @@ let IgcDaysViewComponent = class IgcDaysViewComponent extends EventEmitterMixin(
400
400
  return html `${this.renderWeekHeaders()} ${this.renderDates()}`;
401
401
  }
402
402
  };
403
+ IgcDaysViewComponent.tagName = 'igc-days-view';
403
404
  IgcDaysViewComponent.styles = styles;
404
405
  __decorate([
405
406
  query('[tabindex="0"]')
@@ -431,7 +432,6 @@ __decorate([
431
432
  watch('activeDate')
432
433
  ], IgcDaysViewComponent.prototype, "datesChange", null);
433
434
  IgcDaysViewComponent = __decorate([
434
- customElement('igc-days-view'),
435
435
  blazorSuppressComponent,
436
436
  blazorIndirectRender,
437
437
  themes({
@@ -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 { customElement, 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@customElement('igc-days-view')\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 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":"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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,7 +1,7 @@
1
1
  import { LitElement } from 'lit';
2
2
  import { Constructor } from '../../common/mixins/constructor.js';
3
3
  import { IgcCalendarBaseEventMap } from '../common/calendar-base.js';
4
- declare const IgcMonthsViewComponent_base: Constructor<import("../../common/mixins/event-emitter.js").EventEmitterInterface<IgcCalendarBaseEventMap>> & Constructor<LitElement>;
4
+ declare const IgcMonthsViewComponent_base: import("../../common/mixins/constructor.js").AbstractConstructor<import("../../common/mixins/event-emitter.js").EventEmitterInterface<IgcCalendarBaseEventMap>> & Constructor<LitElement>;
5
5
  /**
6
6
  * Instantiate a months view as a separate component in the calendar.
7
7
  *
@@ -12,6 +12,7 @@ declare const IgcMonthsViewComponent_base: Constructor<import("../../common/mixi
12
12
  * @csspart month-inner - The inner month container.
13
13
  */
14
14
  export default class IgcMonthsViewComponent extends IgcMonthsViewComponent_base {
15
+ static readonly tagName = "igc-months-view";
15
16
  static styles: import("lit").CSSResult;
16
17
  private calendarModel;
17
18
  private monthFormatter;
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { html, LitElement } from 'lit';
8
- import { customElement, property, query } from 'lit/decorators.js';
8
+ import { property, query } from 'lit/decorators.js';
9
9
  import { themes } from '../../../theming/theming-decorator.js';
10
10
  import { blazorIndirectRender } from '../../common/decorators/blazorIndirectRender.js';
11
11
  import { blazorSuppressComponent } from '../../common/decorators/blazorSuppressComponent.js';
@@ -107,6 +107,7 @@ let IgcMonthsViewComponent = class IgcMonthsViewComponent extends EventEmitterMi
107
107
  })}`;
108
108
  }
109
109
  };
110
+ IgcMonthsViewComponent.tagName = 'igc-months-view';
110
111
  IgcMonthsViewComponent.styles = styles;
111
112
  __decorate([
112
113
  query('[tabindex="0"]')
@@ -125,7 +126,6 @@ __decorate([
125
126
  watch('monthFormat')
126
127
  ], IgcMonthsViewComponent.prototype, "formatChange", null);
127
128
  IgcMonthsViewComponent = __decorate([
128
- customElement('igc-months-view'),
129
129
  blazorIndirectRender,
130
130
  blazorSuppressComponent,
131
131
  themes({
@@ -1 +1 @@
1
- {"version":3,"file":"months-view.js","sourceRoot":"","sources":["../../../../src/components/calendar/months-view/months-view.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, 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 { Constructor } from '../../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../../common/mixins/event-emitter.js';\nimport { partNameMap } from '../../common/util.js';\nimport {\n IgcCalendarBaseEventMap,\n MONTHS_PER_ROW,\n} from '../common/calendar-base.js';\nimport { Calendar, TimeDeltaInterval } from '../common/calendar.model.js';\nimport { setDateSafe } from '../common/utils.js';\nimport { styles as bootstrap } from '../themes/bootstrap/year-month-view.bootstrap.css.js';\nimport { styles as fluent } from '../themes/fluent/year-month-view.fluent.css.js';\nimport { styles } from '../themes/year-month-view.base.css.js';\n\n/**\n * Instantiate a months view as a separate component in the calendar.\n *\n * @element igc-months-view\n *\n * @csspart months-row - The months row container.\n * @csspart month - The month container.\n * @csspart month-inner - The inner month container.\n */\n@customElement('igc-months-view')\n@blazorIndirectRender\n@blazorSuppressComponent\n@themes({\n bootstrap,\n fluent,\n})\nexport default class IgcMonthsViewComponent extends EventEmitterMixin<\n IgcCalendarBaseEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static styles = styles;\n private calendarModel = new Calendar();\n private monthFormatter: any;\n\n @query('[tabindex=\"0\"]')\n private activeMonth!: HTMLElement;\n\n /** Тhe current value of the calendar. */\n @property({ attribute: false })\n public value = new Date();\n\n /** Sets the locale used for formatting and displaying the dates. */\n @property()\n public locale = 'en';\n\n /** The format of the month. Defaults to long. */\n @property({ attribute: 'month-format' })\n public monthFormat:\n | 'numeric'\n | '2-digit'\n | 'long'\n | 'short'\n | 'narrow'\n | undefined = 'long';\n\n @watch('locale')\n @watch('monthFormat')\n protected formatChange() {\n this.initMonthFormatter();\n }\n\n constructor() {\n super();\n this.setAttribute('role', 'grid');\n this.initMonthFormatter();\n }\n\n /** Focuses the active date. */\n public focusActiveDate() {\n this.activeMonth.focus();\n }\n\n private initMonthFormatter() {\n this.monthFormatter = new Intl.DateTimeFormat(this.locale, {\n month: this.monthFormat,\n });\n }\n\n private formattedMonth(value: Date) {\n return this.monthFormatter.format(value);\n }\n\n private get months(): Date[][] {\n let date = new Date(this.value.getFullYear(), 0, 1);\n const result = [];\n\n const rowsCount = 12 / MONTHS_PER_ROW;\n\n for (let i = 0; i < rowsCount; i++) {\n const row: Date[] = [];\n\n for (let j = 0; j < MONTHS_PER_ROW; j++) {\n row.push(date);\n date = this.calendarModel.timedelta(date, TimeDeltaInterval.Month, 1);\n }\n result.push(row);\n }\n\n return result;\n }\n\n private resolveMonthPartName(date: Date) {\n const today = new Date();\n return {\n month: true,\n selected: date.getMonth() === this.value.getMonth(),\n current:\n date.getFullYear() === today.getFullYear() &&\n date.getMonth() === today.getMonth(),\n };\n }\n\n private selectMonth(month: Date) {\n const value = new Date(month);\n setDateSafe(value, this.value.getDate());\n this.value = value;\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n private monthKeyDown(event: KeyboardEvent, month: Date) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.selectMonth(month);\n }\n }\n\n protected override render() {\n return html`${this.months.map((row) => {\n return html`<div part=\"months-row\" role=\"row\">\n ${row.map((month) => {\n const monthPartName = partNameMap(this.resolveMonthPartName(month));\n const monthInnerPartName = monthPartName.replace(\n 'month',\n 'month-inner'\n );\n\n return html`<span part=${monthPartName}>\n <span\n part=${monthInnerPartName}\n role=\"gridcell\"\n aria-label=${month.toLocaleString(this.locale, {\n month: 'long',\n year: 'numeric',\n })}\n aria-selected=${month.getMonth() === this.value.getMonth()}\n tabindex=\"${month.getFullYear() === this.value.getFullYear() &&\n month.getMonth() === this.value.getMonth()\n ? 0\n : -1}\"\n @click=${() => this.selectMonth(month)}\n @keydown=${(event: KeyboardEvent) =>\n this.monthKeyDown(event, month)}\n >\n ${this.formattedMonth(month)}\n </span>\n </span>`;\n })}\n </div>`;\n })}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-months-view': IgcMonthsViewComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"months-view.js","sourceRoot":"","sources":["../../../../src/components/calendar/months-view/months-view.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } 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 { Constructor } from '../../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../../common/mixins/event-emitter.js';\nimport { partNameMap } from '../../common/util.js';\nimport {\n IgcCalendarBaseEventMap,\n MONTHS_PER_ROW,\n} from '../common/calendar-base.js';\nimport { Calendar, TimeDeltaInterval } from '../common/calendar.model.js';\nimport { setDateSafe } from '../common/utils.js';\nimport { styles as bootstrap } from '../themes/bootstrap/year-month-view.bootstrap.css.js';\nimport { styles as fluent } from '../themes/fluent/year-month-view.fluent.css.js';\nimport { styles } from '../themes/year-month-view.base.css.js';\n\n/**\n * Instantiate a months view as a separate component in the calendar.\n *\n * @element igc-months-view\n *\n * @csspart months-row - The months row container.\n * @csspart month - The month container.\n * @csspart month-inner - The inner month container.\n */\n@blazorIndirectRender\n@blazorSuppressComponent\n@themes({\n bootstrap,\n fluent,\n})\nexport default class IgcMonthsViewComponent extends EventEmitterMixin<\n IgcCalendarBaseEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-months-view';\n public static styles = styles;\n private calendarModel = new Calendar();\n private monthFormatter: any;\n\n @query('[tabindex=\"0\"]')\n private activeMonth!: HTMLElement;\n\n /** Тhe current value of the calendar. */\n @property({ attribute: false })\n public value = new Date();\n\n /** Sets the locale used for formatting and displaying the dates. */\n @property()\n public locale = 'en';\n\n /** The format of the month. Defaults to long. */\n @property({ attribute: 'month-format' })\n public monthFormat:\n | 'numeric'\n | '2-digit'\n | 'long'\n | 'short'\n | 'narrow'\n | undefined = 'long';\n\n @watch('locale')\n @watch('monthFormat')\n protected formatChange() {\n this.initMonthFormatter();\n }\n\n constructor() {\n super();\n this.setAttribute('role', 'grid');\n this.initMonthFormatter();\n }\n\n /** Focuses the active date. */\n public focusActiveDate() {\n this.activeMonth.focus();\n }\n\n private initMonthFormatter() {\n this.monthFormatter = new Intl.DateTimeFormat(this.locale, {\n month: this.monthFormat,\n });\n }\n\n private formattedMonth(value: Date) {\n return this.monthFormatter.format(value);\n }\n\n private get months(): Date[][] {\n let date = new Date(this.value.getFullYear(), 0, 1);\n const result = [];\n\n const rowsCount = 12 / MONTHS_PER_ROW;\n\n for (let i = 0; i < rowsCount; i++) {\n const row: Date[] = [];\n\n for (let j = 0; j < MONTHS_PER_ROW; j++) {\n row.push(date);\n date = this.calendarModel.timedelta(date, TimeDeltaInterval.Month, 1);\n }\n result.push(row);\n }\n\n return result;\n }\n\n private resolveMonthPartName(date: Date) {\n const today = new Date();\n return {\n month: true,\n selected: date.getMonth() === this.value.getMonth(),\n current:\n date.getFullYear() === today.getFullYear() &&\n date.getMonth() === today.getMonth(),\n };\n }\n\n private selectMonth(month: Date) {\n const value = new Date(month);\n setDateSafe(value, this.value.getDate());\n this.value = value;\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n private monthKeyDown(event: KeyboardEvent, month: Date) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.selectMonth(month);\n }\n }\n\n protected override render() {\n return html`${this.months.map((row) => {\n return html`<div part=\"months-row\" role=\"row\">\n ${row.map((month) => {\n const monthPartName = partNameMap(this.resolveMonthPartName(month));\n const monthInnerPartName = monthPartName.replace(\n 'month',\n 'month-inner'\n );\n\n return html`<span part=${monthPartName}>\n <span\n part=${monthInnerPartName}\n role=\"gridcell\"\n aria-label=${month.toLocaleString(this.locale, {\n month: 'long',\n year: 'numeric',\n })}\n aria-selected=${month.getMonth() === this.value.getMonth()}\n tabindex=\"${month.getFullYear() === this.value.getFullYear() &&\n month.getMonth() === this.value.getMonth()\n ? 0\n : -1}\"\n @click=${() => this.selectMonth(month)}\n @keydown=${(event: KeyboardEvent) =>\n this.monthKeyDown(event, month)}\n >\n ${this.formattedMonth(month)}\n </span>\n </span>`;\n })}\n </div>`;\n })}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-months-view': IgcMonthsViewComponent;\n }\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host(igc-calendar){border:.0625rem solid hsla(var(--igc-gray-300), var(--igc-gray-a));border-radius:clamp(0rem,var(--igc-radius-factor)*.25rem,.25rem)}:host(igc-calendar[size=large]) igc-days-view::part(date-inner),:host(igc-calendar[size=large]) igc-months-view::part(month-inner),:host(igc-calendar[size=large]) igc-years-view::part(year-inner),:host(igc-calendar[size=medium]) igc-days-view::part(date-inner),:host(igc-calendar[size=medium]) igc-months-view::part(month-inner),:host(igc-calendar[size=medium]) igc-years-view::part(year-inner),:host(igc-calendar[size=small]) igc-days-view::part(date-inner),:host(igc-calendar[size=small]) igc-months-view::part(month-inner),:host(igc-calendar[size=small]) igc-years-view::part(year-inner){border-radius:clamp(0rem,var(--igc-radius-factor)*.25rem,.25rem)}[part~=navigation-button]{color:hsla(var(--igc-primary-500), var(--igc-primary-a))}[part~=navigation-button]:hover,[part~=navigation-button]:focus{color:hsla(var(--igc-primary-600), var(--igc-primary-a))}[part~=navigation],[part~=header]{background:hsla(var(--igc-secondary-50), 0.2);color:var(--igc-gray-50-contrast)}`;
2
+ export const styles = css `:host(igc-calendar){border:.0625rem solid hsla(var(--igc-gray-300), var(--igc-gray-a));border-radius:clamp(0rem,var(--igc-radius-factor)*.25rem,.25rem)}:host(igc-calendar[size=large]) igc-days-view::part(date-inner),:host(igc-calendar[size=large]) igc-months-view::part(month-inner),:host(igc-calendar[size=large]) igc-years-view::part(year-inner),:host(igc-calendar[size=medium]) igc-days-view::part(date-inner),:host(igc-calendar[size=medium]) igc-months-view::part(month-inner),:host(igc-calendar[size=medium]) igc-years-view::part(year-inner),:host(igc-calendar[size=small]) igc-days-view::part(date-inner),:host(igc-calendar[size=small]) igc-months-view::part(month-inner),:host(igc-calendar[size=small]) igc-years-view::part(year-inner){border-radius:clamp(0rem,var(--igc-radius-factor)*.25rem,.25rem)}[part~=navigation-button]{color:hsla(var(--igc-primary-500), var(--igc-primary-a))}[part~=navigation-button]:hover,[part~=navigation-button]:focus{color:hsla(var(--igc-primary-600), var(--igc-primary-a))}[part~=navigation],[part~=header]{background:hsla(var(--igc-secondary-50), 0.2);color:var(--igc-gray-50-contrast)}[part=header-title]{font-family:var(--igc-subtitle-1-font-family);font-weight:var(--igc-subtitle-1-font-weight);font-size:var(--igc-subtitle-1-font-size);font-style:var(--igc-subtitle-1-font-style);letter-spacing:var(--igc-subtitle-1-letter-spacing);text-transform:var(--igc-subtitle-1-text-transform);line-height:var(--igc-subtitle-1-line-height);margin-top:var(--igc-subtitle-1-margin-top);margin-bottom:var(--igc-subtitle-1-margin-bottom)}`;
3
3
  //# sourceMappingURL=calendar.bootstrap.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/calendar/themes/bootstrap/calendar.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,wmCAAwmC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host(igc-calendar){border:.0625rem solid hsla(var(--igc-gray-300), var(--igc-gray-a));border-radius:clamp(0rem,var(--igc-radius-factor)*.25rem,.25rem)}:host(igc-calendar[size=large]) igc-days-view::part(date-inner),:host(igc-calendar[size=large]) igc-months-view::part(month-inner),:host(igc-calendar[size=large]) igc-years-view::part(year-inner),:host(igc-calendar[size=medium]) igc-days-view::part(date-inner),:host(igc-calendar[size=medium]) igc-months-view::part(month-inner),:host(igc-calendar[size=medium]) igc-years-view::part(year-inner),:host(igc-calendar[size=small]) igc-days-view::part(date-inner),:host(igc-calendar[size=small]) igc-months-view::part(month-inner),:host(igc-calendar[size=small]) igc-years-view::part(year-inner){border-radius:clamp(0rem,var(--igc-radius-factor)*.25rem,.25rem)}[part~=navigation-button]{color:hsla(var(--igc-primary-500), var(--igc-primary-a))}[part~=navigation-button]:hover,[part~=navigation-button]:focus{color:hsla(var(--igc-primary-600), var(--igc-primary-a))}[part~=navigation],[part~=header]{background:hsla(var(--igc-secondary-50), 0.2);color:var(--igc-gray-50-contrast)}`;\n"]}
1
+ {"version":3,"file":"calendar.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/calendar/themes/bootstrap/calendar.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,kiDAAkiD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host(igc-calendar){border:.0625rem solid hsla(var(--igc-gray-300), var(--igc-gray-a));border-radius:clamp(0rem,var(--igc-radius-factor)*.25rem,.25rem)}:host(igc-calendar[size=large]) igc-days-view::part(date-inner),:host(igc-calendar[size=large]) igc-months-view::part(month-inner),:host(igc-calendar[size=large]) igc-years-view::part(year-inner),:host(igc-calendar[size=medium]) igc-days-view::part(date-inner),:host(igc-calendar[size=medium]) igc-months-view::part(month-inner),:host(igc-calendar[size=medium]) igc-years-view::part(year-inner),:host(igc-calendar[size=small]) igc-days-view::part(date-inner),:host(igc-calendar[size=small]) igc-months-view::part(month-inner),:host(igc-calendar[size=small]) igc-years-view::part(year-inner){border-radius:clamp(0rem,var(--igc-radius-factor)*.25rem,.25rem)}[part~=navigation-button]{color:hsla(var(--igc-primary-500), var(--igc-primary-a))}[part~=navigation-button]:hover,[part~=navigation-button]:focus{color:hsla(var(--igc-primary-600), var(--igc-primary-a))}[part~=navigation],[part~=header]{background:hsla(var(--igc-secondary-50), 0.2);color:var(--igc-gray-50-contrast)}[part=header-title]{font-family:var(--igc-subtitle-1-font-family);font-weight:var(--igc-subtitle-1-font-weight);font-size:var(--igc-subtitle-1-font-size);font-style:var(--igc-subtitle-1-font-style);letter-spacing:var(--igc-subtitle-1-letter-spacing);text-transform:var(--igc-subtitle-1-text-transform);line-height:var(--igc-subtitle-1-line-height);margin-top:var(--igc-subtitle-1-margin-top);margin-bottom:var(--igc-subtitle-1-margin-bottom)}`;\n"]}
@@ -1,7 +1,7 @@
1
1
  import { LitElement } from 'lit';
2
2
  import { Constructor } from '../../common/mixins/constructor.js';
3
3
  import { IgcCalendarBaseEventMap } from '../common/calendar-base.js';
4
- declare const IgcYearsViewComponent_base: Constructor<import("../../common/mixins/event-emitter.js").EventEmitterInterface<IgcCalendarBaseEventMap>> & Constructor<LitElement>;
4
+ declare const IgcYearsViewComponent_base: import("../../common/mixins/constructor.js").AbstractConstructor<import("../../common/mixins/event-emitter.js").EventEmitterInterface<IgcCalendarBaseEventMap>> & Constructor<LitElement>;
5
5
  /**
6
6
  * Instantiate a years view as a separate component in the calendar.
7
7
  *
@@ -12,6 +12,7 @@ declare const IgcYearsViewComponent_base: Constructor<import("../../common/mixin
12
12
  * @csspart year-inner - The inner year container.
13
13
  */
14
14
  export default class IgcYearsViewComponent extends IgcYearsViewComponent_base {
15
+ static readonly tagName = "igc-years-view";
15
16
  static styles: import("lit").CSSResult;
16
17
  private years;
17
18
  private activeYear;
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { html, LitElement } from 'lit';
8
- import { customElement, property, query } from 'lit/decorators.js';
8
+ import { property, query } from 'lit/decorators.js';
9
9
  import { themes } from '../../../theming/theming-decorator.js';
10
10
  import { blazorIndirectRender } from '../../common/decorators/blazorIndirectRender.js';
11
11
  import { blazorSuppressComponent } from '../../common/decorators/blazorSuppressComponent.js';
@@ -95,6 +95,7 @@ let IgcYearsViewComponent = class IgcYearsViewComponent extends EventEmitterMixi
95
95
  })}`;
96
96
  }
97
97
  };
98
+ IgcYearsViewComponent.tagName = 'igc-years-view';
98
99
  IgcYearsViewComponent.styles = styles;
99
100
  __decorate([
100
101
  query('[tabindex="0"]')
@@ -110,7 +111,6 @@ __decorate([
110
111
  watch('yearsPerPage')
111
112
  ], IgcYearsViewComponent.prototype, "datesChange", null);
112
113
  IgcYearsViewComponent = __decorate([
113
- customElement('igc-years-view'),
114
114
  blazorIndirectRender,
115
115
  blazorSuppressComponent,
116
116
  themes({
@@ -1 +1 @@
1
- {"version":3,"file":"years-view.js","sourceRoot":"","sources":["../../../../src/components/calendar/years-view/years-view.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, 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 { Constructor } from '../../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../../common/mixins/event-emitter.js';\nimport { partNameMap } from '../../common/util.js';\nimport {\n IgcCalendarBaseEventMap,\n YEARS_PER_ROW,\n} from '../common/calendar-base.js';\nimport { calculateYearsRangeStart, setDateSafe } from '../common/utils.js';\nimport { styles as bootstrap } from '../themes/bootstrap/year-month-view.bootstrap.css.js';\nimport { styles as fluent } from '../themes/fluent/year-month-view.fluent.css.js';\nimport { styles } from '../themes/year-month-view.base.css.js';\n\n/**\n * Instantiate a years view as a separate component in the calendar.\n *\n * @element igc-years-view\n *\n * @csspart years-row - The years row container.\n * @csspart year - The year container.\n * @csspart year-inner - The inner year container.\n */\n@customElement('igc-years-view')\n@blazorIndirectRender\n@blazorSuppressComponent\n@themes({\n bootstrap,\n fluent,\n})\nexport default class IgcYearsViewComponent extends EventEmitterMixin<\n IgcCalendarBaseEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static styles = styles;\n\n private years!: Date[][];\n\n @query('[tabindex=\"0\"]')\n private activeYear!: HTMLElement;\n\n /** Тhe current value of the calendar. */\n @property({ attribute: false })\n public value = new Date();\n\n /** Sets how many years are displayed on a single page. */\n @property({ type: Number, attribute: 'years-per-page' })\n public yearsPerPage = 15;\n\n @watch('value')\n @watch('yearsPerPage')\n protected datesChange() {\n this.years = this.generateYears();\n }\n\n constructor() {\n super();\n this.setAttribute('role', 'grid');\n }\n\n /** Focuses the active date. */\n public focusActiveDate() {\n this.activeYear.focus();\n }\n\n private formattedYear(value: Date) {\n return `${value.getFullYear()}`;\n }\n\n private generateYears() {\n const startYear = calculateYearsRangeStart(this.value, this.yearsPerPage);\n const month = this.value.getMonth();\n const result = [];\n\n const rows = this.yearsPerPage / YEARS_PER_ROW;\n\n for (let i = 0; i < rows; i++) {\n const row: Date[] = [];\n for (let j = 0; j < YEARS_PER_ROW; j++) {\n const year = startYear + i * YEARS_PER_ROW + j;\n const date = new Date(year, month, 1);\n // fix year since values between 0 and 100 results in 1900s\n date.setFullYear(year);\n row.push(date);\n }\n result.push(row);\n }\n\n return result;\n }\n\n private resolveYearPartName(date: Date) {\n const today = new Date();\n return {\n year: true,\n selected: date.getFullYear() === this.value.getFullYear(),\n current: date.getFullYear() === today.getFullYear(),\n };\n }\n\n private selectYear(year: Date) {\n const value = new Date(year);\n setDateSafe(value, this.value.getDate());\n this.value = value;\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n private yearKeyDown(event: KeyboardEvent, year: Date) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.selectYear(year);\n }\n }\n\n protected override render() {\n return html`${this.years.map((row) => {\n return html`<div part=\"years-row\" role=\"row\">\n ${row.map((year) => {\n const yearPartName = partNameMap(this.resolveYearPartName(year));\n const yearInnerPartName = yearPartName.replace('year', 'year-inner');\n\n return html`<span part=${yearPartName}>\n <span\n part=${yearInnerPartName}\n role=\"gridcell\"\n aria-selected=${year.getFullYear() === this.value.getFullYear()}\n tabindex=\"${year.getFullYear() === this.value.getFullYear()\n ? 0\n : -1}\"\n @click=${() => this.selectYear(year)}\n @keydown=${(event: KeyboardEvent) =>\n this.yearKeyDown(event, year)}\n >\n ${this.formattedYear(year)}\n </span>\n </span>`;\n })}\n </div>`;\n })}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-years-view': IgcYearsViewComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"years-view.js","sourceRoot":"","sources":["../../../../src/components/calendar/years-view/years-view.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,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;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAEL,aAAa,GACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAiB/D,IAAqB,qBAAqB,GAA1C,MAAqB,qBAAsB,SAAQ,iBAAiB,CAGlE,UAAU,CAAC;IAuBX;QACE,KAAK,EAAE,CAAC;QAbH,UAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QAInB,iBAAY,GAAG,EAAE,CAAC;QAUvB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAPS,WAAW;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC;IAQM,eAAe;QACpB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAEO,aAAa,CAAC,KAAW;QAC/B,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;IAClC,CAAC;IAEO,aAAa;QACnB,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;QAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC7B,MAAM,GAAG,GAAW,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;gBACtC,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC;gBAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBAEtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACvB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAChB;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,mBAAmB,CAAC,IAAU;QACpC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YACzD,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE;SACpD,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,IAAU;QAC3B,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAEO,WAAW,CAAC,KAAoB,EAAE,IAAU;QAClD,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;YAC9C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACvB;IACH,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACnC,OAAO,IAAI,CAAA;UACP,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjB,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjE,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBAErE,OAAO,IAAI,CAAA,cAAc,YAAY;;qBAE1B,iBAAiB;;8BAER,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;0BACnD,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;oBACzD,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,CAAC,CAAC;uBACG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;yBACzB,CAAC,KAAoB,EAAE,EAAE,CAClC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC;;gBAE7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;;kBAEtB,CAAC;YACX,CAAC,CAAC;aACG,CAAC;QACV,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;CACF,CAAA;AA3GwB,6BAAO,GAAG,gBAAiB,CAAA;AACpC,4BAAM,GAAG,MAAO,CAAA;AAK9B;IADC,KAAK,CAAC,gBAAgB,CAAC;yDACS;AAIjC;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;oDACL;AAI1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;2DAC/B;AAIzB;IAFC,KAAK,CAAC,OAAO,CAAC;IACd,KAAK,CAAC,cAAc,CAAC;wDAGrB;AAxBkB,qBAAqB;IANzC,oBAAoB;IACpB,uBAAuB;IACvB,MAAM,CAAC;QACN,SAAS;QACT,MAAM;KACP,CAAC;GACmB,qBAAqB,CA+GzC;eA/GoB,qBAAqB","sourcesContent":["import { html, LitElement } 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 { Constructor } from '../../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../../common/mixins/event-emitter.js';\nimport { partNameMap } from '../../common/util.js';\nimport {\n IgcCalendarBaseEventMap,\n YEARS_PER_ROW,\n} from '../common/calendar-base.js';\nimport { calculateYearsRangeStart, setDateSafe } from '../common/utils.js';\nimport { styles as bootstrap } from '../themes/bootstrap/year-month-view.bootstrap.css.js';\nimport { styles as fluent } from '../themes/fluent/year-month-view.fluent.css.js';\nimport { styles } from '../themes/year-month-view.base.css.js';\n\n/**\n * Instantiate a years view as a separate component in the calendar.\n *\n * @element igc-years-view\n *\n * @csspart years-row - The years row container.\n * @csspart year - The year container.\n * @csspart year-inner - The inner year container.\n */\n@blazorIndirectRender\n@blazorSuppressComponent\n@themes({\n bootstrap,\n fluent,\n})\nexport default class IgcYearsViewComponent extends EventEmitterMixin<\n IgcCalendarBaseEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-years-view';\n public static styles = styles;\n\n private years!: Date[][];\n\n @query('[tabindex=\"0\"]')\n private activeYear!: HTMLElement;\n\n /** Тhe current value of the calendar. */\n @property({ attribute: false })\n public value = new Date();\n\n /** Sets how many years are displayed on a single page. */\n @property({ type: Number, attribute: 'years-per-page' })\n public yearsPerPage = 15;\n\n @watch('value')\n @watch('yearsPerPage')\n protected datesChange() {\n this.years = this.generateYears();\n }\n\n constructor() {\n super();\n this.setAttribute('role', 'grid');\n }\n\n /** Focuses the active date. */\n public focusActiveDate() {\n this.activeYear.focus();\n }\n\n private formattedYear(value: Date) {\n return `${value.getFullYear()}`;\n }\n\n private generateYears() {\n const startYear = calculateYearsRangeStart(this.value, this.yearsPerPage);\n const month = this.value.getMonth();\n const result = [];\n\n const rows = this.yearsPerPage / YEARS_PER_ROW;\n\n for (let i = 0; i < rows; i++) {\n const row: Date[] = [];\n for (let j = 0; j < YEARS_PER_ROW; j++) {\n const year = startYear + i * YEARS_PER_ROW + j;\n const date = new Date(year, month, 1);\n // fix year since values between 0 and 100 results in 1900s\n date.setFullYear(year);\n row.push(date);\n }\n result.push(row);\n }\n\n return result;\n }\n\n private resolveYearPartName(date: Date) {\n const today = new Date();\n return {\n year: true,\n selected: date.getFullYear() === this.value.getFullYear(),\n current: date.getFullYear() === today.getFullYear(),\n };\n }\n\n private selectYear(year: Date) {\n const value = new Date(year);\n setDateSafe(value, this.value.getDate());\n this.value = value;\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n private yearKeyDown(event: KeyboardEvent, year: Date) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.selectYear(year);\n }\n }\n\n protected override render() {\n return html`${this.years.map((row) => {\n return html`<div part=\"years-row\" role=\"row\">\n ${row.map((year) => {\n const yearPartName = partNameMap(this.resolveYearPartName(year));\n const yearInnerPartName = yearPartName.replace('year', 'year-inner');\n\n return html`<span part=${yearPartName}>\n <span\n part=${yearInnerPartName}\n role=\"gridcell\"\n aria-selected=${year.getFullYear() === this.value.getFullYear()}\n tabindex=\"${year.getFullYear() === this.value.getFullYear()\n ? 0\n : -1}\"\n @click=${() => this.selectYear(year)}\n @keydown=${(event: KeyboardEvent) =>\n this.yearKeyDown(event, year)}\n >\n ${this.formattedYear(year)}\n </span>\n </span>`;\n })}\n </div>`;\n })}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-years-view': IgcYearsViewComponent;\n }\n}\n"]}
@@ -7,6 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { html, LitElement } from 'lit';
8
8
  import { themes } from '../../theming/theming-decorator.js';
9
9
  import { styles as bootstrap } from './themes/light/card.header.bootstrap.css.js';
10
+ import { styles as fluent } from './themes/light/card.header.fluent.css.js';
10
11
  import { styles as indigo } from './themes/light/card.header.indigo.css.js';
11
12
  import { styles } from './themes/light/card.header.material.css.js';
12
13
  let IgcCardHeaderComponent = class IgcCardHeaderComponent extends LitElement {
@@ -30,6 +31,7 @@ IgcCardHeaderComponent.styles = styles;
30
31
  IgcCardHeaderComponent = __decorate([
31
32
  themes({
32
33
  bootstrap,
34
+ fluent,
33
35
  indigo,
34
36
  })
35
37
  ], IgcCardHeaderComponent);
@@ -1 +1 @@
1
- {"version":3,"file":"card.header.js","sourceRoot":"","sources":["../../../src/components/card/card.header.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,4CAA4C,CAAC;AAgBpE,IAAqB,sBAAsB,GAA3C,MAAqB,sBAAuB,SAAQ,UAAU;IAIzC,MAAM;QACvB,OAAO,IAAI,CAAA;;;;;;;;;;;KAWV,CAAC;IACJ,CAAC;CACF,CAAA;AAjBwB,8BAAO,GAAG,iBAAkB,CAAA;AAC5B,6BAAM,GAAG,MAAO,CAAA;AAFpB,sBAAsB;IAJ1C,MAAM,CAAC;QACN,SAAS;QACT,MAAM;KACP,CAAC;GACmB,sBAAsB,CAkB1C;eAlBoB,sBAAsB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { styles as bootstrap } from './themes/light/card.header.bootstrap.css.js';\nimport { styles as indigo } from './themes/light/card.header.indigo.css.js';\nimport { styles } from './themes/light/card.header.material.css.js';\n\n/** A container for card's header\n * @element igc-card-header\n *\n * @slot thumbnail - Renders header media like icon\n * @slot title - Renders the card title\n * @slot subtitle - Renders the card subtitle\n * @slot - Renders content next to the card title\n *\n * @csspart header - The card header container\n */\n@themes({\n bootstrap,\n indigo,\n})\nexport default class IgcCardHeaderComponent extends LitElement {\n public static readonly tagName = 'igc-card-header';\n public static override styles = styles;\n\n protected override render() {\n return html`\n <section>\n <slot name=\"thumbnail\"></slot>\n </section>\n <section>\n <header part=\"header\">\n <slot part=\"title\" name=\"title\"></slot>\n <slot part=\"subtitle\" name=\"subtitle\"></slot>\n </header>\n <slot></slot>\n </section>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-card-header': IgcCardHeaderComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"card.header.js","sourceRoot":"","sources":["../../../src/components/card/card.header.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,4CAA4C,CAAC;AAiBpE,IAAqB,sBAAsB,GAA3C,MAAqB,sBAAuB,SAAQ,UAAU;IAIzC,MAAM;QACvB,OAAO,IAAI,CAAA;;;;;;;;;;;KAWV,CAAC;IACJ,CAAC;CACF,CAAA;AAjBwB,8BAAO,GAAG,iBAAkB,CAAA;AAC5B,6BAAM,GAAG,MAAO,CAAA;AAFpB,sBAAsB;IAL1C,MAAM,CAAC;QACN,SAAS;QACT,MAAM;QACN,MAAM;KACP,CAAC;GACmB,sBAAsB,CAkB1C;eAlBoB,sBAAsB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { styles as bootstrap } from './themes/light/card.header.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/card.header.fluent.css.js';\nimport { styles as indigo } from './themes/light/card.header.indigo.css.js';\nimport { styles } from './themes/light/card.header.material.css.js';\n\n/** A container for card's header\n * @element igc-card-header\n *\n * @slot thumbnail - Renders header media like icon\n * @slot title - Renders the card title\n * @slot subtitle - Renders the card subtitle\n * @slot - Renders content next to the card title\n *\n * @csspart header - The card header container\n */\n@themes({\n bootstrap,\n fluent,\n indigo,\n})\nexport default class IgcCardHeaderComponent extends LitElement {\n public static readonly tagName = 'igc-card-header';\n public static override styles = styles;\n\n protected override render() {\n return html`\n <section>\n <slot name=\"thumbnail\"></slot>\n </section>\n <section>\n <header part=\"header\">\n <slot part=\"title\" name=\"title\"></slot>\n <slot part=\"subtitle\" name=\"subtitle\"></slot>\n </header>\n <slot></slot>\n </section>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-card-header': IgcCardHeaderComponent;\n }\n}\n"]}
@@ -10,6 +10,12 @@ import { themes } from '../../theming/theming-decorator.js';
10
10
  import { styles as bootstrap } from './themes/light/card.bootstrap.css.js';
11
11
  import { styles as fluent } from './themes/light/card.fluent.css.js';
12
12
  import { styles } from './themes/light/card.material.css.js';
13
+ import { defineComponents } from '../common/definitions/defineComponents.js';
14
+ import IgcCardActionsComponent from './card.actions.js';
15
+ import IgcCardContentComponent from './card.content.js';
16
+ import IgcCardHeaderComponent from './card.header.js';
17
+ import IgcCardMediaComponent from './card.media.js';
18
+ defineComponents(IgcCardActionsComponent, IgcCardContentComponent, IgcCardHeaderComponent, IgcCardMediaComponent);
13
19
  let IgcCardComponent = class IgcCardComponent extends LitElement {
14
20
  constructor() {
15
21
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"card.js","sourceRoot":"","sources":["../../../src/components/card/card.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAW7D,IAAqB,gBAAgB,GAArC,MAAqB,gBAAiB,SAAQ,UAAU;IAAxD;;QAMS,aAAQ,GAAG,KAAK,CAAC;IAK1B,CAAC;IAHoB,MAAM;QACvB,OAAO,IAAI,CAAA,iBAAiB,CAAC;IAC/B,CAAC;CACF,CAAA;AAVwB,wBAAO,GAAG,UAAW,CAAA;AACrB,uBAAM,GAAG,MAAO,CAAA;AAIvC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kDACnB;AANL,gBAAgB;IAJpC,MAAM,CAAC;QACN,SAAS;QACT,MAAM;KACP,CAAC;GACmB,gBAAgB,CAWpC;eAXoB,gBAAgB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { styles as bootstrap } from './themes/light/card.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/card.fluent.css.js';\nimport { styles } from './themes/light/card.material.css.js';\n\n/** A container which wraps different elements related to a single subject\n * @element igc-card\n *\n * @slot - Renders card content\n */\n@themes({\n bootstrap,\n fluent,\n})\nexport default class IgcCardComponent extends LitElement {\n public static readonly tagName = 'igc-card';\n public static override styles = styles;\n\n /** Sets card elevated style, otherwise card looks outlined. */\n @property({ type: Boolean, reflect: true })\n public elevated = false;\n\n protected override render() {\n return html` <slot></slot> `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-card': IgcCardComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"card.js","sourceRoot":"","sources":["../../../src/components/card/card.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,uBAAuB,MAAM,mBAAmB,CAAC;AACxD,OAAO,uBAAuB,MAAM,mBAAmB,CAAC;AACxD,OAAO,sBAAsB,MAAM,kBAAkB,CAAC;AACtD,OAAO,qBAAqB,MAAM,iBAAiB,CAAC;AAEpD,gBAAgB,CACd,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,CACtB,CAAC;AAWF,IAAqB,gBAAgB,GAArC,MAAqB,gBAAiB,SAAQ,UAAU;IAAxD;;QAMS,aAAQ,GAAG,KAAK,CAAC;IAK1B,CAAC;IAHoB,MAAM;QACvB,OAAO,IAAI,CAAA,iBAAiB,CAAC;IAC/B,CAAC;CACF,CAAA;AAVwB,wBAAO,GAAG,UAAW,CAAA;AACrB,uBAAM,GAAG,MAAO,CAAA;AAIvC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kDACnB;AANL,gBAAgB;IAJpC,MAAM,CAAC;QACN,SAAS;QACT,MAAM;KACP,CAAC;GACmB,gBAAgB,CAWpC;eAXoB,gBAAgB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { styles as bootstrap } from './themes/light/card.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/card.fluent.css.js';\nimport { styles } from './themes/light/card.material.css.js';\n\nimport { defineComponents } from '../common/definitions/defineComponents.js';\nimport IgcCardActionsComponent from './card.actions.js';\nimport IgcCardContentComponent from './card.content.js';\nimport IgcCardHeaderComponent from './card.header.js';\nimport IgcCardMediaComponent from './card.media.js';\n\ndefineComponents(\n IgcCardActionsComponent,\n IgcCardContentComponent,\n IgcCardHeaderComponent,\n IgcCardMediaComponent\n);\n\n/** A container which wraps different elements related to a single subject\n * @element igc-card\n *\n * @slot - Renders card content\n */\n@themes({\n bootstrap,\n fluent,\n})\nexport default class IgcCardComponent extends LitElement {\n public static readonly tagName = 'igc-card';\n public static override styles = styles;\n\n /** Sets card elevated style, otherwise card looks outlined. */\n @property({ type: Boolean, reflect: true })\n public elevated = false;\n\n protected override render() {\n return html` <slot></slot> `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-card': IgcCardComponent;\n }\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:start;align-content:flex-start;width:100%;color:var(--igc-surface-500-contrast);padding:1rem;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(*){margin:0;font:inherit;opacity:inherit}header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap;overflow:hidden;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}::slotted([slot=title]){font-family:var(--igc-h6-font-family);font-weight:var(--igc-h6-font-weight);font-size:var(--igc-h6-font-size);font-style:var(--igc-h6-font-style);letter-spacing:var(--igc-h6-letter-spacing);text-transform:var(--igc-h6-text-transform);line-height:var(--igc-h6-line-height);margin-top:var(--igc-h6-margin-top);margin-bottom:var(--igc-h6-margin-bottom);opacity:.87}::slotted([slot=subtitle]){font-family:var(--igc-subtitle-2-font-family);font-weight:var(--igc-subtitle-2-font-weight);font-size:var(--igc-subtitle-2-font-size);font-style:var(--igc-subtitle-2-font-style);letter-spacing:var(--igc-subtitle-2-letter-spacing);text-transform:var(--igc-subtitle-2-text-transform);line-height:var(--igc-subtitle-2-line-height);margin-top:var(--igc-subtitle-2-margin-top);margin-bottom:var(--igc-subtitle-2-margin-bottom);opacity:.6}::slotted([slot=thumbnail]){display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-item-align:start;align-self:flex-start;-webkit-margin-end:1rem;margin-inline-end:1rem}::slotted([slot=title]){font-family:var(--igc-h5-font-family);font-weight:var(--igc-h5-font-weight);font-size:var(--igc-h5-font-size);font-style:var(--igc-h5-font-style);letter-spacing:var(--igc-h5-letter-spacing);text-transform:var(--igc-h5-text-transform);line-height:var(--igc-h5-line-height);margin-top:var(--igc-h5-margin-top);margin-bottom:var(--igc-h5-margin-bottom);color:hsla(var(--igc-gray-900), var(--igc-gray-a));opacity:1}::slotted([slot=subtitle]){color:hsla(var(--igc-gray-800), var(--igc-gray-a));opacity:1}`;
2
+ export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:start;align-content:flex-start;width:100%;color:var(--igc-surface-500-contrast);padding:1rem;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(*){margin:0;font:inherit;opacity:inherit}header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap;overflow:hidden;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}::slotted([slot=title]){font-family:var(--igc-h6-font-family);font-weight:var(--igc-h6-font-weight);font-size:var(--igc-h6-font-size);font-style:var(--igc-h6-font-style);letter-spacing:var(--igc-h6-letter-spacing);text-transform:var(--igc-h6-text-transform);line-height:var(--igc-h6-line-height);margin-top:var(--igc-h6-margin-top);margin-bottom:var(--igc-h6-margin-bottom);opacity:.87}::slotted([slot=subtitle]){font-family:var(--igc-subtitle-2-font-family);font-weight:var(--igc-subtitle-2-font-weight);font-size:var(--igc-subtitle-2-font-size);font-style:var(--igc-subtitle-2-font-style);letter-spacing:var(--igc-subtitle-2-letter-spacing);text-transform:var(--igc-subtitle-2-text-transform);line-height:var(--igc-subtitle-2-line-height);margin-top:var(--igc-subtitle-2-margin-top);margin-bottom:var(--igc-subtitle-2-margin-bottom);opacity:.6}::slotted([slot=thumbnail]){display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-item-align:start;align-self:flex-start;-webkit-margin-end:1rem;margin-inline-end:1rem}::slotted([slot=title]){font-family:var(--igc-h5-font-family);font-weight:var(--igc-h5-font-weight);font-size:var(--igc-h5-font-size);font-style:var(--igc-h5-font-style);letter-spacing:var(--igc-h5-letter-spacing);text-transform:var(--igc-h5-text-transform);line-height:var(--igc-h5-line-height);margin-top:var(--igc-h5-margin-top);margin-bottom:var(--igc-h5-margin-bottom);color:hsla(var(--igc-gray-900), var(--igc-gray-a));opacity:1}::slotted([slot=subtitle]){font-family:var(--igc-body-1-font-family);font-weight:var(--igc-body-1-font-weight);font-size:var(--igc-body-1-font-size);font-style:var(--igc-body-1-font-style);letter-spacing:var(--igc-body-1-letter-spacing);text-transform:var(--igc-body-1-text-transform);line-height:var(--igc-body-1-line-height);margin-top:var(--igc-body-1-margin-top);margin-bottom:var(--igc-body-1-margin-bottom);color:hsla(var(--igc-gray-800), var(--igc-gray-a));opacity:1}`;
3
3
  //# sourceMappingURL=card.header.bootstrap.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"card.header.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/card/themes/light/card.header.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,i8FAAi8F,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:start;align-content:flex-start;width:100%;color:var(--igc-surface-500-contrast);padding:1rem;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(*){margin:0;font:inherit;opacity:inherit}header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap;overflow:hidden;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}::slotted([slot=title]){font-family:var(--igc-h6-font-family);font-weight:var(--igc-h6-font-weight);font-size:var(--igc-h6-font-size);font-style:var(--igc-h6-font-style);letter-spacing:var(--igc-h6-letter-spacing);text-transform:var(--igc-h6-text-transform);line-height:var(--igc-h6-line-height);margin-top:var(--igc-h6-margin-top);margin-bottom:var(--igc-h6-margin-bottom);opacity:.87}::slotted([slot=subtitle]){font-family:var(--igc-subtitle-2-font-family);font-weight:var(--igc-subtitle-2-font-weight);font-size:var(--igc-subtitle-2-font-size);font-style:var(--igc-subtitle-2-font-style);letter-spacing:var(--igc-subtitle-2-letter-spacing);text-transform:var(--igc-subtitle-2-text-transform);line-height:var(--igc-subtitle-2-line-height);margin-top:var(--igc-subtitle-2-margin-top);margin-bottom:var(--igc-subtitle-2-margin-bottom);opacity:.6}::slotted([slot=thumbnail]){display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-item-align:start;align-self:flex-start;-webkit-margin-end:1rem;margin-inline-end:1rem}::slotted([slot=title]){font-family:var(--igc-h5-font-family);font-weight:var(--igc-h5-font-weight);font-size:var(--igc-h5-font-size);font-style:var(--igc-h5-font-style);letter-spacing:var(--igc-h5-letter-spacing);text-transform:var(--igc-h5-text-transform);line-height:var(--igc-h5-line-height);margin-top:var(--igc-h5-margin-top);margin-bottom:var(--igc-h5-margin-bottom);color:hsla(var(--igc-gray-900), var(--igc-gray-a));opacity:1}::slotted([slot=subtitle]){color:hsla(var(--igc-gray-800), var(--igc-gray-a));opacity:1}`;\n"]}
1
+ {"version":3,"file":"card.header.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/card/themes/light/card.header.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,m0GAAm0G,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:start;align-content:flex-start;width:100%;color:var(--igc-surface-500-contrast);padding:1rem;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(*){margin:0;font:inherit;opacity:inherit}header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap;overflow:hidden;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}::slotted([slot=title]){font-family:var(--igc-h6-font-family);font-weight:var(--igc-h6-font-weight);font-size:var(--igc-h6-font-size);font-style:var(--igc-h6-font-style);letter-spacing:var(--igc-h6-letter-spacing);text-transform:var(--igc-h6-text-transform);line-height:var(--igc-h6-line-height);margin-top:var(--igc-h6-margin-top);margin-bottom:var(--igc-h6-margin-bottom);opacity:.87}::slotted([slot=subtitle]){font-family:var(--igc-subtitle-2-font-family);font-weight:var(--igc-subtitle-2-font-weight);font-size:var(--igc-subtitle-2-font-size);font-style:var(--igc-subtitle-2-font-style);letter-spacing:var(--igc-subtitle-2-letter-spacing);text-transform:var(--igc-subtitle-2-text-transform);line-height:var(--igc-subtitle-2-line-height);margin-top:var(--igc-subtitle-2-margin-top);margin-bottom:var(--igc-subtitle-2-margin-bottom);opacity:.6}::slotted([slot=thumbnail]){display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-item-align:start;align-self:flex-start;-webkit-margin-end:1rem;margin-inline-end:1rem}::slotted([slot=title]){font-family:var(--igc-h5-font-family);font-weight:var(--igc-h5-font-weight);font-size:var(--igc-h5-font-size);font-style:var(--igc-h5-font-style);letter-spacing:var(--igc-h5-letter-spacing);text-transform:var(--igc-h5-text-transform);line-height:var(--igc-h5-line-height);margin-top:var(--igc-h5-margin-top);margin-bottom:var(--igc-h5-margin-bottom);color:hsla(var(--igc-gray-900), var(--igc-gray-a));opacity:1}::slotted([slot=subtitle]){font-family:var(--igc-body-1-font-family);font-weight:var(--igc-body-1-font-weight);font-size:var(--igc-body-1-font-size);font-style:var(--igc-body-1-font-style);letter-spacing:var(--igc-body-1-letter-spacing);text-transform:var(--igc-body-1-text-transform);line-height:var(--igc-body-1-line-height);margin-top:var(--igc-body-1-margin-top);margin-bottom:var(--igc-body-1-margin-bottom);color:hsla(var(--igc-gray-800), var(--igc-gray-a));opacity:1}`;\n"]}