@designsystem-se/af 39.2.2 → 39.2.3

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 (196) hide show
  1. package/components/digi-expandable-accordion.js +18 -11
  2. package/components/digi-expandable-faq-item.js +21 -14
  3. package/components/digi-info-card.js +3 -3
  4. package/custom-elements.json +1 -1
  5. package/dist/cjs/badge-notification-shape.enum-CEyEo2G5.js +8 -0
  6. package/dist/cjs/button-size.enum-DgyvMkwE.js +7 -0
  7. package/dist/cjs/{button-variation.enum-ngMqFLdW.js → button-variation.enum-DkUalo9f.js} +0 -6
  8. package/dist/cjs/{calendar-week-view-heading-level.enum-BI2f9bbk.js → calendar-week-view-heading-level.enum-NEkm5SUq.js} +0 -7
  9. package/dist/cjs/digi-arbetsformedlingen.cjs.js +1 -1
  10. package/dist/cjs/digi-badge-notification.cjs.entry.js +65 -0
  11. package/dist/cjs/digi-button.cjs.entry.js +131 -0
  12. package/dist/cjs/{digi-badge-notification_8.cjs.entry.js → digi-calendar-week-view.cjs.entry.js} +72 -645
  13. package/dist/cjs/{digi-calendar-datepicker.cjs.entry.js → digi-calendar_19.cjs.entry.js} +1613 -56
  14. package/dist/cjs/digi-code-block_3.cjs.entry.js +8 -13
  15. package/dist/cjs/digi-code-example.cjs.entry.js +4 -3
  16. package/dist/cjs/digi-dialog.cjs.entry.js +8 -13
  17. package/dist/cjs/digi-footer.cjs.entry.js +7 -12
  18. package/dist/cjs/digi-form-error-list.cjs.entry.js +7 -12
  19. package/dist/cjs/digi-form-file-upload.cjs.entry.js +9 -10
  20. package/dist/cjs/digi-form-input-search.cjs.entry.js +5 -6
  21. package/dist/cjs/digi-form-receipt.cjs.entry.js +7 -12
  22. package/dist/cjs/digi-form-select-filter.cjs.entry.js +8 -13
  23. package/dist/cjs/digi-header-navigation.cjs.entry.js +7 -12
  24. package/dist/cjs/digi-header.cjs.entry.js +7 -12
  25. package/dist/cjs/digi-info-card.cjs.entry.js +3 -3
  26. package/dist/cjs/digi-navigation-pagination.cjs.entry.js +7 -12
  27. package/dist/cjs/digi-notification-alert.cjs.entry.js +7 -12
  28. package/dist/cjs/digi-notification-error-page.cjs.entry.js +7 -12
  29. package/dist/cjs/digi-tablist-panel.cjs.entry.js +20 -0
  30. package/dist/cjs/digi-tablist.cjs.entry.js +312 -0
  31. package/dist/cjs/digi-title-logo.cjs.entry.js +7 -12
  32. package/dist/cjs/digi-tools-feedback.cjs.entry.js +9 -14
  33. package/dist/cjs/{form-input-type.enum-DvF_MTHK.js → form-input-type.enum-CCCcY8gv.js} +7 -0
  34. package/dist/cjs/{form-file-upload-variation.enum-xcEOoggr.js → form-validation-message-variation.enum-DgkifAnP.js} +7 -0
  35. package/dist/cjs/index-Cn1hHaSy.js +16 -40
  36. package/dist/cjs/{index-Bdlw-Iuy.js → index-DUQtADgG.js} +189 -19
  37. package/dist/cjs/index.cjs.js +64 -69
  38. package/dist/cjs/loader.cjs.js +1 -1
  39. package/dist/cjs/{typography-variation.enum-BDSt7CVI.js → typography-variation.enum-CVUvogxJ.js} +86 -0
  40. package/dist/collection/components/_expandable/expandable-accordion/expandable-accordion.js +18 -11
  41. package/dist/collection/components/_expandable/expandable-faq-item/expandable-faq-item.js +21 -14
  42. package/dist/collection/components/_info-card/info-card/info-card.js +5 -5
  43. package/dist/collection/design-tokens/components/_logo.variables.scss +0 -2
  44. package/dist/digi-arbetsformedlingen/digi-arbetsformedlingen.esm.js +1 -1
  45. package/dist/digi-arbetsformedlingen/index.esm.js +1 -1
  46. package/dist/digi-arbetsformedlingen/p-0230ec9b.entry.js +1 -0
  47. package/dist/digi-arbetsformedlingen/p-0394e694.entry.js +1 -0
  48. package/dist/digi-arbetsformedlingen/p-04bbbd14.entry.js +1 -0
  49. package/dist/digi-arbetsformedlingen/p-0cf25433.entry.js +1 -0
  50. package/dist/digi-arbetsformedlingen/p-17824a0b.entry.js +1 -0
  51. package/dist/digi-arbetsformedlingen/p-25815f15.entry.js +1 -0
  52. package/dist/digi-arbetsformedlingen/p-3d4ac22e.entry.js +1 -0
  53. package/dist/digi-arbetsformedlingen/p-4aefce1e.entry.js +1 -0
  54. package/dist/digi-arbetsformedlingen/p-5ee5766d.entry.js +1 -0
  55. package/dist/digi-arbetsformedlingen/p-870a00f8.entry.js +1 -0
  56. package/dist/digi-arbetsformedlingen/p-88dc2ed4.entry.js +1 -0
  57. package/dist/digi-arbetsformedlingen/p-9n7Okhf1.js +1 -0
  58. package/dist/digi-arbetsformedlingen/p-C6S1HfeA.js +1 -0
  59. package/dist/digi-arbetsformedlingen/p-C7xgnp99.js +1 -0
  60. package/dist/digi-arbetsformedlingen/p-CKoZU0-H.js +1 -0
  61. package/dist/digi-arbetsformedlingen/p-Cnyfh_8_.js +1 -0
  62. package/dist/digi-arbetsformedlingen/{p-DwNlf6Sh.js → p-DH_-wpLB.js} +1 -1
  63. package/dist/digi-arbetsformedlingen/p-Zivp2NJB.js +1 -0
  64. package/dist/digi-arbetsformedlingen/p-a29b6fff.entry.js +1 -0
  65. package/dist/digi-arbetsformedlingen/{p-375ea6f8.entry.js → p-ace2e5fd.entry.js} +1 -1
  66. package/dist/digi-arbetsformedlingen/p-b411a549.entry.js +1 -0
  67. package/dist/digi-arbetsformedlingen/p-b7712996.entry.js +1 -0
  68. package/dist/digi-arbetsformedlingen/p-bfccf413.entry.js +1 -0
  69. package/dist/digi-arbetsformedlingen/p-cdd65abb.entry.js +1 -0
  70. package/dist/digi-arbetsformedlingen/p-d4406627.entry.js +1 -0
  71. package/dist/digi-arbetsformedlingen/p-dd95c75e.entry.js +1 -0
  72. package/dist/digi-arbetsformedlingen/p-e5396b1e.entry.js +1 -0
  73. package/dist/digi-arbetsformedlingen/p-e7c10f6a.entry.js +1 -0
  74. package/dist/digi-arbetsformedlingen/p-f91295ac.entry.js +1 -0
  75. package/dist/digi-arbetsformedlingen/p-ffb4fac6.entry.js +1 -0
  76. package/dist/digi-arbetsformedlingen/p-y5Nm4oWF.js +1 -0
  77. package/dist/esm/badge-notification-shape.enum-CKoZU0-H.js +8 -0
  78. package/dist/esm/button-size.enum-C7xgnp99.js +7 -0
  79. package/dist/esm/{button-variation.enum-BMQm4N5I.js → button-variation.enum-y5Nm4oWF.js} +1 -7
  80. package/dist/esm/{calendar-week-view-heading-level.enum-BBOpiDGx.js → calendar-week-view-heading-level.enum-DH_-wpLB.js} +1 -8
  81. package/dist/esm/digi-arbetsformedlingen.js +1 -1
  82. package/dist/esm/digi-badge-notification.entry.js +63 -0
  83. package/dist/esm/digi-button.entry.js +129 -0
  84. package/dist/esm/{digi-badge-notification_8.entry.js → digi-calendar-week-view.entry.js} +6 -572
  85. package/dist/esm/{digi-calendar-datepicker.entry.js → digi-calendar_19.entry.js} +1557 -18
  86. package/dist/esm/digi-code-block_3.entry.js +7 -12
  87. package/dist/esm/digi-code-example.entry.js +2 -1
  88. package/dist/esm/digi-dialog.entry.js +7 -12
  89. package/dist/esm/digi-footer.entry.js +7 -12
  90. package/dist/esm/digi-form-error-list.entry.js +7 -12
  91. package/dist/esm/digi-form-file-upload.entry.js +1 -2
  92. package/dist/esm/digi-form-input-search.entry.js +1 -2
  93. package/dist/esm/digi-form-receipt.entry.js +7 -12
  94. package/dist/esm/digi-form-select-filter.entry.js +7 -12
  95. package/dist/esm/digi-header-navigation.entry.js +7 -12
  96. package/dist/esm/digi-header.entry.js +7 -12
  97. package/dist/esm/digi-info-card.entry.js +3 -3
  98. package/dist/esm/digi-navigation-pagination.entry.js +7 -12
  99. package/dist/esm/digi-notification-alert.entry.js +7 -12
  100. package/dist/esm/digi-notification-error-page.entry.js +7 -12
  101. package/dist/esm/digi-tablist-panel.entry.js +18 -0
  102. package/dist/esm/digi-tablist.entry.js +310 -0
  103. package/dist/esm/digi-title-logo.entry.js +7 -12
  104. package/dist/esm/digi-tools-feedback.entry.js +7 -12
  105. package/dist/esm/{form-input-type.enum-BSJH8Lpg.js → form-input-type.enum-C6S1HfeA.js} +8 -1
  106. package/dist/esm/{form-file-upload-variation.enum-BfyJgcLA.js → form-validation-message-variation.enum-9n7Okhf1.js} +8 -1
  107. package/dist/esm/index-BnKuq1L7.js +16 -40
  108. package/dist/esm/{index-B1Je6g2n.js → index-Cnyfh_8_.js} +170 -3
  109. package/dist/esm/index.js +7 -12
  110. package/dist/esm/loader.js +1 -1
  111. package/dist/esm/{typography-variation.enum-4smNltRI.js → typography-variation.enum-Zivp2NJB.js} +87 -1
  112. package/dist/types/components/_info-card/info-card/info-card.d.ts +2 -2
  113. package/dist/types/components.d.ts +4 -4
  114. package/hydrate/index.js +42 -28
  115. package/hydrate/index.mjs +42 -28
  116. package/package.json +1 -1
  117. package/dist/cjs/digi-calendar_2.cjs.entry.js +0 -490
  118. package/dist/cjs/digi-expandable-accordion.cjs.entry.js +0 -121
  119. package/dist/cjs/digi-expandable-faq-item.cjs.entry.js +0 -119
  120. package/dist/cjs/digi-form-input.cjs.entry.js +0 -205
  121. package/dist/cjs/digi-form-label_3.cjs.entry.js +0 -147
  122. package/dist/cjs/digi-form-select_2.cjs.entry.js +0 -201
  123. package/dist/cjs/digi-icon-chevron-down.cjs.entry.js +0 -28
  124. package/dist/cjs/digi-icon-validation-error_2.cjs.entry.js +0 -51
  125. package/dist/cjs/digi-typography-heading-jumbo.cjs.entry.js +0 -46
  126. package/dist/cjs/digi-util-keydown-handler.cjs.entry.js +0 -81
  127. package/dist/cjs/expandable-accordion-header-level.enum-CjL9V3Kt.js +0 -11
  128. package/dist/cjs/expandable-faq-item-variation.enum-aKkYAQgd.js +0 -18
  129. package/dist/cjs/form-input-search-variation.enum-VVfvlVeM.js +0 -8
  130. package/dist/cjs/form-input-variation.enum-kpoXNUuI.js +0 -29
  131. package/dist/cjs/form-select-variation.enum-e6wjWyaS.js +0 -16
  132. package/dist/cjs/form-validation-message-variation.enum-BA5nmCiw.js +0 -8
  133. package/dist/cjs/index-Snltmefx.js +0 -174
  134. package/dist/cjs/index-r0sb9TCr.js +0 -66
  135. package/dist/cjs/typography-heading-jumbo-variation.enum-Di1Jeh0G.js +0 -17
  136. package/dist/digi-arbetsformedlingen/p-037a35bd.entry.js +0 -1
  137. package/dist/digi-arbetsformedlingen/p-0f7e995a.entry.js +0 -1
  138. package/dist/digi-arbetsformedlingen/p-26f6a310.entry.js +0 -1
  139. package/dist/digi-arbetsformedlingen/p-3239fb1a.entry.js +0 -1
  140. package/dist/digi-arbetsformedlingen/p-3b42582a.entry.js +0 -1
  141. package/dist/digi-arbetsformedlingen/p-3c1f9629.entry.js +0 -1
  142. package/dist/digi-arbetsformedlingen/p-4384644b.entry.js +0 -1
  143. package/dist/digi-arbetsformedlingen/p-4ddcae7b.entry.js +0 -1
  144. package/dist/digi-arbetsformedlingen/p-4smNltRI.js +0 -1
  145. package/dist/digi-arbetsformedlingen/p-569c628c.entry.js +0 -1
  146. package/dist/digi-arbetsformedlingen/p-668d38d9.entry.js +0 -1
  147. package/dist/digi-arbetsformedlingen/p-66f34ca5.entry.js +0 -1
  148. package/dist/digi-arbetsformedlingen/p-6931825c.entry.js +0 -1
  149. package/dist/digi-arbetsformedlingen/p-6cb1c6ea.entry.js +0 -1
  150. package/dist/digi-arbetsformedlingen/p-71a8478d.entry.js +0 -1
  151. package/dist/digi-arbetsformedlingen/p-7688502e.entry.js +0 -1
  152. package/dist/digi-arbetsformedlingen/p-91265ee0.entry.js +0 -1
  153. package/dist/digi-arbetsformedlingen/p-9a4eecde.entry.js +0 -1
  154. package/dist/digi-arbetsformedlingen/p-9df345c4.entry.js +0 -1
  155. package/dist/digi-arbetsformedlingen/p-B8hpiXmh.js +0 -1
  156. package/dist/digi-arbetsformedlingen/p-BBOpiDGx.js +0 -1
  157. package/dist/digi-arbetsformedlingen/p-BMQm4N5I.js +0 -1
  158. package/dist/digi-arbetsformedlingen/p-BSJH8Lpg.js +0 -1
  159. package/dist/digi-arbetsformedlingen/p-BfyJgcLA.js +0 -1
  160. package/dist/digi-arbetsformedlingen/p-BixPaBHw.js +0 -1
  161. package/dist/digi-arbetsformedlingen/p-BvWKyXb_.js +0 -1
  162. package/dist/digi-arbetsformedlingen/p-C6B2KRZo.js +0 -1
  163. package/dist/digi-arbetsformedlingen/p-CgSR-RTl.js +0 -1
  164. package/dist/digi-arbetsformedlingen/p-DCS1KcvC.js +0 -1
  165. package/dist/digi-arbetsformedlingen/p-DNjGvZvz.js +0 -1
  166. package/dist/digi-arbetsformedlingen/p-DfWZa2Wv.js +0 -1
  167. package/dist/digi-arbetsformedlingen/p-a9a1bf57.entry.js +0 -1
  168. package/dist/digi-arbetsformedlingen/p-beebbc90.entry.js +0 -1
  169. package/dist/digi-arbetsformedlingen/p-c7ade486.entry.js +0 -1
  170. package/dist/digi-arbetsformedlingen/p-d065e751.entry.js +0 -1
  171. package/dist/digi-arbetsformedlingen/p-d07a1377.entry.js +0 -1
  172. package/dist/digi-arbetsformedlingen/p-d0b3c35b.entry.js +0 -1
  173. package/dist/digi-arbetsformedlingen/p-d150094c.entry.js +0 -1
  174. package/dist/digi-arbetsformedlingen/p-df8efa59.entry.js +0 -1
  175. package/dist/digi-arbetsformedlingen/p-e2b0b070.entry.js +0 -1
  176. package/dist/digi-arbetsformedlingen/p-e7b311da.entry.js +0 -1
  177. package/dist/digi-arbetsformedlingen/p-xwICssEK.js +0 -1
  178. package/dist/esm/digi-calendar_2.entry.js +0 -487
  179. package/dist/esm/digi-expandable-accordion.entry.js +0 -119
  180. package/dist/esm/digi-expandable-faq-item.entry.js +0 -117
  181. package/dist/esm/digi-form-input.entry.js +0 -203
  182. package/dist/esm/digi-form-label_3.entry.js +0 -143
  183. package/dist/esm/digi-form-select_2.entry.js +0 -198
  184. package/dist/esm/digi-icon-chevron-down.entry.js +0 -26
  185. package/dist/esm/digi-icon-validation-error_2.entry.js +0 -48
  186. package/dist/esm/digi-typography-heading-jumbo.entry.js +0 -44
  187. package/dist/esm/digi-util-keydown-handler.entry.js +0 -79
  188. package/dist/esm/expandable-accordion-header-level.enum-DwNlf6Sh.js +0 -11
  189. package/dist/esm/expandable-faq-item-variation.enum-C6B2KRZo.js +0 -18
  190. package/dist/esm/form-input-search-variation.enum-BvWKyXb_.js +0 -8
  191. package/dist/esm/form-input-variation.enum-DfWZa2Wv.js +0 -29
  192. package/dist/esm/form-select-variation.enum-DCS1KcvC.js +0 -16
  193. package/dist/esm/form-validation-message-variation.enum-B8hpiXmh.js +0 -8
  194. package/dist/esm/index-BixPaBHw.js +0 -170
  195. package/dist/esm/index-BsIL3T_0.js +0 -63
  196. package/dist/esm/typography-heading-jumbo-variation.enum-DNjGvZvz.js +0 -17
