@lucca-front/ng 18.3.4 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (836) hide show
  1. package/core-select/api/api.directive.d.ts +1 -1
  2. package/core-select/input/select-input.component.d.ts +1 -1
  3. package/dialog/dialog-routing/dialog-routing.component.d.ts +1 -1
  4. package/dropdown/item/dropdown-item.directive.d.ts +1 -1
  5. package/dropdown/item/dropdown-item.module.d.ts +4 -1
  6. package/dropdown/panel/dropdown-panel.component.d.ts +1 -1
  7. package/dropdown/panel/dropdown-panel.module.d.ts +4 -2
  8. package/dropdown/trigger/dropdown-trigger.directive.d.ts +1 -1
  9. package/dropdown/trigger/dropdown-trigger.module.d.ts +4 -2
  10. package/fesm2022/lucca-front-ng-a11y.mjs +3 -3
  11. package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
  12. package/fesm2022/lucca-front-ng-animations.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-api.mjs +48 -48
  14. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-button.mjs +3 -3
  16. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-callout.mjs +21 -21
  18. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-comment.mjs +9 -9
  20. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-core-select-api.mjs +9 -9
  22. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +9 -9
  24. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +6 -6
  26. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-core-select-user.mjs +15 -15
  28. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-core-select.mjs +36 -36
  30. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-core.mjs +16 -16
  32. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-date.mjs +48 -48
  34. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-date2.mjs +14 -14
  36. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-department.mjs +28 -28
  38. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-dialog-testing.mjs.map +1 -1
  40. package/fesm2022/lucca-front-ng-dialog.mjs +39 -31
  41. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  42. package/fesm2022/lucca-front-ng-dropdown.mjs +39 -35
  43. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  44. package/fesm2022/lucca-front-ng-empty-state.mjs +6 -6
  45. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-establishment.mjs +49 -49
  47. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  48. package/fesm2022/lucca-front-ng-form-field.mjs +6 -6
  49. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  50. package/fesm2022/lucca-front-ng-formly.mjs +81 -79
  51. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  52. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +10 -10
  53. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  54. package/fesm2022/lucca-front-ng-forms.mjs +33 -33
  55. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-icon.mjs +4 -4
  57. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  58. package/fesm2022/lucca-front-ng-inline-message.mjs +3 -3
  59. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  60. package/fesm2022/lucca-front-ng-input.mjs +21 -21
  61. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  62. package/fesm2022/lucca-front-ng-modal.mjs +22 -22
  63. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  64. package/fesm2022/lucca-front-ng-multi-select.mjs +44 -44
  65. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  66. package/fesm2022/lucca-front-ng-new-badge.mjs +3 -3
  67. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  68. package/fesm2022/lucca-front-ng-number-format.mjs +7 -7
  69. package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
  70. package/fesm2022/lucca-front-ng-number.mjs +7 -7
  71. package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
  72. package/fesm2022/lucca-front-ng-numeric-badge.mjs +3 -3
  73. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  74. package/fesm2022/lucca-front-ng-option.mjs +154 -154
  75. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  76. package/fesm2022/lucca-front-ng-plg-push.mjs +3 -3
  77. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-popover.mjs +31 -26
  79. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  80. package/fesm2022/lucca-front-ng-popover2.mjs +9 -9
  81. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-popup-employee.mjs +21 -21
  83. package/fesm2022/lucca-front-ng-popup-employee.mjs.map +1 -1
  84. package/fesm2022/lucca-front-ng-popup.mjs +10 -10
  85. package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
  86. package/fesm2022/lucca-front-ng-qualification.mjs +15 -15
  87. package/fesm2022/lucca-front-ng-qualification.mjs.map +1 -1
  88. package/fesm2022/lucca-front-ng-safe-content.mjs +13 -12
  89. package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-scroll.mjs +7 -7
  91. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  92. package/fesm2022/lucca-front-ng-select.mjs +14 -14
  93. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  95. package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
  96. package/fesm2022/lucca-front-ng-simple-select.mjs +14 -14
  97. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  98. package/fesm2022/lucca-front-ng-skeleton.mjs +9 -9
  99. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  100. package/fesm2022/lucca-front-ng-tag.mjs +3 -3
  101. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  102. package/fesm2022/lucca-front-ng-time.mjs +18 -17
  103. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  104. package/fesm2022/lucca-front-ng-title.mjs +10 -10
  105. package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
  106. package/fesm2022/lucca-front-ng-toast.mjs +11 -11
  107. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  108. package/fesm2022/lucca-front-ng-tooltip.mjs +22 -22
  109. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  110. package/fesm2022/lucca-front-ng-user.mjs +94 -85
  111. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  112. package/modal/modal-panel.component.d.ts +1 -1
  113. package/option/picker/option-picker-advanced.component.d.ts +1 -1
  114. package/option/picker/option-picker.component.d.ts +1 -1
  115. package/option/picker/tree-option-picker-advanced.component.d.ts +1 -1
  116. package/option/picker/tree-option-picker.component.d.ts +1 -1
  117. package/package.json +21 -131
  118. package/safe-content/safe-content.module.d.ts +3 -0
  119. package/schematics/action-icon/index.js +3 -2
  120. package/schematics/action-icon/migration.js +2 -3
  121. package/schematics/empty-state-title/index.js +2 -1
  122. package/schematics/lib/angular-template.js +6 -7
  123. package/schematics/lib/css-mapper.js +4 -4
  124. package/schematics/lib/file-update.js +2 -3
  125. package/schematics/lib/html-ast.js +4 -4
  126. package/schematics/lib/local-deps/installer.js +1 -2
  127. package/schematics/lib/local-deps/package-lock.json +30 -30
  128. package/schematics/lib/local-deps/package.json +2 -2
  129. package/schematics/lib/local-deps/postcss-selector-parser.js +1 -0
  130. package/schematics/lib/local-deps/postcss-value-parser.js +1 -0
  131. package/schematics/lib/migration-test.js +4 -5
  132. package/schematics/lib/schematics.js +1 -2
  133. package/schematics/lib/scss-ast.js +10 -11
  134. package/schematics/lib/typescript-ast.js +1 -2
  135. package/schematics/new-icons/index.js +4 -3
  136. package/schematics/new-icons/migration.js +3 -4
  137. package/schematics/ng-add/index.js +1 -2
  138. package/schematics/ng-add/tasks.js +4 -5
  139. package/schematics/palettes/index.js +1 -0
  140. package/schematics/tokens-spacing/index.js +1 -0
  141. package/select/input/select-input.component.d.ts +1 -1
  142. package/src/components/cdk/_overlay.scss +4 -0
  143. package/time/core/base-picker.component.d.ts +1 -1
  144. package/time/core/date.utils.d.ts +4 -4
  145. package/time/core/misc.utils.d.ts +1 -1
  146. package/user/picture/user-picture.component.d.ts +1 -1
  147. package/user/picture/user-picture.module.d.ts +4 -3
  148. package/user/tile/user-tile.component.d.ts +1 -1
  149. package/user/tile/user-tile.module.d.ts +4 -4
  150. package/esm2022/a11y/lucca-front-ng-a11y.mjs +0 -5
  151. package/esm2022/a11y/public-api.mjs +0 -3
  152. package/esm2022/a11y/skip-links/skip-links.component.mjs +0 -24
  153. package/esm2022/a11y/skip-links/skip-links.translate.mjs +0 -9
  154. package/esm2022/a11y/skip-links/translations.mjs +0 -51
  155. package/esm2022/animations/animation.factory.mjs +0 -15
  156. package/esm2022/animations/fade.animation.mjs +0 -8
  157. package/esm2022/animations/lucca-front-ng-animations.mjs +0 -5
  158. package/esm2022/animations/public-api.mjs +0 -5
  159. package/esm2022/animations/scale.animation.mjs +0 -126
  160. package/esm2022/animations/slide.animation.mjs +0 -110
  161. package/esm2022/api/api.model.mjs +0 -2
  162. package/esm2022/api/api.module.mjs +0 -16
  163. package/esm2022/api/lucca-front-ng-api.mjs +0 -5
  164. package/esm2022/api/public-api.mjs +0 -5
  165. package/esm2022/api/select/api-select.module.mjs +0 -19
  166. package/esm2022/api/select/feeder/api-feeder.component.mjs +0 -93
  167. package/esm2022/api/select/feeder/api-feeder.model.mjs +0 -11
  168. package/esm2022/api/select/feeder/api-feeder.module.mjs +0 -16
  169. package/esm2022/api/select/feeder/index.mjs +0 -4
  170. package/esm2022/api/select/index.mjs +0 -6
  171. package/esm2022/api/select/input/api-select-input.component.mjs +0 -52
  172. package/esm2022/api/select/input/api-select-input.module.mjs +0 -16
  173. package/esm2022/api/select/input/index.mjs +0 -3
  174. package/esm2022/api/select/pager/api-pager.component.mjs +0 -99
  175. package/esm2022/api/select/pager/api-pager.model.mjs +0 -56
  176. package/esm2022/api/select/pager/api-pager.module.mjs +0 -16
  177. package/esm2022/api/select/pager/index.mjs +0 -4
  178. package/esm2022/api/select/searcher/api-searcher.component.mjs +0 -235
  179. package/esm2022/api/select/searcher/api-searcher.model.mjs +0 -67
  180. package/esm2022/api/select/searcher/api-searcher.module.mjs +0 -16
  181. package/esm2022/api/select/searcher/index.mjs +0 -4
  182. package/esm2022/api/service/api-hybrid.service.mjs +0 -65
  183. package/esm2022/api/service/api-service.model.mjs +0 -3
  184. package/esm2022/api/service/api-v3.service.mjs +0 -72
  185. package/esm2022/api/service/api-v4.service.mjs +0 -71
  186. package/esm2022/api/service/index.mjs +0 -5
  187. package/esm2022/button/button.component.mjs +0 -90
  188. package/esm2022/button/lucca-front-ng-button.mjs +0 -5
  189. package/esm2022/button/public-api.mjs +0 -2
  190. package/esm2022/callout/callout/callout.component.mjs +0 -88
  191. package/esm2022/callout/callout-disclosure/callout-disclosure.component.mjs +0 -59
  192. package/esm2022/callout/callout-feedback-item/callout-feedback-item.component.mjs +0 -25
  193. package/esm2022/callout/callout-feedback-list/callout-feedback-list.component.mjs +0 -22
  194. package/esm2022/callout/callout-icon.pipe.mjs +0 -23
  195. package/esm2022/callout/callout-popover/callout-popover.component.mjs +0 -182
  196. package/esm2022/callout/callout-state.mjs +0 -16
  197. package/esm2022/callout/callout.translate.mjs +0 -7
  198. package/esm2022/callout/callout.utils.mjs +0 -20
  199. package/esm2022/callout/lucca-front-ng-callout.mjs +0 -5
  200. package/esm2022/callout/public-api.mjs +0 -7
  201. package/esm2022/callout/translations.mjs +0 -27
  202. package/esm2022/comment/comment/comment.component.mjs +0 -54
  203. package/esm2022/comment/comment-block/comment-block.component.mjs +0 -60
  204. package/esm2022/comment/comment-chat/comment-chat.component.mjs +0 -22
  205. package/esm2022/comment/lucca-front-ng-comment.mjs +0 -5
  206. package/esm2022/comment/public-api.mjs +0 -4
  207. package/esm2022/comment/token.mjs +0 -4
  208. package/esm2022/core/date/date-adapter.class.mjs +0 -54
  209. package/esm2022/core/date/date-adapter.interface.mjs +0 -2
  210. package/esm2022/core/date/date-granularity.enum.mjs +0 -8
  211. package/esm2022/core/date/index.mjs +0 -6
  212. package/esm2022/core/date/native/index.mjs +0 -3
  213. package/esm2022/core/date/native/native-date.adapter.mjs +0 -235
  214. package/esm2022/core/date/native/native-date.option.mjs +0 -6
  215. package/esm2022/core/date/string/index.mjs +0 -2
  216. package/esm2022/core/date/string/string-date.adapter.mjs +0 -83
  217. package/esm2022/core/event/index.mjs +0 -4
  218. package/esm2022/core/event/on-close.subscriber.mjs +0 -3
  219. package/esm2022/core/event/on-open.subscriber.mjs +0 -3
  220. package/esm2022/core/event/on-scroll-bottom.subscriber.mjs +0 -3
  221. package/esm2022/core/group/group.interface.mjs +0 -2
  222. package/esm2022/core/group/index.mjs +0 -2
  223. package/esm2022/core/id/id.generator.mjs +0 -9
  224. package/esm2022/core/id/index.mjs +0 -2
  225. package/esm2022/core/lucca-front-ng-core.mjs +0 -5
  226. package/esm2022/core/portal/index.mjs +0 -3
  227. package/esm2022/core/portal/portal-content.mjs +0 -3
  228. package/esm2022/core/portal/portal.directive.mjs +0 -107
  229. package/esm2022/core/public-api.mjs +0 -11
  230. package/esm2022/core/signal.mjs +0 -22
  231. package/esm2022/core/tools/class.mjs +0 -75
  232. package/esm2022/core/translate/index.mjs +0 -4
  233. package/esm2022/core/translate/intl-params.pipe.mjs +0 -20
  234. package/esm2022/core/translate/intl.model.mjs +0 -14
  235. package/esm2022/core/translate/translation.model.mjs +0 -2
  236. package/esm2022/core/tree/index.mjs +0 -2
  237. package/esm2022/core/tree/tree.model.mjs +0 -2
  238. package/esm2022/core/type/enum.mjs +0 -2
  239. package/esm2022/core/type/index.mjs +0 -3
  240. package/esm2022/core/type/style.mjs +0 -2
  241. package/esm2022/core-select/api/api-v3.directive.mjs +0 -81
  242. package/esm2022/core-select/api/api-v4.directive.mjs +0 -70
  243. package/esm2022/core-select/api/api.directive.mjs +0 -53
  244. package/esm2022/core-select/api/lucca-front-ng-core-select-api.mjs +0 -5
  245. package/esm2022/core-select/api/public-api.mjs +0 -4
  246. package/esm2022/core-select/displayer/displayer.directive.mjs +0 -26
  247. package/esm2022/core-select/displayer/index.mjs +0 -2
  248. package/esm2022/core-select/establishment/establishment-grouping.component.mjs +0 -21
  249. package/esm2022/core-select/establishment/establishment-grouping.service.mjs +0 -22
  250. package/esm2022/core-select/establishment/establishments.directive.mjs +0 -96
  251. package/esm2022/core-select/establishment/lucca-front-ng-core-select-establishment.mjs +0 -5
  252. package/esm2022/core-select/establishment/models.mjs +0 -2
  253. package/esm2022/core-select/establishment/public-api.mjs +0 -4
  254. package/esm2022/core-select/input/index.mjs +0 -4
  255. package/esm2022/core-select/input/select-input.component.mjs +0 -312
  256. package/esm2022/core-select/input/select-input.models.mjs +0 -37
  257. package/esm2022/core-select/input/total-count.directive.mjs +0 -33
  258. package/esm2022/core-select/job-qualification/job-qualification-grouping.component.mjs +0 -21
  259. package/esm2022/core-select/job-qualification/job-qualifications.directive.mjs +0 -78
  260. package/esm2022/core-select/job-qualification/lucca-front-ng-core-select-job-qualification.mjs +0 -5
  261. package/esm2022/core-select/job-qualification/models.mjs +0 -2
  262. package/esm2022/core-select/job-qualification/public-api.mjs +0 -3
  263. package/esm2022/core-select/lucca-front-ng-core-select.mjs +0 -5
  264. package/esm2022/core-select/option/default-option.component.mjs +0 -22
  265. package/esm2022/core-select/option/disabled.directive.mjs +0 -26
  266. package/esm2022/core-select/option/group.directive.mjs +0 -29
  267. package/esm2022/core-select/option/group.pipe.mjs +0 -43
  268. package/esm2022/core-select/option/index.mjs +0 -9
  269. package/esm2022/core-select/option/option-outlet.directive.mjs +0 -73
  270. package/esm2022/core-select/option/option.component.mjs +0 -89
  271. package/esm2022/core-select/option/option.directive.mjs +0 -26
  272. package/esm2022/core-select/option/option.token.mjs +0 -22
  273. package/esm2022/core-select/panel/index.mjs +0 -5
  274. package/esm2022/core-select/panel/key-manager.mjs +0 -79
  275. package/esm2022/core-select/panel/panel-header-template.directive.mjs +0 -25
  276. package/esm2022/core-select/panel/panel.models.mjs +0 -22
  277. package/esm2022/core-select/panel/panel.utils.mjs +0 -15
  278. package/esm2022/core-select/public-api.mjs +0 -8
  279. package/esm2022/core-select/select.model.mjs +0 -6
  280. package/esm2022/core-select/select.translate.mjs +0 -7
  281. package/esm2022/core-select/select.utils.mjs +0 -2
  282. package/esm2022/core-select/translations.mjs +0 -27
  283. package/esm2022/core-select/user/former-employees.component.mjs +0 -34
  284. package/esm2022/core-select/user/lucca-front-ng-core-select-user.mjs +0 -5
  285. package/esm2022/core-select/user/me.provider.mjs +0 -9
  286. package/esm2022/core-select/user/public-api.mjs +0 -5
  287. package/esm2022/core-select/user/translations.mjs +0 -35
  288. package/esm2022/core-select/user/user-displayer.component.mjs +0 -32
  289. package/esm2022/core-select/user/user-homonym.service.mjs +0 -63
  290. package/esm2022/core-select/user/user-option.component.mjs +0 -46
  291. package/esm2022/core-select/user/user-option.model.mjs +0 -2
  292. package/esm2022/core-select/user/user.translate.mjs +0 -7
  293. package/esm2022/core-select/user/users.directive.mjs +0 -149
  294. package/esm2022/date/adapter/date-adapter.module.mjs +0 -16
  295. package/esm2022/date/adapter/date-adapter.pipe.mjs +0 -25
  296. package/esm2022/date/adapter/index.mjs +0 -3
  297. package/esm2022/date/calendar/calendar-input.component.mjs +0 -332
  298. package/esm2022/date/calendar/calendar-input.module.mjs +0 -16
  299. package/esm2022/date/calendar/calendar-item.class.mjs +0 -43
  300. package/esm2022/date/calendar/calendar-item.factory.mjs +0 -37
  301. package/esm2022/date/calendar/calendar-item.interface.mjs +0 -2
  302. package/esm2022/date/calendar/index.mjs +0 -3
  303. package/esm2022/date/date.module.mjs +0 -20
  304. package/esm2022/date/humanize/humanize.formatter.mjs +0 -14
  305. package/esm2022/date/humanize/humanize.model.mjs +0 -2
  306. package/esm2022/date/humanize/humanize.pipe.mjs +0 -21
  307. package/esm2022/date/humanize/humanize.utils.mjs +0 -79
  308. package/esm2022/date/humanize/index.mjs +0 -5
  309. package/esm2022/date/input/date-input.directive.mjs +0 -137
  310. package/esm2022/date/input/date-input.module.mjs +0 -16
  311. package/esm2022/date/input/date-input.translate.mjs +0 -7
  312. package/esm2022/date/input/index.mjs +0 -4
  313. package/esm2022/date/input/translations.mjs +0 -43
  314. package/esm2022/date/lucca-front-ng-date.mjs +0 -5
  315. package/esm2022/date/picker/date-picker.component.mjs +0 -109
  316. package/esm2022/date/picker/date-picker.module.mjs +0 -16
  317. package/esm2022/date/picker/index.mjs +0 -3
  318. package/esm2022/date/public-api.mjs +0 -8
  319. package/esm2022/date/select/date-select-input.component.mjs +0 -106
  320. package/esm2022/date/select/date-select-input.module.mjs +0 -16
  321. package/esm2022/date/select/date-select-input.translate.mjs +0 -7
  322. package/esm2022/date/select/index.mjs +0 -4
  323. package/esm2022/date/select/translations.mjs +0 -43
  324. package/esm2022/date2/calendar.token.mjs +0 -22
  325. package/esm2022/date2/calendar2/calendar-cell-info.mjs +0 -2
  326. package/esm2022/date2/calendar2/calendar-mode.mjs +0 -2
  327. package/esm2022/date2/calendar2/calendar2-cell.directive.mjs +0 -111
  328. package/esm2022/date2/calendar2/calendar2.component.mjs +0 -279
  329. package/esm2022/date2/calendar2/calendar2.tokens.mjs +0 -4
  330. package/esm2022/date2/calendar2/cell-status.mjs +0 -2
  331. package/esm2022/date2/calendar2/date-range.mjs +0 -2
  332. package/esm2022/date2/date-format.mjs +0 -16
  333. package/esm2022/date2/date-input/date-input.component.mjs +0 -281
  334. package/esm2022/date2/date2.translate.mjs +0 -7
  335. package/esm2022/date2/lucca-front-ng-date2.mjs +0 -5
  336. package/esm2022/date2/public-api.mjs +0 -5
  337. package/esm2022/date2/repeat-times.directive.mjs +0 -27
  338. package/esm2022/date2/translations.mjs +0 -17
  339. package/esm2022/date2/utils.mjs +0 -24
  340. package/esm2022/department/department.model.mjs +0 -2
  341. package/esm2022/department/department.module.mjs +0 -16
  342. package/esm2022/department/lucca-front-ng-department.mjs +0 -5
  343. package/esm2022/department/public-api.mjs +0 -5
  344. package/esm2022/department/select/department-select.module.mjs +0 -17
  345. package/esm2022/department/select/feeder/department-feeder.component.mjs +0 -82
  346. package/esm2022/department/select/feeder/department-feeder.module.mjs +0 -16
  347. package/esm2022/department/select/feeder/index.mjs +0 -3
  348. package/esm2022/department/select/index.mjs +0 -4
  349. package/esm2022/department/select/input/department-select-input.component.mjs +0 -68
  350. package/esm2022/department/select/input/department-select-input.module.mjs +0 -16
  351. package/esm2022/department/select/input/department-select-input.translate.mjs +0 -7
  352. package/esm2022/department/select/input/index.mjs +0 -4
  353. package/esm2022/department/select/input/translations.mjs +0 -27
  354. package/esm2022/department/service/department-service.model.mjs +0 -4
  355. package/esm2022/department/service/department-v3.service.mjs +0 -46
  356. package/esm2022/department/service/department-v4.service.mjs +0 -46
  357. package/esm2022/department/service/index.mjs +0 -4
  358. package/esm2022/dialog/dialog/dialog.component.mjs +0 -31
  359. package/esm2022/dialog/dialog-content/dialog-content.component.mjs +0 -20
  360. package/esm2022/dialog/dialog-footer/dialog-footer.component.mjs +0 -13
  361. package/esm2022/dialog/dialog-header/dialog-header.component.mjs +0 -45
  362. package/esm2022/dialog/dialog-header/dialog-header.translate.mjs +0 -7
  363. package/esm2022/dialog/dialog-header/translations.mjs +0 -27
  364. package/esm2022/dialog/dialog-routing/dialog-routing.component.mjs +0 -100
  365. package/esm2022/dialog/dialog-routing/dialog-routing.models.mjs +0 -2
  366. package/esm2022/dialog/dialog-routing/dialog-routing.utils.mjs +0 -46
  367. package/esm2022/dialog/dialog-routing/index.mjs +0 -4
  368. package/esm2022/dialog/dialog.providers.mjs +0 -10
  369. package/esm2022/dialog/dialog.service.mjs +0 -75
  370. package/esm2022/dialog/directives/dialog-close.directive.mjs +0 -22
  371. package/esm2022/dialog/directives/dialog-dismiss.directive.mjs +0 -22
  372. package/esm2022/dialog/directives/dialog-open.directive.mjs +0 -35
  373. package/esm2022/dialog/lucca-front-ng-dialog.mjs +0 -5
  374. package/esm2022/dialog/model/dialog-config.mjs +0 -4
  375. package/esm2022/dialog/model/dialog-ref.mjs +0 -49
  376. package/esm2022/dialog/model/index.mjs +0 -4
  377. package/esm2022/dialog/model/injectors.mjs +0 -10
  378. package/esm2022/dialog/public-api.mjs +0 -13
  379. package/esm2022/dialog/testing/lucca-front-ng-dialog-testing.mjs +0 -5
  380. package/esm2022/dialog/testing/providers.mjs +0 -8
  381. package/esm2022/dialog/testing/public-api.mjs +0 -2
  382. package/esm2022/dropdown/dropdown.module.mjs +0 -18
  383. package/esm2022/dropdown/item/dropdown-item.directive.mjs +0 -55
  384. package/esm2022/dropdown/item/dropdown-item.model.mjs +0 -3
  385. package/esm2022/dropdown/item/dropdown-item.module.mjs +0 -17
  386. package/esm2022/dropdown/item/index.mjs +0 -4
  387. package/esm2022/dropdown/lucca-front-ng-dropdown.mjs +0 -5
  388. package/esm2022/dropdown/panel/dropdown-panel.component.mjs +0 -111
  389. package/esm2022/dropdown/panel/dropdown-panel.model.mjs +0 -2
  390. package/esm2022/dropdown/panel/dropdown-panel.module.mjs +0 -18
  391. package/esm2022/dropdown/panel/index.mjs +0 -4
  392. package/esm2022/dropdown/public-api.mjs +0 -5
  393. package/esm2022/dropdown/trigger/dropdown-trigger.directive.mjs +0 -121
  394. package/esm2022/dropdown/trigger/dropdown-trigger.module.mjs +0 -18
  395. package/esm2022/dropdown/trigger/index.mjs +0 -3
  396. package/esm2022/empty-state/empty-state-page/empty-state-page.component.mjs +0 -62
  397. package/esm2022/empty-state/empty-state-section/empty-state-section.component.mjs +0 -43
  398. package/esm2022/empty-state/lucca-front-ng-empty-state.mjs +0 -5
  399. package/esm2022/empty-state/public-api.mjs +0 -3
  400. package/esm2022/establishment/establishment.model.mjs +0 -2
  401. package/esm2022/establishment/establishment.module.mjs +0 -19
  402. package/esm2022/establishment/lucca-front-ng-establishment.mjs +0 -5
  403. package/esm2022/establishment/public-api.mjs +0 -5
  404. package/esm2022/establishment/select/establishment-select.module.mjs +0 -23
  405. package/esm2022/establishment/select/establishment-select.token.mjs +0 -4
  406. package/esm2022/establishment/select/for-legal-units/for-legal-units.directive.mjs +0 -47
  407. package/esm2022/establishment/select/for-legal-units/for-legal-units.module.mjs +0 -16
  408. package/esm2022/establishment/select/for-legal-units/index.mjs +0 -3
  409. package/esm2022/establishment/select/index.mjs +0 -7
  410. package/esm2022/establishment/select/input/establishment-select-input.component.mjs +0 -126
  411. package/esm2022/establishment/select/input/establishment-select-input.module.mjs +0 -16
  412. package/esm2022/establishment/select/input/establishment-select-input.translate.mjs +0 -7
  413. package/esm2022/establishment/select/input/index.mjs +0 -4
  414. package/esm2022/establishment/select/input/translations.mjs +0 -27
  415. package/esm2022/establishment/select/legal-unit-selector/index.mjs +0 -3
  416. package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.directive.mjs +0 -103
  417. package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.module.mjs +0 -16
  418. package/esm2022/establishment/select/searcher/establishment-searcher.component.mjs +0 -146
  419. package/esm2022/establishment/select/searcher/establishment-searcher.module.mjs +0 -16
  420. package/esm2022/establishment/select/searcher/index.mjs +0 -3
  421. package/esm2022/establishment/select/select-all/establishment-select-all.component.mjs +0 -94
  422. package/esm2022/establishment/select/select-all/establishment-select-all.module.mjs +0 -16
  423. package/esm2022/establishment/select/select-all/index.mjs +0 -3
  424. package/esm2022/establishment/service/establishment-service.model.mjs +0 -4
  425. package/esm2022/establishment/service/establishment.service.mjs +0 -37
  426. package/esm2022/establishment/service/index.mjs +0 -5
  427. package/esm2022/establishment/service/legal-unit-service.model.mjs +0 -4
  428. package/esm2022/establishment/service/legal-unit.service.mjs +0 -37
  429. package/esm2022/form-field/form-field-size.mjs +0 -2
  430. package/esm2022/form-field/form-field.component.mjs +0 -248
  431. package/esm2022/form-field/form-field.token.mjs +0 -3
  432. package/esm2022/form-field/form-field.translate.mjs +0 -7
  433. package/esm2022/form-field/input.directive.mjs +0 -36
  434. package/esm2022/form-field/lucca-front-ng-form-field.mjs +0 -5
  435. package/esm2022/form-field/public-api.mjs +0 -6
  436. package/esm2022/form-field/translations.mjs +0 -27
  437. package/esm2022/formly/formly.config.mjs +0 -79
  438. package/esm2022/formly/formly.module.mjs +0 -108
  439. package/esm2022/formly/formly.utils.mjs +0 -10
  440. package/esm2022/formly/lucca-front-ng-formly.mjs +0 -5
  441. package/esm2022/formly/public-api.mjs +0 -5
  442. package/esm2022/formly/types/api.mjs +0 -37
  443. package/esm2022/formly/types/checkbox.mjs +0 -22
  444. package/esm2022/formly/types/date.mjs +0 -22
  445. package/esm2022/formly/types/department.mjs +0 -22
  446. package/esm2022/formly/types/establishment.mjs +0 -22
  447. package/esm2022/formly/types/index.mjs +0 -12
  448. package/esm2022/formly/types/input.mjs +0 -26
  449. package/esm2022/formly/types/qualification.mjs +0 -22
  450. package/esm2022/formly/types/radios.mjs +0 -25
  451. package/esm2022/formly/types/select.mjs +0 -28
  452. package/esm2022/formly/types/textarea.mjs +0 -22
  453. package/esm2022/formly/types/user.mjs +0 -22
  454. package/esm2022/formly/wrappers/checkbox-layout.mjs +0 -30
  455. package/esm2022/formly/wrappers/error.mjs +0 -57
  456. package/esm2022/formly/wrappers/helper.mjs +0 -19
  457. package/esm2022/formly/wrappers/icon.mjs +0 -19
  458. package/esm2022/formly/wrappers/index.mjs +0 -8
  459. package/esm2022/formly/wrappers/radiosfield-layout.mjs +0 -30
  460. package/esm2022/formly/wrappers/suffix.mjs +0 -19
  461. package/esm2022/formly/wrappers/textfield-layout.mjs +0 -39
  462. package/esm2022/forms/checkbox-input/checkbox-input.component.mjs +0 -34
  463. package/esm2022/forms/form-field-id.directive.mjs +0 -52
  464. package/esm2022/forms/inject-ng-control.mjs +0 -25
  465. package/esm2022/forms/lucca-front-ng-forms.mjs +0 -5
  466. package/esm2022/forms/multilanguage-input/model/multilanguage-translation.mjs +0 -2
  467. package/esm2022/forms/multilanguage-input/multilanguage-input.component.mjs +0 -95
  468. package/esm2022/forms/multilanguage-input/multilanguage-input.translate.mjs +0 -6
  469. package/esm2022/forms/multilanguage-input/translations.mjs +0 -13
  470. package/esm2022/forms/multilanguage-input/validators.mjs +0 -7
  471. package/esm2022/forms/noop-value-accessor.directive.mjs +0 -35
  472. package/esm2022/forms/number-format-input/number-format-input.component.mjs +0 -92
  473. package/esm2022/forms/number-format-input/number-format-input.translate.mjs +0 -7
  474. package/esm2022/forms/number-format-input/translations.mjs +0 -27
  475. package/esm2022/forms/number-input/number-input.component.mjs +0 -38
  476. package/esm2022/forms/number-input/number-input.translate.mjs +0 -7
  477. package/esm2022/forms/number-input/translations.mjs +0 -27
  478. package/esm2022/forms/phone-number-input/formatter.mjs +0 -7
  479. package/esm2022/forms/phone-number-input/lucca-front-ng-forms-phone-number-input.mjs +0 -5
  480. package/esm2022/forms/phone-number-input/phone-number-format.pipe.mjs +0 -18
  481. package/esm2022/forms/phone-number-input/phone-number-input.component.mjs +0 -186
  482. package/esm2022/forms/phone-number-input/public-api.mjs +0 -6
  483. package/esm2022/forms/phone-number-input/types.mjs +0 -2
  484. package/esm2022/forms/phone-number-input/validators.mjs +0 -17
  485. package/esm2022/forms/public-api.mjs +0 -17
  486. package/esm2022/forms/radio-group-input/radio/radio.component.mjs +0 -54
  487. package/esm2022/forms/radio-group-input/radio-group-input.component.mjs +0 -45
  488. package/esm2022/forms/radio-group-input/radio-group-token.mjs +0 -3
  489. package/esm2022/forms/switch-input/switch-input.component.mjs +0 -26
  490. package/esm2022/forms/text-input/text-input-addon.mjs +0 -2
  491. package/esm2022/forms/text-input/text-input.component.mjs +0 -82
  492. package/esm2022/forms/text-input/text-input.translate.mjs +0 -7
  493. package/esm2022/forms/text-input/translations.mjs +0 -35
  494. package/esm2022/forms/textarea-input/textarea-input.component.mjs +0 -53
  495. package/esm2022/icon/icon.component.mjs +0 -29
  496. package/esm2022/icon/lucca-front-ng-icon.mjs +0 -5
  497. package/esm2022/icon/public-api.mjs +0 -2
  498. package/esm2022/inline-message/inline-message-state.mjs +0 -2
  499. package/esm2022/inline-message/inline-message.component.mjs +0 -33
  500. package/esm2022/inline-message/lucca-front-ng-inline-message.mjs +0 -5
  501. package/esm2022/inline-message/public-api.mjs +0 -3
  502. package/esm2022/input/clearer/clearer.component.mjs +0 -35
  503. package/esm2022/input/clearer/clearer.model.mjs +0 -3
  504. package/esm2022/input/clearer/clearer.module.mjs +0 -16
  505. package/esm2022/input/clearer/index.mjs +0 -4
  506. package/esm2022/input/displayer/index.mjs +0 -4
  507. package/esm2022/input/displayer/input-displayer.directive.mjs +0 -59
  508. package/esm2022/input/displayer/input-displayer.model.mjs +0 -6
  509. package/esm2022/input/displayer/input-displayer.module.mjs +0 -16
  510. package/esm2022/input/input.directive.mjs +0 -42
  511. package/esm2022/input/input.model.mjs +0 -54
  512. package/esm2022/input/input.module.mjs +0 -18
  513. package/esm2022/input/lucca-front-ng-input.mjs +0 -5
  514. package/esm2022/input/public-api.mjs +0 -6
  515. package/esm2022/lucca-front-ng.mjs +0 -5
  516. package/esm2022/modal/dialog-adapter/dialog-content-adapter/dialog-content-adapter.component.mjs +0 -100
  517. package/esm2022/modal/dialog-adapter/dialog-ref-adapter.mjs +0 -19
  518. package/esm2022/modal/lucca-front-ng-modal.mjs +0 -5
  519. package/esm2022/modal/modal-config.default.mjs +0 -17
  520. package/esm2022/modal/modal-config.model.mjs +0 -5
  521. package/esm2022/modal/modal-panel.component.mjs +0 -123
  522. package/esm2022/modal/modal-ref.factory.mjs +0 -60
  523. package/esm2022/modal/modal-ref.model.mjs +0 -11
  524. package/esm2022/modal/modal.model.mjs +0 -2
  525. package/esm2022/modal/modal.module.mjs +0 -28
  526. package/esm2022/modal/modal.service.mjs +0 -42
  527. package/esm2022/modal/modal.token.mjs +0 -9
  528. package/esm2022/modal/modal.translate.mjs +0 -7
  529. package/esm2022/modal/modal.utils.mjs +0 -9
  530. package/esm2022/modal/public-api.mjs +0 -12
  531. package/esm2022/modal/translations.mjs +0 -43
  532. package/esm2022/multi-select/displayer/counter-displayer/counter-displayer.component.mjs +0 -78
  533. package/esm2022/multi-select/displayer/default-displayer.component.mjs +0 -95
  534. package/esm2022/multi-select/displayer/default-displayer.translate.mjs +0 -7
  535. package/esm2022/multi-select/displayer/displayer-input.directive.mjs +0 -101
  536. package/esm2022/multi-select/displayer/displayer.directive.mjs +0 -26
  537. package/esm2022/multi-select/displayer/index.mjs +0 -6
  538. package/esm2022/multi-select/displayer/translations.mjs +0 -51
  539. package/esm2022/multi-select/input/index.mjs +0 -3
  540. package/esm2022/multi-select/input/panel-ref.factory.mjs +0 -119
  541. package/esm2022/multi-select/input/panel.model.mjs +0 -4
  542. package/esm2022/multi-select/input/select-all/index.mjs +0 -2
  543. package/esm2022/multi-select/input/select-all/multi-select-all-displayer.component.mjs +0 -99
  544. package/esm2022/multi-select/input/select-all/multi-select-all-header.component.mjs +0 -36
  545. package/esm2022/multi-select/input/select-all/select-all.models.mjs +0 -3
  546. package/esm2022/multi-select/input/select-all/with-select-all.directive.mjs +0 -160
  547. package/esm2022/multi-select/input/select-input.component.mjs +0 -111
  548. package/esm2022/multi-select/lucca-front-ng-multi-select.mjs +0 -5
  549. package/esm2022/multi-select/panel/index.mjs +0 -2
  550. package/esm2022/multi-select/panel/option-group-context.pipe.mjs +0 -24
  551. package/esm2022/multi-select/panel/option-selected.pipe.mjs +0 -19
  552. package/esm2022/multi-select/panel/panel.component.mjs +0 -109
  553. package/esm2022/multi-select/panel/selected-chip.directive.mjs +0 -26
  554. package/esm2022/multi-select/public-api.mjs +0 -5
  555. package/esm2022/multi-select/select.model.mjs +0 -23
  556. package/esm2022/multi-select/select.translate.mjs +0 -7
  557. package/esm2022/multi-select/select.utils.mjs +0 -32
  558. package/esm2022/multi-select/translations.mjs +0 -107
  559. package/esm2022/new-badge/lucca-front-ng-new-badge.mjs +0 -5
  560. package/esm2022/new-badge/new-badge.component.mjs +0 -20
  561. package/esm2022/new-badge/public-api.mjs +0 -2
  562. package/esm2022/number/lucca-front-ng-number.mjs +0 -5
  563. package/esm2022/number/number.module.mjs +0 -16
  564. package/esm2022/number/number.pipe.mjs +0 -36
  565. package/esm2022/number/public-api.mjs +0 -3
  566. package/esm2022/number-format/lucca-front-ng-number-format.mjs +0 -5
  567. package/esm2022/number-format/number-format.directive.mjs +0 -91
  568. package/esm2022/number-format/number-format.mjs +0 -175
  569. package/esm2022/number-format/number-format.models.mjs +0 -7
  570. package/esm2022/number-format/number-format.pipe.mjs +0 -18
  571. package/esm2022/number-format/public-api.mjs +0 -5
  572. package/esm2022/numeric-badge/lucca-front-ng-numeric-badge.mjs +0 -5
  573. package/esm2022/numeric-badge/numeric-badge.component.mjs +0 -43
  574. package/esm2022/numeric-badge/public-api.mjs +0 -2
  575. package/esm2022/option/item/index.mjs +0 -8
  576. package/esm2022/option/item/option-item.component.mjs +0 -76
  577. package/esm2022/option/item/option-item.model.mjs +0 -3
  578. package/esm2022/option/item/option-item.module.mjs +0 -16
  579. package/esm2022/option/item/translations.mjs +0 -35
  580. package/esm2022/option/item/tree-option-item.component.mjs +0 -136
  581. package/esm2022/option/item/tree-option-item.model.mjs +0 -7
  582. package/esm2022/option/item/tree-option-item.module.mjs +0 -16
  583. package/esm2022/option/item/tree-option-item.translate.mjs +0 -7
  584. package/esm2022/option/lucca-front-ng-option.mjs +0 -5
  585. package/esm2022/option/operator/feeder/index.mjs +0 -5
  586. package/esm2022/option/operator/feeder/option-feeder.component.mjs +0 -33
  587. package/esm2022/option/operator/feeder/option-feeder.module.mjs +0 -16
  588. package/esm2022/option/operator/feeder/tree-option-feeder.component.mjs +0 -33
  589. package/esm2022/option/operator/feeder/tree-option-feeder.module.mjs +0 -16
  590. package/esm2022/option/operator/for-groups/for-groups.directive.mjs +0 -89
  591. package/esm2022/option/operator/for-groups/for-groups.module.mjs +0 -16
  592. package/esm2022/option/operator/for-groups/index.mjs +0 -3
  593. package/esm2022/option/operator/for-options/for-options.directive.mjs +0 -50
  594. package/esm2022/option/operator/for-options/for-options.module.mjs +0 -16
  595. package/esm2022/option/operator/for-options/for-tree-options.directive.mjs +0 -29
  596. package/esm2022/option/operator/for-options/for-tree-options.module.mjs +0 -16
  597. package/esm2022/option/operator/for-options/index.mjs +0 -5
  598. package/esm2022/option/operator/index.mjs +0 -10
  599. package/esm2022/option/operator/option-operator.model.mjs +0 -3
  600. package/esm2022/option/operator/option-operator.module.mjs +0 -20
  601. package/esm2022/option/operator/pager/index.mjs +0 -5
  602. package/esm2022/option/operator/pager/option-pager.component.mjs +0 -53
  603. package/esm2022/option/operator/pager/option-pager.module.mjs +0 -16
  604. package/esm2022/option/operator/pager/tree-option-pager.component.mjs +0 -71
  605. package/esm2022/option/operator/pager/tree-option-pager.module.mjs +0 -16
  606. package/esm2022/option/operator/searcher/index.mjs +0 -5
  607. package/esm2022/option/operator/searcher/option-searcher.component.mjs +0 -66
  608. package/esm2022/option/operator/searcher/option-searcher.module.mjs +0 -16
  609. package/esm2022/option/operator/searcher/tree-option-searcher.component.mjs +0 -83
  610. package/esm2022/option/operator/searcher/tree-option-searcher.module.mjs +0 -16
  611. package/esm2022/option/operator/tree-option-operator.model.mjs +0 -4
  612. package/esm2022/option/operator/tree-option-operator.module.mjs +0 -19
  613. package/esm2022/option/option.module.mjs +0 -63
  614. package/esm2022/option/picker/index.mjs +0 -9
  615. package/esm2022/option/picker/option-picker-advanced.component.mjs +0 -150
  616. package/esm2022/option/picker/option-picker.component.mjs +0 -319
  617. package/esm2022/option/picker/option-picker.model.mjs +0 -69
  618. package/esm2022/option/picker/option-picker.module.mjs +0 -18
  619. package/esm2022/option/picker/tree-option-picker-advanced.component.mjs +0 -140
  620. package/esm2022/option/picker/tree-option-picker.component.mjs +0 -173
  621. package/esm2022/option/picker/tree-option-picker.model.mjs +0 -4
  622. package/esm2022/option/picker/tree-option-picker.module.mjs +0 -21
  623. package/esm2022/option/placeholder/index.mjs +0 -4
  624. package/esm2022/option/placeholder/option-placeholder.component.mjs +0 -23
  625. package/esm2022/option/placeholder/option-placeholder.module.mjs +0 -16
  626. package/esm2022/option/placeholder/option-placeholder.translate.mjs +0 -7
  627. package/esm2022/option/placeholder/translations.mjs +0 -35
  628. package/esm2022/option/public-api.mjs +0 -8
  629. package/esm2022/option/selector/all/index.mjs +0 -6
  630. package/esm2022/option/selector/all/select-all.component.mjs +0 -64
  631. package/esm2022/option/selector/all/select-all.module.mjs +0 -16
  632. package/esm2022/option/selector/all/select-all.translate.mjs +0 -7
  633. package/esm2022/option/selector/all/translations.mjs +0 -35
  634. package/esm2022/option/selector/all/tree-select-all.component.mjs +0 -67
  635. package/esm2022/option/selector/all/tree-select-all.module.mjs +0 -16
  636. package/esm2022/option/selector/index.mjs +0 -6
  637. package/esm2022/option/selector/option-selector.model.mjs +0 -3
  638. package/esm2022/option/selector/option-selector.module.mjs +0 -16
  639. package/esm2022/option/selector/tree-option-selector.model.mjs +0 -4
  640. package/esm2022/option/selector/tree-option-selector.module.mjs +0 -16
  641. package/esm2022/option/tree-option.module.mjs +0 -19
  642. package/esm2022/picker/input-picker.model.mjs +0 -4
  643. package/esm2022/picker/lucca-front-ng-picker.mjs +0 -5
  644. package/esm2022/picker/public-api.mjs +0 -2
  645. package/esm2022/plg-push/lucca-front-ng-plg-push.mjs +0 -5
  646. package/esm2022/plg-push/plg-push.component.mjs +0 -17
  647. package/esm2022/plg-push/public-api.mjs +0 -2
  648. package/esm2022/popover/animation/index.mjs +0 -2
  649. package/esm2022/popover/animation/popover.animation.mjs +0 -16
  650. package/esm2022/popover/lucca-front-ng-popover.mjs +0 -5
  651. package/esm2022/popover/panel/index.mjs +0 -4
  652. package/esm2022/popover/panel/popover-panel.component.mjs +0 -126
  653. package/esm2022/popover/panel/popover-panel.model.mjs +0 -120
  654. package/esm2022/popover/panel/popover-panel.module.mjs +0 -16
  655. package/esm2022/popover/popover.module.mjs +0 -18
  656. package/esm2022/popover/public-api.mjs +0 -6
  657. package/esm2022/popover/target/index.mjs +0 -4
  658. package/esm2022/popover/target/popover-target.directive.mjs +0 -53
  659. package/esm2022/popover/target/popover-target.model.mjs +0 -65
  660. package/esm2022/popover/target/popover-target.module.mjs +0 -16
  661. package/esm2022/popover/trigger/index.mjs +0 -4
  662. package/esm2022/popover/trigger/popover-trigger.directive.mjs +0 -186
  663. package/esm2022/popover/trigger/popover-trigger.model.mjs +0 -470
  664. package/esm2022/popover/trigger/popover-trigger.module.mjs +0 -17
  665. package/esm2022/popover2/content/popover-content/popover-content.component.mjs +0 -78
  666. package/esm2022/popover2/lucca-front-ng-popover2.mjs +0 -5
  667. package/esm2022/popover2/popover-focus-trap.mjs +0 -24
  668. package/esm2022/popover2/popover-tokens.mjs +0 -3
  669. package/esm2022/popover2/popover.directive.mjs +0 -257
  670. package/esm2022/popover2/popover.providers.mjs +0 -6
  671. package/esm2022/popover2/popover.translate.mjs +0 -7
  672. package/esm2022/popover2/popover2.translate.mjs +0 -19
  673. package/esm2022/popover2/public-api.mjs +0 -4
  674. package/esm2022/popover2/translations.mjs +0 -27
  675. package/esm2022/popup/lucca-front-ng-popup.mjs +0 -5
  676. package/esm2022/popup/popup-config.default.mjs +0 -9
  677. package/esm2022/popup/popup-config.model.mjs +0 -2
  678. package/esm2022/popup/popup-ref.factory.mjs +0 -28
  679. package/esm2022/popup/popup-ref.model.mjs +0 -139
  680. package/esm2022/popup/popup.module.mjs +0 -21
  681. package/esm2022/popup/popup.service.mjs +0 -21
  682. package/esm2022/popup/popup.token.mjs +0 -8
  683. package/esm2022/popup/public-api.mjs +0 -8
  684. package/esm2022/popup-employee/card/panel/user-popover-panel.component.mjs +0 -152
  685. package/esm2022/popup-employee/card/panel/user-popover-panel.model.mjs +0 -2
  686. package/esm2022/popup-employee/card/pipe/inject-parameter.pipe.mjs +0 -18
  687. package/esm2022/popup-employee/card/pipe/is-future.pipe.mjs +0 -32
  688. package/esm2022/popup-employee/card/pipe/leave-ends-display.pipe.mjs +0 -44
  689. package/esm2022/popup-employee/card/trigger/user-popover-trigger.directive.mjs +0 -178
  690. package/esm2022/popup-employee/lucca-front-ng-popup-employee.mjs +0 -5
  691. package/esm2022/popup-employee/popup-employee.translate.mjs +0 -7
  692. package/esm2022/popup-employee/public-api.mjs +0 -5
  693. package/esm2022/popup-employee/service/user-popover-service.model.mjs +0 -2
  694. package/esm2022/popup-employee/service/user-popover.store.mjs +0 -59
  695. package/esm2022/popup-employee/translations.mjs +0 -123
  696. package/esm2022/popup-employee/user-popover.model.mjs +0 -2
  697. package/esm2022/popup-employee/user-popover.providers.mjs +0 -14
  698. package/esm2022/public_api.mjs +0 -2
  699. package/esm2022/qualification/lucca-front-ng-qualification.mjs +0 -5
  700. package/esm2022/qualification/public-api.mjs +0 -4
  701. package/esm2022/qualification/qualification.model.mjs +0 -2
  702. package/esm2022/qualification/qualification.module.mjs +0 -19
  703. package/esm2022/qualification/select/index.mjs +0 -3
  704. package/esm2022/qualification/select/input/index.mjs +0 -4
  705. package/esm2022/qualification/select/input/qualification-select-input.component.mjs +0 -60
  706. package/esm2022/qualification/select/input/qualification-select-input.module.mjs +0 -19
  707. package/esm2022/qualification/select/input/qualification-select-input.translate.mjs +0 -7
  708. package/esm2022/qualification/select/input/translations.mjs +0 -27
  709. package/esm2022/qualification/select/qualification-select.module.mjs +0 -19
  710. package/esm2022/safe-content/lucca-front-ng-safe-content.mjs +0 -5
  711. package/esm2022/safe-content/public-api.mjs +0 -4
  712. package/esm2022/safe-content/safe-content.module.mjs +0 -18
  713. package/esm2022/safe-content/safe-external-svg.pipe.mjs +0 -42
  714. package/esm2022/safe-content/safe-html.pipe.mjs +0 -19
  715. package/esm2022/scroll/lucca-front-ng-scroll.mjs +0 -5
  716. package/esm2022/scroll/public-api.mjs +0 -4
  717. package/esm2022/scroll/scroll.directive.mjs +0 -77
  718. package/esm2022/scroll/scroll.model.mjs +0 -2
  719. package/esm2022/scroll/scroll.module.mjs +0 -16
  720. package/esm2022/select/input/index.mjs +0 -4
  721. package/esm2022/select/input/select-input.component.mjs +0 -249
  722. package/esm2022/select/input/select-input.model.mjs +0 -179
  723. package/esm2022/select/input/select-input.module.mjs +0 -19
  724. package/esm2022/select/lucca-front-ng-select.mjs +0 -5
  725. package/esm2022/select/public-api.mjs +0 -3
  726. package/esm2022/select/select.module.mjs +0 -19
  727. package/esm2022/sidepanel/lucca-front-ng-sidepanel.mjs +0 -5
  728. package/esm2022/sidepanel/public-api.mjs +0 -4
  729. package/esm2022/sidepanel/sidepanel.model.mjs +0 -32
  730. package/esm2022/sidepanel/sidepanel.module.mjs +0 -20
  731. package/esm2022/sidepanel/sidepanel.service.mjs +0 -25
  732. package/esm2022/simple-select/api/api-v3.directive.mjs +0 -6
  733. package/esm2022/simple-select/api/api-v4.directive.mjs +0 -6
  734. package/esm2022/simple-select/api/api.directive.mjs +0 -6
  735. package/esm2022/simple-select/api/lucca-front-ng-simple-select-api.mjs +0 -5
  736. package/esm2022/simple-select/api/public-api.mjs +0 -4
  737. package/esm2022/simple-select/input/index.mjs +0 -2
  738. package/esm2022/simple-select/input/panel-ref.factory.mjs +0 -106
  739. package/esm2022/simple-select/input/select-input.component.mjs +0 -60
  740. package/esm2022/simple-select/lucca-front-ng-simple-select.mjs +0 -5
  741. package/esm2022/simple-select/panel/index.mjs +0 -2
  742. package/esm2022/simple-select/panel/option-selected.pipe.mjs +0 -17
  743. package/esm2022/simple-select/panel/panel.component.mjs +0 -70
  744. package/esm2022/simple-select/public-api.mjs +0 -4
  745. package/esm2022/simple-select/select.model.mjs +0 -3
  746. package/esm2022/simple-select/select.translate.mjs +0 -7
  747. package/esm2022/simple-select/translations.mjs +0 -59
  748. package/esm2022/skeleton/lucca-front-ng-skeleton.mjs +0 -5
  749. package/esm2022/skeleton/public-api.mjs +0 -4
  750. package/esm2022/skeleton/skeleton-button/skeleton-button.component.mjs +0 -17
  751. package/esm2022/skeleton/skeleton-field/skeleton-field.component.mjs +0 -17
  752. package/esm2022/skeleton/skeleton-header/skeleton-header.component.mjs +0 -17
  753. package/esm2022/tag/lucca-front-ng-tag.mjs +0 -5
  754. package/esm2022/tag/public-api.mjs +0 -2
  755. package/esm2022/tag/tag.component.mjs +0 -61
  756. package/esm2022/time/core/base-picker.component.mjs +0 -47
  757. package/esm2022/time/core/date-primitives.mjs +0 -2
  758. package/esm2022/time/core/date.utils.mjs +0 -54
  759. package/esm2022/time/core/duration.utils.mjs +0 -55
  760. package/esm2022/time/core/math.utils.mjs +0 -17
  761. package/esm2022/time/core/misc.utils.mjs +0 -3
  762. package/esm2022/time/core/repeat-on-hold.directive.mjs +0 -73
  763. package/esm2022/time/core/time-picker-part.component.mjs +0 -148
  764. package/esm2022/time/duration-picker/duration-picker.component.mjs +0 -197
  765. package/esm2022/time/duration-picker/duration-picker.model.mjs +0 -2
  766. package/esm2022/time/duration-picker/duration-picker.translate.mjs +0 -7
  767. package/esm2022/time/duration-picker/translations.mjs +0 -43
  768. package/esm2022/time/lucca-front-ng-time.mjs +0 -5
  769. package/esm2022/time/public-api.mjs +0 -5
  770. package/esm2022/time/time-picker/time-picker.component.mjs +0 -230
  771. package/esm2022/time/time-picker/time-picker.model.mjs +0 -3
  772. package/esm2022/time/time-picker/time-picker.translate.mjs +0 -7
  773. package/esm2022/time/time-picker/translations.mjs +0 -43
  774. package/esm2022/title/lucca-front-ng-title.mjs +0 -5
  775. package/esm2022/title/public-api.mjs +0 -6
  776. package/esm2022/title/title-translate.service.mjs +0 -3
  777. package/esm2022/title/title.model.mjs +0 -2
  778. package/esm2022/title/title.module.mjs +0 -20
  779. package/esm2022/title/title.service.mjs +0 -55
  780. package/esm2022/title/title.strategy.mjs +0 -60
  781. package/esm2022/toast/lucca-front-ng-toast.mjs +0 -5
  782. package/esm2022/toast/public-api.mjs +0 -9
  783. package/esm2022/toast/toasts.component.mjs +0 -62
  784. package/esm2022/toast/toasts.model.mjs +0 -2
  785. package/esm2022/toast/toasts.module.mjs +0 -16
  786. package/esm2022/toast/toasts.service.mjs +0 -37
  787. package/esm2022/toast/toasts.translate.mjs +0 -7
  788. package/esm2022/toast/translations.mjs +0 -27
  789. package/esm2022/tooltip/animation/index.mjs +0 -2
  790. package/esm2022/tooltip/animation/tooltip.animation.mjs +0 -16
  791. package/esm2022/tooltip/lucca-front-ng-tooltip.mjs +0 -5
  792. package/esm2022/tooltip/panel/index.mjs +0 -3
  793. package/esm2022/tooltip/panel/tooltip-panel.component.mjs +0 -44
  794. package/esm2022/tooltip/panel/tooltip-panel.module.mjs +0 -16
  795. package/esm2022/tooltip/public-api.mjs +0 -5
  796. package/esm2022/tooltip/tooltip.module.mjs +0 -17
  797. package/esm2022/tooltip/trigger/ellipsis.ruler.mjs +0 -81
  798. package/esm2022/tooltip/trigger/index.mjs +0 -3
  799. package/esm2022/tooltip/trigger/tooltip-trigger.directive.mjs +0 -310
  800. package/esm2022/tooltip/trigger/tooltip-trigger.module.mjs +0 -17
  801. package/esm2022/user/display/display-format.model.mjs +0 -25
  802. package/esm2022/user/display/index.mjs +0 -4
  803. package/esm2022/user/display/user-display.module.mjs +0 -17
  804. package/esm2022/user/display/user-display.pipe.mjs +0 -72
  805. package/esm2022/user/lucca-front-ng-user.mjs +0 -5
  806. package/esm2022/user/picture/index.mjs +0 -3
  807. package/esm2022/user/picture/user-picture.component.mjs +0 -85
  808. package/esm2022/user/picture/user-picture.module.mjs +0 -19
  809. package/esm2022/user/public-api.mjs +0 -8
  810. package/esm2022/user/select/homonyms/index.mjs +0 -4
  811. package/esm2022/user/select/homonyms/user-homonyms.component.mjs +0 -72
  812. package/esm2022/user/select/homonyms/user-homonyms.module.mjs +0 -16
  813. package/esm2022/user/select/homonyms/user-homonyms.service.mjs +0 -53
  814. package/esm2022/user/select/index.mjs +0 -6
  815. package/esm2022/user/select/input/index.mjs +0 -4
  816. package/esm2022/user/select/input/translations.mjs +0 -35
  817. package/esm2022/user/select/input/user-select-input.component.mjs +0 -89
  818. package/esm2022/user/select/input/user-select-input.module.mjs +0 -19
  819. package/esm2022/user/select/input/user-select-input.translate.mjs +0 -7
  820. package/esm2022/user/select/me/index.mjs +0 -3
  821. package/esm2022/user/select/me/me-option.directive.mjs +0 -123
  822. package/esm2022/user/select/me/me-option.module.mjs +0 -16
  823. package/esm2022/user/select/searcher/index.mjs +0 -4
  824. package/esm2022/user/select/searcher/translations.mjs +0 -27
  825. package/esm2022/user/select/searcher/user-searcher.component.mjs +0 -187
  826. package/esm2022/user/select/searcher/user-searcher.module.mjs +0 -16
  827. package/esm2022/user/select/searcher/user-searcher.translate.mjs +0 -7
  828. package/esm2022/user/select/user-select.module.mjs +0 -22
  829. package/esm2022/user/service/index.mjs +0 -3
  830. package/esm2022/user/service/user-service.model.mjs +0 -4
  831. package/esm2022/user/service/user-v3.service.mjs +0 -51
  832. package/esm2022/user/tile/index.mjs +0 -3
  833. package/esm2022/user/tile/user-tile.component.mjs +0 -63
  834. package/esm2022/user/tile/user-tile.module.mjs +0 -20
  835. package/esm2022/user/user.model.mjs +0 -2
  836. package/esm2022/user/user.module.mjs +0 -19