@@ -1,490 +0,0 @@
1
- 'use strict';
2
-
3
- var index = require('./index-Cn1hHaSy.js');
4
- var randomIdGenerator_util = require('./randomIdGenerator.util-C8XR2Tn1.js');
5
- var detectClickOutside_util = require('./detectClickOutside.util-DKR8Sdiw.js');
6
- var detectFocusOutside_util = require('./detectFocusOutside.util-BNHrXMJ2.js');
7
- var logger_util = require('./logger.util-DUhrcCTY.js');
8
- var text = require('./text-Cu3CaHGj.js');
9
- var index$1 = require('./index-Snltmefx.js');
10
- var index$2 = require('./index-r0sb9TCr.js');
11
- require('./detectClosest.util-D1z809xM.js');
12
-
13
- const calendarCss = () => `.sc-digi-calendar-h{--digi--calendar--display:inline-block;--digi--calendar--header--font-family:var(--digi--global--typography--font-family--default);--digi--calendar--header--font-weight:var(--digi--global--typography--font-weight--semibold);--digi--calendar--header--display:flex;--digi--calendar--header--align-items:center;--digi--calendar--header--justify-content:space-between;--digi--calendar--header--text-align:center;--digi--calendar--header--button--padding:var(--digi--gutter--medium) var(--digi--gutter--largest);--digi--calendar--header--button--background:transparent;--digi--calendar--header--button--box-shadow:none;--digi--calendar--header--button--background--hover:var(--digi--color--background--interactive--hover--secondary);--digi--calendar--table--border-spacing:0;--digi--calendar--table--border-collapse:collapse;--digi--calendar--table--font-family:var(--digi--global--typography--font-family--default);--digi--calendar--table--font-weight:var(--digi--global--typography--font-weight--semibold);--digi--calendar--table-header--padding:var(--digi--gutter--larger) 0;--digi--calendar--table-header--font-weight-normal:var(--digi--typography--body--font-weight--desktop);--digi--calendar--date--border-color:none;--digi--calendar--date--box-shadow:none;--digi--calendar--date--background-color:var(--digi--color--background--interactive--default--secondary);--digi--calendar--date--background-color--hover:var(--digi--color--background--interactive--hover--secondary);--digi--calendar--date--padding:var(--digi--gutter--large);--digi--calendar--date--color:var(--digi--color--text--primary);--digi--calendar--date--focused--background-color:var(--digi--color--background--interactive--hover--secondary);--digi--calendar--date--today--circle-border:2px solid var(--digi--color--marking--indication--secondary);--digi--calendar--date--today--circle-margin:10%;--digi--calendar--date--selected--color:var(--digi--color--text--interactive--secondary);--digi--calendar--date--selected--background-color:var(--digi--color--background--interactive--selected--primary);--digi--calendar--date--not-selectable-strike--color:var(--digi--color--marking--indication--tertiary);--digi--calendar--week--font-style:italic;--digi--calendar--week--font-size:var(--digi--global--typography--font-size--small);--digi--calendar--week--border-color:var(--digi--color--divider--primary);--digi--calendar--week--border-width:var(--digi--border-width--primary)}.sc-digi-calendar-h .digi-calendar.sc-digi-calendar{display:var(--digi--calendar--display);background:var(--digi--calendar--header--button--background);padding:0px 1px 3px 1px;overflow:hidden;max-width:23.4375rem}.sc-digi-calendar-h .digi-calendar--hide.sc-digi-calendar{--digi--calendar--display:none}.sc-digi-calendar-h .digi-calendar__header.sc-digi-calendar{display:var(--digi--calendar--header--display);align-items:var(--digi--calendar--header--align-items);justify-content:var(--digi--calendar--header--justify-content);text-align:var(--digi--calendar--header--text-align);font-size:var(--digi--global--typography--font-size--base);font-family:var(--digi--calendar--header--font-family);font-weight:var(--digi--calendar--header--font-weight)}.sc-digi-calendar-h .digi-calendar__header--year-select.sc-digi-calendar{display:inherit;justify-content:center;margin:0 auto}.sc-digi-calendar-h .digi-calendar__header--year-select.sc-digi-calendar digi-form-select.sc-digi-calendar:first-child{margin-right:var(--digi--padding--smaller)}.sc-digi-calendar-h .digi-calendar__header--year-select.sc-digi-calendar digi-form-select.sc-digi-calendar:last-child{width:5rem}.sc-digi-calendar-h .digi-calendar__header--year-select.sc-digi-calendar digi-form-select.sc-digi-calendar select.sc-digi-calendar{padding-inline-end:2rem}.sc-digi-calendar-h .digi-calendar__header--month-step.sc-digi-calendar{flex:auto;display:inherit;align-items:inherit;justify-content:inherit}.sc-digi-calendar-h .digi-calendar__header--month-step.sc-digi-calendar .digi-calendar__month-select-name.sc-digi-calendar{padding-inline:var(--digi--padding--smaller)}.sc-digi-calendar-h .digi-calendar__header--month-step.sc-digi-calendar .digi-calendar__month-select-button.sc-digi-calendar{font-family:inherit;font-size:inherit;font-weight:inherit;color:var(--digi--calendar--date--color);display:flex;align-items:center;background:var(--digi--calendar--header--button--background);border:var(--digi--calendar--date--box-shadow);padding:var(--digi--calendar--header--button--padding)}.sc-digi-calendar-h .digi-calendar__header--month-step.sc-digi-calendar .digi-calendar__month-select-button.sc-digi-calendar:last-child{border-radius:0 4px 0 0}.sc-digi-calendar-h .digi-calendar__header--month-step.sc-digi-calendar .digi-calendar__month-select-button.sc-digi-calendar:first-child{border-radius:4px 0 0 0}.sc-digi-calendar-h .digi-calendar__header--month-step.sc-digi-calendar .digi-calendar__month-select-button.sc-digi-calendar:focus-visible:not(.digi-calendar__date--not-selectable),.sc-digi-calendar-h .digi-calendar__header--month-step.sc-digi-calendar .digi-calendar__month-select-button.sc-digi-calendar:active:not(.digi-calendar__date--not-selectable){--digi--calendar--header--button--background:var(--digi--calendar--header--button--background--hover);text-decoration:underline;cursor:pointer}@media (any-hover: hover){.sc-digi-calendar-h .digi-calendar__header--month-step.sc-digi-calendar .digi-calendar__month-select-button.sc-digi-calendar:hover:not(.digi-calendar__date--not-selectable){--digi--calendar--header--button--background:var(--digi--calendar--header--button--background--hover);text-decoration:underline;cursor:pointer}}.sc-digi-calendar-h .digi-calendar__header--month-step.sc-digi-calendar .digi-calendar__month-select-button.sc-digi-calendar:focus-visible{outline:2px solid black;outline-offset:-3px;box-shadow:0px 0px 0px 5px inset white}.sc-digi-calendar-h .digi-calendar__table.sc-digi-calendar{border-collapse:var(--digi--calendar--table--border-collapse);border-spacing:var(--digi--calendar--table--border-spacing);font-family:var(--digi--calendar--table--font-family);table-layout:fixed;margin-bottom:var(--digi--margin--medium)}.sc-digi-calendar-h .digi-calendar__table.sc-digi-calendar th.sc-digi-calendar{text-align:center}.sc-digi-calendar-h .digi-calendar__table-header-week.sc-digi-calendar{font-style:italic;padding:var(--digi--calendar--table-header--padding);font-weight:var(--digi--calendar--table-header--font-weight-normal);width:50px}.sc-digi-calendar-h .digi-calendar__table-header.sc-digi-calendar{padding:var(--digi--calendar--table-header--padding);font-weight:var(--digi--calendar--table--font-weight);width:46px}.sc-digi-calendar-h .digi-calendar__td-week.sc-digi-calendar{border-right:var(--digi--calendar--week--border-width) solid var(--digi--calendar--week--border-color)}.sc-digi-calendar-h .digi-calendar__td.sc-digi-calendar{text-align:right}.sc-digi-calendar-h .digi-calendar__date--week-number.sc-digi-calendar{font-style:var(--digi--calendar--week--font-style);font-size:var(--digi--calendar--week--font-size);display:table-cell;text-align:center}.sc-digi-calendar-h .digi-calendar__date--week-number.sc-digi-calendar:hover{cursor:default}.sc-digi-calendar-h .digi-calendar__date.sc-digi-calendar{position:relative;padding:var(--digi--calendar--date--padding);color:var(--digi--calendar--date--color);background-color:var(--digi--calendar--date--background-color);border-color:var(--digi--calendar--date--border-color);border-radius:var(--digi--border-radius--secondary);font-family:inherit;font-size:inherit;font-weight:inherit;text-align:center;border:none;width:44px;height:44px}.sc-digi-calendar-h .digi-calendar__date--disabled.sc-digi-calendar{--digi--calendar--date--color:transparent;pointer-events:none}.sc-digi-calendar-h .digi-calendar__date--today.sc-digi-calendar{position:relative}.sc-digi-calendar-h .digi-calendar__date--today.sc-digi-calendar::after{display:block;content:" ";position:absolute;top:var(--digi--calendar--date--today--circle-margin);bottom:var(--digi--calendar--date--today--circle-margin);left:var(--digi--calendar--date--today--circle-margin);right:var(--digi--calendar--date--today--circle-margin);border:var(--digi--calendar--date--today--circle-border);border-radius:50%}.sc-digi-calendar-h .digi-calendar__date--today.digi-calendar__date--selected.sc-digi-calendar::after{border-color:var(--digi--color--icon--secondary)}@media (any-hover: hover){.sc-digi-calendar-h .digi-calendar__date.sc-digi-calendar:hover:not(.digi-calendar__date--not-selectable){cursor:pointer}.sc-digi-calendar-h .digi-calendar__date.sc-digi-calendar:hover:not(.digi-calendar__date--not-selectable):not(.digi-calendar__date--selected){--digi--calendar--date--box-shadow:var(--digi--calendar--date--box-shadow--hover);--digi--calendar--date--background-color:var(--digi--calendar--date--background-color--hover)}.sc-digi-calendar-h .digi-calendar__date.sc-digi-calendar:hover:not(.digi-calendar__date--not-selectable) span.sc-digi-calendar{text-decoration:underline}}.sc-digi-calendar-h .digi-calendar__date--selected.sc-digi-calendar{--digi--calendar--date--background-color:var(--digi--calendar--date--selected--background-color);--digi--calendar--date--color:var(--digi--calendar--date--selected--color)}.sc-digi-calendar-h .digi-calendar__date--selected.sc-digi-calendar:hover{--digi--calendar--date--background-color:var(--digi--calendar--date--selected--background-color)}.sc-digi-calendar-h .digi-calendar__date--selected.sc-digi-calendar:hover span.sc-digi-calendar{text-decoration:none}.sc-digi-calendar-h .digi-calendar__date--selected.sc-digi-calendar:focus-visible{outline:2px solid black;outline-offset:-3px;box-shadow:0px 0px 0px 5px inset white}.sc-digi-calendar-h .digi-calendar__date--not-selectable.sc-digi-calendar{cursor:not-allowed}.sc-digi-calendar-h .digi-calendar__date--not-selectable.sc-digi-calendar::after{display:block;content:" ";width:0px;height:100%;border:1px solid #757575;transform:rotate(-45deg);position:absolute;top:0%;left:50%}.sc-digi-calendar-h .digi-calendar__date--focused.sc-digi-calendar:focus-visible:not(.digi-calendar__date--selected):not(.digi-calendar__date--not-selectable){--digi--calendar--date--background-color:var(--digi--calendar--date--focused--background-color);outline:2px solid black;outline-offset:-3px;box-shadow:0px 0px 0px 5px inset white}.sc-digi-calendar-s digi-form-label{border:0;clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}`;
14
-
15
- const Calendar = class {
16
- constructor(hostRef) {
17
- index.registerInstance(this, hostRef);
18
- this.afOnDateSelectedChange = index.createEvent(this, "afOnDateSelectedChange", 7);
19
- this.afOnFocusOutside = index.createEvent(this, "afOnFocusOutside", 7);
20
- this.afOnClickOutside = index.createEvent(this, "afOnClickOutside", 7);
21
- this.afOnDirty = index.createEvent(this, "afOnDirty", 7);
22
- this.selectedDates = [];
23
- this.dirty = false;
24
- /**
25
- * Prefix för komponentens 'id'-attribut. Ex. 'my-cool-id' genererar 'my-cool-id-calendar'. Ges inget värde genereras ett slumpmässigt.
26
- * @en Prefix for the component's 'id' attribute. Example: 'my-cool-id' generates 'my-cool-id-calendar'. Defaults to random string.
27
- */
28
- this.afId = randomIdGenerator_util.randomIdGenerator('digi-calendar');
29
- /**
30
- * Visa veckonummer i kalender
31
- * @en Show week number in the calendar
32
- */
33
- this.afShowWeekNumber = false;
34
- /**
35
- * Valda datum i kalendern
36
- * @en Selected dates in calendar
37
- */
38
- this.afSelectedDates = [];
39
- /**
40
- * Visar eller döljer kalendern.
41
- * @en Toggle calendar hide/show.
42
- */
43
- this.afActive = true;
44
- /**
45
- * Sätt denna till true för att tillåta val av flera datum
46
- * @en Set this to true to be able to allow selection of multiple dates
47
- */
48
- this.afMultipleDates = false;
49
- /**
50
- * Sätt denna till true för att visa väljare för år
51
- * @en Set this to true to be show year selector
52
- */
53
- this.afYearSelect = false;
54
- this.activeCalendar = [];
55
- }
56
- focusedDateChanged() {
57
- this.drawCalendar(this.focusedDate);
58
- }
59
- afOpenCalendarToChangeHandler() {
60
- this.determineFocusedDate();
61
- }
62
- afShowWeekNumberChangeHandler() {
63
- this.drawCalendar(this.focusedDate);
64
- }
65
- afSelectedDateChangeHandler() {
66
- this.afSelectedDates = index$1.isValid(this.afSelectedDate)
67
- ? [this.afSelectedDate]
68
- : [];
69
- }
70
- afSelectedDatesChangeHandler() {
71
- if (this.afSelectedDates.length > 0) {
72
- if (this.afMultipleDates) {
73
- const invalidDate = this.afSelectedDates.find((date) => !index$1.isValid(date));
74
- if (invalidDate === undefined) {
75
- this.selectedDates = this.afSelectedDates;
76
- this.determineFocusedDate();
77
- }
78
- }
79
- else if (index$1.isValid(this.afSelectedDates[0])) {
80
- this.selectedDates = [this.afSelectedDates[0]];
81
- this.determineFocusedDate();
82
- }
83
- }
84
- else {
85
- this.selectedDates = [];
86
- }
87
- }
88
- focusoutHandler(e) {
89
- const target = e.target;
90
- const selector = `#${this.afId}-calendar`;
91
- if (detectFocusOutside_util.detectFocusOutside(target, selector)) {
92
- this.afOnFocusOutside.emit(e);
93
- }
94
- }
95
- clickHandler(e) {
96
- const target = e.target;
97
- const selector = `#${this.afId}-calendar`;
98
- if (detectClickOutside_util.detectClickOutside(target, selector)) {
99
- this.afOnClickOutside.emit(e);
100
- }
101
- }
102
- determineFocusedDate() {
103
- if (this.dirty) {
104
- return; // Don't change focused date if user has already interacted with the calendar
105
- }
106
- else if (this.afOpenCalendarTo && index$1.isValid(this.afOpenCalendarTo)) {
107
- this.focusedDate = this.afOpenCalendarTo;
108
- }
109
- else if (this.selectedDates.length > 0) {
110
- this.focusedDate = this.selectedDates[0];
111
- }
112
- else {
113
- this.focusedDate = new Date();
114
- }
115
- }
116
- drawCalendar(focusedDate) {
117
- const date = {
118
- year: focusedDate.getFullYear(),
119
- month: focusedDate.getMonth()
120
- };
121
- this.lastWeekOfPreviousMonth = this.getWeekDays(this.getLastDayOfPrevMonth(date));
122
- this.firstWeekOfNextMonth = this.getWeekDays(this.getFirstDayOfNextMonth(date));
123
- this.weeksBetween = this.getWeeksBetween(this.getLastDayOfPrevMonth(date), this.getFirstDayOfNextMonth(date));
124
- this.weekDaysbetween = this.getWeekdaysOfMonth(this.weeksBetween);
125
- this.activeCalendar = this.appendFirstWeekOfNextMonth()
126
- ? [
127
- this.lastWeekOfPreviousMonth,
128
- ...this.weekDaysbetween,
129
- this.appendFirstWeekOfNextMonth()
130
- ]
131
- : [this.lastWeekOfPreviousMonth, ...this.weekDaysbetween];
132
- this.appendFirstWeekOfNextMonth();
133
- if (this.afShowWeekNumber) {
134
- this.activeCalendar.forEach((el, i) => {
135
- this.activeCalendar[i].unshift(this.getWeekNumbers(el[0]));
136
- });
137
- }
138
- }
139
- appendFirstWeekOfNextMonth() {
140
- const lastArray = JSON.stringify(this.weekDaysbetween.slice(-1)[0]);
141
- const stringFirstweek = JSON.stringify(this.firstWeekOfNextMonth);
142
- if (!this.firstWeekOfNextMonth.some((date) => this.isSameMonth(date, this.focusedDate))) {
143
- return;
144
- }
145
- else if (lastArray !== stringFirstweek) {
146
- return this.firstWeekOfNextMonth;
147
- }
148
- }
149
- getLastDayOfPrevMonth(date) {
150
- return new Date(date.year, date.month, 0);
151
- }
152
- getWeekDays(date) {
153
- const today = date || new Date();
154
- const week = [];
155
- const dayOffset = today.getDay(); // 0=söndag
156
- for (let i = 1; i <= 7; i++) {
157
- week.push(new Date(today.getFullYear(), today.getMonth(), today.getDate() - dayOffset + i));
158
- }
159
- return week;
160
- }
161
- getFirstDayOfNextMonth(date) {
162
- return new Date(date.year, date.month + 1, 1);
163
- }
164
- getWeeksBetween(lastDayOfPrevMonth, firstDayOnNextMonth) {
165
- const week = 7 * 24 * 60 * 60 * 1000;
166
- const d1ms = lastDayOfPrevMonth.getTime();
167
- const d2ms = firstDayOnNextMonth.getTime();
168
- const diff = Math.abs(d2ms - d1ms);
169
- return Math.floor(diff / week);
170
- }
171
- getWeekdaysOfMonth(weeksBetween) {
172
- let weeks = [];
173
- for (let i = 1; i <= weeksBetween; i++) {
174
- weeks = [...weeks, this.getWeekDays(this.getUpcoming(i))];
175
- }
176
- return weeks;
177
- }
178
- getUpcoming(weeks) {
179
- return new Date(this.focusedDate.getFullYear(), this.focusedDate.getMonth(), 7 * weeks);
180
- }
181
- onDirty() {
182
- if (!this.dirty) {
183
- this.dirty = true;
184
- this.afOnDirty.emit(this.dirty);
185
- }
186
- }
187
- selectDateHandler(dateSelected) {
188
- this.onDirty();
189
- if (!this.isDateSelectable(dateSelected))
190
- return;
191
- if (this.isDateSelected(dateSelected)) {
192
- this.selectedDates = this.afMultipleDates
193
- ? this.selectedDates.filter((d) => {
194
- return !this.isSameDate(d, dateSelected);
195
- })
196
- : [];
197
- }
198
- else {
199
- this.selectedDates = this.afMultipleDates
200
- ? [...this.selectedDates, dateSelected]
201
- : [dateSelected];
202
- }
203
- this.focusedDate = new Date(dateSelected);
204
- this.afOnDateSelectedChange.emit(this.selectedDates);
205
- }
206
- getMonthName(monthNumber) {
207
- return new Date(1992, monthNumber, 1)
208
- .toLocaleDateString(text._t.locale, {
209
- month: 'short'
210
- })
211
- .replace('.', '');
212
- }
213
- getFullMonthName(monthNumber) {
214
- return new Date(this.focusedDate.getFullYear(), monthNumber, 1).toLocaleDateString(text._t.locale, {
215
- month: 'long',
216
- year: 'numeric'
217
- });
218
- }
219
- // Get the week number of a specific date. Taken from https://weeknumber.com/how-to/javascript
220
- getWeekNumbers(dateInput) {
221
- const date = new Date(dateInput);
222
- date.getTime();
223
- date.setHours(0, 0, 0, 0);
224
- date.setDate(date.getDate() + 3 - ((date.getDay() + 6) % 7));
225
- const week1 = new Date(date.getFullYear(), 0, 4);
226
- return (1 +
227
- Math.round(((date.getTime() - week1.getTime()) / 86400000 -
228
- 3 +
229
- ((week1.getDay() + 6) % 7)) /
230
- 7));
231
- }
232
- isSameMonth(date, currentDate) {
233
- if (date instanceof Date && date instanceof Date) {
234
- return (`${date.getFullYear()}${date.getMonth()}` ===
235
- `${currentDate.getFullYear()}${currentDate.getMonth()}`);
236
- }
237
- return false;
238
- }
239
- isSameDate(date, newDate) {
240
- return this.getDateString(date) === this.getDateString(newDate);
241
- }
242
- getDateString(date) {
243
- return `${date.getDate()}${date.getMonth()}${date.getFullYear()}`;
244
- }
245
- isDateSelected(date) {
246
- return !!this.selectedDates.find((d) => this.isSameDate(date, d));
247
- }
248
- isDateSelectable(date) {
249
- if (this.afMinDate && this.isBefore(date, this.afMinDate))
250
- return false;
251
- if (this.afMaxDate && this.isAfter(date, this.afMaxDate))
252
- return false;
253
- return true;
254
- }
255
- isBefore(a, b) {
256
- return index$2.isBefore(this.dateWithoutTime(a), this.dateWithoutTime(b));
257
- }
258
- isAfter(a, b) {
259
- return index$2.isAfter(this.dateWithoutTime(a), this.dateWithoutTime(b));
260
- }
261
- dateWithoutTime(date) {
262
- return new Date(date.getFullYear(), date.getMonth(), date.getDate());
263
- }
264
- isInAnotherMonth(date) {
265
- return !this.isSameMonth(date, this.focusedDate);
266
- }
267
- subtractMonth() {
268
- this.onDirty();
269
- const month = new Date(this.focusedDate);
270
- const currentDay = month.getDate();
271
- month.setMonth(month.getMonth() - 1, 1);
272
- const lastDayOfPrevMonth = new Date(month.getFullYear(), month.getMonth() + 1, 0).getDate();
273
- month.setDate(Math.min(currentDay, lastDayOfPrevMonth));
274
- this.focusedDate = month;
275
- }
276
- addMonth() {
277
- this.onDirty();
278
- const month = new Date(this.focusedDate);
279
- const currentDay = month.getDate();
280
- month.setMonth(month.getMonth() + 1, 1);
281
- const lastDayOfNextMonth = new Date(month.getFullYear(), month.getMonth() + 1, 0).getDate();
282
- month.setDate(Math.min(currentDay, lastDayOfNextMonth));
283
- this.focusedDate = month;
284
- }
285
- getCurrent(date) {
286
- return this.isSameDate(date, new Date()) ? 'date' : null;
287
- }
288
- setTabIndex(date) {
289
- return this.isFocused(date) ? 0 : -1;
290
- }
291
- navigateHandler(e, daysToAdd) {
292
- !!e.detail && e.detail.preventDefault();
293
- if (e.detail.key === 'Tab') {
294
- return;
295
- }
296
- this.onDirty();
297
- const date = new Date(e.detail.target.dataset.date);
298
- const newDate = new Date(date.setDate(date.getDate() + daysToAdd));
299
- this.focusedDate = newDate;
300
- this.resetFocus();
301
- }
302
- resetFocus() {
303
- setTimeout(() => {
304
- const dates = this._tbody.querySelectorAll('.digi-calendar__date');
305
- if (dates.length <= 0) {
306
- logger_util.logger.warn(`Could not find an element with data-date attribute matching navigated date.`, this._tbody);
307
- return;
308
- }
309
- Array.from(dates).map((date) => {
310
- const d = date;
311
- d.tabIndex = -1;
312
- d.classList.remove('digi-calendar__date--focused');
313
- if (d.dataset.date === this.getFullDate(this.focusedDate)) {
314
- d.focus();
315
- d.tabIndex = 0;
316
- d.classList.add('digi-calendar__date--focused');
317
- }
318
- });
319
- }, 100);
320
- }
321
- getFullDate(date) {
322
- return date.toLocaleString(text._t.locale, {
323
- day: 'numeric',
324
- month: 'numeric',
325
- year: 'numeric'
326
- });
327
- }
328
- getDateName(date) {
329
- return date.toLocaleString(text._t.locale, {
330
- year: 'numeric',
331
- month: 'long',
332
- day: 'numeric'
333
- });
334
- }
335
- isFocused(date) {
336
- if (this.dirty) {
337
- return this.isSameDate(date, this.focusedDate);
338
- }
339
- if (this.afOpenCalendarTo) {
340
- return this.isSameDate(date, this.afOpenCalendarTo);
341
- }
342
- return this.isSameMonth(date, new Date())
343
- ? this.isSameDate(date, new Date())
344
- : this.isSameMonth(date, this.focusedDate) && date.getDate() === 1;
345
- }
346
- ariaPressed(date) {
347
- return this.selectedDates.length > 0 &&
348
- !!this.selectedDates.find((d) => this.isSameDate(d, date))
349
- ? 'true'
350
- : 'false';
351
- }
352
- selectMonth(evt) {
353
- this.onDirty();
354
- const tempDate = new Date(this.focusedDate);
355
- const selectedMonth = parseInt(evt.target.value, 10);
356
- const currentDay = tempDate.getDate();
357
- tempDate.setMonth(selectedMonth, 1);
358
- const lastDayOfSelectedMonth = new Date(tempDate.getFullYear(), selectedMonth + 1, 0).getDate();
359
- tempDate.setDate(Math.min(currentDay, lastDayOfSelectedMonth));
360
- this.focusedDate = tempDate;
361
- }
362
- selectYear(evt) {
363
- this.onDirty();
364
- const selectedYear = parseInt(evt.target.value, 10);
365
- // Skydda mot ogiltiga datum som 29 februari
366
- const day = Math.min(this.focusedDate.getDate(), new Date(selectedYear, this.focusedDate.getMonth() + 1, 0).getDate());
367
- const newDate = new Date(selectedYear, this.focusedDate.getMonth(), day);
368
- this.focusedDate = newDate;
369
- }
370
- earliestSelectableYear() {
371
- if (this.afMinDate)
372
- return this.afMinDate.getFullYear();
373
- return 1900;
374
- }
375
- latestSelectableYear() {
376
- if (this.afMaxDate)
377
- return this.afMaxDate.getFullYear();
378
- return new Date(Date.now()).getFullYear() + 10;
379
- }
380
- allSelectableYears() {
381
- const allYears = [];
382
- let currentYear = this.earliestSelectableYear();
383
- while (currentYear <= this.latestSelectableYear()) {
384
- allYears.push(currentYear++);
385
- }
386
- return allYears;
387
- }
388
- componentWillLoad() {
389
- var _a;
390
- if (index$1.isValid(this.afSelectedDate)) {
391
- this.selectedDates = [this.afSelectedDate];
392
- }
393
- else if (((_a = this.afSelectedDates) === null || _a === void 0 ? void 0 : _a.length) > 0) {
394
- const valid = this.afSelectedDates.filter((d) => index$1.isValid(d));
395
- if (valid.length > 0)
396
- this.selectedDates = valid;
397
- }
398
- this.determineFocusedDate();
399
- this.drawCalendar(this.focusedDate);
400
- }
401
- async componentDidLoad() {
402
- if (index$1.isValid(this.afSelectedDate))
403
- this.selectedDates = [this.afSelectedDate];
404
- else
405
- this.afSelectedDatesChangeHandler();
406
- await customElements.whenDefined('digi-form-select');
407
- }
408
- cssDateModifiers(date) {
409
- const shownMonth = this.focusedDate.getMonth();
410
- return {
411
- 'digi-calendar__date--today': this.isSameDate(date, new Date()) && !this.isInAnotherMonth(date),
412
- 'digi-calendar__date--disabled': this.isInAnotherMonth(date),
413
- 'digi-calendar__date--focused': this.isFocused(date),
414
- 'digi-calendar__date--selected': this.isDateSelected(date) && date.getMonth() === shownMonth,
415
- 'digi-calendar__date--not-selectable': !this.isInAnotherMonth(date) && !this.isDateSelectable(date)
416
- };
417
- }
418
- render() {
419
- return (index.h("div", { key: '1077a770af823d9e0c0f59cdc6f1fef2a49d761a', class: {
420
- 'digi-calendar': true,
421
- 'digi-calendar--hide': !this.afActive
422
- }, id: `${this.afId}-calendar` }, this.afYearSelect && (index.h("div", { key: 'cd7dfa8e20efd08afa590cd4e177ddb4c41455d8', class: "digi-calendar__header" }, index.h("div", { key: 'd1e6e956713de7fe417253be0fc1ec3aea9748b0', class: "digi-calendar__header--year-select" }, index.h("digi-form-select", { key: 'cf34feec9ed25e0251effe86b3ce393918a32eda', afLabel: text._t.calendar.month, "af-variation": "small", afValue: this.focusedDate.getMonth().toString(), onAfOnSelect: (evt) => {
423
- this.selectMonth(evt);
424
- } }, text._t.calendar.months.map((month, index$1) => {
425
- return index.h("option", { value: index$1 }, month);
426
- })), index.h("digi-form-select", { key: 'ddcd90917d6dba315f8018c4311c852f3471d3c0', afLabel: text._t.calendar.year, "af-variation": "small", afValue: this.focusedDate.getFullYear().toString(), onAfOnSelect: (evt) => {
427
- this.selectYear(evt);
428
- } }, this.allSelectableYears().map((year) => (index.h("option", { value: year.toString() }, year))))))), !this.afYearSelect && (index.h("div", { key: '814648caa21619240a5904a809c95024398e9741', class: "digi-calendar__header" }, index.h("div", { key: 'd3dc54a4d0172d503bff66e5171846f433755c4b', class: "digi-calendar__header--month-step" }, index.h("button", { key: '7725160aab267e5cdd70618613b2f485d5b7dd7f', class: "digi-calendar__month-select-button", type: "button", "aria-label": this.getFullMonthName(this.focusedDate.getMonth() - 1) +
429
- ', ' + text._t.calendar.previousMonth, onClick: () => this.subtractMonth() }, index.h("digi-icon-chevron-left", { key: 'e8d1dc80011cb7e79ce6af893df2fd4601d92c74', slot: "icon", "aria-hidden": "true" }), index.h("span", { key: 'ae56dadf565d819f8e89804596dbe38119fb592e', class: "digi-calendar__month-select-name" }, this.getMonthName(this.focusedDate.getMonth() - 1))), index.h("div", { key: '257ac7d346e084390aba658eb7329cab913e3463', class: "digi-calendar__month" }, this.getFullMonthName(this.focusedDate.getMonth())), index.h("button", { key: '0c483763c0420f1c172c78364d2ce931ffcd116d', class: "digi-calendar__month-select-button", type: "button", "aria-label": this.getFullMonthName(this.focusedDate.getMonth() + 1) +
430
- ', ' + text._t.calendar.nextMonth, onClick: () => this.addMonth() }, index.h("span", { key: 'de4617285a713bd9baa375a99f81bb027768c947', class: "digi-calendar__month-select-name" }, this.getMonthName(this.focusedDate.getMonth() + 1)), index.h("digi-icon-chevron-right", { key: '8d6252fcdd7a035ce8fe4e6f4cb468ce7935aeba', slot: "icon", "aria-hidden": "true" }))))), index.h("digi-util-keydown-handler", { key: '5080246278db71745444dcd40d0722a64e8c80b5', onAfOnDown: (e) => this.navigateHandler(e, 7), onAfOnUp: (e) => this.navigateHandler(e, -7), onAfOnLeft: (e) => this.navigateHandler(e, -1), onAfOnRight: (e) => this.navigateHandler(e, 1) }, index.h("table", { key: '9052f9c8135d95110f927c6a5a949fbd63daec7a', role: "grid", class: "digi-calendar__table" }, index.h("thead", { key: '428467866c49e65d348db796a006611542aabc02' }, index.h("tr", { key: '260024069438dadff553bc3391a37bbb533b5d11', role: "row" }, this.afShowWeekNumber && (index.h("th", { key: '2c22102011ade9125e61416ac78eaed16dec2e26', role: "columnheader", abbr: text._t.calendar.week, class: "digi-calendar__table-header-week" }, text._t.calendar.week.toLowerCase())), Object.keys(text._t.calendar.weekdays).map((day) => (index.h("th", { role: "columnheader", "aria-label": text._t.calendar.weekdays[day], abbr: text._t.calendar.weekdays[day], class: "digi-calendar__table-header" }, text._t.calendar.weekdays_short[day].toLowerCase()))))), index.h("tbody", { key: 'cbe3d290919c35ad27799c17e6b6236557dbe126', ref: (el) => (this._tbody = el) }, this.activeCalendar.map((week) => {
431
- return (index.h("tr", null, week.map((day, i) => {
432
- if (this.afShowWeekNumber && i === 0) {
433
- return (index.h("th", { role: "rowheader", "aria-label": text._t.calendar.week + ' ' + day, class: "digi-calendar__td-week digi-calendar__date--week-number", id: 'digi-calendar__week-' + day }, day));
434
- }
435
- else {
436
- return this.isInAnotherMonth(day) ? (index.h("td", null)) : (index.h("td", { role: "gridcell", class: "digi-calendar__td" }, index.h("button", { key: this.getFullDate(day), type: "button", class: Object.assign(Object.assign({}, this.cssDateModifiers(day)), { 'digi-calendar__date': true }), onClick: () => this.selectDateHandler(day), "aria-current": this.isSameDate(day, new Date()) ? 'date' : null, "aria-label": `
437
- ${!this.isDateSelectable(day)
438
- ? text._t.calendar.disabledDate
439
- : ''} ${this.getDateName(day)}
440
- `, "aria-disabled": !this.isDateSelectable(day) ? 'true' : null, tabindex: this.setTabIndex(day), "data-date": this.getFullDate(day), "aria-pressed": this.isDateSelectable(day)
441
- ? this.ariaPressed(day)
442
- : null }, index.h("span", { "aria-hidden": "true" }, day.getDate()))));
443
- }
444
- })));
445
- })))), index.h("slot", { key: 'e97e8147fc91a3b401665eeeb8db6be7036f678b', name: "calendar-footer" })));
446
- }
447
- static get watchers() { return {
448
- "focusedDate": [{
449
- "focusedDateChanged": 0
450
- }],
451
- "afOpenCalendarTo": [{
452
- "afOpenCalendarToChangeHandler": 0
453
- }],
454
- "afShowWeekNumber": [{
455
- "afShowWeekNumberChangeHandler": 0
456
- }],
457
- "afSelectedDate": [{
458
- "afSelectedDateChangeHandler": 0
459
- }],
460
- "afSelectedDates": [{
461
- "afSelectedDatesChangeHandler": 0
462
- }]
463
- }; }
464
- };
465
- Calendar.style = calendarCss();
466
-
467
- const iconCalendarAltCss = () => `.sc-digi-icon-calendar-alt-h{--digi--icon--color:var(--digi--color--icon--primary);--digi--icon--width:initial;--digi--icon--height:auto;display:flex;min-height:1.4em;align-items:center}.sc-digi-icon-calendar-alt-h svg.sc-digi-icon-calendar-alt{color:var(--digi--icon--color);max-width:var(--digi--icon--width);max-height:var(--digi--icon--height);width:var(--digi--icon--width, auto);height:var(--digi--icon--height, auto)}`;
468
-
469
- const IconCalendarAlt = class {
470
- constructor(hostRef) {
471
- index.registerInstance(this, hostRef);
472
- /**
473
- * För att dölja ikonen för skärmläsare. Default är satt till true.
474
- * @en Hides the icon for screen readers. Default is set to true.
475
- */
476
- this.afSvgAriaHidden = true;
477
- this.titleId = randomIdGenerator_util.randomIdGenerator('icontitle');
478
- }
479
- render() {
480
- return (index.h("svg", { key: '51b9d922462d3ad108545dbe7df4bf805334b0ef', class: "digi-icon-calendar-alt", width: "22", height: "26", viewBox: "0 0 22 26", "aria-hidden": this.afSvgAriaHidden ? 'true' : 'false', "aria-labelledby": this.afSvgAriaLabelledby
481
- ? this.afSvgAriaLabelledby
482
- : this.afTitle
483
- ? this.titleId
484
- : undefined, xmlns: "http://www.w3.org/2000/svg" }, this.afTitle && index.h("title", { key: '0cf10651a3b238c59bc9f342cec98ff7c2a967e7', id: this.titleId }, this.afTitle), this.afDesc && index.h("desc", { key: 'a7826ce588a9bd9580c3f45a20834ff4e66a3620' }, this.afDesc), index.h("path", { key: '0854e6fc47b9a773f3d902e557535765d973252a', class: "digi-icon-calendar-alt__shape", d: "M21.41 8.125H.59a.601.601 0 01-.59-.61V5.689C0 4.341 1.056 3.25 2.357 3.25h2.357V.61c0-.336.265-.61.59-.61h1.964c.324 0 .59.274.59.61v2.64h6.285V.61c0-.336.265-.61.59-.61h1.963c.325 0 .59.274.59.61v2.64h2.357C20.944 3.25 22 4.342 22 5.688v1.828c0 .335-.265.609-.59.609zM.59 9.75h20.82c.325 0 .59.274.59.61v13.203C22 24.907 20.944 26 19.643 26H2.357C1.056 26 0 24.908 0 23.562V10.36c0-.335.265-.609.59-.609zm5.696 10.36a.601.601 0 00-.59-.61H3.732a.601.601 0 00-.59.61v2.03c0 .336.266.61.59.61h1.964c.325 0 .59-.274.59-.61v-2.03zm0-6.5a.601.601 0 00-.59-.61H3.732a.601.601 0 00-.59.61v2.03c0 .336.266.61.59.61h1.964c.325 0 .59-.274.59-.61v-2.03zm6.285 6.5a.601.601 0 00-.589-.61h-1.964a.601.601 0 00-.59.61v2.03c0 .336.266.61.59.61h1.964c.324 0 .59-.274.59-.61v-2.03zm0-6.5a.601.601 0 00-.589-.61h-1.964a.601.601 0 00-.59.61v2.03c0 .336.266.61.59.61h1.964c.324 0 .59-.274.59-.61v-2.03zm6.286 6.5a.601.601 0 00-.59-.61h-1.963a.601.601 0 00-.59.61v2.03c0 .336.265.61.59.61h1.964c.324 0 .59-.274.59-.61v-2.03zm0-6.5a.601.601 0 00-.59-.61h-1.963a.601.601 0 00-.59.61v2.03c0 .336.265.61.59.61h1.964c.324 0 .59-.274.59-.61v-2.03z", fill: "currentColor", "fill-rule": "nonzero" })));
485
- }
486
- };
487
- IconCalendarAlt.style = iconCalendarAltCss();
488
-
489
- exports.digi_calendar = Calendar;
490
- exports.digi_icon_calendar_alt = IconCalendarAlt;
@@ -1,121 +0,0 @@
1
- 'use strict';
2
-
3
- var index = require('./index-Cn1hHaSy.js');
4
- var text = require('./text-Cu3CaHGj.js');
5
- var randomIdGenerator_util = require('./randomIdGenerator.util-C8XR2Tn1.js');
6
- var expandableAccordionHeaderLevel_enum = require('./expandable-accordion-header-level.enum-CjL9V3Kt.js');
7
-
8
- const expandableAccordionCss = () => `.sc-digi-expandable-accordion-h{--digi--expandable-accordion--header--toggle-icon--transition:ease-in-out var(--digi--animation--duration--base) all;--digi--expandable-accordion--header--font-size:var(--digi--typography--accordion--font-size--desktop);--digi--expandable-accordion--header--font-size--small:var(--digi--typography--accordion--font-size--mobile);--digi--expandable-accordion--header--font-weight:var(--digi--typography--accordion--font-weight--desktop);--digi--expandable-accordion--icon--size:0.875rem;--digi--expandable-accordion--icon--margin-right:var(--digi--margin--medium);--digi--expandable-accordion--border-bottom-width:var(--digi--border-width--secondary);--digi--expandable-accordion--border-bottom-color:var(--digi--color--divider--cta);--digi--expandable-accordion--content--padding:var(--digi--padding--medium) 0;--digi--expandable-accordion--content--transition:ease-in-out var(--digi--animation--duration--base) height;display:block}.sc-digi-expandable-accordion-h .digi-expandable-accordion.sc-digi-expandable-accordion::after{content:"";display:block;max-width:var(--digi--paragraph-width--medium);border-bottom-width:var(--digi--expandable-accordion--border-bottom-width);border-bottom-color:var(--digi--expandable-accordion--border-bottom-color);border-bottom-style:solid;margin-top:calc(var(--digi--expandable-accordion--border-bottom-width) * -1)}.sc-digi-expandable-accordion-h .digi-expandable-accordion--fullwidth.sc-digi-expandable-accordion::after{content:"";display:block;max-width:none;border-bottom-width:var(--digi--expandable-accordion--border-bottom-width);border-bottom-style:solid;margin-top:calc(var(--digi--expandable-accordion--border-bottom-width) * -1)}.digi-expandable-accordion__header.sc-digi-expandable-accordion{display:flex;align-items:center}.digi-expandable-accordion--variation-primary.sc-digi-expandable-accordion .digi-expandable-accordion__header.sc-digi-expandable-accordion{max-width:var(--digi--paragraph-width--medium);border-bottom-width:var(--digi--expandable-accordion--border-bottom-width);border-bottom-color:var(--digi--expandable-accordion--border-bottom-color);border-bottom-style:solid}.digi-expandable-accordion--fullwidth.sc-digi-expandable-accordion .digi-expandable-accordion__header.sc-digi-expandable-accordion{max-width:none}.digi-expandable-accordion__toggle-icon.sc-digi-expandable-accordion{transition:var(--digi--expandable-accordion--header--toggle-icon--transition)}.digi-expandable-accordion--expanded-true.sc-digi-expandable-accordion .digi-expandable-accordion__toggle-icon.sc-digi-expandable-accordion{transform:rotate(-180deg)}.digi-expandable-accordion__heading.sc-digi-expandable-accordion{margin:0;flex:1}.digi-expandable-accordion__heading-text.sc-digi-expandable-accordion{max-width:var(--digi--paragraph-width--medium)}.digi-expandable-accordion__button.sc-digi-expandable-accordion{font-family:var(--digi--global--typography--font-family--default);font-size:var(--digi--expandable-accordion--header--font-size--small);font-weight:var(--digi--expandable-accordion--header--font-weight);width:100%;display:flex;gap:var(--digi--expandable-accordion--icon--margin-right);align-items:center;text-align:start;cursor:pointer;border:none}@media (min-width: 48rem){.digi-expandable-accordion__button.sc-digi-expandable-accordion{font-size:var(--digi--expandable-accordion--header--font-size)}}.digi-expandable-accordion--variation-primary.sc-digi-expandable-accordion .digi-expandable-accordion__button.sc-digi-expandable-accordion{color:var(--digi--color--text--primary);background-color:transparent;padding:var(--digi--expandable-accordion--content--padding)}.digi-expandable-accordion--variation-primary.sc-digi-expandable-accordion .digi-expandable-accordion__button.sc-digi-expandable-accordion:focus-visible{outline:2px solid black;outline-offset:2px;box-shadow:0px 0px 0px 5px white}.digi-expandable-accordion--variation-primary.sc-digi-expandable-accordion .digi-expandable-accordion__button.sc-digi-expandable-accordion:hover{text-decoration:underline}.digi-expandable-accordion--fullwidth.sc-digi-expandable-accordion .digi-expandable-accordion__button.sc-digi-expandable-accordion{max-width:none}.digi-expandable-accordion__content.sc-digi-expandable-accordion{overflow-y:hidden}.digi-expandable-accordion--expanded-false.sc-digi-expandable-accordion .digi-expandable-accordion__content.sc-digi-expandable-accordion{height:0}.digi-expandable-accordion--variation-primary.sc-digi-expandable-accordion .digi-expandable-accordion__content.sc-digi-expandable-accordion>div.sc-digi-expandable-accordion{padding:var(--digi--expandable-accordion--content--padding)}.digi-expandable-accordion--variation-primary.digi-expandable-accordion--animation-true.sc-digi-expandable-accordion .digi-expandable-accordion__content.sc-digi-expandable-accordion{transition:var(--digi--expandable-accordion--content--transition)}.digi-expandable-accordion__toggle-inside.sc-digi-expandable-accordion{text-align:center;--digi--button--color--background--function--hover:var(--digi--color--background--primary)}@keyframes heightAnim{from{height:0%}to{height:100%}}`;
9
-
10
- const ExpandableAccordion = class {
11
- constructor(hostRef) {
12
- index.registerInstance(this, hostRef);
13
- this.afOnClick = index.createEvent(this, "afOnClick", 7);
14
- /**
15
- * Sätter utfällbar rubrik. 'h2' är förvalt.
16
- * @en Set heading level. Default is 'h2'
17
- */
18
- this.afHeadingLevel = expandableAccordionHeaderLevel_enum.ExpandableAccordionHeaderLevel.H2;
19
- /**
20
- * Gör så att komponenten tar upp 100% i bredd av ytan den befinner sig i.
21
- * @en Makes the component take up 100% of the width of the surface it is in.
22
- */
23
- this.afFullWidth = false;
24
- /**
25
- * Sätter läge på rubriken om den ska vara expanderad eller ej.
26
- * @en Sets the state of the accordion to expanded or not.
27
- */
28
- this.afExpanded = false;
29
- /**
30
- * Ställer in ifall komponenten ska ha en animation vid utfällning. Animation är påslagen som standard.
31
- * @en Sets the state of the animation for the accordion's expanded area. Animation is on as default.
32
- */
33
- this.afAnimation = true;
34
- /**
35
- * Sätter attributet 'id'. Om inget väljs så skapas ett slumpmässigt id.
36
- * @en Set id attribute. Defaults to random string.
37
- */
38
- this.afId = randomIdGenerator_util.randomIdGenerator('digi-expandable-accordion');
39
- /**
40
- * Sätter texten som visas på knappen som expanderar komponenten. Om inget väljs så används "Visa"
41
- * @en Sets the text on the button that expands the component. Defaults to "Visa".
42
- */
43
- this.afExpandText = text._t.show;
44
- /**
45
- * Sätter texten som visas på knappen som kollapsar komponenten. Om inget väljs så används "Dölj"
46
- * @en Sets the text on the button that collapses the component. Defaults to "Dölj".
47
- */
48
- this.afCollapseText = text._t.hide;
49
- }
50
- get cssModifiers() {
51
- return {
52
- [`digi-expandable-accordion--expanded-${!!this.afExpanded}`]: true,
53
- [`digi-expandable-accordion--animation-${!!this.afAnimation}`]: true,
54
- [`digi-expandable-accordion--variation-primary`]: true,
55
- [`digi-expandable-accordion--fullwidth`]: this.afFullWidth
56
- };
57
- }
58
- /**
59
- * Hämtar en höjden till innehållet i Utfällbar yta och animera innehållet.
60
- * @en Gets a height to the content for expandable and animate the content.
61
- */
62
- componentDidLoad() {
63
- const content = this.hostElement.querySelector(`#${this.afId}-content`);
64
- if (!this.afExpanded) {
65
- content.setAttribute('style', 'visibility: hidden;');
66
- }
67
- else {
68
- content.setAttribute('style', 'height: auto;');
69
- }
70
- content.addEventListener('transitionend', () => {
71
- if (!this.afExpanded) {
72
- content.setAttribute('style', 'visibility: hidden; height: ' + 0 + 'px');
73
- }
74
- else
75
- content.setAttribute('style', 'height: auto');
76
- });
77
- }
78
- animateContentHeight() {
79
- const content = this.hostElement.querySelector(`#${this.afId}-content`);
80
- const sectionHeight = content.firstElementChild
81
- .offsetHeight;
82
- if (!this.afExpanded && content.style.height === 'auto') {
83
- content.setAttribute('style', 'height: ' + sectionHeight + 'px');
84
- setTimeout(() => {
85
- content.setAttribute('style', 'height: 0');
86
- });
87
- return;
88
- }
89
- if (this.afExpanded) {
90
- content.setAttribute('style', 'visibility: visible; height:' + sectionHeight + 'px');
91
- if (!this.afAnimation) {
92
- setTimeout(() => {
93
- content.setAttribute('style', 'height: auto');
94
- });
95
- }
96
- }
97
- else {
98
- content.setAttribute('style', 'height: ' + 0 + 'px');
99
- }
100
- }
101
- clickToggleHandler(e, resetFocus = false) {
102
- e.preventDefault();
103
- this.afExpanded = !this.afExpanded;
104
- if (resetFocus) {
105
- this._button.focus();
106
- }
107
- this.afOnClick.emit(e);
108
- }
109
- render() {
110
- return (index.h("article", { key: '25e76d66020522814e7777c139c6206b1c103d4e', "aria-expanded": this.afExpanded ? 'true' : 'false', class: Object.assign({ 'digi-expandable-accordion': true }, this.cssModifiers) }, index.h("header", { key: '2265191f9ad2394befad5da1bdf51cd758d4adba', class: "digi-expandable-accordion__header" }, index.h(this.afHeadingLevel, { key: '4a26fe5cd756612c36b48a9b04abcff54ba70941', class: "digi-expandable-accordion__heading" }, index.h("button", { key: '8bb8e9ba1f25650b88f6fc0d26b9c94af9510eee', type: "button", class: "digi-expandable-accordion__button", onClick: (e) => this.clickToggleHandler(e), "aria-expanded": this.afExpanded ? 'true' : 'false', "aria-controls": `${this.afId}-content`, ref: (el) => (this._button = el) }, index.h("digi-icon-chevron-down", { key: '2b86e033967c20cecc33b34185826b06ab4189e4', class: "digi-expandable-accordion__toggle-icon" }), index.h("div", { key: '8d3d486567b4e073818b35e77a8f5be92ea3cdef', class: "digi-expandable-accordion__heading-text" }, this.afHeading)))), index.h("section", { key: '764b758a0bd68b7a02581f620dc8204b517fa991', class: "digi-expandable-accordion__content", id: `${this.afId}-content` }, index.h("div", { key: 'bad7d77ef14b2edcd80e54d52ffde7bf429caa59' }, index.h("digi-typography", { key: '15c4a8abc0f50f3521c0a9b39aeb06ce194e4a3b' }, index.h("slot", { key: '0718dba75edfab31158aec6bf04a8b2bfc60463e' }))))));
111
- }
112
- get hostElement() { return index.getElement(this); }
113
- static get watchers() { return {
114
- "afExpanded": [{
115
- "animateContentHeight": 0
116
- }]
117
- }; }
118
- };
119
- ExpandableAccordion.style = expandableAccordionCss();
120
-
121
- exports.digi_expandable_accordion = ExpandableAccordion;