@@ -1,279 +0,0 @@
1
- import { NgClass } from '@angular/common';
2
- import { booleanAttribute, ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, input, LOCALE_ID, model, output, viewChildren, ViewEncapsulation } from '@angular/core';
3
- import { ButtonComponent } from '@lucca-front/ng/button';
4
- import { CalloutComponent } from '@lucca-front/ng/callout';
5
- import { addMonths, addYears, eachDayOfInterval, eachMonthOfInterval, eachYearOfInterval, endOfDecade, endOfMonth, endOfWeek, endOfYear, isSameDay, isSameMonth, isSameYear, isWithinInterval, lastDayOfMonth, startOfDay, startOfDecade, startOfMonth, startOfWeek, startOfYear, subMonths, subYears, } from 'date-fns';
6
- import { getIntl } from '@lucca-front/ng/core';
7
- import { LuTooltipTriggerDirective } from '@lucca-front/ng/tooltip';
8
- import { WEEK_INFO } from '../calendar.token';
9
- import { LU_DATE2_TRANSLATIONS } from '../date2.translate';
10
- import { RepeatTimesDirective } from '../repeat-times.directive';
11
- import { getIntlWeekDay, getJSFirstDayOfWeek } from '../utils';
12
- import { Calendar2CellDirective } from './calendar2-cell.directive';
13
- import { CALENDAR_CELLS, CALENDAR_TABBABLE_DATE } from './calendar2.tokens';
14
- import * as i0 from "@angular/core";
15
- const MODE_HIERARCHY = ['day', 'month', 'year'];
16
- export class Calendar2Component {
17
- #locale;
18
- #weekInfo;
19
- #intlDateFormat;
20
- #intlDateYear;
21
- #intlDaysLong;
22
- #intlDaysShort;
23
- #intlRelativeDay;
24
- #intlMonthsLong;
25
- #intlMonthsShort;
26
- #weekOptions;
27
- constructor() {
28
- this.#locale = inject(LOCALE_ID);
29
- this.#weekInfo = inject(WEEK_INFO);
30
- this.elementRef = inject(ElementRef);
31
- this.#intlDateFormat = new Intl.DateTimeFormat(this.#locale, { month: 'long' });
32
- this.#intlDateYear = new Intl.DateTimeFormat(this.#locale, { year: 'numeric' });
33
- this.#intlDaysLong = new Intl.DateTimeFormat(this.#locale, { weekday: 'long' });
34
- this.#intlDaysShort = new Intl.DateTimeFormat(this.#locale, { weekday: 'short' });
35
- this.#intlRelativeDay = new Intl.RelativeTimeFormat(this.#locale, { numeric: 'auto' });
36
- this.#intlMonthsLong = new Intl.DateTimeFormat(this.#locale, { month: 'long' });
37
- this.#intlMonthsShort = new Intl.DateTimeFormat(this.#locale, { month: 'short' });
38
- this.#weekOptions = { weekStartsOn: getJSFirstDayOfWeek(this.#weekInfo) };
39
- this.intl = getIntl(LU_DATE2_TRANSLATIONS);
40
- this.showOverflow = input(false, { transform: booleanAttribute });
41
- this.enableOverflow = input(false, { transform: booleanAttribute });
42
- this.hideToday = input(false, { transform: booleanAttribute });
43
- this.hasTodayButton = input(false, { transform: booleanAttribute });
44
- this.hideWeekend = input(false, { transform: booleanAttribute });
45
- // Date used to init the component and as internal focus model
46
- this.date = model.required();
47
- this.tabbableDate = model(null);
48
- this.mode = model('day');
49
- this.displayMode = model('year');
50
- this.ranges = input([]);
51
- this.getCellInfo = input((_date) => ({
52
- classes: [],
53
- disabled: false,
54
- }));
55
- this.month = computed(() => startOfMonth(this.date()));
56
- this.year = computed(() => startOfYear(this.date()));
57
- this.decade = computed(() => startOfDecade(this.date()));
58
- this.previousMonth = computed(() => subMonths(this.month(), 1));
59
- this.nextMonth = computed(() => addMonths(this.month(), 1));
60
- this.nextPage = output();
61
- this.previousPage = output();
62
- this.dateClicked = output();
63
- this.todayLabel = this.#intlRelativeDay.format(0, 'day');
64
- this.thisMonthLabel = this.#intlRelativeDay.format(0, 'month');
65
- this.thisYearLabel = this.#intlRelativeDay.format(0, 'year');
66
- this.calendar2CellInstances = viewChildren(Calendar2CellDirective);
67
- this.daysOfWeek = eachDayOfInterval({
68
- start: startOfWeek(new Date(), this.#weekOptions),
69
- end: endOfWeek(new Date(), this.#weekOptions),
70
- }).map((day) => ({
71
- long: this.#intlDaysLong.format(day),
72
- short: this.#intlDaysShort.format(day),
73
- }));
74
- this.monthGridDisplay = computed(() => {
75
- const daysOfMonth = eachDayOfInterval({
76
- start: this.month(),
77
- end: endOfMonth(this.month()),
78
- }).map((date) => this.dateToCellInfo(date));
79
- const daysByWeek = daysOfMonth.reduce((acc, day) => {
80
- const key = startOfWeek(day.date, this.#weekOptions).getTime();
81
- return {
82
- ...acc,
83
- [key]: [...(acc[key] || []), day],
84
- };
85
- }, {});
86
- // If we want to show days before and after this month
87
- if (this.showOverflow()) {
88
- // Use last week of previous month
89
- const startOfPreviousOverflow = startOfWeek(lastDayOfMonth(this.previousMonth()), this.#weekOptions);
90
- const previousOverflow = eachDayOfInterval({
91
- start: startOfPreviousOverflow,
92
- end: endOfMonth(this.previousMonth()),
93
- }).map((date) => this.dateToCellInfo(date, true));
94
- if (daysByWeek[startOfPreviousOverflow.getTime()]) {
95
- daysByWeek[startOfPreviousOverflow.getTime()] = [...previousOverflow, ...daysByWeek[startOfPreviousOverflow.getTime()]];
96
- }
97
- // Use first week of next month
98
- const startOfNextMonthOverflow = startOfWeek(startOfMonth(this.nextMonth()), this.#weekOptions);
99
- const endOfNextMonthOverflow = endOfWeek(startOfMonth(this.nextMonth()), this.#weekOptions);
100
- const nextOverflow = eachDayOfInterval({
101
- start: startOfMonth(this.nextMonth()),
102
- end: endOfNextMonthOverflow,
103
- }).map((date) => this.dateToCellInfo(date, true));
104
- if (daysByWeek[startOfNextMonthOverflow.getTime()]) {
105
- daysByWeek[startOfNextMonthOverflow.getTime()] = [...daysByWeek[startOfNextMonthOverflow.getTime()], ...nextOverflow];
106
- }
107
- }
108
- return Object.keys(daysByWeek)
109
- .sort()
110
- .map((weekStart) => daysByWeek[+weekStart]);
111
- });
112
- this.yearGridDisplay = computed(() => {
113
- const monthsOfYear = eachMonthOfInterval({
114
- start: this.year(),
115
- end: endOfYear(this.year()),
116
- });
117
- return monthsOfYear
118
- .map((month) => {
119
- return {
120
- date: month,
121
- short: this.#intlMonthsShort.format(month),
122
- long: this.#intlMonthsLong.format(month),
123
- isCurrent: isSameMonth(new Date(), month),
124
- status: this.getCellInfo()(month, this.displayMode()),
125
- };
126
- })
127
- .reduce((all, one, i) => {
128
- const ch = Math.floor(i / 3);
129
- all[ch] = [...(all[ch] || []), one];
130
- return all;
131
- }, []);
132
- });
133
- this.decadeGridDisplay = computed(() => {
134
- const yearsOfDecade = eachYearOfInterval({
135
- start: subYears(this.decade(), 1),
136
- end: addYears(endOfDecade(this.decade()), 1),
137
- });
138
- return yearsOfDecade
139
- .map((year) => {
140
- return {
141
- date: year,
142
- label: this.#intlDateYear.format(year),
143
- isCurrent: isSameYear(new Date(), year),
144
- status: this.getCellInfo()(year, this.displayMode()),
145
- };
146
- })
147
- .reduce((all, one, i) => {
148
- const ch = Math.floor(i / 3);
149
- all[ch] = [...(all[ch] || []), one];
150
- return all;
151
- }, []);
152
- });
153
- this.currentMonthLabel = computed(() => {
154
- return this.#intlDateFormat.format(this.date());
155
- });
156
- this.currentYearLabel = computed(() => {
157
- return this.#intlDateYear.format(this.date());
158
- });
159
- this.currentDecadeLabel = computed(() => {
160
- // eslint-disable-next-line no-irregular-whitespace
161
- return `${this.#intlDateYear.format(startOfDecade(this.decade()))} – ${this.#intlDateYear.format(endOfDecade(this.decade()))}`;
162
- });
163
- effect(() => {
164
- if (this.tabbableDate() === null) {
165
- this.tabbableDate.set(this.date());
166
- }
167
- }, { allowSignalWrites: true });
168
- }
169
- focusTabbableDate() {
170
- this.calendar2CellInstances()
171
- .find((cell) => cell.isTabbableDate())
172
- ?.focus();
173
- }
174
- blurTabbableDate() {
175
- this.calendar2CellInstances()
176
- .find((cell) => cell.isTabbableDate())
177
- ?.blur();
178
- }
179
- clickToday() {
180
- this.onCellClicked(startOfDay(new Date()));
181
- }
182
- ngOnInit() {
183
- // On init, set display mode to the mode specified by component consumer
184
- this.displayMode.set(this.mode());
185
- }
186
- onCellClicked(date) {
187
- // On cell clicked, if display mode is same as mode, emit value
188
- // Else, zoom in to new mode
189
- if (this.displayMode() === this.mode()) {
190
- this.dateClicked.emit(date);
191
- }
192
- else {
193
- // Check that we are able to zoom in
194
- const maxZoomLevel = MODE_HIERARCHY.indexOf(this.mode());
195
- const currentZoomLevel = MODE_HIERARCHY.indexOf(this.displayMode());
196
- const targetZoomLevel = currentZoomLevel - 1;
197
- if (targetZoomLevel >= 0 && targetZoomLevel >= maxZoomLevel) {
198
- const newZoomLevel = MODE_HIERARCHY[targetZoomLevel];
199
- switch (newZoomLevel) {
200
- case 'year':
201
- this.date.set(startOfDecade(date));
202
- break;
203
- case 'month':
204
- this.date.set(startOfYear(date));
205
- break;
206
- case 'day':
207
- this.date.set(startOfMonth(date));
208
- }
209
- this.displayMode.set(newZoomLevel);
210
- }
211
- }
212
- }
213
- dateToCellInfo(date, isOverflow = false) {
214
- const status = this.getCellInfo()(date, this.displayMode());
215
- const classes = status?.classes || [];
216
- const rangeInfo = this.getRangeInfo(date, 'day');
217
- if (rangeInfo?.class) {
218
- classes.push(rangeInfo.class);
219
- }
220
- return {
221
- day: date.getDate(),
222
- isWeekend: this.#weekInfo.weekend.includes(getIntlWeekDay(date)) && !this.hideWeekend(),
223
- isOverflow,
224
- status,
225
- label: status.label || rangeInfo?.label,
226
- date,
227
- classes,
228
- isCurrent: isSameDay(new Date(), date) && !this.hideToday(),
229
- rangeInfo,
230
- disabled: status?.disabled || (isOverflow && !this.enableOverflow()),
231
- };
232
- }
233
- getRangeInfo(date, scope) {
234
- const range = this.ranges().find((range) => {
235
- return ((range.scope || 'day') === scope &&
236
- isWithinInterval(date, {
237
- start: startOfDay(range.start),
238
- end: range.end || endOfMonth(date),
239
- }));
240
- });
241
- if (!range) {
242
- return null;
243
- }
244
- const isStart = range && isSameDay(date, range.start);
245
- const isEnd = range && range.end && isSameDay(date, range.end);
246
- return {
247
- range,
248
- isStart,
249
- isEnd,
250
- label: range?.label,
251
- class: range?.class,
252
- };
253
- }
254
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Calendar2Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
255
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: Calendar2Component, isStandalone: true, selector: "lu-calendar2", inputs: { showOverflow: { classPropertyName: "showOverflow", publicName: "showOverflow", isSignal: true, isRequired: false, transformFunction: null }, enableOverflow: { classPropertyName: "enableOverflow", publicName: "enableOverflow", isSignal: true, isRequired: false, transformFunction: null }, hideToday: { classPropertyName: "hideToday", publicName: "hideToday", isSignal: true, isRequired: false, transformFunction: null }, hasTodayButton: { classPropertyName: "hasTodayButton", publicName: "hasTodayButton", isSignal: true, isRequired: false, transformFunction: null }, hideWeekend: { classPropertyName: "hideWeekend", publicName: "hideWeekend", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null }, tabbableDate: { classPropertyName: "tabbableDate", publicName: "tabbableDate", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, displayMode: { classPropertyName: "displayMode", publicName: "displayMode", isSignal: true, isRequired: false, transformFunction: null }, ranges: { classPropertyName: "ranges", publicName: "ranges", isSignal: true, isRequired: false, transformFunction: null }, getCellInfo: { classPropertyName: "getCellInfo", publicName: "getCellInfo", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { date: "dateChange", tabbableDate: "tabbableDateChange", mode: "modeChange", displayMode: "displayModeChange", nextPage: "nextPage", previousPage: "previousPage", dateClicked: "dateClicked" }, providers: [
256
- {
257
- provide: CALENDAR_CELLS,
258
- useFactory: () => inject(Calendar2Component).calendar2CellInstances,
259
- },
260
- {
261
- provide: CALENDAR_TABBABLE_DATE,
262
- useFactory: () => inject(Calendar2Component).tabbableDate,
263
- },
264
- ], viewQueries: [{ propertyName: "calendar2CellInstances", predicate: Calendar2CellDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"calendar\">\n\t@switch (displayMode()) { @case ('day') {\n\t<div class=\"calendar-name\" id=\"calendar-name\" aria-live=\"polite\">\n\t\t<button type=\"button\" class=\"calendar-name-button\" (click)=\"displayMode.set('month')\">{{ currentMonthLabel() }}</button>&ngsp;\n\t\t<button type=\"button\" class=\"calendar-name-button\" (click)=\"displayMode.set('year')\">{{ currentYearLabel() }}</button>\n\t\t<span class=\"u-mask\">{{ intl.directionKeysTip }} </span>\n\t</div>\n\t<table class=\"calendar-table\" role=\"grid\" aria-labelledby=\"calendar-name\">\n\t\t<thead class=\"calendar-table-head\">\n\t\t\t<tr class=\"calendar-table-head-row\">\n\t\t\t\t@for (day of daysOfWeek; track day.long) {\n\t\t\t\t<th class=\"calendar-table-head-row-cell\" scope=\"col\" [attr.data-content-after]=\"day.short.substring(0, 1)\">\n\t\t\t\t\t<span class=\"u-mask\">{{ day.long }}</span>\n\t\t\t\t</th>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody class=\"calendar-table-body\">\n\t\t\t@for (week of monthGridDisplay(); track $index; let isFirstWeek = $first; let isLastWeek = $last) {\n\t\t\t<tr class=\"calendar-table-body-row\">\n\t\t\t\t<td class=\"calendar-table-body-row-cell is-overflow\" *luRepeatTimes=\"isFirstWeek ? 7 - week.length : 0\"></td>\n\t\t\t\t@for (day of week; track dayIndex; let dayIndex = $index) {\n\t\t\t\t<td\n\t\t\t\t\tclass=\"calendar-table-body-row-cell\"\n\t\t\t\t\t[class.is-daysOff]=\"day.isWeekend\"\n\t\t\t\t\t[class.is-overflow]=\"day.isOverflow\"\n\t\t\t\t\t[class.is-current]=\"day.isCurrent\"\n\t\t\t\t\t[attr.aria-selected]=\"day.status.selected || !!day.rangeInfo?.range\"\n\t\t\t\t\t[class.is-start]=\"day.rangeInfo?.isStart || day.status.selected\"\n\t\t\t\t\t[class.is-end]=\"day.rangeInfo?.isEnd || day.status.selected\"\n\t\t\t\t\t[class.is-selected]=\"day.rangeInfo?.range || day.status.selected\"\n\t\t\t\t\t[ngClass]=\"day.classes\"\n\t\t\t\t>\n\t\t\t\t\t<button\n\t\t\t\t\t\t[luCalendar2Cell]=\"dayIndex\"\n\t\t\t\t\t\t[luCalendar2Date]=\"day.date\"\n\t\t\t\t\t\tluCalendar2Mode=\"day\"\n\t\t\t\t\t\tclass=\"calendar-table-body-row-cell-action\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t[attr.aria-disabled]=\"day.disabled ? 'true' : null\"\n\t\t\t\t\t\t(click)=\"day.disabled?null:onCellClicked(day.date)\"\n\t\t\t\t\t\t[luTooltip]=\"day.label\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ day.day }} @if (day.isCurrent) {\n\t\t\t\t\t\t<span class=\"u-mask\">({{ todayLabel }})</span>\n\t\t\t\t\t\t} @if (day.isWeekend) {\n\t\t\t\t\t\t<svg class=\"calendar-table-body-row-cell-action-stripes\">\n\t\t\t\t\t\t\t<use href=\"#calendar-stripes-symbol\"></use>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t}\n\t\t\t\t\t</button>\n\t\t\t\t</td>\n\t\t\t\t}\n\t\t\t\t<td class=\"calendar-table-body-row-cell is-overflow\" *luRepeatTimes=\"isLastWeek ? 7 - week.length : 0\"></td>\n\t\t\t</tr>\n\t\t\t}\n\t\t\t<tr class=\"calendar-table-body-row\" *luRepeatTimes=\"6 - monthGridDisplay().length\">\n\t\t\t\t<td class=\"calendar-table-body-row-cell\" *luRepeatTimes=\"7\"></td>\n\t\t\t</tr>\n\t\t</tbody>\n\t</table>\n\t@if (hasTodayButton()) {\n\t<div class=\"calendar-divider divider\"></div>\n\t<button class=\"calendar-todayLink link\" type=\"button\" (click)=\"clickToday()\">{{ todayLabel }}</button>\n\t}\n\t<svg class=\"calendar-stripes\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\" aria-hidden=\"true\">\n\t\t<symbol id=\"calendar-stripes-symbol\" viewBox=\"0 0 60 60\">\n\t\t\t<path\n\t\t\t\tclass=\"calendar-stripes-symbol-path\"\n\t\t\t\td=\"m-41.82 43.03 84.85-84.85.53.53-84.85 84.85zm2.12 2.12L45.15-39.7l.53.53-84.85 84.85zm2.12 2.12\n\t\t\t84.85-84.85.53.53-84.85 84.85zm2.12 2.13L49.4-35.47l.53.53-84.85 84.85zm2.12 2.11\n\t\t\t84.85-84.85.54.53-84.86 84.86zm2.12 2.13 84.86-84.86.53.53-84.86 84.86zm2.12\n\t\t\t2.12L55.76-29.1l.53.53-84.86 84.86zm2.13 2.12 84.85-84.85.53.53-84.85 84.85zm2.12\n\t\t\t2.12L60-24.85l.53.53-84.85 84.85zm2.12 2.12 84.85-84.85.53.53-84.85 84.85zm2.12\n\t\t\t2.12L64.24-20.6l.53.53-84.85 84.85zm2.12 2.12 84.85-84.85.53.53-84.85 84.85zm2.12\n\t\t\t2.13L68.5-16.37l.53.53-84.86 84.86zm2.12 2.11 84.86-84.85.53.53-84.86 84.86zm2.13 2.13\n\t\t\t84.85-84.85.53.53-84.85 84.85zm2.12 2.12L74.85-10l.53.53-84.85 84.85zm2.12\n\t\t\t2.12L76.97-7.88l.53.53L-7.35 77.5zm2.12 2.13L79.09-5.77l.53.53-84.85 84.85zm2.12\n\t\t\t2.11L81.21-3.64l.53.53L-3.1 81.74zm2.12 2.12L83.33-1.52l.53.53L-.99\n\t\t\t83.86zM.6 85.46 85.46.6l.53.53L1.13 86zm2.12 2.12L87.58 2.72l.53.53L3.25 88.11zm2.13 2.12L89.7\n\t\t\t4.85l.53.53L5.38 90.23zm2.12 2.12L91.82 6.97l.53.53L7.5 92.35zm2.12 2.12L93.94 9.1l.53.53L9.62\n\t\t\t94.47zm2.12 2.12 84.85-84.85.53.53-84.85 84.85zm2.12 2.12 84.85-84.85.53.53-84.85 84.85zm2.12\n\t\t\t2.12 84.86-84.85.53.53-84.86 84.86z\"\n\t\t\t/>\n\t\t</symbol>\n\t</svg>\n\t} @case ('month') {\n\t<div class=\"calendar-name\" id=\"calendar-year-name\">\n\t\t<button type=\"button\" class=\"calendar-name-button\" (click)=\"displayMode.set('year')\">{{ currentYearLabel() }}</button>\n\t\t<span class=\"u-mask\">{{ intl.directionKeysTip }} </span>\n\t</div>\n\t<table class=\"calendar-table\" role=\"grid\" aria-labelledby=\"calendar-year-name\">\n\t\t<tbody class=\"calendar-table-body\">\n\t\t\t@for (quarter of yearGridDisplay(); track $index) {\n\t\t\t<tr class=\"calendar-table-body-row\">\n\t\t\t\t@for (month of quarter; track month.date.getTime(); let index = $index) {\n\t\t\t\t<td\n\t\t\t\t\tclass=\"calendar-table-body-row-cell\"\n\t\t\t\t\t[class.is-current]=\"month.isCurrent\"\n\t\t\t\t\t[class.is-selected]=\"month.status.selected\"\n\t\t\t\t\t[ngClass]=\"month.status.classes\"\n\t\t\t\t\t[attr.aria-selected]=\"month.status.selected\"\n\t\t\t\t\t[class.is-start]=\"month.status.selected\"\n\t\t\t\t\t[class.is-end]=\"month.status.selected\"\n\t\t\t\t>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"calendar-table-body-row-cell-action\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t[attr.data-content-after]=\"month.short\"\n\t\t\t\t\t\t[luCalendar2Cell]=\"index\"\n\t\t\t\t\t\t[luCalendar2Date]=\"month.date\"\n\t\t\t\t\t\t[disabled]=\"month.status.disabled\"\n\t\t\t\t\t\t(click)=\"onCellClicked(month.date)\"\n\t\t\t\t\t\tluCalendar2Mode=\"month\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"u-mask\">{{ month.long }}</span>\n\t\t\t\t\t\t@if (month.isCurrent) {\n\t\t\t\t\t\t<span class=\"u-mask\">({{ thisMonthLabel }})</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t</button>\n\t\t\t\t</td>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t\t}\n\t\t</tbody>\n\t</table>\n\t} @case ('year') {\n\t<div class=\"calendar-name\" id=\"calendar-decade-name\">\n\t\t{{ currentDecadeLabel() }}\n\t\t<span class=\"u-mask\">{{ intl.directionKeysTip }} </span>\n\t</div>\n\t<table class=\"calendar-table\" role=\"grid\" aria-labelledby=\"calendar-decade-name\">\n\t\t<tbody class=\"calendar-table-body\">\n\t\t\t@for (row of decadeGridDisplay(); track $index; let firstRow = $first; let lastRow = $last) {\n\t\t\t<tr class=\"calendar-table-body-row\">\n\t\t\t\t@for (year of row; track year.date.getTime(); let index = $index; let firstCell = $first; let lastCell = $last) {\n\t\t\t\t<td\n\t\t\t\t\tclass=\"calendar-table-body-row-cell\"\n\t\t\t\t\t[class.is-overflow]=\"(firstRow && firstCell) || (lastRow && lastCell)\"\n\t\t\t\t\t[class.is-current]=\"year.isCurrent\"\n\t\t\t\t\t[class.is-selected]=\"year.status.selected\"\n\t\t\t\t\t[attr.aria-selected]=\"year.status.selected\"\n\t\t\t\t\t[ngClass]=\"year.status.classes\"\n\t\t\t\t\t[class.is-start]=\"year.status.selected\"\n\t\t\t\t\t[class.is-end]=\"year.status.selected\"\n\t\t\t\t>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"calendar-table-body-row-cell-action\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t[luCalendar2Cell]=\"index\"\n\t\t\t\t\t\t[disabled]=\"year.status.disabled\"\n\t\t\t\t\t\t[luCalendar2Date]=\"year.date\"\n\t\t\t\t\t\tluCalendar2Mode=\"year\"\n\t\t\t\t\t\t(click)=\"onCellClicked(year.date)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ year.label }} @if (year.isCurrent) {\n\t\t\t\t\t\t<span class=\"u-mask\">({{ thisYearLabel }})</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t</button>\n\t\t\t\t</td>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t\t}\n\t\t</tbody>\n\t</table>\n\t} }\n</div>\n", styles: [".calendarWrapper{--components-calendarWrapperWidth: 17.25rem;--components-calendarWrapperVisible: 1;--components-calendarWrapperBackground: transparent;--components-calendarWrapper-navigationBackground: var(--palettes-neutral-0)}.calendarWrapper.mod-daysOffHidden .calendar-table-body-row-cell-action-stripes{--components-calendar-table-body-row-cell-action-stripesDisplay: none}.calendarWrapper.mod-daysOverflowingHidden .calendar-table-body-row-cell.is-overflow .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-actionDisplay: none}.calendar{width:var(--components-calendarWidth);--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-neutral-200);--components-calendar-table-body-row-cell-actionHighlight: transparent;--components-calendar-table-body-row-cell-actionFontWeight: 400;--components-calendar-table-body-row-cell-actionColor: var(--palettes-neutral-700);--components-calendar-table-body-row-cell-actionOutlineWidth: 2px;--components-calendar-table-body-row-cell-actionOutlineOffset: -1px;--components-calendar-table-body-row-cellSelectedBeforeContent: none;--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0;--components-calendar-table-body-row-cell-actionDisplay: block;--components-calendar-table-body-row-cell-action-stripesDisplay: block;--components-calendarBackground: var(--components-calendarWrapperBackground, var(--palettes-neutral-0));--components-calendarWidth: var(--components-calendarWrapperWidth, 17.25rem);--components-calendarBorderSpacing: 0}.calendar-table{border-spacing:var(--components-calendarBorderSpacing);border:var(--pr-t-spacings-150) solid transparent;border-top:0;table-layout:fixed;background-color:var(--components-calendarBackground);scroll-snap-align:start end;flex-shrink:0;flex-grow:0;width:100%;empty-cells:hide}.calendarWrapper{width:calc(var(--components-calendarWrapperWidth) * var(--components-calendarWrapperVisible));background-color:var(--components-calendarWrapperBackground);position:relative}.calendarWrapper-content{display:flex;overflow:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:none}.calendarWrapper-content::-webkit-scrollbar{display:none}.calendarWrapper-content:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.calendarWrapper-navigation{position:absolute;top:var(--pr-t-spacings-150);background-color:var(--components-calendarWrapper-navigationBackground);border-width:0 var(--pr-t-spacings-150);border-style:solid;border-color:transparent var(--components-calendarWrapper-navigationBackground)}.calendarWrapper-navigation.mod-prev{left:var(--pr-t-spacings-25);border-right:0}.calendarWrapper-navigation.mod-next{right:var(--pr-t-spacings-25);border-left:0}.calendarWrapper-navigation-button.button{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-padding: var(--pr-t-spacings-50)}.calendarWrapper-navigation-button.button:hover,.calendarWrapper-navigation-button.button:focus-visible{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.calendarWrapper-navigation-button.button:active{--components-button-backgroundColor: var(--palettes-200, var(--palettes-neutral-200))}.calendarWrapper-navigation-button.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-neutral-500)}.calendar-stripes{border:0;clip:rect(1px,1px,1px,1px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;contain:paint}.calendar-divider.divider{margin:0}.calendar-todayLink.link{text-transform:capitalize;display:block;margin:auto;padding:var(--pr-t-spacings-100);line-height:var(--sizes-M-lineHeight)}.calendar-todayLink.link,.calendar-todayLink.link .link-text{text-decoration:none}.calendar-todayLink.link:not(:has(.link-text)):hover{text-decoration:underline}.calendar-todayLink.link:has(.link-text):hover .link-text{text-decoration:underline}.calendar-todayLink.link:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:-4px;border-radius:8px}.calendar-stripes-symbol-path{fill:var(--components-calendar-table-body-row-cell-action-stripesColor)}.calendar-name{line-height:var(--sizes-L-lineHeight);padding:var(--pr-t-spacings-50) calc(var(--pr-t-spacings-300) + var(--pr-t-spacings-100));font-size:var(--sizes-L-fontSize);font-weight:700;border:var(--pr-t-spacings-150) solid transparent;border-bottom:var(--pr-t-spacings-100) solid transparent;text-transform:lowercase;background-color:var(--components-calendarBackground);text-align:center}.calendar-name-button{padding:0;border:0;width:100%;background-color:transparent;color:inherit;text-align:left;display:block;font:inherit;cursor:pointer;border-radius:var(--commons-borderRadius-L);text-align:inherit;width:fit-content;display:inline-block;padding:var(--pr-t-spacings-50);margin-block:calc(var(--pr-t-spacings-50) * -1)}.calendar-name-button:hover{color:var(--palettes-700, var(--palettes-product-700))}.calendar-name-button:active{color:var(--palettes-800, var(--palettes-product-800))}.calendar-name-button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:0}.calendar-name-button+.calendar-name-button{margin-left:calc(var(--pr-t-spacings-100) * -1)}.calendar-table-head-row-cell,.calendar-table-body-row-cell{padding:var(--pr-t-spacings-25)}.calendar-table-head-row-cell{font-weight:400;line-height:var(--sizes-S-lineHeight);font-size:var(--sizes-S-fontSize);color:var(--palettes-neutral-700);text-transform:uppercase;border-bottom:var(--pr-t-spacings-50) solid transparent}.calendar-table-body-row-cell{position:relative;color:var(--palettes-neutral-700)}.calendar-table-body-row-cell:before{background-color:var(--palettes-50, var(--palettes-product-50));position:absolute;inset:var(--pr-t-spacings-25) 0;content:var(--components-calendar-table-body-row-cellSelectedBeforeContent);border-radius:var(--components-calendar-table-body-row-cellSelectedBeforeBorderRadius)}.calendar-table-body-row-cell-action{padding:0;border:0;width:100%;background-color:transparent;color:inherit;text-align:left;display:block;font:inherit;cursor:pointer;border-radius:var(--commons-borderRadius-L);position:relative;z-index:1;text-align:center;overflow:hidden;font-weight:var(--components-calendar-table-body-row-cell-actionFontWeight);color:var(--components-calendar-table-body-row-cell-actionColor);background-color:var(--components-calendar-table-body-row-cell-actionHighlight);display:var(--components-calendar-table-body-row-cell-actionDisplay);height:var(--pr-t-spacings-400);text-transform:lowercase;box-shadow:0 0 0 1px var(--components-calendar-table-body-row-cell-actionHighlight),0 0 0 1px var(--components-calendar-table-body-row-cell-actionHighlight) inset}.calendar-table-body-row-cell-action:disabled,.calendar-table-body-row-cell-action[aria-disabled=true]{--components-calendar-table-body-row-cell-actionColor: var(--palettes-neutral-500);text-decoration:line-through;cursor:default}.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true]):hover{outline:2px solid var(--palettes-product-700);outline-offset:2px;outline-width:var(--components-calendar-table-body-row-cell-actionOutlineWidth);outline-offset:var(--components-calendar-table-body-row-cell-actionOutlineOffset);outline-color:var(--palettes-700, var(--palettes-product-700))}.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true]):active{outline:2px solid var(--palettes-800, var(--palettes-product-800));background-color:var(--palettes-800, var(--palettes-product-800));color:var(--palettes-0, var(--palettes-product-0))}.calendar-table-body-row-cell-action:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;outline-width:var(--components-calendar-table-body-row-cell-actionOutlineWidth);outline-offset:var(--components-calendar-table-body-row-cell-actionOutlineOffset);outline-color:var(--palettes-700, var(--palettes-product-700))}.calendar-table-body-row-cell-action-stripes{position:absolute;top:0;left:0;width:60px;height:60px;z-index:-1;display:var(--components-calendar-table-body-row-cell-action-stripesDisplay)}.calendar:has(.calendar-table-body-row-cell:nth-child(3):last-child){--components-calendarBorderSpacing: 0 var(--pr-t-spacings-200)}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within)~.calendar-table-body-row:not(.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within)~.calendar-table-body-row:focus-within~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within)~.calendar-table-body-row:not(.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within)~.calendar-table-body-row:focus-within~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within)~.calendar-table-body-row:not(.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within)~.calendar-table-body-row:focus-within~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within)~.calendar-table-body-row:not(.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within)~.calendar-table-body-row:focus-within~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])) :focus-within{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])) :focus-within{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])){--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: var(--commons-borderRadius-L) 0 0 var(--commons-borderRadius-L)}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start)~.calendar-table-body-row:not(.calendar-table-body-row:has(.calendar-table-body-row-cell.is-start)~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start)~.calendar-table-body-row:not(.calendar-table-body-row:has(.calendar-table-body-row-cell.is-start)~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start)~.calendar-table-body-row:not(.calendar-table-body-row:has(.calendar-table-body-row-cell.is-start)~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start)~.calendar-table-body-row:has(.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell.is-start:before{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:focus-within) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:focus-within) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:focus-within) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:focus-within) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])) :focus-within{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: var(--commons-borderRadius-L) 0 0 var(--commons-borderRadius-L)}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within:before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within.is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within.is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell.is-start:before{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover)~.calendar-table-body-row:not(.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover)~.calendar-table-body-row:hover~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover)~.calendar-table-body-row:not(.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover)~.calendar-table-body-row:hover~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover)~.calendar-table-body-row:not(.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover)~.calendar-table-body-row:hover~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover)~.calendar-table-body-row:not(.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover)~.calendar-table-body-row:hover~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])) :hover{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])) :hover{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])){--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: var(--commons-borderRadius-L) 0 0 var(--commons-borderRadius-L)}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start)~.calendar-table-body-row:not(.calendar-table-body-row:has(.calendar-table-body-row-cell.is-start)~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start)~.calendar-table-body-row:not(.calendar-table-body-row:has(.calendar-table-body-row-cell.is-start)~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start)~.calendar-table-body-row:not(.calendar-table-body-row:has(.calendar-table-body-row-cell.is-start)~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start)~.calendar-table-body-row:has(.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell.is-start:before{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:hover) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:hover) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:hover) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:hover) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])) :hover{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: var(--commons-borderRadius-L) 0 0 var(--commons-borderRadius-L)}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover:before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover.is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover.is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell.is-start:before{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar-table-body-row-cell.is-daysOff .calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true]):active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-product-900)}.calendar-table-body-row-cell.is-overflow .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-actionColor: var(--palettes-neutral-600)}.calendar-table-body-row-cell.is-current .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-actionFontWeight: 600;--components-calendar-table-body-row-cell-actionColor: var(--palettes-700, var(--palettes-product-700))}.calendar-table-body-row-cell.is-selected:before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar-table-body-row-cell.is-selected.is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar-table-body-row-cell.is-selected.is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar-table-body-row-cell.is-start .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-actionColor: var(--palettes-0, var(--palettes-product-0));--components-calendar-table-body-row-cell-actionHighlight: var(--palettes-700, var(--palettes-product-700))}.calendar-table-body-row-cell.is-start .calendar-table-body-row-cell-action:hover{--components-calendar-table-body-row-cell-actionHighlight: var(--palettes-600, var(--palettes-product-600));--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-700, var(--palettes-product-700));--components-calendar-table-body-row-cell-actionOutlineWidth: 0}.calendar-table-body-row-cell.is-start .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-actionHighlight: var(--palettes-800, var(--palettes-product800));--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar-table-body-row-cell.is-start .calendar-table-body-row-cell-action:focus-visible{--components-calendar-table-body-row-cell-actionOutlineOffset: 3px}.calendar-table-body-row-cell.is-start.is-selected .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-actionColor: var(--palettes-0, var(--palettes-product-0))}.calendar-table-body-row-cell.is-start.is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-800, var(--palettes-product-800))}.calendar-table-body-row-cell.is-start:before{left:var(--pr-t-spacings-75);--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: var(--commons-borderRadius-L) 0 0 var(--commons-borderRadius-L)}.calendar-table-body-row-cell.is-end .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-actionColor: var(--palettes-0, var(--palettes-product-0));--components-calendar-table-body-row-cell-actionHighlight: var(--palettes-700, var(--palettes-product-700))}.calendar-table-body-row-cell.is-end .calendar-table-body-row-cell-action:hover{--components-calendar-table-body-row-cell-actionHighlight: var(--palettes-600, var(--palettes-product-600));--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-700, var(--palettes-product-700));--components-calendar-table-body-row-cell-actionOutlineWidth: 0}.calendar-table-body-row-cell.is-end .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-actionHighlight: var(--palettes-800, var(--palettes-product800));--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar-table-body-row-cell.is-end .calendar-table-body-row-cell-action:focus-visible{--components-calendar-table-body-row-cell-actionOutlineOffset: 3px}.calendar-table-body-row-cell.is-end.is-selected .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-actionColor: var(--palettes-0, var(--palettes-product-0))}.calendar-table-body-row-cell.is-end.is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-800, var(--palettes-product-800))}.calendar-table-body-row-cell.is-end:before{right:var(--pr-t-spacings-75);--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}\n"], dependencies: [{ kind: "directive", type: RepeatTimesDirective, selector: "[luRepeatTimes]", inputs: ["luRepeatTimes"] }, { kind: "directive", type: Calendar2CellDirective, selector: "[luCalendar2Cell]", inputs: ["luCalendar2Cell", "luCalendar2Mode", "luCalendar2Date"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
265
- }
266
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Calendar2Component, decorators: [{
267
- type: Component,
268
- args: [{ selector: 'lu-calendar2', standalone: true, imports: [RepeatTimesDirective, ButtonComponent, Calendar2CellDirective, NgClass, CalloutComponent, LuTooltipTriggerDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
269
- {
270
- provide: CALENDAR_CELLS,
271
- useFactory: () => inject(Calendar2Component).calendar2CellInstances,
272
- },
273
- {
274
- provide: CALENDAR_TABBABLE_DATE,
275
- useFactory: () => inject(Calendar2Component).tabbableDate,
276
- },
277
- ], template: "<div class=\"calendar\">\n\t@switch (displayMode()) { @case ('day') {\n\t<div class=\"calendar-name\" id=\"calendar-name\" aria-live=\"polite\">\n\t\t<button type=\"button\" class=\"calendar-name-button\" (click)=\"displayMode.set('month')\">{{ currentMonthLabel() }}</button>&ngsp;\n\t\t<button type=\"button\" class=\"calendar-name-button\" (click)=\"displayMode.set('year')\">{{ currentYearLabel() }}</button>\n\t\t<span class=\"u-mask\">{{ intl.directionKeysTip }} </span>\n\t</div>\n\t<table class=\"calendar-table\" role=\"grid\" aria-labelledby=\"calendar-name\">\n\t\t<thead class=\"calendar-table-head\">\n\t\t\t<tr class=\"calendar-table-head-row\">\n\t\t\t\t@for (day of daysOfWeek; track day.long) {\n\t\t\t\t<th class=\"calendar-table-head-row-cell\" scope=\"col\" [attr.data-content-after]=\"day.short.substring(0, 1)\">\n\t\t\t\t\t<span class=\"u-mask\">{{ day.long }}</span>\n\t\t\t\t</th>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody class=\"calendar-table-body\">\n\t\t\t@for (week of monthGridDisplay(); track $index; let isFirstWeek = $first; let isLastWeek = $last) {\n\t\t\t<tr class=\"calendar-table-body-row\">\n\t\t\t\t<td class=\"calendar-table-body-row-cell is-overflow\" *luRepeatTimes=\"isFirstWeek ? 7 - week.length : 0\"></td>\n\t\t\t\t@for (day of week; track dayIndex; let dayIndex = $index) {\n\t\t\t\t<td\n\t\t\t\t\tclass=\"calendar-table-body-row-cell\"\n\t\t\t\t\t[class.is-daysOff]=\"day.isWeekend\"\n\t\t\t\t\t[class.is-overflow]=\"day.isOverflow\"\n\t\t\t\t\t[class.is-current]=\"day.isCurrent\"\n\t\t\t\t\t[attr.aria-selected]=\"day.status.selected || !!day.rangeInfo?.range\"\n\t\t\t\t\t[class.is-start]=\"day.rangeInfo?.isStart || day.status.selected\"\n\t\t\t\t\t[class.is-end]=\"day.rangeInfo?.isEnd || day.status.selected\"\n\t\t\t\t\t[class.is-selected]=\"day.rangeInfo?.range || day.status.selected\"\n\t\t\t\t\t[ngClass]=\"day.classes\"\n\t\t\t\t>\n\t\t\t\t\t<button\n\t\t\t\t\t\t[luCalendar2Cell]=\"dayIndex\"\n\t\t\t\t\t\t[luCalendar2Date]=\"day.date\"\n\t\t\t\t\t\tluCalendar2Mode=\"day\"\n\t\t\t\t\t\tclass=\"calendar-table-body-row-cell-action\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t[attr.aria-disabled]=\"day.disabled ? 'true' : null\"\n\t\t\t\t\t\t(click)=\"day.disabled?null:onCellClicked(day.date)\"\n\t\t\t\t\t\t[luTooltip]=\"day.label\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ day.day }} @if (day.isCurrent) {\n\t\t\t\t\t\t<span class=\"u-mask\">({{ todayLabel }})</span>\n\t\t\t\t\t\t} @if (day.isWeekend) {\n\t\t\t\t\t\t<svg class=\"calendar-table-body-row-cell-action-stripes\">\n\t\t\t\t\t\t\t<use href=\"#calendar-stripes-symbol\"></use>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t}\n\t\t\t\t\t</button>\n\t\t\t\t</td>\n\t\t\t\t}\n\t\t\t\t<td class=\"calendar-table-body-row-cell is-overflow\" *luRepeatTimes=\"isLastWeek ? 7 - week.length : 0\"></td>\n\t\t\t</tr>\n\t\t\t}\n\t\t\t<tr class=\"calendar-table-body-row\" *luRepeatTimes=\"6 - monthGridDisplay().length\">\n\t\t\t\t<td class=\"calendar-table-body-row-cell\" *luRepeatTimes=\"7\"></td>\n\t\t\t</tr>\n\t\t</tbody>\n\t</table>\n\t@if (hasTodayButton()) {\n\t<div class=\"calendar-divider divider\"></div>\n\t<button class=\"calendar-todayLink link\" type=\"button\" (click)=\"clickToday()\">{{ todayLabel }}</button>\n\t}\n\t<svg class=\"calendar-stripes\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\" aria-hidden=\"true\">\n\t\t<symbol id=\"calendar-stripes-symbol\" viewBox=\"0 0 60 60\">\n\t\t\t<path\n\t\t\t\tclass=\"calendar-stripes-symbol-path\"\n\t\t\t\td=\"m-41.82 43.03 84.85-84.85.53.53-84.85 84.85zm2.12 2.12L45.15-39.7l.53.53-84.85 84.85zm2.12 2.12\n\t\t\t84.85-84.85.53.53-84.85 84.85zm2.12 2.13L49.4-35.47l.53.53-84.85 84.85zm2.12 2.11\n\t\t\t84.85-84.85.54.53-84.86 84.86zm2.12 2.13 84.86-84.86.53.53-84.86 84.86zm2.12\n\t\t\t2.12L55.76-29.1l.53.53-84.86 84.86zm2.13 2.12 84.85-84.85.53.53-84.85 84.85zm2.12\n\t\t\t2.12L60-24.85l.53.53-84.85 84.85zm2.12 2.12 84.85-84.85.53.53-84.85 84.85zm2.12\n\t\t\t2.12L64.24-20.6l.53.53-84.85 84.85zm2.12 2.12 84.85-84.85.53.53-84.85 84.85zm2.12\n\t\t\t2.13L68.5-16.37l.53.53-84.86 84.86zm2.12 2.11 84.86-84.85.53.53-84.86 84.86zm2.13 2.13\n\t\t\t84.85-84.85.53.53-84.85 84.85zm2.12 2.12L74.85-10l.53.53-84.85 84.85zm2.12\n\t\t\t2.12L76.97-7.88l.53.53L-7.35 77.5zm2.12 2.13L79.09-5.77l.53.53-84.85 84.85zm2.12\n\t\t\t2.11L81.21-3.64l.53.53L-3.1 81.74zm2.12 2.12L83.33-1.52l.53.53L-.99\n\t\t\t83.86zM.6 85.46 85.46.6l.53.53L1.13 86zm2.12 2.12L87.58 2.72l.53.53L3.25 88.11zm2.13 2.12L89.7\n\t\t\t4.85l.53.53L5.38 90.23zm2.12 2.12L91.82 6.97l.53.53L7.5 92.35zm2.12 2.12L93.94 9.1l.53.53L9.62\n\t\t\t94.47zm2.12 2.12 84.85-84.85.53.53-84.85 84.85zm2.12 2.12 84.85-84.85.53.53-84.85 84.85zm2.12\n\t\t\t2.12 84.86-84.85.53.53-84.86 84.86z\"\n\t\t\t/>\n\t\t</symbol>\n\t</svg>\n\t} @case ('month') {\n\t<div class=\"calendar-name\" id=\"calendar-year-name\">\n\t\t<button type=\"button\" class=\"calendar-name-button\" (click)=\"displayMode.set('year')\">{{ currentYearLabel() }}</button>\n\t\t<span class=\"u-mask\">{{ intl.directionKeysTip }} </span>\n\t</div>\n\t<table class=\"calendar-table\" role=\"grid\" aria-labelledby=\"calendar-year-name\">\n\t\t<tbody class=\"calendar-table-body\">\n\t\t\t@for (quarter of yearGridDisplay(); track $index) {\n\t\t\t<tr class=\"calendar-table-body-row\">\n\t\t\t\t@for (month of quarter; track month.date.getTime(); let index = $index) {\n\t\t\t\t<td\n\t\t\t\t\tclass=\"calendar-table-body-row-cell\"\n\t\t\t\t\t[class.is-current]=\"month.isCurrent\"\n\t\t\t\t\t[class.is-selected]=\"month.status.selected\"\n\t\t\t\t\t[ngClass]=\"month.status.classes\"\n\t\t\t\t\t[attr.aria-selected]=\"month.status.selected\"\n\t\t\t\t\t[class.is-start]=\"month.status.selected\"\n\t\t\t\t\t[class.is-end]=\"month.status.selected\"\n\t\t\t\t>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"calendar-table-body-row-cell-action\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t[attr.data-content-after]=\"month.short\"\n\t\t\t\t\t\t[luCalendar2Cell]=\"index\"\n\t\t\t\t\t\t[luCalendar2Date]=\"month.date\"\n\t\t\t\t\t\t[disabled]=\"month.status.disabled\"\n\t\t\t\t\t\t(click)=\"onCellClicked(month.date)\"\n\t\t\t\t\t\tluCalendar2Mode=\"month\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"u-mask\">{{ month.long }}</span>\n\t\t\t\t\t\t@if (month.isCurrent) {\n\t\t\t\t\t\t<span class=\"u-mask\">({{ thisMonthLabel }})</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t</button>\n\t\t\t\t</td>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t\t}\n\t\t</tbody>\n\t</table>\n\t} @case ('year') {\n\t<div class=\"calendar-name\" id=\"calendar-decade-name\">\n\t\t{{ currentDecadeLabel() }}\n\t\t<span class=\"u-mask\">{{ intl.directionKeysTip }} </span>\n\t</div>\n\t<table class=\"calendar-table\" role=\"grid\" aria-labelledby=\"calendar-decade-name\">\n\t\t<tbody class=\"calendar-table-body\">\n\t\t\t@for (row of decadeGridDisplay(); track $index; let firstRow = $first; let lastRow = $last) {\n\t\t\t<tr class=\"calendar-table-body-row\">\n\t\t\t\t@for (year of row; track year.date.getTime(); let index = $index; let firstCell = $first; let lastCell = $last) {\n\t\t\t\t<td\n\t\t\t\t\tclass=\"calendar-table-body-row-cell\"\n\t\t\t\t\t[class.is-overflow]=\"(firstRow && firstCell) || (lastRow && lastCell)\"\n\t\t\t\t\t[class.is-current]=\"year.isCurrent\"\n\t\t\t\t\t[class.is-selected]=\"year.status.selected\"\n\t\t\t\t\t[attr.aria-selected]=\"year.status.selected\"\n\t\t\t\t\t[ngClass]=\"year.status.classes\"\n\t\t\t\t\t[class.is-start]=\"year.status.selected\"\n\t\t\t\t\t[class.is-end]=\"year.status.selected\"\n\t\t\t\t>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"calendar-table-body-row-cell-action\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t[luCalendar2Cell]=\"index\"\n\t\t\t\t\t\t[disabled]=\"year.status.disabled\"\n\t\t\t\t\t\t[luCalendar2Date]=\"year.date\"\n\t\t\t\t\t\tluCalendar2Mode=\"year\"\n\t\t\t\t\t\t(click)=\"onCellClicked(year.date)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ year.label }} @if (year.isCurrent) {\n\t\t\t\t\t\t<span class=\"u-mask\">({{ thisYearLabel }})</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t</button>\n\t\t\t\t</td>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t\t}\n\t\t</tbody>\n\t</table>\n\t} }\n</div>\n", styles: [".calendarWrapper{--components-calendarWrapperWidth: 17.25rem;--components-calendarWrapperVisible: 1;--components-calendarWrapperBackground: transparent;--components-calendarWrapper-navigationBackground: var(--palettes-neutral-0)}.calendarWrapper.mod-daysOffHidden .calendar-table-body-row-cell-action-stripes{--components-calendar-table-body-row-cell-action-stripesDisplay: none}.calendarWrapper.mod-daysOverflowingHidden .calendar-table-body-row-cell.is-overflow .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-actionDisplay: none}.calendar{width:var(--components-calendarWidth);--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-neutral-200);--components-calendar-table-body-row-cell-actionHighlight: transparent;--components-calendar-table-body-row-cell-actionFontWeight: 400;--components-calendar-table-body-row-cell-actionColor: var(--palettes-neutral-700);--components-calendar-table-body-row-cell-actionOutlineWidth: 2px;--components-calendar-table-body-row-cell-actionOutlineOffset: -1px;--components-calendar-table-body-row-cellSelectedBeforeContent: none;--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0;--components-calendar-table-body-row-cell-actionDisplay: block;--components-calendar-table-body-row-cell-action-stripesDisplay: block;--components-calendarBackground: var(--components-calendarWrapperBackground, var(--palettes-neutral-0));--components-calendarWidth: var(--components-calendarWrapperWidth, 17.25rem);--components-calendarBorderSpacing: 0}.calendar-table{border-spacing:var(--components-calendarBorderSpacing);border:var(--pr-t-spacings-150) solid transparent;border-top:0;table-layout:fixed;background-color:var(--components-calendarBackground);scroll-snap-align:start end;flex-shrink:0;flex-grow:0;width:100%;empty-cells:hide}.calendarWrapper{width:calc(var(--components-calendarWrapperWidth) * var(--components-calendarWrapperVisible));background-color:var(--components-calendarWrapperBackground);position:relative}.calendarWrapper-content{display:flex;overflow:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:none}.calendarWrapper-content::-webkit-scrollbar{display:none}.calendarWrapper-content:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.calendarWrapper-navigation{position:absolute;top:var(--pr-t-spacings-150);background-color:var(--components-calendarWrapper-navigationBackground);border-width:0 var(--pr-t-spacings-150);border-style:solid;border-color:transparent var(--components-calendarWrapper-navigationBackground)}.calendarWrapper-navigation.mod-prev{left:var(--pr-t-spacings-25);border-right:0}.calendarWrapper-navigation.mod-next{right:var(--pr-t-spacings-25);border-left:0}.calendarWrapper-navigation-button.button{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-padding: var(--pr-t-spacings-50)}.calendarWrapper-navigation-button.button:hover,.calendarWrapper-navigation-button.button:focus-visible{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.calendarWrapper-navigation-button.button:active{--components-button-backgroundColor: var(--palettes-200, var(--palettes-neutral-200))}.calendarWrapper-navigation-button.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-neutral-500)}.calendar-stripes{border:0;clip:rect(1px,1px,1px,1px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;contain:paint}.calendar-divider.divider{margin:0}.calendar-todayLink.link{text-transform:capitalize;display:block;margin:auto;padding:var(--pr-t-spacings-100);line-height:var(--sizes-M-lineHeight)}.calendar-todayLink.link,.calendar-todayLink.link .link-text{text-decoration:none}.calendar-todayLink.link:not(:has(.link-text)):hover{text-decoration:underline}.calendar-todayLink.link:has(.link-text):hover .link-text{text-decoration:underline}.calendar-todayLink.link:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:-4px;border-radius:8px}.calendar-stripes-symbol-path{fill:var(--components-calendar-table-body-row-cell-action-stripesColor)}.calendar-name{line-height:var(--sizes-L-lineHeight);padding:var(--pr-t-spacings-50) calc(var(--pr-t-spacings-300) + var(--pr-t-spacings-100));font-size:var(--sizes-L-fontSize);font-weight:700;border:var(--pr-t-spacings-150) solid transparent;border-bottom:var(--pr-t-spacings-100) solid transparent;text-transform:lowercase;background-color:var(--components-calendarBackground);text-align:center}.calendar-name-button{padding:0;border:0;width:100%;background-color:transparent;color:inherit;text-align:left;display:block;font:inherit;cursor:pointer;border-radius:var(--commons-borderRadius-L);text-align:inherit;width:fit-content;display:inline-block;padding:var(--pr-t-spacings-50);margin-block:calc(var(--pr-t-spacings-50) * -1)}.calendar-name-button:hover{color:var(--palettes-700, var(--palettes-product-700))}.calendar-name-button:active{color:var(--palettes-800, var(--palettes-product-800))}.calendar-name-button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:0}.calendar-name-button+.calendar-name-button{margin-left:calc(var(--pr-t-spacings-100) * -1)}.calendar-table-head-row-cell,.calendar-table-body-row-cell{padding:var(--pr-t-spacings-25)}.calendar-table-head-row-cell{font-weight:400;line-height:var(--sizes-S-lineHeight);font-size:var(--sizes-S-fontSize);color:var(--palettes-neutral-700);text-transform:uppercase;border-bottom:var(--pr-t-spacings-50) solid transparent}.calendar-table-body-row-cell{position:relative;color:var(--palettes-neutral-700)}.calendar-table-body-row-cell:before{background-color:var(--palettes-50, var(--palettes-product-50));position:absolute;inset:var(--pr-t-spacings-25) 0;content:var(--components-calendar-table-body-row-cellSelectedBeforeContent);border-radius:var(--components-calendar-table-body-row-cellSelectedBeforeBorderRadius)}.calendar-table-body-row-cell-action{padding:0;border:0;width:100%;background-color:transparent;color:inherit;text-align:left;display:block;font:inherit;cursor:pointer;border-radius:var(--commons-borderRadius-L);position:relative;z-index:1;text-align:center;overflow:hidden;font-weight:var(--components-calendar-table-body-row-cell-actionFontWeight);color:var(--components-calendar-table-body-row-cell-actionColor);background-color:var(--components-calendar-table-body-row-cell-actionHighlight);display:var(--components-calendar-table-body-row-cell-actionDisplay);height:var(--pr-t-spacings-400);text-transform:lowercase;box-shadow:0 0 0 1px var(--components-calendar-table-body-row-cell-actionHighlight),0 0 0 1px var(--components-calendar-table-body-row-cell-actionHighlight) inset}.calendar-table-body-row-cell-action:disabled,.calendar-table-body-row-cell-action[aria-disabled=true]{--components-calendar-table-body-row-cell-actionColor: var(--palettes-neutral-500);text-decoration:line-through;cursor:default}.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true]):hover{outline:2px solid var(--palettes-product-700);outline-offset:2px;outline-width:var(--components-calendar-table-body-row-cell-actionOutlineWidth);outline-offset:var(--components-calendar-table-body-row-cell-actionOutlineOffset);outline-color:var(--palettes-700, var(--palettes-product-700))}.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true]):active{outline:2px solid var(--palettes-800, var(--palettes-product-800));background-color:var(--palettes-800, var(--palettes-product-800));color:var(--palettes-0, var(--palettes-product-0))}.calendar-table-body-row-cell-action:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;outline-width:var(--components-calendar-table-body-row-cell-actionOutlineWidth);outline-offset:var(--components-calendar-table-body-row-cell-actionOutlineOffset);outline-color:var(--palettes-700, var(--palettes-product-700))}.calendar-table-body-row-cell-action-stripes{position:absolute;top:0;left:0;width:60px;height:60px;z-index:-1;display:var(--components-calendar-table-body-row-cell-action-stripesDisplay)}.calendar:has(.calendar-table-body-row-cell:nth-child(3):last-child){--components-calendarBorderSpacing: 0 var(--pr-t-spacings-200)}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within)~.calendar-table-body-row:not(.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within)~.calendar-table-body-row:focus-within~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within)~.calendar-table-body-row:not(.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within)~.calendar-table-body-row:focus-within~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within)~.calendar-table-body-row:not(.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within)~.calendar-table-body-row:focus-within~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within)~.calendar-table-body-row:not(.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within)~.calendar-table-body-row:focus-within~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])) :focus-within{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:focus-within) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])) :focus-within{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])){--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: var(--commons-borderRadius-L) 0 0 var(--commons-borderRadius-L)}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start)~.calendar-table-body-row:not(.calendar-table-body-row:has(.calendar-table-body-row-cell.is-start)~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start)~.calendar-table-body-row:not(.calendar-table-body-row:has(.calendar-table-body-row-cell.is-start)~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start)~.calendar-table-body-row:not(.calendar-table-body-row:has(.calendar-table-body-row-cell.is-start)~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start)~.calendar-table-body-row:has(.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell.is-start:before{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:focus-within) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:focus-within) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:focus-within) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:focus-within) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])) :focus-within{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: var(--commons-borderRadius-L) 0 0 var(--commons-borderRadius-L)}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within:before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within.is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:focus-within.is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):has(.calendar-table-body-row-cell-action:focus-visible) .calendar-table-body-row:has(.calendar-table-body-row-cell:focus-within~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell.is-start:before{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover)~.calendar-table-body-row:not(.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover)~.calendar-table-body-row:hover~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover)~.calendar-table-body-row:not(.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover)~.calendar-table-body-row:hover~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover)~.calendar-table-body-row:not(.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover)~.calendar-table-body-row:hover~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover)~.calendar-table-body-row:not(.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover)~.calendar-table-body-row:hover~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])) :hover{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start):has(~.calendar-table-body-row .calendar-table-body-row-cell:hover) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])) :hover{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])){--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: var(--commons-borderRadius-L) 0 0 var(--commons-borderRadius-L)}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover~.calendar-table-body-row-cell:has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start)~.calendar-table-body-row:not(.calendar-table-body-row:has(.calendar-table-body-row-cell.is-start)~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start)~.calendar-table-body-row:not(.calendar-table-body-row:has(.calendar-table-body-row-cell.is-start)~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start)~.calendar-table-body-row:not(.calendar-table-body-row:has(.calendar-table-body-row-cell.is-start)~.calendar-table-body-row) .calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover):has(~.calendar-table-body-row .calendar-table-body-row-cell.is-start)~.calendar-table-body-row:has(.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell.is-start:before{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:hover) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:hover) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:hover) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:hover) .calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell):has(.calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true])) :hover{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell):before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell).is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover~.calendar-table-body-row-cell:not(.calendar-table-body-row-cell.is-start~.calendar-table-body-row-cell).is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: var(--commons-borderRadius-L) 0 0 var(--commons-borderRadius-L)}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover:before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover.is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell:hover.is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar:has(.calendar-table-body-row-cell.is-start):not(:has(.calendar-table-body-row-cell.is-end)):not(:has(.calendar-table-body-row-cell:focus-within)):has(.calendar-table-body-row-cell:hover) .calendar-table-body-row:has(.calendar-table-body-row-cell:hover~.calendar-table-body-row-cell.is-start) .calendar-table-body-row-cell.is-start:before{--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}.calendar-table-body-row-cell.is-daysOff .calendar-table-body-row-cell-action:not(:disabled,[aria-disabled=true]):active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-product-900)}.calendar-table-body-row-cell.is-overflow .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-actionColor: var(--palettes-neutral-600)}.calendar-table-body-row-cell.is-current .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-actionFontWeight: 600;--components-calendar-table-body-row-cell-actionColor: var(--palettes-700, var(--palettes-product-700))}.calendar-table-body-row-cell.is-selected:before{--components-calendar-table-body-row-cellSelectedBeforeContent: \"\"}.calendar-table-body-row-cell.is-selected.is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-200, var(--palettes-product-200))}.calendar-table-body-row-cell.is-selected.is-daysOff .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar-table-body-row-cell.is-start .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-actionColor: var(--palettes-0, var(--palettes-product-0));--components-calendar-table-body-row-cell-actionHighlight: var(--palettes-700, var(--palettes-product-700))}.calendar-table-body-row-cell.is-start .calendar-table-body-row-cell-action:hover{--components-calendar-table-body-row-cell-actionHighlight: var(--palettes-600, var(--palettes-product-600));--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-700, var(--palettes-product-700));--components-calendar-table-body-row-cell-actionOutlineWidth: 0}.calendar-table-body-row-cell.is-start .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-actionHighlight: var(--palettes-800, var(--palettes-product800));--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar-table-body-row-cell.is-start .calendar-table-body-row-cell-action:focus-visible{--components-calendar-table-body-row-cell-actionOutlineOffset: 3px}.calendar-table-body-row-cell.is-start.is-selected .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-actionColor: var(--palettes-0, var(--palettes-product-0))}.calendar-table-body-row-cell.is-start.is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-800, var(--palettes-product-800))}.calendar-table-body-row-cell.is-start:before{left:var(--pr-t-spacings-75);--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: var(--commons-borderRadius-L) 0 0 var(--commons-borderRadius-L)}.calendar-table-body-row-cell.is-end .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-actionColor: var(--palettes-0, var(--palettes-product-0));--components-calendar-table-body-row-cell-actionHighlight: var(--palettes-700, var(--palettes-product-700))}.calendar-table-body-row-cell.is-end .calendar-table-body-row-cell-action:hover{--components-calendar-table-body-row-cell-actionHighlight: var(--palettes-600, var(--palettes-product-600));--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-700, var(--palettes-product-700));--components-calendar-table-body-row-cell-actionOutlineWidth: 0}.calendar-table-body-row-cell.is-end .calendar-table-body-row-cell-action:active{--components-calendar-table-body-row-cell-actionHighlight: var(--palettes-800, var(--palettes-product800));--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-900, var(--palettes-product-900))}.calendar-table-body-row-cell.is-end .calendar-table-body-row-cell-action:focus-visible{--components-calendar-table-body-row-cell-actionOutlineOffset: 3px}.calendar-table-body-row-cell.is-end.is-selected .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-actionColor: var(--palettes-0, var(--palettes-product-0))}.calendar-table-body-row-cell.is-end.is-daysOff .calendar-table-body-row-cell-action{--components-calendar-table-body-row-cell-action-stripesColor: var(--palettes-800, var(--palettes-product-800))}.calendar-table-body-row-cell.is-end:before{right:var(--pr-t-spacings-75);--components-calendar-table-body-row-cellSelectedBeforeBorderRadius: 0 var(--commons-borderRadius-L) var(--commons-borderRadius-L) 0}\n"] }]
278
- }], ctorParameters: () => [] });
279
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2RhdGUyL2NhbGVuZGFyMi9jYWxlbmRhcjIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvZGF0ZTIvY2FsZW5kYXIyL2NhbGVuZGFyMi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyTSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUNOLFNBQVMsRUFDVCxRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLFVBQVUsRUFDVixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxXQUFXLEVBQ1gsVUFBVSxFQUNWLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsVUFBVSxFQUNWLGFBQWEsRUFDYixZQUFZLEVBQ1osV0FBVyxFQUNYLFdBQVcsRUFDWCxTQUFTLEVBQ1QsUUFBUSxHQUVSLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1B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QjlCLFNBQVM7K0JBQ0MsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUseUJBQXlCLENBQUMsaUJBRy9HLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLGNBQWM7NEJBQ3ZCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLG9CQUFvQixDQUFDLHNCQUFzQjt5QkFDbkU7d0JBQ0Q7NEJBQ0MsT0FBTyxFQUFFLHNCQUFzQjs0QkFDL0IsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sb0JBQW9CLENBQUMsWUFBWTt5QkFDekQ7cUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIEVsZW1lbnRSZWYsIGluamVjdCwgaW5wdXQsIExPQ0FMRV9JRCwgbW9kZWwsIE9uSW5pdCwgb3V0cHV0LCB2aWV3Q2hpbGRyZW4sIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvYnV0dG9uJztcbmltcG9ydCB7IENhbGxvdXRDb21wb25lbnQgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvY2FsbG91dCc7XG5pbXBvcnQge1xuXHRhZGRNb250aHMsXG5cdGFkZFllYXJzLFxuXHRlYWNoRGF5T2ZJbnRlcnZhbCxcblx0ZWFjaE1vbnRoT2ZJbnRlcnZhbCxcblx0ZWFjaFllYXJPZkludGVydmFsLFxuXHRlbmRPZkRlY2FkZSxcblx0ZW5kT2ZNb250aCxcblx0ZW5kT2ZXZWVrLFxuXHRlbmRPZlllYXIsXG5cdGlzU2FtZURheSxcblx0aXNTYW1lTW9udGgsXG5cdGlzU2FtZVllYXIsXG5cdGlzV2l0aGluSW50ZXJ2YWwsXG5cdGxhc3REYXlPZk1vbnRoLFxuXHRzdGFydE9mRGF5LFxuXHRzdGFydE9mRGVjYWRlLFxuXHRzdGFydE9mTW9udGgsXG5cdHN0YXJ0T2ZXZWVrLFxuXHRzdGFydE9mWWVhcixcblx0c3ViTW9udGhzLFxuXHRzdWJZZWFycyxcblx0V2Vla09wdGlvbnMsXG59IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGdldEludGwgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvY29yZSc7XG5pbXBvcnQgeyBMdVRvb2x0aXBUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL3Rvb2x0aXAnO1xuaW1wb3J0IHsgV0VFS19JTkZPIH0gZnJvbSAnLi4vY2FsZW5kYXIudG9rZW4nO1xuaW1wb3J0IHsgTFVfREFURTJfVFJBTlNMQVRJT05TIH0gZnJvbSAnLi4vZGF0ZTIudHJhbnNsYXRlJztcbmltcG9ydCB7IFJlcGVhdFRpbWVzRGlyZWN0aXZlIH0gZnJvbSAnLi4vcmVwZWF0LXRpbWVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBnZXRJbnRsV2Vla0RheSwgZ2V0SlNGaXJzdERheU9mV2VlayB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IENhbGVuZGFyQ2VsbEluZm8sIENhbGVuZGFyTW9udGhJbmZvLCBDYWxlbmRhclllYXJJbmZvIH0gZnJvbSAnLi9jYWxlbmRhci1jZWxsLWluZm8nO1xuaW1wb3J0IHsgQ2FsZW5kYXJNb2RlIH0gZnJvbSAnLi9jYWxlbmRhci1tb2RlJztcbmltcG9ydCB7IENhbGVuZGFyMkNlbGxEaXJlY3RpdmUgfSBmcm9tICcuL2NhbGVuZGFyMi1jZWxsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDQUxFTkRBUl9DRUxMUywgQ0FMRU5EQVJfVEFCQkFCTEVfREFURSB9IGZyb20gJy4vY2FsZW5kYXIyLnRva2Vucyc7XG5pbXBvcnQgeyBDZWxsU3RhdHVzIH0gZnJvbSAnLi9jZWxsLXN0YXR1cyc7XG5pbXBvcnQgeyBEYXRlUmFuZ2UgfSBmcm9tICcuL2RhdGUtcmFuZ2UnO1xuXG5jb25zdCBNT0RFX0hJRVJBUkNIWTogQ2FsZW5kYXJNb2RlW10gPSBbJ2RheScsICdtb250aCcsICd5ZWFyJ107XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2x1LWNhbGVuZGFyMicsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtSZXBlYXRUaW1lc0RpcmVjdGl2ZSwgQnV0dG9uQ29tcG9uZW50LCBDYWxlbmRhcjJDZWxsRGlyZWN0aXZlLCBOZ0NsYXNzLCBDYWxsb3V0Q29tcG9uZW50LCBMdVRvb2x0aXBUcmlnZ2VyRGlyZWN0aXZlXSxcblx0dGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyMi5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsOiAnLi9jYWxlbmRhcjIuY29tcG9uZW50LnNjc3MnLFxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0cHJvdmlkZXJzOiBbXG5cdFx0e1xuXHRcdFx0cHJvdmlkZTogQ0FMRU5EQVJfQ0VMTFMsXG5cdFx0XHR1c2VGYWN0b3J5OiAoKSA9PiBpbmplY3QoQ2FsZW5kYXIyQ29tcG9uZW50KS5jYWxlbmRhcjJDZWxsSW5zdGFuY2VzLFxuXHRcdH0sXG5cdFx0e1xuXHRcdFx0cHJvdmlkZTogQ0FMRU5EQVJfVEFCQkFCTEVfREFURSxcblx0XHRcdHVzZUZhY3Rvcnk6ICgpID0+IGluamVjdChDYWxlbmRhcjJDb21wb25lbnQpLnRhYmJhYmxlRGF0ZSxcblx0XHR9LFxuXHRdLFxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhcjJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXHQjbG9jYWxlID0gaW5qZWN0KExPQ0FMRV9JRCk7XG5cdCN3ZWVrSW5mbyA9IGluamVjdChXRUVLX0lORk8pO1xuXHRyZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcblxuXHQjaW50bERhdGVGb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0aGlzLiNsb2NhbGUsIHsgbW9udGg6ICdsb25nJyB9KTtcblx0I2ludGxEYXRlWWVhciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMuI2xvY2FsZSwgeyB5ZWFyOiAnbnVtZXJpYycgfSk7XG5cblx0I2ludGxEYXlzTG9uZyA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMuI2xvY2FsZSwgeyB3ZWVrZGF5OiAnbG9uZycgfSk7XG5cdCNpbnRsRGF5c1Nob3J0ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodGhpcy4jbG9jYWxlLCB7IHdlZWtkYXk6ICdzaG9ydCcgfSk7XG5cdCNpbnRsUmVsYXRpdmVEYXkgPSBuZXcgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQodGhpcy4jbG9jYWxlLCB7IG51bWVyaWM6ICdhdXRvJyB9KTtcblxuXHQjaW50bE1vbnRoc0xvbmcgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0aGlzLiNsb2NhbGUsIHsgbW9udGg6ICdsb25nJyB9KTtcblx0I2ludGxNb250aHNTaG9ydCA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMuI2xvY2FsZSwgeyBtb250aDogJ3Nob3J0JyB9KTtcblxuXHQjd2Vla09wdGlvbnM6IFdlZWtPcHRpb25zID0geyB3ZWVrU3RhcnRzT246IGdldEpTRmlyc3REYXlPZldlZWsodGhpcy4jd2Vla0luZm8pIH07XG5cblx0aW50bCA9IGdldEludGwoTFVfREFURTJfVFJBTlNMQVRJT05TKTtcblxuXHRzaG93T3ZlcmZsb3cgPSBpbnB1dDxib29sZWFuLCBib29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cblx0ZW5hYmxlT3ZlcmZsb3cgPSBpbnB1dDxib29sZWFuLCBib29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cblx0aGlkZVRvZGF5ID0gaW5wdXQ8Ym9vbGVhbiwgYm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG5cdGhhc1RvZGF5QnV0dG9uID0gaW5wdXQ8Ym9vbGVhbiwgYm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG5cdGhpZGVXZWVrZW5kID0gaW5wdXQ8Ym9vbGVhbiwgYm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG5cdC8vIERhdGUgdXNlZCB0byBpbml0IHRoZSBjb21wb25lbnQgYW5kIGFzIGludGVybmFsIGZvY3VzIG1vZGVsXG5cdGRhdGUgPSBtb2RlbC5yZXF1aXJlZDxEYXRlPigpO1xuXG5cdHRhYmJhYmxlRGF0ZSA9IG1vZGVsPERhdGUgfCBudWxsPihudWxsKTtcblxuXHRtb2RlID0gbW9kZWw8Q2FsZW5kYXJNb2RlPignZGF5Jyk7XG5cblx0ZGlzcGxheU1vZGUgPSBtb2RlbDxDYWxlbmRhck1vZGU+KCd5ZWFyJyk7XG5cblx0cmFuZ2VzID0gaW5wdXQ8RGF0ZVJhbmdlW10+KFtdKTtcblxuXHRnZXRDZWxsSW5mbyA9IGlucHV0PChkYXRlOiBEYXRlLCBkaXNwbGF5TW9kZTogQ2FsZW5kYXJNb2RlKSA9PiBDZWxsU3RhdHVzPigoX2RhdGU6IERhdGUpID0+ICh7XG5cdFx0Y2xhc3NlczogW10sXG5cdFx0ZGlzYWJsZWQ6IGZhbHNlLFxuXHR9KSk7XG5cblx0bW9udGggPSBjb21wdXRlZCgoKSA9PiBzdGFydE9mTW9udGgodGhpcy5kYXRlKCkpKTtcblxuXHR5ZWFyID0gY29tcHV0ZWQoKCkgPT4gc3RhcnRPZlllYXIodGhpcy5kYXRlKCkpKTtcblxuXHRkZWNhZGUgPSBjb21wdXRlZCgoKSA9PiBzdGFydE9mRGVjYWRlKHRoaXMuZGF0ZSgpKSk7XG5cblx0cHJldmlvdXNNb250aCA9IGNvbXB1dGVkKCgpID0+IHN1Yk1vbnRocyh0aGlzLm1vbnRoKCksIDEpKTtcblxuXHRuZXh0TW9udGggPSBjb21wdXRlZCgoKSA9PiBhZGRNb250aHModGhpcy5tb250aCgpLCAxKSk7XG5cblx0bmV4dFBhZ2UgPSBvdXRwdXQoKTtcblxuXHRwcmV2aW91c1BhZ2UgPSBvdXRwdXQoKTtcblxuXHRkYXRlQ2xpY2tlZCA9IG91dHB1dDxEYXRlPigpO1xuXG5cdHRvZGF5TGFiZWwgPSB0aGlzLiNpbnRsUmVsYXRpdmVEYXkuZm9ybWF0KDAsICdkYXknKTtcblx0dGhpc01vbnRoTGFiZWwgPSB0aGlzLiNpbnRsUmVsYXRpdmVEYXkuZm9ybWF0KDAsICdtb250aCcpO1xuXHR0aGlzWWVhckxhYmVsID0gdGhpcy4jaW50bFJlbGF0aXZlRGF5LmZvcm1hdCgwLCAneWVhcicpO1xuXG5cdGNhbGVuZGFyMkNlbGxJbnN0YW5jZXMgPSB2aWV3Q2hpbGRyZW4oQ2FsZW5kYXIyQ2VsbERpcmVjdGl2ZSk7XG5cblx0ZGF5c09mV2VlayA9IGVhY2hEYXlPZkludGVydmFsKHtcblx0XHRzdGFydDogc3RhcnRPZldlZWsobmV3IERhdGUoKSwgdGhpcy4jd2Vla09wdGlvbnMpLFxuXHRcdGVuZDogZW5kT2ZXZWVrKG5ldyBEYXRlKCksIHRoaXMuI3dlZWtPcHRpb25zKSxcblx0fSkubWFwKChkYXkpID0+ICh7XG5cdFx0bG9uZzogdGhpcy4jaW50bERheXNMb25nLmZvcm1hdChkYXkpLFxuXHRcdHNob3J0OiB0aGlzLiNpbnRsRGF5c1Nob3J0LmZvcm1hdChkYXkpLFxuXHR9KSk7XG5cblx0bW9udGhHcmlkRGlzcGxheSA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBkYXlzT2ZNb250aDogQ2FsZW5kYXJDZWxsSW5mb1tdID0gZWFjaERheU9mSW50ZXJ2YWwoe1xuXHRcdFx0c3RhcnQ6IHRoaXMubW9udGgoKSxcblx0XHRcdGVuZDogZW5kT2ZNb250aCh0aGlzLm1vbnRoKCkpLFxuXHRcdH0pLm1hcCgoZGF0ZSkgPT4gdGhpcy5kYXRlVG9DZWxsSW5mbyhkYXRlKSk7XG5cdFx0Y29uc3QgZGF5c0J5V2VlayA9IGRheXNPZk1vbnRoLnJlZHVjZTxSZWNvcmQ8bnVtYmVyLCBDYWxlbmRhckNlbGxJbmZvW10+PigoYWNjLCBkYXkpID0+IHtcblx0XHRcdGNvbnN0IGtleSA9IHN0YXJ0T2ZXZWVrKGRheS5kYXRlLCB0aGlzLiN3ZWVrT3B0aW9ucykuZ2V0VGltZSgpO1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0Li4uYWNjLFxuXHRcdFx0XHRba2V5XTogWy4uLihhY2Nba2V5XSB8fCBbXSksIGRheV0sXG5cdFx0XHR9O1xuXHRcdH0sIHt9KTtcblx0XHQvLyBJZiB3ZSB3YW50IHRvIHNob3cgZGF5cyBiZWZvcmUgYW5kIGFmdGVyIHRoaXMgbW9udGhcblx0XHRpZiAodGhpcy5zaG93T3ZlcmZsb3coKSkge1xuXHRcdFx0Ly8gVXNlIGxhc3Qgd2VlayBvZiBwcmV2aW91cyBtb250aFxuXHRcdFx0Y29uc3Qgc3RhcnRPZlByZXZpb3VzT3ZlcmZsb3cgPSBzdGFydE9mV2VlayhsYXN0RGF5T2ZNb250aCh0aGlzLnByZXZpb3VzTW9udGgoKSksIHRoaXMuI3dlZWtPcHRpb25zKTtcblx0XHRcdGNvbnN0IHByZXZpb3VzT3ZlcmZsb3cgPSBlYWNoRGF5T2ZJbnRlcnZhbCh7XG5cdFx0XHRcdHN0YXJ0OiBzdGFydE9mUHJldmlvdXNPdmVyZmxvdyxcblx0XHRcdFx0ZW5kOiBlbmRPZk1vbnRoKHRoaXMucHJldmlvdXNNb250aCgpKSxcblx0XHRcdH0pLm1hcCgoZGF0ZSkgPT4gdGhpcy5kYXRlVG9DZWxsSW5mbyhkYXRlLCB0cnVlKSk7XG5cdFx0XHRpZiAoZGF5c0J5V2Vla1tzdGFydE9mUHJldmlvdXNPdmVyZmxvdy5nZXRUaW1lKCldKSB7XG5cdFx0XHRcdGRheXNCeVdlZWtbc3RhcnRPZlByZXZpb3VzT3ZlcmZsb3cuZ2V0VGltZSgpXSA9IFsuLi5wcmV2aW91c092ZXJmbG93LCAuLi5kYXlzQnlXZWVrW3N0YXJ0T2ZQcmV2aW91c092ZXJmbG93LmdldFRpbWUoKV1dO1xuXHRcdFx0fVxuXHRcdFx0Ly8gVXNlIGZpcnN0IHdlZWsgb2YgbmV4dCBtb250aFxuXHRcdFx0Y29uc3Qgc3RhcnRPZk5leHRNb250aE92ZXJmbG93ID0gc3RhcnRPZldlZWsoc3RhcnRPZk1vbnRoKHRoaXMubmV4dE1vbnRoKCkpLCB0aGlzLiN3ZWVrT3B0aW9ucyk7XG5cdFx0XHRjb25zdCBlbmRPZk5leHRNb250aE92ZXJmbG93ID0gZW5kT2ZXZWVrKHN0YXJ0T2ZNb250aCh0aGlzLm5leHRNb250aCgpKSwgdGhpcy4jd2Vla09wdGlvbnMpO1xuXHRcdFx0Y29uc3QgbmV4dE92ZXJmbG93ID0gZWFjaERheU9mSW50ZXJ2YWwoe1xuXHRcdFx0XHRzdGFydDogc3RhcnRPZk1vbnRoKHRoaXMubmV4dE1vbnRoKCkpLFxuXHRcdFx0XHRlbmQ6IGVuZE9mTmV4dE1vbnRoT3ZlcmZsb3csXG5cdFx0XHR9KS5tYXAoKGRhdGUpID0+IHRoaXMuZGF0ZVRvQ2VsbEluZm8oZGF0ZSwgdHJ1ZSkpO1xuXHRcdFx0aWYgKGRheXNCeVdlZWtbc3RhcnRPZk5leHRNb250aE92ZXJmbG93LmdldFRpbWUoKV0pIHtcblx0XHRcdFx0ZGF5c0J5V2Vla1tzdGFydE9mTmV4dE1vbnRoT3ZlcmZsb3cuZ2V0VGltZSgpXSA9IFsuLi5kYXlzQnlXZWVrW3N0YXJ0T2ZOZXh0TW9udGhPdmVyZmxvdy5nZXRUaW1lKCldLCAuLi5uZXh0T3ZlcmZsb3ddO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gT2JqZWN0LmtleXMoZGF5c0J5V2Vlaylcblx0XHRcdC5zb3J0KClcblx0XHRcdC5tYXAoKHdlZWtTdGFydCkgPT4gZGF5c0J5V2Vla1srd2Vla1N0YXJ0XSk7XG5cdH0pO1xuXG5cdHllYXJHcmlkRGlzcGxheSA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBtb250aHNPZlllYXI6IERhdGVbXSA9IGVhY2hNb250aE9mSW50ZXJ2YWwoe1xuXHRcdFx0c3RhcnQ6IHRoaXMueWVhcigpLFxuXHRcdFx0ZW5kOiBlbmRPZlllYXIodGhpcy55ZWFyKCkpLFxuXHRcdH0pO1xuXHRcdHJldHVybiBtb250aHNPZlllYXJcblx0XHRcdC5tYXAoKG1vbnRoKSA9PiB7XG5cdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0ZGF0ZTogbW9udGgsXG5cdFx0XHRcdFx0c2hvcnQ6IHRoaXMuI2ludGxNb250aHNTaG9ydC5mb3JtYXQobW9udGgpLFxuXHRcdFx0XHRcdGxvbmc6IHRoaXMuI2ludGxNb250aHNMb25nLmZvcm1hdChtb250aCksXG5cdFx0XHRcdFx0aXNDdXJyZW50OiBpc1NhbWVNb250aChuZXcgRGF0ZSgpLCBtb250aCksXG5cdFx0XHRcdFx0c3RhdHVzOiB0aGlzLmdldENlbGxJbmZvKCkobW9udGgsIHRoaXMuZGlzcGxheU1vZGUoKSksXG5cdFx0XHRcdH0gYXMgQ2FsZW5kYXJNb250aEluZm87XG5cdFx0XHR9KVxuXHRcdFx0LnJlZHVjZTxDYWxlbmRhck1vbnRoSW5mb1tdW10+KChhbGwsIG9uZSwgaSkgPT4ge1xuXHRcdFx0XHRjb25zdCBjaCA9IE1hdGguZmxvb3IoaSAvIDMpO1xuXHRcdFx0XHRhbGxbY2hdID0gWy4uLihhbGxbY2hdIHx8IFtdKSwgb25lXTtcblx0XHRcdFx0cmV0dXJuIGFsbDtcblx0XHRcdH0sIFtdKTtcblx0fSk7XG5cblx0ZGVjYWRlR3JpZERpc3BsYXkgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgeWVhcnNPZkRlY2FkZTogRGF0ZVtdID0gZWFjaFllYXJPZkludGVydmFsKHtcblx0XHRcdHN0YXJ0OiBzdWJZZWFycyh0aGlzLmRlY2FkZSgpLCAxKSxcblx0XHRcdGVuZDogYWRkWWVhcnMoZW5kT2ZEZWNhZGUodGhpcy5kZWNhZGUoKSksIDEpLFxuXHRcdH0pO1xuXHRcdHJldHVybiB5ZWFyc09mRGVjYWRlXG5cdFx0XHQubWFwKCh5ZWFyKSA9PiB7XG5cdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0ZGF0ZTogeWVhcixcblx0XHRcdFx0XHRsYWJlbDogdGhpcy4jaW50bERhdGVZZWFyLmZvcm1hdCh5ZWFyKSxcblx0XHRcdFx0XHRpc0N1cnJlbnQ6IGlzU2FtZVllYXIobmV3IERhdGUoKSwgeWVhciksXG5cdFx0XHRcdFx0c3RhdHVzOiB0aGlzLmdldENlbGxJbmZvKCkoeWVhciwgdGhpcy5kaXNwbGF5TW9kZSgpKSxcblx0XHRcdFx0fTtcblx0XHRcdH0pXG5cdFx0XHQucmVkdWNlPENhbGVuZGFyWWVhckluZm9bXVtdPigoYWxsLCBvbmUsIGkpID0+IHtcblx0XHRcdFx0Y29uc3QgY2ggPSBNYXRoLmZsb29yKGkgLyAzKTtcblx0XHRcdFx0YWxsW2NoXSA9IFsuLi4oYWxsW2NoXSB8fCBbXSksIG9uZV07XG5cdFx0XHRcdHJldHVybiBhbGw7XG5cdFx0XHR9LCBbXSk7XG5cdH0pO1xuXG5cdGN1cnJlbnRNb250aExhYmVsID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdHJldHVybiB0aGlzLiNpbnRsRGF0ZUZvcm1hdC5mb3JtYXQodGhpcy5kYXRlKCkpO1xuXHR9KTtcblxuXHRjdXJyZW50WWVhckxhYmVsID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdHJldHVybiB0aGlzLiNpbnRsRGF0ZVllYXIuZm9ybWF0KHRoaXMuZGF0ZSgpKTtcblx0fSk7XG5cblx0Y3VycmVudERlY2FkZUxhYmVsID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1pcnJlZ3VsYXItd2hpdGVzcGFjZVxuXHRcdHJldHVybiBgJHt0aGlzLiNpbnRsRGF0ZVllYXIuZm9ybWF0KHN0YXJ0T2ZEZWNhZGUodGhpcy5kZWNhZGUoKSkpfcKg4oCTICR7dGhpcy4jaW50bERhdGVZZWFyLmZvcm1hdChlbmRPZkRlY2FkZSh0aGlzLmRlY2FkZSgpKSl9YDtcblx0fSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZWZmZWN0KFxuXHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRpZiAodGhpcy50YWJiYWJsZURhdGUoKSA9PT0gbnVsbCkge1xuXHRcdFx0XHRcdHRoaXMudGFiYmFibGVEYXRlLnNldCh0aGlzLmRhdGUoKSk7XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHR7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXG5cdFx0KTtcblx0fVxuXG5cdGZvY3VzVGFiYmFibGVEYXRlKCk6IHZvaWQge1xuXHRcdHRoaXMuY2FsZW5kYXIyQ2VsbEluc3RhbmNlcygpXG5cdFx0XHQuZmluZCgoY2VsbCkgPT4gY2VsbC5pc1RhYmJhYmxlRGF0ZSgpKVxuXHRcdFx0Py5mb2N1cygpO1xuXHR9XG5cblx0Ymx1clRhYmJhYmxlRGF0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLmNhbGVuZGFyMkNlbGxJbnN0YW5jZXMoKVxuXHRcdFx0LmZpbmQoKGNlbGwpID0+IGNlbGwuaXNUYWJiYWJsZURhdGUoKSlcblx0XHRcdD8uYmx1cigpO1xuXHR9XG5cblx0Y2xpY2tUb2RheSgpIHtcblx0XHR0aGlzLm9uQ2VsbENsaWNrZWQoc3RhcnRPZkRheShuZXcgRGF0ZSgpKSk7XG5cdH1cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHQvLyBPbiBpbml0LCBzZXQgZGlzcGxheSBtb2RlIHRvIHRoZSBtb2RlIHNwZWNpZmllZCBieSBjb21wb25lbnQgY29uc3VtZXJcblx0XHR0aGlzLmRpc3BsYXlNb2RlLnNldCh0aGlzLm1vZGUoKSk7XG5cdH1cblxuXHRvbkNlbGxDbGlja2VkKGRhdGU6IERhdGUpOiB2b2lkIHtcblx0XHQvLyBPbiBjZWxsIGNsaWNrZWQsIGlmIGRpc3BsYXkgbW9kZSBpcyBzYW1lIGFzIG1vZGUsIGVtaXQgdmFsdWVcblx0XHQvLyBFbHNlLCB6b29tIGluIHRvIG5ldyBtb2RlXG5cdFx0aWYgKHRoaXMuZGlzcGxheU1vZGUoKSA9PT0gdGhpcy5tb2RlKCkpIHtcblx0XHRcdHRoaXMuZGF0ZUNsaWNrZWQuZW1pdChkYXRlKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gQ2hlY2sgdGhhdCB3ZSBhcmUgYWJsZSB0byB6b29tIGluXG5cdFx0XHRjb25zdCBtYXhab29tTGV2ZWwgPSBNT0RFX0hJRVJBUkNIWS5pbmRleE9mKHRoaXMubW9kZSgpKTtcblx0XHRcdGNvbnN0IGN1cnJlbnRab29tTGV2ZWwgPSBNT0RFX0hJRVJBUkNIWS5pbmRleE9mKHRoaXMuZGlzcGxheU1vZGUoKSk7XG5cdFx0XHRjb25zdCB0YXJnZXRab29tTGV2ZWwgPSBjdXJyZW50Wm9vbUxldmVsIC0gMTtcblx0XHRcdGlmICh0YXJnZXRab29tTGV2ZWwgPj0gMCAmJiB0YXJnZXRab29tTGV2ZWwgPj0gbWF4Wm9vbUxldmVsKSB7XG5cdFx0XHRcdGNvbnN0IG5ld1pvb21MZXZlbCA9IE1PREVfSElFUkFSQ0hZW3RhcmdldFpvb21MZXZlbF07XG5cdFx0XHRcdHN3aXRjaCAobmV3Wm9vbUxldmVsKSB7XG5cdFx0XHRcdFx0Y2FzZSAneWVhcic6XG5cdFx0XHRcdFx0XHR0aGlzLmRhdGUuc2V0KHN0YXJ0T2ZEZWNhZGUoZGF0ZSkpO1xuXHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0Y2FzZSAnbW9udGgnOlxuXHRcdFx0XHRcdFx0dGhpcy5kYXRlLnNldChzdGFydE9mWWVhcihkYXRlKSk7XG5cdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHRjYXNlICdkYXknOlxuXHRcdFx0XHRcdFx0dGhpcy5kYXRlLnNldChzdGFydE9mTW9udGgoZGF0ZSkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuZGlzcGxheU1vZGUuc2V0KG5ld1pvb21MZXZlbCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0ZGF0ZVRvQ2VsbEluZm8oZGF0ZTogRGF0ZSwgaXNPdmVyZmxvdyA9IGZhbHNlKTogQ2FsZW5kYXJDZWxsSW5mbyB7XG5cdFx0Y29uc3Qgc3RhdHVzID0gdGhpcy5nZXRDZWxsSW5mbygpKGRhdGUsIHRoaXMuZGlzcGxheU1vZGUoKSk7XG5cblx0XHRjb25zdCBjbGFzc2VzOiBzdHJpbmdbXSA9IHN0YXR1cz8uY2xhc3NlcyB8fCBbXTtcblxuXHRcdGNvbnN0IHJhbmdlSW5mbyA9IHRoaXMuZ2V0UmFuZ2VJbmZvKGRhdGUsICdkYXknKTtcblxuXHRcdGlmIChyYW5nZUluZm8/LmNsYXNzKSB7XG5cdFx0XHRjbGFzc2VzLnB1c2gocmFuZ2VJbmZvLmNsYXNzKTtcblx0XHR9XG5cblx0XHRyZXR1cm4ge1xuXHRcdFx0ZGF5OiBkYXRlLmdldERhdGUoKSxcblx0XHRcdGlzV2Vla2VuZDogdGhpcy4jd2Vla0luZm8ud2Vla2VuZC5pbmNsdWRlcyhnZXRJbnRsV2Vla0RheShkYXRlKSkgJiYgIXRoaXMuaGlkZVdlZWtlbmQoKSxcblx0XHRcdGlzT3ZlcmZsb3csXG5cdFx0XHRzdGF0dXMsXG5cdFx0XHRsYWJlbDogc3RhdHVzLmxhYmVsIHx8IHJhbmdlSW5mbz8ubGFiZWwsXG5cdFx0XHRkYXRlLFxuXHRcdFx0Y2xhc3Nlcyxcblx0XHRcdGlzQ3VycmVudDogaXNTYW1lRGF5KG5ldyBEYXRlKCksIGRhdGUpICYmICF0aGlzLmhpZGVUb2RheSgpLFxuXHRcdFx0cmFuZ2VJbmZvLFxuXHRcdFx0ZGlzYWJsZWQ6IHN0YXR1cz8uZGlzYWJsZWQgfHwgKGlzT3ZlcmZsb3cgJiYgIXRoaXMuZW5hYmxlT3ZlcmZsb3coKSksXG5cdFx0fTtcblx0fVxuXG5cdGdldFJhbmdlSW5mbyhkYXRlOiBEYXRlLCBzY29wZTogQ2FsZW5kYXJNb2RlKSB7XG5cdFx0Y29uc3QgcmFuZ2U6IERhdGVSYW5nZSB8IHVuZGVmaW5lZCA9IHRoaXMucmFuZ2VzKCkuZmluZCgocmFuZ2U6IERhdGVSYW5nZSkgPT4ge1xuXHRcdFx0cmV0dXJuIChcblx0XHRcdFx0KHJhbmdlLnNjb3BlIHx8ICdkYXknKSA9PT0gc2NvcGUgJiZcblx0XHRcdFx0aXNXaXRoaW5JbnRlcnZhbChkYXRlLCB7XG5cdFx0XHRcdFx0c3RhcnQ6IHN0YXJ0T2ZEYXkocmFuZ2Uuc3RhcnQpLFxuXHRcdFx0XHRcdGVuZDogcmFuZ2UuZW5kIHx8IGVuZE9mTW9udGgoZGF0ZSksXG5cdFx0XHRcdH0pXG5cdFx0XHQpO1xuXHRcdH0pO1xuXHRcdGlmICghcmFuZ2UpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblx0XHRjb25zdCBpc1N0YXJ0OiBib29sZWFuID0gcmFuZ2UgJiYgaXNTYW1lRGF5KGRhdGUsIHJhbmdlLnN0YXJ0KTtcblx0XHRjb25zdCBpc0VuZDogYm9vbGVhbiA9IHJhbmdlICYmIHJhbmdlLmVuZCAmJiBpc1NhbWVEYXkoZGF0ZSwgcmFuZ2UuZW5kKTtcblx0XHRyZXR1cm4ge1xuXHRcdFx0cmFuZ2UsXG5cdFx0XHRpc1N0YXJ0LFxuXHRcdFx0aXNFbmQsXG5cdFx0XHRsYWJlbDogcmFuZ2U/LmxhYmVsLFxuXHRcdFx0Y2xhc3M6IHJhbmdlPy5jbGFzcyxcblx0XHR9O1xuXHR9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FsZW5kYXJcIj5cblx0QHN3aXRjaCAoZGlzcGxheU1vZGUoKSkgeyBAY2FzZSAoJ2RheScpIHtcblx0PGRpdiBjbGFzcz1cImNhbGVuZGFyLW5hbWVcIiBpZD1cImNhbGVuZGFyLW5hbWVcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cblx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNhbGVuZGFyLW5hbWUtYnV0dG9uXCIgKGNsaWNrKT1cImRpc3BsYXlNb2RlLnNldCgnbW9udGgnKVwiPnt7IGN1cnJlbnRNb250aExhYmVsKCkgfX08L2J1dHRvbj4mbmdzcDtcblx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNhbGVuZGFyLW5hbWUtYnV0dG9uXCIgKGNsaWNrKT1cImRpc3BsYXlNb2RlLnNldCgneWVhcicpXCI+e3sgY3VycmVudFllYXJMYWJlbCgpIH19PC9idXR0b24+XG5cdFx0PHNwYW4gY2xhc3M9XCJ1LW1hc2tcIj57eyBpbnRsLmRpcmVjdGlvbktleXNUaXAgfX0gPC9zcGFuPlxuXHQ8L2Rpdj5cblx0PHRhYmxlIGNsYXNzPVwiY2FsZW5kYXItdGFibGVcIiByb2xlPVwiZ3JpZFwiIGFyaWEtbGFiZWxsZWRieT1cImNhbGVuZGFyLW5hbWVcIj5cblx0XHQ8dGhlYWQgY2xhc3M9XCJjYWxlbmRhci10YWJsZS1oZWFkXCI+XG5cdFx0XHQ8dHIgY2xhc3M9XCJjYWxlbmRhci10YWJsZS1oZWFkLXJvd1wiPlxuXHRcdFx0XHRAZm9yIChkYXkgb2YgZGF5c09mV2VlazsgdHJhY2sgZGF5LmxvbmcpIHtcblx0XHRcdFx0PHRoIGNsYXNzPVwiY2FsZW5kYXItdGFibGUtaGVhZC1yb3ctY2VsbFwiIHNjb3BlPVwiY29sXCIgW2F0dHIuZGF0YS1jb250ZW50LWFmdGVyXT1cImRheS5zaG9ydC5zdWJzdHJpbmcoMCwgMSlcIj5cblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cInUtbWFza1wiPnt7IGRheS5sb25nIH19PC9zcGFuPlxuXHRcdFx0XHQ8L3RoPlxuXHRcdFx0XHR9XG5cdFx0XHQ8L3RyPlxuXHRcdDwvdGhlYWQ+XG5cdFx0PHRib2R5IGNsYXNzPVwiY2FsZW5kYXItdGFibGUtYm9keVwiPlxuXHRcdFx0QGZvciAod2VlayBvZiBtb250aEdyaWREaXNwbGF5KCk7IHRyYWNrICRpbmRleDsgbGV0IGlzRmlyc3RXZWVrID0gJGZpcnN0OyBsZXQgaXNMYXN0V2VlayA9ICRsYXN0KSB7XG5cdFx0XHQ8dHIgY2xhc3M9XCJjYWxlbmRhci10YWJsZS1ib2R5LXJvd1wiPlxuXHRcdFx0XHQ8dGQgY2xhc3M9XCJjYWxlbmRhci10YWJsZS1ib2R5LXJvdy1jZWxsIGlzLW92ZXJmbG93XCIgKmx1UmVwZWF0VGltZXM9XCJpc0ZpcnN0V2VlayA/IDcgLSB3ZWVrLmxlbmd0aCA6IDBcIj48L3RkPlxuXHRcdFx0XHRAZm9yIChkYXkgb2Ygd2VlazsgdHJhY2sgZGF5SW5kZXg7IGxldCBkYXlJbmRleCA9ICRpbmRleCkge1xuXHRcdFx0XHQ8dGRcblx0XHRcdFx0XHRjbGFzcz1cImNhbGVuZGFyLXRhYmxlLWJvZHktcm93LWNlbGxcIlxuXHRcdFx0XHRcdFtjbGFzcy5pcy1kYXlzT2ZmXT1cImRheS5pc1dlZWtlbmRcIlxuXHRcdFx0XHRcdFtjbGFzcy5pcy1vdmVyZmxvd109XCJkYXkuaXNPdmVyZmxvd1wiXG5cdFx0XHRcdFx0W2NsYXNzLmlzLWN1cnJlbnRdPVwiZGF5LmlzQ3VycmVudFwiXG5cdFx0XHRcdFx0W2F0dHIuYXJpYS1zZWxlY3RlZF09XCJkYXkuc3RhdHVzLnNlbGVjdGVkIHx8ICEhZGF5LnJhbmdlSW5mbz8ucmFuZ2VcIlxuXHRcdFx0XHRcdFtjbGFzcy5pcy1zdGFydF09XCJkYXkucmFuZ2VJbmZvPy5pc1N0YXJ0IHx8IGRheS5zdGF0dXMuc2VsZWN0ZWRcIlxuXHRcdFx0XHRcdFtjbGFzcy5pcy1lbmRdPVwiZGF5LnJhbmdlSW5mbz8uaXNFbmQgfHwgZGF5LnN0YXR1cy5zZWxlY3RlZFwiXG5cdFx0XHRcdFx0W2NsYXNzLmlzLXNlbGVjdGVkXT1cImRheS5yYW5nZUluZm8/LnJhbmdlIHx8IGRheS5zdGF0dXMuc2VsZWN0ZWRcIlxuXHRcdFx0XHRcdFtuZ0NsYXNzXT1cImRheS5jbGFzc2VzXCJcblx0XHRcdFx0PlxuXHRcdFx0XHRcdDxidXR0b25cblx0XHRcdFx0XHRcdFtsdUNhbGVuZGFyMkNlbGxdPVwiZGF5SW5kZXhcIlxuXHRcdFx0XHRcdFx0W2x1Q2FsZW5kYXIyRGF0ZV09XCJkYXkuZGF0ZVwiXG5cdFx0XHRcdFx0XHRsdUNhbGVuZGFyMk1vZGU9XCJkYXlcIlxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJjYWxlbmRhci10YWJsZS1ib2R5LXJvdy1jZWxsLWFjdGlvblwiXG5cdFx0XHRcdFx0XHR0eXBlPVwiYnV0dG9uXCJcblx0XHRcdFx0XHRcdFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGF5LmRpc2FibGVkID8gJ3RydWUnIDogbnVsbFwiXG5cdFx0XHRcdFx0XHQoY2xpY2spPVwiZGF5LmRpc2FibGVkP251bGw6b25DZWxsQ2xpY2tlZChkYXkuZGF0ZSlcIlxuXHRcdFx0XHRcdFx0W2x1VG9vbHRpcF09XCJkYXkubGFiZWxcIlxuXHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdHt7IGRheS5kYXkgfX0gQGlmIChkYXkuaXNDdXJyZW50KSB7XG5cdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cInUtbWFza1wiPih7eyB0b2RheUxhYmVsIH19KTwvc3Bhbj5cblx0XHRcdFx0XHRcdH0gQGlmIChkYXkuaXNXZWVrZW5kKSB7XG5cdFx0XHRcdFx0XHQ8c3ZnIGNsYXNzPVwiY2FsZW5kYXItdGFibGUtYm9keS1yb3ctY2VsbC1hY3Rpb24tc3RyaXBlc1wiPlxuXHRcdFx0XHRcdFx0XHQ8dXNlIGhyZWY9XCIjY2FsZW5kYXItc3RyaXBlcy1zeW1ib2xcIj48L3VzZT5cblx0XHRcdFx0XHRcdDwvc3ZnPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHR9XG5cdFx0XHRcdDx0ZCBjbGFzcz1cImNhbGVuZGFyLXRhYmxlLWJvZHktcm93LWNlbGwgaXMtb3ZlcmZsb3dcIiAqbHVSZXBlYXRUaW1lcz1cImlzTGFzdFdlZWsgPyA3IC0gd2Vlay5sZW5ndGggOiAwXCI+PC90ZD5cblx0XHRcdDwvdHI+XG5cdFx0XHR9XG5cdFx0XHQ8dHIgY2xhc3M9XCJjYWxlbmRhci10YWJsZS1ib2R5LXJvd1wiICpsdVJlcGVhdFRpbWVzPVwiNiAtIG1vbnRoR3JpZERpc3BsYXkoKS5sZW5ndGhcIj5cblx0XHRcdFx0PHRkIGNsYXNzPVwiY2FsZW5kYXItdGFibGUtYm9keS1yb3ctY2VsbFwiICpsdVJlcGVhdFRpbWVzPVwiN1wiPjwvdGQ+XG5cdFx0XHQ8L3RyPlxuXHRcdDwvdGJvZHk+XG5cdDwvdGFibGU+XG5cdEBpZiAoaGFzVG9kYXlCdXR0b24oKSkge1xuXHQ8ZGl2IGNsYXNzPVwiY2FsZW5kYXItZGl2aWRlciBkaXZpZGVyXCI+PC9kaXY+XG5cdDxidXR0b24gY2xhc3M9XCJjYWxlbmRhci10b2RheUxpbmsgbGlua1wiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2xpY2tUb2RheSgpXCI+e3sgdG9kYXlMYWJlbCB9fTwvYnV0dG9uPlxuXHR9XG5cdDxzdmcgY2xhc3M9XCJjYWxlbmRhci1zdHJpcGVzXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cblx0XHQ8c3ltYm9sIGlkPVwiY2FsZW5kYXItc3RyaXBlcy1zeW1ib2xcIiB2aWV3Qm94PVwiMCAwIDYwIDYwXCI+XG5cdFx0XHQ8cGF0aFxuXHRcdFx0XHRjbGFzcz1cImNhbGVuZGFyLXN0cmlwZXMtc3ltYm9sLXBhdGhcIlxuXHRcdFx0XHRkPVwibS00MS44MiA0My4wMyA4NC44NS04NC44NS41My41My04NC44NSA4NC44NXptMi4xMiAyLjEyTDQ1LjE1LTM5LjdsLjUzLjUzLTg0Ljg1IDg0Ljg1em0yLjEyIDIuMTJcblx0XHRcdDg0Ljg1LTg0Ljg1LjUzLjUzLTg0Ljg1IDg0Ljg1em0yLjEyIDIuMTNMNDkuNC0zNS40N2wuNTMuNTMtODQuODUgODQuODV6bTIuMTIgMi4xMVxuXHRcdFx0ODQuODUtODQuODUuNTQuNTMtODQuODYgODQuODZ6bTIuMTIgMi4xMyA4NC44Ni04NC44Ni41My41My04NC44NiA4NC44NnptMi4xMlxuXHRcdFx0Mi4xMkw1NS43Ni0yOS4xbC41My41My04NC44NiA4NC44NnptMi4xMyAyLjEyIDg0Ljg1LTg0Ljg1LjUzLjUzLTg0Ljg1IDg0Ljg1em0yLjEyXG5cdFx0XHQyLjEyTDYwLTI0Ljg1bC41My41My04NC44NSA4NC44NXptMi4xMiAyLjEyIDg0Ljg1LTg0Ljg1LjUzLjUzLTg0Ljg1IDg0Ljg1em0yLjEyXG5cdFx0XHQyLjEyTDY0LjI0LTIwLjZsLjUzLjUzLTg0Ljg1IDg0Ljg1em0yLjEyIDIuMTIgODQuODUtODQuODUuNTMuNTMtODQuODUgODQuODV6bTIuMTJcblx0XHRcdDIuMTNMNjguNS0xNi4zN2wuNTMuNTMtODQuODYgODQuODZ6bTIuMTIgMi4xMSA4NC44Ni04NC44NS41My41My04NC44NiA4NC44NnptMi4xMyAyLjEzXG5cdFx0XHQ4NC44NS04NC44NS41My41My04NC44NSA4NC44NXptMi4xMiAyLjEyTDc0Ljg1LTEwbC41My41My04NC44NSA4NC44NXptMi4xMlxuXHRcdFx0Mi4xMkw3Ni45Ny03Ljg4bC41My41M0wtNy4zNSA3Ny41em0yLjEyIDIuMTNMNzkuMDktNS43N2wuNTMuNTMtODQuODUgODQuODV6bTIuMTJcblx0XHRcdDIuMTFMODEuMjEtMy42NGwuNTMuNTNMLTMuMSA4MS43NHptMi4xMiAyLjEyTDgzLjMzLTEuNTJsLjUzLjUzTC0uOTlcblx0XHRcdDgzLjg2ek0uNiA4NS40NiA4NS40Ni42bC41My41M0wxLjEzIDg2em0yLjEyIDIuMTJMODcuNTggMi43MmwuNTMuNTNMMy4yNSA4OC4xMXptMi4xMyAyLjEyTDg5Ljdcblx0XHRcdDQuODVsLjUzLjUzTDUuMzggOTAuMjN6bTIuMTIgMi4xMkw5MS44MiA2Ljk3bC41My41M0w3LjUgOTIuMzV6bTIuMTIgMi4xMkw5My45NCA5LjFsLjUzLjUzTDkuNjJcblx0XHRcdDk0LjQ3em0yLjEyIDIuMTIgODQuODUtODQuODUuNTMuNTMtODQuODUgODQuODV6bTIuMTIgMi4xMiA4NC44NS04NC44NS41My41My04NC44NSA4NC44NXptMi4xMlxuXHRcdFx0Mi4xMiA4NC44Ni04NC44NS41My41My04NC44NiA4NC44NnpcIlxuXHRcdFx0Lz5cblx0XHQ8L3N5bWJvbD5cblx0PC9zdmc+XG5cdH0gQGNhc2UgKCdtb250aCcpIHtcblx0PGRpdiBjbGFzcz1cImNhbGVuZGFyLW5hbWVcIiBpZD1cImNhbGVuZGFyLXllYXItbmFtZVwiPlxuXHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2FsZW5kYXItbmFtZS1idXR0b25cIiAoY2xpY2spPVwiZGlzcGxheU1vZGUuc2V0KCd5ZWFyJylcIj57eyBjdXJyZW50WWVhckxhYmVsKCkgfX08L2J1dHRvbj5cblx0XHQ8c3BhbiBjbGFzcz1cInUtbWFza1wiPnt7IGludGwuZGlyZWN0aW9uS2V5c1RpcCB9fSA8L3NwYW4+XG5cdDwvZGl2PlxuXHQ8dGFibGUgY2xhc3M9XCJjYWxlbmRhci10YWJsZVwiIHJvbGU9XCJncmlkXCIgYXJpYS1sYWJlbGxlZGJ5PVwiY2FsZW5kYXIteWVhci1uYW1lXCI+XG5cdFx0PHRib2R5IGNsYXNzPVwiY2FsZW5kYXItdGFibGUtYm9keVwiPlxuXHRcdFx0QGZvciAocXVhcnRlciBvZiB5ZWFyR3JpZERpc3BsYXkoKTsgdHJhY2sgJGluZGV4KSB7XG5cdFx0XHQ8dHIgY2xhc3M9XCJjYWxlbmRhci10YWJsZS1ib2R5LXJvd1wiPlxuXHRcdFx0XHRAZm9yIChtb250aCBvZiBxdWFydGVyOyB0cmFjayBtb250aC5kYXRlLmdldFRpbWUoKTsgbGV0IGluZGV4ID0gJGluZGV4KSB7XG5cdFx0XHRcdDx0ZFxuXHRcdFx0XHRcdGNsYXNzPVwiY2FsZW5kYXItdGFibGUtYm9keS1yb3ctY2VsbFwiXG5cdFx0XHRcdFx0W2NsYXNzLmlzLWN1cnJlbnRdPVwibW9udGguaXNDdXJyZW50XCJcblx0XHRcdFx0XHRbY2xhc3MuaXMtc2VsZWN0ZWRdPVwibW9udGguc3RhdHVzLnNlbGVjdGVkXCJcblx0XHRcdFx0XHRbbmdDbGFzc109XCJtb250aC5zdGF0dXMuY2xhc3Nlc1wiXG5cdFx0XHRcdFx0W2F0dHIuYXJpYS1zZWxlY3RlZF09XCJtb250aC5zdGF0dXMuc2VsZWN0ZWRcIlxuXHRcdFx0XHRcdFtjbGFzcy5pcy1zdGFydF09XCJtb250aC5zdGF0dXMuc2VsZWN0ZWRcIlxuXHRcdFx0XHRcdFtjbGFzcy5pcy1lbmRdPVwibW9udGguc3RhdHVzLnNlbGVjdGVkXCJcblx0XHRcdFx0PlxuXHRcdFx0XHRcdDxidXR0b25cblx0XHRcdFx0XHRcdGNsYXNzPVwiY2FsZW5kYXItdGFibGUtYm9keS1yb3ctY2VsbC1hY3Rpb25cIlxuXHRcdFx0XHRcdFx0dHlwZT1cImJ1dHRvblwiXG5cdFx0XHRcdFx0XHRbYXR0ci5kYXRhLWNvbnRlbnQtYWZ0ZXJdPVwibW9udGguc2hvcnRcIlxuXHRcdFx0XHRcdFx0W2x1Q2FsZW5kYXIyQ2VsbF09XCJpbmRleFwiXG5cdFx0XHRcdFx0XHRbbHVDYWxlbmRhcjJEYXRlXT1cIm1vbnRoLmRhdGVcIlxuXHRcdFx0XHRcdFx0W2Rpc2FibGVkXT1cIm1vbnRoLnN0YXR1cy5kaXNhYmxlZFwiXG5cdFx0XHRcdFx0XHQoY2xpY2spPVwib25DZWxsQ2xpY2tlZChtb250aC5kYXRlKVwiXG5cdFx0XHRcdFx0XHRsdUNhbGVuZGFyMk1vZGU9XCJtb250aFwiXG5cdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJ1LW1hc2tcIj57eyBtb250aC5sb25nIH19PC9zcGFuPlxuXHRcdFx0XHRcdFx0QGlmIChtb250aC5pc0N1cnJlbnQpIHtcblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwidS1tYXNrXCI+KHt7IHRoaXNNb250aExhYmVsIH19KTwvc3Bhbj5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHQ8L2J1dHRvbj5cblx0XHRcdFx0PC90ZD5cblx0XHRcdFx0fVxuXHRcdFx0PC90cj5cblx0XHRcdH1cblx0XHQ8L3Rib2R5PlxuXHQ8L3RhYmxlPlxuXHR9IEBjYXNlICgneWVhcicpIHtcblx0PGRpdiBjbGFzcz1cImNhbGVuZGFyLW5hbWVcIiBpZD1cImNhbGVuZGFyLWRlY2FkZS1uYW1lXCI+XG5cdFx0e3sgY3VycmVudERlY2FkZUxhYmVsKCkgfX1cblx0XHQ8c3BhbiBjbGFzcz1cInUtbWFza1wiPnt7IGludGwuZGlyZWN0aW9uS2V5c1RpcCB9fSA8L3NwYW4+XG5cdDwvZGl2PlxuXHQ8dGFibGUgY2xhc3M9XCJjYWxlbmRhci10YWJsZVwiIHJvbGU9XCJncmlkXCIgYXJpYS1sYWJlbGxlZGJ5PVwiY2FsZW5kYXItZGVjYWRlLW5hbWVcIj5cblx0XHQ8dGJvZHkgY2xhc3M9XCJjYWxlbmRhci10YWJsZS1ib2R5XCI+XG5cdFx0XHRAZm9yIChyb3cgb2YgZGVjYWRlR3JpZERpc3BsYXkoKTsgdHJhY2sgJGluZGV4OyBsZXQgZmlyc3RSb3cgPSAkZmlyc3Q7IGxldCBsYXN0Um93ID0gJGxhc3QpIHtcblx0XHRcdDx0ciBjbGFzcz1cImNhbGVuZGFyLXRhYmxlLWJvZHktcm93XCI+XG5cdFx0XHRcdEBmb3IgKHllYXIgb2Ygcm93OyB0cmFjayB5ZWFyLmRhdGUuZ2V0VGltZSgpOyBsZXQgaW5kZXggPSAkaW5kZXg7IGxldCBmaXJzdENlbGwgPSAkZmlyc3Q7IGxldCBsYXN0Q2VsbCA9ICRsYXN0KSB7XG5cdFx0XHRcdDx0ZFxuXHRcdFx0XHRcdGNsYXNzPVwiY2FsZW5kYXItdGFibGUtYm9keS1yb3ctY2VsbFwiXG5cdFx0XHRcdFx0W2NsYXNzLmlzLW92ZXJmbG93XT1cIihmaXJzdFJvdyAmJiBmaXJzdENlbGwpIHx8IChsYXN0Um93ICYmIGxhc3RDZWxsKVwiXG5cdFx0XHRcdFx0W2NsYXNzLmlzLWN1cnJlbnRdPVwieWVhci5pc0N1cnJlbnRcIlxuXHRcdFx0XHRcdFtjbGFzcy5pcy1zZWxlY3RlZF09XCJ5ZWFyLnN0YXR1cy5zZWxlY3RlZFwiXG5cdFx0XHRcdFx0W2F0dHIuYXJpYS1zZWxlY3RlZF09XCJ5ZWFyLnN0YXR1cy5zZWxlY3RlZFwiXG5cdFx0XHRcdFx0W25nQ2xhc3NdPVwieWVhci5zdGF0dXMuY2xhc3Nlc1wiXG5cdFx0XHRcdFx0W2NsYXNzLmlzLXN0YXJ0XT1cInllYXIuc3RhdHVzLnNlbGVjdGVkXCJcblx0XHRcdFx0XHRbY2xhc3MuaXMtZW5kXT1cInllYXIuc3RhdHVzLnNlbGVjdGVkXCJcblx0XHRcdFx0PlxuXHRcdFx0XHRcdDxidXR0b25cblx0XHRcdFx0XHRcdGNsYXNzPVwiY2FsZW5kYXItdGFibGUtYm9keS1yb3ctY2VsbC1hY3Rpb25cIlxuXHRcdFx0XHRcdFx0dHlwZT1cImJ1dHRvblwiXG5cdFx0XHRcdFx0XHRbbHVDYWxlbmRhcjJDZWxsXT1cImluZGV4XCJcblx0XHRcdFx0XHRcdFtkaXNhYmxlZF09XCJ5ZWFyLnN0YXR1cy5kaXNhYmxlZFwiXG5cdFx0XHRcdFx0XHRbbHVDYWxlbmRhcjJEYXRlXT1cInllYXIuZGF0ZVwiXG5cdFx0XHRcdFx0XHRsdUNhbGVuZGFyMk1vZGU9XCJ5ZWFyXCJcblx0XHRcdFx0XHRcdChjbGljayk9XCJvbkNlbGxDbGlja2VkKHllYXIuZGF0ZSlcIlxuXHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdHt7IHllYXIubGFiZWwgfX0gQGlmICh5ZWFyLmlzQ3VycmVudCkge1xuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJ1LW1hc2tcIj4oe3sgdGhpc1llYXJMYWJlbCB9fSk8L3NwYW4+XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0PC9idXR0b24+XG5cdFx0XHRcdDwvdGQ+XG5cdFx0XHRcdH1cblx0XHRcdDwvdHI+XG5cdFx0XHR9XG5cdFx0PC90Ym9keT5cblx0PC90YWJsZT5cblx0fSB9XG48L2Rpdj5cbiJdfQ==