@oiz/stzh-components 2.6.0 → 2.7.0-alpha

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 (170) hide show
  1. package/dist/cjs/{app-globals-4dcdf160.js → app-globals-5dfa53d1.js} +2 -2
  2. package/dist/cjs/{app-globals-4dcdf160.js.map → app-globals-5dfa53d1.js.map} +1 -1
  3. package/dist/cjs/index.cjs.js.map +1 -1
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/stzh-amount.cjs.entry.js +30 -79
  6. package/dist/cjs/stzh-amount.cjs.entry.js.map +1 -1
  7. package/dist/cjs/stzh-components.cjs.js +2 -2
  8. package/dist/cjs/stzh-datepicker_3.cjs.entry.js.map +1 -1
  9. package/dist/cjs/stzh-dropdown.cjs.entry.js +60 -25
  10. package/dist/cjs/stzh-dropdown.cjs.entry.js.map +1 -1
  11. package/dist/cjs/stzh-monthyearpicker.cjs.entry.js +191 -0
  12. package/dist/cjs/stzh-monthyearpicker.cjs.entry.js.map +1 -0
  13. package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js +1 -1
  14. package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js.map +1 -1
  15. package/dist/cjs/stzh-timepicker.cjs.entry.js +82 -0
  16. package/dist/cjs/stzh-timepicker.cjs.entry.js.map +1 -0
  17. package/dist/cjs/translation-utils-73073e44.js.map +1 -1
  18. package/dist/collection/assets/i18n/de.json +10 -7
  19. package/dist/collection/assets/i18n/en.json +8 -5
  20. package/dist/collection/collection-manifest.json +2 -0
  21. package/dist/collection/components/stzh-amount/stzh-amount.js +32 -85
  22. package/dist/collection/components/stzh-amount/stzh-amount.js.map +1 -1
  23. package/dist/collection/components/stzh-amount/stzh-amount.localization.js.map +1 -1
  24. package/dist/collection/components/stzh-amount/stzh-amount.stories.js +1 -1
  25. package/dist/collection/components/stzh-datepicker/stzh-datepicker.js +1 -1
  26. package/dist/collection/components/stzh-datepicker/stzh-datepicker.js.map +1 -1
  27. package/dist/collection/components/stzh-datepicker/stzh-datepicker.stories.js +3 -0
  28. package/dist/collection/components/stzh-dropdown/stzh-dropdown.css +32 -20
  29. package/dist/collection/components/stzh-dropdown/stzh-dropdown.js +40 -9
  30. package/dist/collection/components/stzh-dropdown/stzh-dropdown.js.map +1 -1
  31. package/dist/collection/components/stzh-monthyearpicker/stzh-monthyearpicker.css +123 -0
  32. package/dist/collection/components/stzh-monthyearpicker/stzh-monthyearpicker.js +724 -0
  33. package/dist/collection/components/stzh-monthyearpicker/stzh-monthyearpicker.js.map +1 -0
  34. package/dist/collection/components/stzh-monthyearpicker/stzh-monthyearpicker.localization.js +2 -0
  35. package/dist/collection/components/stzh-monthyearpicker/stzh-monthyearpicker.localization.js.map +1 -0
  36. package/dist/collection/components/stzh-monthyearpicker/stzh-monthyearpicker.stories.js +61 -0
  37. package/dist/collection/components/stzh-skin-portal-mitwirken/stzh-skin-portal-mitwirken.css +1 -1
  38. package/dist/collection/components/stzh-timepicker/stzh-timepicker.css +109 -0
  39. package/dist/collection/components/stzh-timepicker/stzh-timepicker.js +438 -0
  40. package/dist/collection/components/stzh-timepicker/stzh-timepicker.js.map +1 -0
  41. package/dist/collection/components/stzh-timepicker/stzh-timepicker.localization.js +2 -0
  42. package/dist/collection/components/stzh-timepicker/stzh-timepicker.localization.js.map +1 -0
  43. package/dist/collection/components/stzh-timepicker/stzh-timepicker.stories.js +45 -0
  44. package/dist/collection/index.js.map +1 -1
  45. package/dist/collection/libraries/tom-select/cjs/tom-select.complete.js +47 -18
  46. package/dist/collection/libraries/tom-select/cjs/tom-select.js +47 -18
  47. package/dist/collection/libraries/tom-select/cjs/tom-select.popular.js +47 -18
  48. package/dist/collection/libraries/tom-select/esm/tom-select.complete.js +47 -18
  49. package/dist/collection/libraries/tom-select/esm/tom-select.js +47 -18
  50. package/dist/collection/libraries/tom-select/esm/tom-select.popular.js +47 -18
  51. package/dist/collection/libraries/tom-select/js/tom-select.base.js +47 -18
  52. package/dist/collection/libraries/tom-select/js/tom-select.base.min.js +16 -17
  53. package/dist/collection/libraries/tom-select/js/tom-select.complete.js +47 -18
  54. package/dist/collection/libraries/tom-select/js/tom-select.complete.min.js +12 -13
  55. package/dist/collection/libraries/tom-select/js/tom-select.popular.js +47 -18
  56. package/dist/collection/libraries/tom-select/js/tom-select.popular.min.js +21 -22
  57. package/dist/collection/utils/translation-utils.js.map +1 -1
  58. package/dist/components/index.js +1 -1
  59. package/dist/components/index2.js.map +1 -1
  60. package/dist/components/stzh-amount.js +40 -83
  61. package/dist/components/stzh-amount.js.map +1 -1
  62. package/dist/components/stzh-buttongroup.js +1 -31
  63. package/dist/components/stzh-buttongroup.js.map +1 -1
  64. package/dist/components/stzh-buttongroup2.js +35 -0
  65. package/dist/components/stzh-buttongroup2.js.map +1 -0
  66. package/dist/components/stzh-datepicker2.js.map +1 -1
  67. package/dist/components/stzh-dropdown2.js +61 -25
  68. package/dist/components/stzh-dropdown2.js.map +1 -1
  69. package/dist/components/stzh-monthyearpicker.d.ts +11 -0
  70. package/dist/components/stzh-monthyearpicker.js +251 -0
  71. package/dist/components/stzh-monthyearpicker.js.map +1 -0
  72. package/dist/components/stzh-skin-portal-mitwirken.js +1 -1
  73. package/dist/components/stzh-skin-portal-mitwirken.js.map +1 -1
  74. package/dist/components/stzh-timepicker.d.ts +11 -0
  75. package/dist/components/stzh-timepicker.js +132 -0
  76. package/dist/components/stzh-timepicker.js.map +1 -0
  77. package/dist/components/translation-utils.js.map +1 -1
  78. package/dist/esm/{app-globals-91875913.js → app-globals-862dc6d0.js} +2 -2
  79. package/dist/esm/{app-globals-91875913.js.map → app-globals-862dc6d0.js.map} +1 -1
  80. package/dist/esm/index.js.map +1 -1
  81. package/dist/esm/loader.js +2 -2
  82. package/dist/esm/stzh-amount.entry.js +30 -79
  83. package/dist/esm/stzh-amount.entry.js.map +1 -1
  84. package/dist/esm/stzh-components.js +2 -2
  85. package/dist/esm/stzh-datepicker_3.entry.js.map +1 -1
  86. package/dist/esm/stzh-dropdown.entry.js +60 -25
  87. package/dist/esm/stzh-dropdown.entry.js.map +1 -1
  88. package/dist/esm/stzh-monthyearpicker.entry.js +187 -0
  89. package/dist/esm/stzh-monthyearpicker.entry.js.map +1 -0
  90. package/dist/esm/stzh-skin-portal-mitwirken.entry.js +1 -1
  91. package/dist/esm/stzh-skin-portal-mitwirken.entry.js.map +1 -1
  92. package/dist/esm/stzh-timepicker.entry.js +78 -0
  93. package/dist/esm/stzh-timepicker.entry.js.map +1 -0
  94. package/dist/esm/translation-utils-2623783f.js.map +1 -1
  95. package/dist/esm-es5/{app-globals-91875913.js → app-globals-862dc6d0.js} +2 -2
  96. package/dist/esm-es5/{app-globals-91875913.js.map → app-globals-862dc6d0.js.map} +1 -1
  97. package/dist/esm-es5/index.js.map +1 -1
  98. package/dist/esm-es5/loader.js +1 -1
  99. package/dist/esm-es5/loader.js.map +1 -1
  100. package/dist/esm-es5/stzh-amount.entry.js +1 -1
  101. package/dist/esm-es5/stzh-amount.entry.js.map +1 -1
  102. package/dist/esm-es5/stzh-components.js +1 -1
  103. package/dist/esm-es5/stzh-components.js.map +1 -1
  104. package/dist/esm-es5/stzh-datepicker_3.entry.js.map +1 -1
  105. package/dist/esm-es5/stzh-dropdown.entry.js +2 -2
  106. package/dist/esm-es5/stzh-dropdown.entry.js.map +1 -1
  107. package/dist/esm-es5/stzh-monthyearpicker.entry.js +2 -0
  108. package/dist/esm-es5/stzh-monthyearpicker.entry.js.map +1 -0
  109. package/dist/esm-es5/stzh-skin-portal-mitwirken.entry.js +1 -1
  110. package/dist/esm-es5/stzh-skin-portal-mitwirken.entry.js.map +1 -1
  111. package/dist/esm-es5/stzh-timepicker.entry.js +2 -0
  112. package/dist/esm-es5/stzh-timepicker.entry.js.map +1 -0
  113. package/dist/esm-es5/translation-utils-2623783f.js.map +1 -1
  114. package/dist/stzh-components/assets/i18n/de.json +10 -7
  115. package/dist/stzh-components/assets/i18n/en.json +8 -5
  116. package/dist/stzh-components/index.esm.js.map +1 -1
  117. package/dist/stzh-components/p-14e782cb.entry.js +2 -0
  118. package/dist/stzh-components/{p-85504842.entry.js.map → p-14e782cb.entry.js.map} +1 -1
  119. package/dist/stzh-components/p-1678e09c.system.js +2 -0
  120. package/dist/stzh-components/{p-3e10addb.system.js.map → p-1678e09c.system.js.map} +1 -1
  121. package/dist/stzh-components/p-25a09313.js.map +1 -1
  122. package/dist/stzh-components/{p-61b66e55.system.js → p-3b4833a0.system.js} +2 -2
  123. package/dist/stzh-components/{p-61b66e55.system.js.map → p-3b4833a0.system.js.map} +1 -1
  124. package/dist/stzh-components/p-51f1714c.system.entry.js +2 -0
  125. package/dist/stzh-components/p-51f1714c.system.entry.js.map +1 -0
  126. package/dist/stzh-components/p-5aa96b49.system.entry.js +2 -0
  127. package/dist/stzh-components/p-5aa96b49.system.entry.js.map +1 -0
  128. package/dist/stzh-components/p-82e886d4.entry.js.map +1 -1
  129. package/dist/stzh-components/p-9f31cf7d.entry.js +2 -0
  130. package/dist/stzh-components/p-9f31cf7d.entry.js.map +1 -0
  131. package/dist/stzh-components/p-9fe69be8.system.entry.js +2 -0
  132. package/dist/stzh-components/{p-479a02fb.system.entry.js.map → p-9fe69be8.system.entry.js.map} +1 -1
  133. package/dist/stzh-components/p-a408bfba.system.js.map +1 -1
  134. package/dist/stzh-components/p-ad33db31.entry.js +2 -0
  135. package/dist/stzh-components/p-ad33db31.entry.js.map +1 -0
  136. package/dist/stzh-components/p-b5cda655.entry.js +2 -0
  137. package/dist/stzh-components/p-b5cda655.entry.js.map +1 -0
  138. package/dist/stzh-components/{p-362af013.js → p-bc82ed48.js} +2 -2
  139. package/dist/stzh-components/{p-362af013.js.map → p-bc82ed48.js.map} +1 -1
  140. package/dist/stzh-components/p-c0f971f2.entry.js +9 -0
  141. package/dist/stzh-components/p-c0f971f2.entry.js.map +1 -0
  142. package/dist/stzh-components/p-c901fe72.system.entry.js +9 -0
  143. package/dist/stzh-components/p-c901fe72.system.entry.js.map +1 -0
  144. package/dist/stzh-components/p-e8545386.system.entry.js +2 -0
  145. package/dist/stzh-components/p-e8545386.system.entry.js.map +1 -0
  146. package/dist/stzh-components/p-eaa65f52.system.js.map +1 -1
  147. package/dist/stzh-components/p-f2d74491.system.entry.js.map +1 -1
  148. package/dist/stzh-components/stzh-components.css +1 -1
  149. package/dist/stzh-components/stzh-components.esm.js +1 -1
  150. package/dist/stzh-components/stzh-components.esm.js.map +1 -1
  151. package/dist/stzh-components/stzh-components.js +1 -1
  152. package/dist/types/components/stzh-amount/stzh-amount.localization.d.ts +0 -2
  153. package/dist/types/components/stzh-monthyearpicker/stzh-monthyearpicker.localization.d.ts +5 -0
  154. package/dist/types/components/stzh-timepicker/stzh-timepicker.localization.d.ts +2 -0
  155. package/dist/types/components.d.ts +428 -6
  156. package/dist/types/index.d.ts +14 -0
  157. package/dist/types/utils/translation-utils.d.ts +1 -0
  158. package/dist/vscode-data.json +263 -1
  159. package/package.json +1 -1
  160. package/dist/stzh-components/p-1cc48f98.entry.js +0 -9
  161. package/dist/stzh-components/p-1cc48f98.entry.js.map +0 -1
  162. package/dist/stzh-components/p-3e10addb.system.js +0 -2
  163. package/dist/stzh-components/p-479a02fb.system.entry.js +0 -2
  164. package/dist/stzh-components/p-67b11b03.system.entry.js +0 -2
  165. package/dist/stzh-components/p-67b11b03.system.entry.js.map +0 -1
  166. package/dist/stzh-components/p-6bb83b30.system.entry.js +0 -9
  167. package/dist/stzh-components/p-6bb83b30.system.entry.js.map +0 -1
  168. package/dist/stzh-components/p-85504842.entry.js +0 -2
  169. package/dist/stzh-components/p-c94f7331.entry.js +0 -2
  170. package/dist/stzh-components/p-c94f7331.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"file":"stzh-skin-portal-mitwirken.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,0BAA0B,GAAG,utyIAAutyI;;MCa7uyI,uBAAuB;;;;EAClC,gBAAgB;;IAEd,OAAO,CAAC,GAAG,CAAE,IAAI,CAAC,WAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;GAC/E;EAED,MAAM;IACJ,QACEA,QAACC,UAAI,OACE,EACP;GACH;;;;;;","names":["h","Host"],"sources":["./src/components/stzh-skin-portal-mitwirken/stzh-skin-portal-mitwirken.scss?tag=stzh-skin-portal-mitwirken","./src/components/stzh-skin-portal-mitwirken/stzh-skin-portal-mitwirken.tsx"],"sourcesContent":["@import \"../../global/css/stzh-components.css\";\n\n:root {\n --stzh-color-primary: var(--stzh-color-deepcerulean);\n --stzh-color-primary-hover: var(--stzh-color-regalblue);\n\n --stzh-color-primary48: rgba(5, 127, 172, 0.48);\n --stzh-color-primary32: rgba(5, 127, 172, 0.32);\n --stzh-color-primary16: rgba(5, 127, 172, 0.16);\n --stzh-color-primary8: rgba(5, 127, 172, 0.08);\n\n --stzh-font-family-heavy: var(--stzh-font-family-bold);\n --stzh-font-family-title: var(--stzh-font-family-light);\n\n --stzh-button-text-hover-background: rgba(5, 127, 172, 0.08);\n}\n\n$mobileBreakpoint: 40em;\n$processHeaderMaxMobileBreakpoint: 599px;\n$processHeaderMaxDesktopBreakpoint: 1023px;\n\nmain,\n.reveal-overlay,\n.mod_header {\n --primary: var(--stzh-color-primary);\n --secondary: var(--stzh-color-primary);\n --success: var(--stzh-color-truegreen);\n --warning: var(--stzh-color-warning);\n --alert: var(--stzh-color-error);\n --highlight: var(--stzh-color-coral);\n --highlight_alternative: var(--stzh-color-coral);\n}\n\n// For main and modals\nmain,\n.reveal-overlay {\n a.muted,\n .inline-filters button.muted[data-toggle] {\n color: $colorWhite;\n background-color: $colorGrey13;\n border-color: $colorGrey13;\n\n &:hover,\n &:focus {\n color: $colorWhite;\n background-color: $colorGrey13;\n border-color: $colorGrey13;\n }\n }\n}\n\n// Only modals\n.reveal-overlay {\n background-color: rgba(5, 127, 172, 0.8);\n\n /* Dialog */\n\n .reveal__title {\n margin-top: 0;\n }\n\n .reveal {\n box-shadow: $boxShadowOverlay;\n }\n\n .close-button {\n color: $baseLeadColor;\n }\n}\n\n// Only header\n.mod_header {\n .mod_header__logobar-logo img {\n background: url(https://www.stadt-zuerich.ch/content/dam/stzh/corpdesign/wortbildmarken/logo_stzh_vbz_pos_2-1.svg) no-repeat;\n width: 0;\n padding-left: 208px;\n }\n}\n\n// Main Content Modules\nmain {\n accent-color: $colorPrimary;\n\n /* Resets */\n @include richtext-host;\n @include richtext-slotted($withLists: false);\n\n &, label, tfoot, thead {\n color: $baseColor;\n }\n\n svg {\n overflow: visible;\n }\n\n label {\n display: flex;\n align-items: center;\n }\n\n .field label {\n @include font('heavy');\n display: block;\n }\n\n input[type=checkbox],\n input[type=radio] {\n width: 24px;\n height: 24px;\n }\n\n label > [type=checkbox],\n label > [type=radio] {\n margin-right: space('small');\n }\n\n .filters__section--general label,\n .filters__section label {\n @include fontSize('milli');\n display: flex;\n line-height: 24px;\n transition: color $baseTransitionAnimationSpeed;\n color: $baseColor;\n margin-bottom: space('small');\n }\n\n .filters__has-subfilters {\n align-items: center;\n\n [data-toggle] {\n margin-bottom: space('small');\n }\n }\n\n .form-input-extra-before,\n .form-error {\n @include font;\n @include fontCurve('caption');\n }\n\n .form-error,\n .is-invalid-label {\n color: $colorError;\n }\n\n [type=color],\n [type=date],\n [type=datetime-local],\n [type=datetime],\n [type=email],\n [type=month],\n [type=number],\n [type=password],\n [type=search],\n [type=tel],\n [type=text],\n [type=time],\n [type=url],\n [type=week],\n textarea,\n .inline-filters button[data-toggle],\n select,\n .data-picker .picker-prompt a,\n .data-picker.picker-single .picker-values div a {\n @include font;\n\t @include fontSize('milli');\n border: 1px solid $formBorderColor;\n transition-property: color, border-color;\n transition-duration: $baseTransitionAnimationSpeed;\n border-radius: $formInputBorderRadius;\n padding: space('xsmall') space('medium');\n width: 100%;\n height: $formInputHeight;\n color: $colorPrimary;\n appearance: none;\n margin-bottom: space('medium');\n text-decoration-line: none;\n\n @include placeholder {\n color: $formInputPlaceholderColor;\n }\n\n &:hover,\n &:focus {\n color: $colorPrimaryHover;\n border-color: $colorPrimaryHover;\n }\n\n // remove clear button for IE11\n &::-ms-clear {\n display: none;\n }\n\n // prevent ugly autofill background color in chrome\n &:-webkit-autofill {\n background-clip: text;\n }\n\n // show ellipsis for placeholders that are too long\n &:placeholder-shown {\n text-overflow: ellipsis;\n }\n }\n\n .data-picker .picker-prompt a,\n .data-picker.picker-single .picker-values div a {\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n &::after {\n float: none;\n margin-top: 0;\n }\n }\n\n .inline-filters button[data-toggle],\n select {\n padding-right: space('xxlarge');\n }\n\n textarea {\n min-height: $formInputHeight;\n resize: vertical;\n\n &[rows] {\n height: auto;\n }\n }\n\n .input-group .input-group-field {\n margin-bottom: 0;\n }\n\n .section > p,\n .floating-helper__content p {\n margin-top: 0;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n .add-message,\n .card,\n .chart-tooltip,\n .comment-thread,\n .conference-registration,\n .conference-speaker .speaker-bio {\n margin-bottom: space('xxlarge');\n border-color: $baseBorderColor;\n background-color: $colorWhite;\n }\n\n .ql-editor ol,\n .ql-editor ul {\n padding-left: 0;\n }\n\n .badge-card__content,\n .card__content,\n .card__text--paragraph,\n .floating-helper__content-inner,\n .lead,\n .process-header + .wrapper .section,\n .timeline__content {\n ul li:not(.card-data__item) {\n padding-left: space('large');\n\n &::before {\n content: \"–\";\n margin-left: 0;\n margin-right: 0;\n text-align: left;\n width: auto;\n }\n }\n }\n\n .badge-card__content,\n .card__content,\n .card__text--paragraph,\n .floating-helper__content-inner,\n .lead,\n .process-header + .wrapper .section,\n .timeline__content {\n ul.tags li:not(.card-data__item) {\n padding-left: 0;\n\n &::before {\n content: none;\n }\n }\n }\n\n .m-bottom {\n margin-bottom: space('medium');\n }\n\n .mb-sm {\n margin-bottom: space('xxlarge');\n }\n\n p {\n color: $baseColor;\n }\n\n tfoot td,\n tfoot th,\n thead td,\n thead th {\n @include font('heavy');\n }\n\n tfoot td,\n tfoot th,\n thead td,\n thead th,\n tbody td,\n tbody th {\n padding: space('xmall');\n }\n\n table,\n td,\n tr,\n .questionnaire-question-matrix table,\n .questionnaire-question-matrix td,\n .questionnaire-question-matrix tr,\n .questionnaire-question-matrix tr:nth-child(2n) {\n border-color: $baseBorderColor;\n }\n\n\n /* Process Header */\n\n .process-header .process-header__inner {\n background-color: $colorPrimary;\n }\n\n .card--full .process-header .process-header__container .process-header__info .card__title,\n .process-header .process-header__container .process-header__info .card--full .card__title,\n .process-header .process-header__container .process-header__info .heading2 {\n @include font('title');\n @include fontCurve('hero', 'heading');\n @include spaceCurve('margin-bottom', 'medium');\n margin-top: 0;\n border-bottom: none;\n padding-bottom: 0;\n }\n\n .process-header .process-header__container {\n padding: 0 space('xxxxlarge');\n\n @media screen and (max-width: #{$processHeaderMaxDesktopBreakpoint}) {\n padding: space('xxxxlarge');\n padding-bottom: space('big');\n }\n\n @media screen and (max-width: #{$processHeaderMaxMobileBreakpoint}) {\n padding: space('xxlarge') $containerMargin space('xxxlarge');\n }\n }\n\n .process-header__info {\n padding: 0;\n }\n\n .process-header .process-header__container .process-header__info .heading-small {\n @include fontCurve('h3', 'heading');\n color: $baseInvertColor;\n margin-top: 0;\n }\n\n .process-header__hashtag a {\n color: $baseInvertColor;\n text-decoration-line: none;\n\n &:hover {\n color: $baseInvertColor;\n }\n\n .external-link-indicator {\n background: $baseInvertColor;\n padding: space('xxsmall');\n box-sizing: content-box;\n border-radius: $buttonBorderRadius;\n margin: 0;\n margin-bottom: -4px;\n margin-left: 4px;\n }\n }\n\n .phase-subtitle--initiatives,\n .phase-title,\n .phase-title--initiatives {\n @include font('heavy');\n @include fontCurve('h4');\n color: $baseLeadColor;\n }\n\n .process-header__progress {\n display: flex;\n align-items: center;\n }\n\n .process-header__phase {\n padding: space('medium');\n margin-top: space('medium');\n margin-bottom: 0;\n }\n\n .phase-date {\n @include font('regular');\n @include fontCurve('p2');\n color: $baseColor;\n }\n\n .phase-current {\n @include fontCurve('caption');\n margin-left: space('xxsmall');\n color: $baseColor;\n }\n\n .process-header__progress {\n margin-bottom: space('xsmall');\n }\n\n .process-header__phase .button,\n .process-header__phase .meeting-polls__button,\n .process-phase .button,\n .process-phase .meeting-polls__button {\n margin-top: space('xsmall');\n }\n\n /* Links */\n\n a,\n .link {\n text-decoration-line: underline;\n transition: $baseTransitionAnimationSpeed;\n\n &:hover {\n color: $linkHoverColor;\n }\n }\n\n /* Buttons */\n\n .button {\n @include fontSize('milli');\n display: inline-flex;\n align-items: center;\n height: auto;\n min-height: $formInputHeight;\n line-height: $formInputHeight - 2px;\n line-height: inherit;\n margin: 0;\n text-decoration-line: none;\n appearance: none;\n border: 1px solid $colorPrimary;\n padding: space('xsmall') space('xlarge');\n transition: all $baseTransitionAnimationSpeed;\n\n &.small {\n @include fontSize('micro');\n min-height: $formInputHeightSmall;\n line-height: $formInputHeightSmall - 2px;\n }\n\n &.tiny {\n @include fontSize('micro');\n min-height: 32px;\n }\n\n &.process-nav__more i {\n background-color: currentColor;\n margin-bottom: 0;\n }\n\n &.process-nav__more i:first-child {\n margin-left: space('xsmall');\n }\n }\n\n .button--icon {\n .icon-wrap {\n display: flex;\n align-items: center;\n }\n\n .icon-wrap .icon {\n margin-right: space('xxsmall');\n }\n }\n\n .button--icon.meeting-polls__button .icon,\n .button--icon.small .icon {\n width: iconSize('xxsmall');\n height: iconSize('xxsmall');\n }\n\n .extra .button.follow-button {\n margin-top: 0;\n }\n\n .button-group.meeting-polls__button .button,\n .button-group.meeting-polls__button .meeting-polls__button,\n .button-group.small .button,\n .button-group.small .meeting-polls__button,\n .button-group.tiny .button,\n .button-group.tiny .meeting-polls__button {\n @include fontSize('micro');\n }\n\n .button.primary,\n .button.primary.disabled,\n .button.primary.disabled:focus,\n .button.primary.disabled:hover,\n .button.primary[disabled],\n .button.primary[disabled]:focus,\n .button.primary[disabled]:hover,\n .primary.meeting-polls__button {\n background-color: $colorPrimary;\n\n &:hover,\n &:focus {\n background-color: $colorPrimaryHover;\n }\n }\n\n .button.budget-vote-button {\n @include font;\n color: $colorPrimary;\n background-color: $colorWhite;\n margin-bottom: space('medium');\n\n &:hover,\n &:focus {\n color: $colorPrimaryHover;\n background-color: $colorWhite;\n }\n }\n\n .button--vote-button {\n margin-bottom: space('large');\n }\n\n .view-side > .button {\n margin-bottom: space('medium');\n }\n\n .button.clear,\n .button.clear.disabled,\n .button.clear.disabled:focus,\n .button.clear.disabled:hover,\n .button.clear[disabled],\n .button.clear[disabled]:focus,\n .button.clear[disabled]:hover,\n .clear.meeting-polls__button {\n color: $colorError;\n }\n\n\n /* Wrapper / Layout */\n\n .wrapper {\n @include spaceCurve('padding-top', 'big');\n @include spaceCurve('padding-bottom', 'big');\n\n padding-left: $containerMargin;\n padding-right: $containerMargin;\n\n @include mq($from: small) {\n padding-left: $containerMarginSmall;\n padding-right: $containerMarginSmall;\n }\n\n @include mq($from: medium) {\n padding-left: $containerMarginMedium;\n padding-right: $containerMarginMedium;\n }\n\n @include mq($from: large) {\n padding-left: $containerMarginLarge;\n padding-right: $containerMarginLarge;\n }\n\n .wrapper--inner {\n background-color: $colorGrey5;\n }\n\n // .row.column {\n // padding-left: 0;\n // padding-right: 0;\n // }\n\n .row:not(.column) .floating-helper-container {\n padding-right: 0.625rem;\n padding-left: 0.625rem;\n }\n\n @media screen and (min-width: #{$mobileBreakpoint}) {\n .row:not(.column) .floating-helper-container {\n padding-right: 0.9375rem;\n padding-left: 0.9375rem;\n }\n }\n }\n\n\n /* Headings */\n\n .heading1, h1,\n .heading2, h2,\n .heading3, h3,\n .heading4, h4 {\n color: $colorPrimary;\n }\n\n .heading1, h1 {\n @include font('title');\n @include fontCurve('h1', 'heading');\n @include spaceCurve('margin-top', 'large');\n @include spaceCurve('margin-bottom', 'medium');\n @include spaceCurve('padding-bottom', 'tiny');\n border-bottom: 1px solid $baseBorderColor;\n }\n\n .section-heading,\n .heading2, h2 {\n @include font('title');\n @include fontCurve('h2', 'heading');\n @include spaceCurve('margin-top', 'large');\n @include spaceCurve('margin-bottom', 'medium');\n @include spaceCurve('padding-bottom', 'tiny');\n border-bottom: 1px solid $baseBorderColor;\n }\n\n .heading3, h3 {\n @include font('title');\n @include fontCurve('h3', 'heading');\n @include spaceCurve('margin-top', 'medium');\n }\n\n .heading4, h4 {\n @include font('title');\n @include fontCurve('h4', 'heading');\n @include spaceCurve('margin-top', 'medium');\n color: $baseColor;\n }\n\n .heading4, h4,\n .timeline__item--current .timeline__date {\n color: $colorPrimary;\n }\n\n #most-commented .section-heading {\n margin-top: 0;\n }\n\n #most-commented a {\n text-decoration-line: none;\n }\n\n\n /* Section */\n\n .section {\n @include spaceCurve('margin-bottom', 'large');\n }\n\n .section-heading {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n\n .section-heading .text-sm,\n .section-heading .text-small {\n @include fontCurve('h3', 'heading');\n }\n\n\n /* Dropdown */\n\n .order-by__dropdown,\n .results-per-page__dropdown {\n display: flex;\n align-items: center;\n }\n\n .order-by__text,\n .results-per-page__text {\n margin-right: space('xsmall');\n }\n\n .is-dropdown-submenu {\n box-shadow: $boxShadowPopover;\n border: none;\n border-radius: var(--stzh-popover-border-radius);\n margin-top: var(--stzh-space-xsmall);\n }\n\n .dropdown.menu > li.is-dropdown-submenu-parent > a {\n @include font;\n @include fontSize('milli');\n display: flex;\n align-items: center;\n background: $colorWhite;\n padding: space('xsmall') space('medium');\n padding-right: calc(#{space('xlarge')} + #{space('medium')} + #{space('xsmall')});\n min-height: $formInputHeight;\n border: 1px solid $formBorderColor;\n margin: 0;\n }\n\n .dropdown.menu > li.is-dropdown-submenu-parent > a:after {\n border-color: $colorPrimary transparent transparent;\n right: space('medium');\n }\n\n .dropdown .is-dropdown-submenu a,\n .comment__header__context-menu__content-item {\n @include fontSize('micro');\n display: flex;\n align-items: center;\n justify-content: stretch;\n appearance: none;\n text-decoration-line: none;\n border: none;\n padding: space('xsmall') space('medium');\n padding-left: space('large');\n color: $colorGrey70;\n background-color: transparent;\n height: $menuItemHeight;\n line-height: $menuItemHeight;\n transition: all $baseTransitionAnimationSpeed;\n cursor: pointer;\n\n &:hover {\n color: $colorGrey70;\n background-color: $colorGrey5;\n text-decoration-line: none;\n }\n }\n\n .comment__header__context-menu__content-item {\n grid-gap: space('small');\n gap: space('small');\n }\n\n\n /* Comments */\n\n .comments {\n padding-top: 0;\n margin-top: space('medium');\n margin-bottom: space('medium');\n }\n\n .comments .section-heading {\n margin-top: 0;\n }\n\n .comment__header,\n .comment__footer,\n .add-comment {\n @include spaceCurve('padding', 'regular');\n }\n\n .add-comment {\n background-color: transparent;\n padding: 0;\n }\n\n .add-comment .remaining-character-count {\n color: $baseColor;\n padding: space('xsmall') space('small');\n }\n\n .comment-threads {\n margin-bottom: space('xxxlarge');\n }\n\n .comment__content {\n @include spaceCurve('padding-left', 'regular');\n @include spaceCurve('padding-right', 'regular');\n\n p {\n margin-top: 0;\n margin-bottom: 0;\n }\n }\n\n .comment__footer {\n @include fontCurve('p2');\n }\n\n .comment__votes {\n margin-top: 0;\n }\n\n .comment__header__context-menu__content {\n box-shadow: $boxShadowPopover;\n }\n\n .opinion-toggle {\n margin: space('xlarge') 0;\n }\n\n .button:hover,\n .meeting-polls__button:hover,\n .opinion-toggle--meh.is-active,\n .opinion-toggle--meh:focus,\n .opinion-toggle--meh:hover {\n background-color: $colorPrimaryHover;\n border-color: $colorPrimaryHover;\n }\n\n .opinion-toggle--ko.is-active,\n .opinion-toggle--ko:focus,\n .opinion-toggle--ko:hover {\n background-color: $colorError;\n border-color: $colorError;\n }\n\n .opinion-toggle--ok.is-active,\n .opinion-toggle--ok:focus,\n .opinion-toggle--ok:hover {\n background-color: $colorTruegreen;\n border-color: $colorTruegreen;\n }\n\n\n /* Process Nav */\n\n .process-nav__content {\n border-bottom: none;\n }\n\n @media screen and (min-width: #{$mobileBreakpoint}) {\n .process-nav__content {\n border-bottom: 1px solid $baseBorderColor;\n }\n }\n\n @media screen and (min-width: #{$mobileBreakpoint}) {\n .process-nav li {\n padding: space('xsmall') space('small');\n }\n }\n\n\n /* Statistics */\n\n .statistics-cell {\n margin: space('xxlarge') 0;\n }\n\n .statistics-cell .statistic__number {\n @include font('regular');\n color: $colorPrimary;\n }\n\n .statistics-cell .statistic__title {\n @include font('heavy');\n @include fontCurve('p2');\n color: $baseLeadColor;\n margin-top: 0;\n text-transform: none;\n }\n\n .statistics-cell .statistic__data:after {\n border-left: 2px solid $baseBorderColor;\n }\n\n\n /* Richtext */\n\n .ql-editor {\n @include richtext-host;\n @include richtext-slotted($withLists: false);\n\n *:first-child {\n margin-top: 0;\n }\n }\n\n .help-text {\n color: $baseColor;\n }\n\n .help-text .ql-editor p {\n @include fontCurve('caption');\n }\n\n\n /* Accountability */\n\n .accountability .categories .categories--header span,\n .accountability .categories .progress-figure,\n .accountability .categories .categories--group .category--title .progress-info .category--count {\n color: $baseColor;\n }\n\n .accountability .categories .categories--header .icon--arrow-bottom {\n fill: $baseColor;\n }\n\n .accountability .categories .categories--header {\n border-color: $baseBorderColor;\n margin-bottom: space('medium');\n padding-bottom: space('medium');\n }\n\n .accountability .intro .progress-level p {\n @include font('heavy');\n @include spaceCurve('margin-bottom', 'small');\n margin-top: 0;\n }\n\n .accountability .categories .progress-figure {\n margin-top: 0;\n }\n\n .accountability .categories .categories--group .category--title .progress-info .category--count {\n margin-top: space('xxxsmall');\n }\n\n .accountability .title-action {\n @include spaceCurve('margin-bottom', 'regular');\n }\n\n\n /* Breadrumb */\n\n .lines-breadcrumb a,\n .muted-link {\n @include font;\n color: $linkColor;\n transition: color $baseTransitionAnimationSpeed;\n border-radius: $buttonBorderRadius;\n\n &:hover,\n &:focus {\n color: $linkHoverColor;\n }\n }\n\n\n /* Lead */\n\n .lead .ql-editor p {\n @include font('light');\n @include fontCurve('h3');\n @include spaceCurve('margin-bottom', 'big');\n margin-top: space('xxlarge');\n }\n\n\n /* Message / Callout / Floating Helper */\n\n .callout.secondary,\n .callout.warning,\n .callout.success,\n .floating-helper__content {\n @include spaceCurve('padding', 'regular');\n padding: space('medium');\n display: block;\n box-shadow: $boxShadowMessage;\n background-color: $colorWhite;\n margin-bottom: space('xxxxlarge') !important;\n }\n\n .callout {\n @include font('heavy');\n border-left-width: 5px;\n\n .heading2,\n .heading3 {\n &:first-child {\n margin-top: 0;\n }\n }\n }\n\n .floating-helper__content {\n border-top: none;\n padding-right: calc(#{iconSize('medium')} + #{space('small')} + #{space('medium')});\n }\n\n .floating-helper__wrapper {\n position: relative;\n }\n\n .floating-helper__content-close {\n @include spaceCurve('top', 'regular');\n @include spaceCurve('right', 'regular');\n box-sizing: content-box;\n position: absolute;\n width: iconSize('medium');\n height: iconSize('medium');\n padding: var(--stzh-space-xsmall);\n margin: calc(var(--stzh-space-xsmall) * -1);\n background-color: transparent;\n color: var(--stzh-base-lead-color);\n\n .icon {\n width: iconSize('xxsmall');\n height: iconSize('xxsmall');\n }\n }\n\n .floating-helper__icon-big {\n width: iconSize('large');\n height: iconSize('large');\n background-color: $colorPrimary8;\n\n .icon {\n width: iconSize('xsmall');\n height: iconSize('xsmall');\n }\n }\n\n @media screen and (min-width: #{$mobileBreakpoint}) {\n .floating-helper__content-inner > * {\n margin: 0;\n }\n\n .floating-helper__icon-big {\n margin-right: space('small');\n }\n }\n\n .floating-helper-block .mb-s {\n margin: 0 !important;\n }\n\n\n /* Sidebar */\n\n .extra,\n .tech-info {\n @include spaceCurve('margin-bottom', 'regular');\n }\n\n .extra__date,\n .extra__suport-number {\n @include font('heavy');\n @include fontCurve('h2');\n }\n\n .extra__month {\n @include fontCurve('caption');\n }\n\n .extra__time,\n .extra__suport-text {\n @include fontCurve('p2');\n color: $baseColor;\n }\n\n\n /* Filters */\n\n .filters__help p:first-of-type {\n @include fontCurve('p2');\n margin-top: 0;\n }\n\n #participatory-space-filters legend {\n margin-right: space('xsmall');\n }\n\n\n /* Mini Title */\n\n .mini-title {\n @include font('heavy');\n @include fontCurve('p2');\n color: $baseColor;\n margin-bottom: space('small');\n }\n\n .mini-title__strong--highlight {\n @include font('heavy');\n @include fontCurve('h4');\n }\n\n\n /* Tags */\n\n .tags {\n display: flex;\n flex-wrap: wrap;\n\n &:last-child {\n margin-bottom: calc(#{space('xsmall')} * -1);\n }\n }\n\n .tags li {\n margin-right: space('xsmall');\n margin-bottom: space('xsmall');\n }\n\n .tags li a {\n @include fontSize('micro');\n height: 32px;\n line-height: 32px;\n display: flex;\n flex-direction: row;\n align-items: center;\n border-radius: 16px;\n padding: 0 space('medium');\n color: $colorPrimary;\n appearance: none;\n border: 1px solid $colorGrey13;\n background-color: $colorWhite;\n transition: all $baseTransitionAnimationSpeed;\n text-decoration-line: none;\n }\n\n /* Card */\n\n .card {\n color: $baseColor;\n }\n\n .card__top .badge-card__content,\n .card__top .card__content {\n @include fontCurve('caption');\n padding: space('xsmall') space('large');\n align-items: center;\n\n span.muted {\n font-size: inherit;\n }\n }\n\n .card__top .card__content {\n border-bottom: 1px solid $baseBorderColor;\n }\n\n .card__top .card__content .card__link {\n display: block;\n }\n\n .card > .card__content,\n .card.definition-data,\n .card .definition-data,\n .badge-card__content,\n .card__support,\n .filters__section,\n .filters__section--general,\n .filters__section--general:first-of-type,\n .filters__section:first-of-type {\n @include spaceCurve('padding', 'regular');\n }\n\n .card-data__item,\n .filters__section,\n .filters__section--general,\n .card__block ul,\n .card__icondata ul,\n .card__footer,\n .card__top {\n border-color: $baseBorderColor;\n }\n\n .card__link {\n display: flex;\n flex-direction: column;\n text-decoration-line: none;\n color: $baseColor;\n\n &:hover {\n text-decoration-line: none;\n }\n\n .text-small {\n @include fontCurve('p2');\n }\n }\n\n .card__header {\n margin-bottom: space('small');\n }\n\n .card__text {\n @include fontCurve('p1');\n\n &:not(:last-child) {\n margin-bottom: space('small');\n }\n }\n\n .card .card__title,\n .card--list__heading {\n @include font('heavy');\n @include fontCurve('h4', 'heading');\n color: $colorPrimary;\n margin-top: 0;\n transition: color $baseTransitionAnimationSpeed;\n }\n\n .card:not(.card--secondary):hover .card__title {\n color: $colorPrimaryHover;\n }\n\n .collapsible-list .card__text--paragraph {\n color: $baseColor !important;\n }\n\n .card__block ul li:not(:first-child),\n .card__icondata ul li:not(:first-child) {\n @include fontCurve('caption');\n color: $baseColor;\n }\n\n .card-data__item {\n @include fontCurve('caption');\n color: $baseColor;\n\n .heading1,\n .heading2,\n .heading3,\n .heading4 {\n margin-top: 0;\n }\n\n strong {\n display: block;\n }\n\n br {\n display: none;\n }\n }\n\n .card-data__item.creation_date_status strong {\n color: $baseColor;\n color: inherit;\n }\n\n .card__status .card-data__item {\n padding: space('xsmall');\n }\n\n .card--meta {\n color: $baseColor;\n }\n\n .card__block ul li:not(:first-child) strong,\n .card__icondata ul li:not(:first-child) strong {\n font-size: inherit;\n letter-spacing: inherit;\n }\n\n .add-message:not(.card--secondary),\n .card:not(.card--secondary),\n .chart-tooltip:not(.card--secondary),\n .conference-registration:not(.card--secondary),\n .conference-speaker .speaker-bio:not(.card--secondary) {\n &:hover {\n box-shadow: $boxShadowPopover;\n }\n }\n\n div.card__text--paragraph > .ql-editor.ql-reset-decidim > p,\n div.card__text--paragraph > .ql-editor.ql-reset-decidim > h1,\n div.card__text--paragraph > .ql-editor.ql-reset-decidim > h2,\n div.card__text--paragraph > .ql-editor.ql-reset-decidim > h3,\n div.card__text--paragraph > .ql-editor.ql-reset-decidim > h4 {\n @include font;\n @include fontCurve('p1');\n color: $baseColor;\n }\n\n // Progress bar\n\n .progress__bar.progress__bar--vertical .progress__bar__subtitle,\n .progress__bar .progress__bar__title {\n @include font;\n @include fontCurve('caption');\n color: $baseColor;\n }\n\n .card__support__number,\n .progress__bar.progress__bar--vertical .progress__bar__subtitle .progress__bar__number,\n .progress__bar .progress__bar__title .progress__bar__number,\n .extra__suport-text,\n .progress__bar.progress__bar--vertical .progress__bar__text {\n @include fontCurve('p2');\n color: $baseColor;\n }\n\n .progress__bar.progress__bar--vertical .progress__bar__number {\n @include font('heavy');\n @include fontCurve('h2');\n }\n\n // Card list\n\n .card--list__item {\n padding: 0;\n }\n\n .card--list__text {\n padding: 0;\n display: block;\n }\n\n .card--list__icon {\n fill: $colorPrimary;\n }\n\n .card--list__item .card__link {\n @include spaceCurve('padding', 'regular');\n }\n\n .card--list__text .card__link:hover .card--list__heading {\n color: $colorPrimaryHover;\n }\n\n .card--list__text .card__link .text-small {\n color: $baseColor;\n }\n\n .card--list__data {\n background-color: $colorGrey5;\n }\n\n .card--list__data__number {\n @include font('heavy');\n @include fontCurve('h3');\n color: $colorGrey70;\n }\n\n // Side cards\n\n .card.extra,\n .view-side .card:not(.card--secondary),\n .comment-thread:not(.card--secondary) {\n &:hover {\n box-shadow: none;\n }\n }\n\n // Definition Card\n\n .definition__title {\n color: $colorGrey70;\n }\n\n .definition-data {\n color: $colorGrey55;\n }\n\n .definition-data__item {\n @include fontCurve('p2');\n padding: 0;\n padding-bottom: space('small');\n margin-bottom: space('small');\n border-bottom: 1px solid $baseBorderColor;\n\n &:last-child {\n border-bottom: none;\n margin-bottom: 0;\n padding-bottom: 0;\n }\n }\n\n .definition-data__title {\n @include font('heavy');\n @include fontCurve('p2');\n margin-bottom: 0;\n }\n\n .section.columns.medium-5.mediumlarge-4.large-3 > .card.extra.definition-data {\n background-color: $colorGrey5;\n }\n\n\n /* Blog */\n\n .author__name {\n @include font('regular');\n @include fontCurve('caption');\n color: $colorGrey55 !important;\n }\n\n .author-data {\n @include fontCurve('caption');\n color: $baseColor;\n }\n\n .author-data__extra {\n @include font('regular');\n @include fontCurve('caption');\n\n &::before {\n border-color: $baseBorderColor;\n }\n }\n\n .author-data__extra a {\n white-space: nowrap;\n text-decoration-line: none;\n }\n\n .author-data__extra > a,\n .author-data__extra > button\n .author-data__extra > span {\n margin-right: space('medium');\n }\n\n\n /* Budget */\n\n .budget-summary {\n .heading2,\n .heading3 {\n &:first-child {\n margin-top: 0;\n }\n }\n }\n\n .budget-progress {\n min-height: $formInputHeight;\n }\n\n .budget-list__title {\n margin-top: space('xsmall');\n margin-bottom: space('medium');\n }\n\n .budget-list__text:not(:last-child) {\n margin-bottom: 0;\n }\n\n .budget-list__data__number {\n @include font('heavy');\n @include fontCurve('h4');\n }\n\n /* Survey */\n\n .answer-questionnaire .questionnaire-question {\n @include font('heavy');\n @include fontCurve('p1');\n margin-bottom: space('xsmall');\n }\n}\n","import {\n Component,\n Host,\n h\n} from \"@stencil/core\";\n\n/**\n *\n */\n@Component({\n tag: \"stzh-skin-portal-mitwirken\",\n styleUrl: \"stzh-skin-portal-mitwirken.scss\"\n})\nexport class StzhSkinPortalMitwirken {\n componentDidLoad() {\n // copy this string from console and put it in the Decidim CSS textbox to adjust theme\n console.log((this.constructor as any).style.replace('@charset \"UTF-8\";', ''));\n }\n\n render() {\n return (\n <Host>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"stzh-skin-portal-mitwirken.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,0BAA0B,GAAG,wtyIAAwtyI;;MCa9uyI,uBAAuB;;;;EAClC,gBAAgB;;IAEd,OAAO,CAAC,GAAG,CAAE,IAAI,CAAC,WAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;GAC/E;EAED,MAAM;IACJ,QACEA,QAACC,UAAI,OACE,EACP;GACH;;;;;;","names":["h","Host"],"sources":["./src/components/stzh-skin-portal-mitwirken/stzh-skin-portal-mitwirken.scss?tag=stzh-skin-portal-mitwirken","./src/components/stzh-skin-portal-mitwirken/stzh-skin-portal-mitwirken.tsx"],"sourcesContent":["@import \"../../global/css/stzh-components.css\";\n\n:root {\n --stzh-color-primary: var(--stzh-color-deepcerulean);\n --stzh-color-primary-hover: var(--stzh-color-regalblue);\n\n --stzh-color-primary48: rgba(5, 127, 172, 0.48);\n --stzh-color-primary32: rgba(5, 127, 172, 0.32);\n --stzh-color-primary16: rgba(5, 127, 172, 0.16);\n --stzh-color-primary8: rgba(5, 127, 172, 0.08);\n\n --stzh-font-family-heavy: var(--stzh-font-family-bold);\n --stzh-font-family-title: var(--stzh-font-family-light);\n\n --stzh-button-text-hover-background: rgba(5, 127, 172, 0.08);\n}\n\n$mobileBreakpoint: 40em;\n$processHeaderMaxMobileBreakpoint: 599px;\n$processHeaderMaxDesktopBreakpoint: 1023px;\n\nmain,\n.reveal-overlay,\n.mod_header {\n --primary: var(--stzh-color-primary);\n --secondary: var(--stzh-color-primary);\n --success: var(--stzh-color-truegreen);\n --warning: var(--stzh-color-warning);\n --alert: var(--stzh-color-error);\n --highlight: var(--stzh-color-coral);\n --highlight_alternative: var(--stzh-color-coral);\n}\n\n// For main and modals\nmain,\n.reveal-overlay {\n a.muted,\n .inline-filters button.muted[data-toggle] {\n color: $colorWhite;\n background-color: $colorGrey13;\n border-color: $colorGrey13;\n\n &:hover,\n &:focus {\n color: $colorWhite;\n background-color: $colorGrey13;\n border-color: $colorGrey13;\n }\n }\n}\n\n// Only modals\n.reveal-overlay {\n background-color: rgba(5, 127, 172, 0.8);\n\n /* Dialog */\n\n .reveal__title {\n margin-top: 0;\n }\n\n .reveal {\n box-shadow: $boxShadowOverlay;\n }\n\n .close-button {\n color: $baseLeadColor;\n }\n}\n\n// Only header\n.mod_header {\n .mod_header__logobar-logo img {\n background: url(https://www.stadt-zuerich.ch/content/dam/stzh/corpdesign/wortbildmarken/logo_stzh_vbz_pos_2-1.svg) no-repeat;\n width: 0;\n padding-left: 208px;\n }\n}\n\n// Main Content Modules\nmain {\n accent-color: $colorPrimary;\n\n /* Resets */\n @include richtext-host;\n @include richtext-slotted($withLists: false);\n\n &, label, tfoot, thead {\n color: $baseColor;\n }\n\n svg {\n overflow: visible;\n }\n\n label {\n display: flex;\n align-items: center;\n }\n\n .field label {\n @include font('heavy');\n display: block;\n }\n\n input[type=checkbox],\n input[type=radio] {\n width: 24px;\n height: 24px;\n }\n\n label > [type=checkbox],\n label > [type=radio] {\n margin-right: space('small');\n }\n\n .filters__section--general label,\n .filters__section label {\n @include fontSize('milli');\n display: flex;\n line-height: 24px;\n transition: color $baseTransitionAnimationSpeed;\n color: $baseColor;\n margin-bottom: space('small');\n }\n\n .filters__has-subfilters {\n align-items: center;\n\n [data-toggle] {\n margin-bottom: space('small');\n }\n }\n\n .form-input-extra-before,\n .form-error {\n @include font;\n @include fontCurve('caption');\n }\n\n .form-error,\n .is-invalid-label {\n color: $colorError;\n }\n\n [type=color],\n [type=date],\n [type=datetime-local],\n [type=datetime],\n [type=email],\n [type=month],\n [type=number],\n [type=password],\n [type=search],\n [type=tel],\n [type=text],\n [type=time],\n [type=url],\n [type=week],\n textarea,\n .inline-filters button[data-toggle],\n select,\n .data-picker .picker-prompt a,\n .data-picker.picker-single .picker-values div a {\n @include font;\n\t @include fontSize('milli');\n border: 1px solid $formBorderColor;\n transition-property: color, border-color;\n transition-duration: $baseTransitionAnimationSpeed;\n border-radius: $formInputBorderRadius;\n padding: space('xsmall') space('medium');\n width: 100%;\n height: $formInputHeight;\n color: $colorPrimary;\n appearance: none;\n margin-bottom: space('medium');\n text-decoration-line: none;\n\n @include placeholder {\n color: $formInputPlaceholderColor;\n }\n\n &:hover,\n &:focus {\n color: $colorPrimaryHover;\n border-color: $colorPrimaryHover;\n }\n\n // remove clear button for IE11\n &::-ms-clear {\n display: none;\n }\n\n // prevent ugly autofill background color in chrome\n &:-webkit-autofill {\n background-clip: text;\n }\n\n // show ellipsis for placeholders that are too long\n &:placeholder-shown {\n text-overflow: ellipsis;\n }\n }\n\n .data-picker .picker-prompt a,\n .data-picker.picker-single .picker-values div a {\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n &::after {\n float: none;\n margin-top: 0;\n }\n }\n\n .inline-filters button[data-toggle],\n select {\n padding-right: space('xxlarge');\n }\n\n textarea {\n min-height: $formInputHeight;\n resize: vertical;\n\n &[rows] {\n height: auto;\n }\n }\n\n .input-group .input-group-field {\n margin-bottom: 0;\n }\n\n .section > p,\n .floating-helper__content p {\n margin-top: 0;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n .add-message,\n .card,\n .chart-tooltip,\n .comment-thread,\n .conference-registration,\n .conference-speaker .speaker-bio {\n margin-bottom: space('xxlarge');\n border-color: $baseBorderColor;\n background-color: $colorWhite;\n }\n\n .ql-editor ol,\n .ql-editor ul {\n padding-left: 0;\n }\n\n .badge-card__content,\n .card__content,\n .card__text--paragraph,\n .floating-helper__content-inner,\n .lead,\n .process-header + .wrapper .section,\n .timeline__content {\n ul li:not(.card-data__item) {\n padding-left: space('large');\n\n &::before {\n content: \"–\";\n margin-left: 0;\n margin-right: 0;\n text-align: left;\n width: auto;\n }\n }\n }\n\n .badge-card__content,\n .card__content,\n .card__text--paragraph,\n .floating-helper__content-inner,\n .lead,\n .process-header + .wrapper .section,\n .timeline__content {\n ul.tags li:not(.card-data__item) {\n padding-left: 0;\n\n &::before {\n content: none;\n }\n }\n }\n\n .m-bottom {\n margin-bottom: space('medium');\n }\n\n .mb-sm {\n margin-bottom: space('xxlarge');\n }\n\n p {\n color: $baseColor;\n }\n\n tfoot td,\n tfoot th,\n thead td,\n thead th {\n @include font('heavy');\n }\n\n tfoot td,\n tfoot th,\n thead td,\n thead th,\n tbody td,\n tbody th {\n padding: space('xmall');\n }\n\n table,\n td,\n tr,\n .questionnaire-question-matrix table,\n .questionnaire-question-matrix td,\n .questionnaire-question-matrix tr,\n .questionnaire-question-matrix tr:nth-child(2n) {\n border-color: $baseBorderColor;\n }\n\n\n /* Process Header */\n\n .process-header .process-header__inner {\n background-color: $colorPrimary;\n }\n\n .card--full .process-header .process-header__container .process-header__info .card__title,\n .process-header .process-header__container .process-header__info .card--full .card__title,\n .process-header .process-header__container .process-header__info .heading2 {\n @include font('title');\n @include fontCurve('hero', 'heading');\n @include spaceCurve('margin-bottom', 'medium');\n margin-top: 0;\n border-bottom: none;\n padding-bottom: 0;\n }\n\n .process-header .process-header__container {\n padding: 0 space('xxxxlarge');\n\n @media screen and (max-width: #{$processHeaderMaxDesktopBreakpoint}) {\n padding: space('xxxxlarge');\n padding-bottom: space('big');\n }\n\n @media screen and (max-width: #{$processHeaderMaxMobileBreakpoint}) {\n padding: space('xxlarge') $containerMargin space('xxxlarge');\n }\n }\n\n .process-header__info {\n padding: 0;\n }\n\n .process-header .process-header__container .process-header__info .heading-small {\n @include fontCurve('h3', 'heading');\n color: $baseInvertColor;\n margin-top: 0;\n }\n\n .process-header__hashtag a {\n color: $baseInvertColor;\n text-decoration-line: none;\n\n &:hover {\n color: $baseInvertColor;\n }\n\n .external-link-indicator {\n background: $baseInvertColor;\n padding: space('xxsmall');\n box-sizing: content-box;\n border-radius: $buttonBorderRadius;\n margin: 0;\n margin-bottom: -4px;\n margin-left: 4px;\n }\n }\n\n .phase-subtitle--initiatives,\n .phase-title,\n .phase-title--initiatives {\n @include font('heavy');\n @include fontCurve('h4');\n color: $baseLeadColor;\n }\n\n .process-header__progress {\n display: flex;\n align-items: center;\n }\n\n .process-header__phase {\n padding: space('medium');\n margin-top: space('medium');\n margin-bottom: 0;\n }\n\n .phase-date {\n @include font('regular');\n @include fontCurve('p2');\n color: $baseColor;\n }\n\n .phase-current {\n @include fontCurve('caption');\n margin-left: space('xxsmall');\n color: $baseColor;\n }\n\n .process-header__progress {\n margin-bottom: space('xsmall');\n }\n\n .process-header__phase .button,\n .process-header__phase .meeting-polls__button,\n .process-phase .button,\n .process-phase .meeting-polls__button {\n margin-top: space('xsmall');\n }\n\n /* Links */\n\n a,\n .link {\n text-decoration-line: underline;\n transition: $baseTransitionAnimationSpeed;\n\n &:hover {\n color: $linkHoverColor;\n }\n }\n\n /* Buttons */\n\n .button {\n @include fontSize('milli');\n display: inline-flex;\n align-items: center;\n height: auto;\n min-height: $formInputHeight;\n line-height: $formInputHeight - 2px;\n line-height: inherit;\n margin: 0;\n text-decoration-line: none;\n appearance: none;\n border: 1px solid $colorPrimary;\n padding: space('xsmall') space('xlarge');\n transition: all $baseTransitionAnimationSpeed;\n\n &.small {\n @include fontSize('micro');\n min-height: $formInputHeightSmall;\n line-height: $formInputHeightSmall - 2px;\n }\n\n &.tiny {\n @include fontSize('micro');\n min-height: 32px;\n }\n\n &.process-nav__more i {\n background-color: currentColor;\n margin-bottom: 0;\n }\n\n &.process-nav__more i:first-child {\n margin-left: space('xsmall');\n }\n }\n\n .button--icon {\n .icon-wrap {\n display: flex;\n align-items: center;\n }\n\n .icon-wrap .icon {\n margin-right: space('xxsmall');\n }\n }\n\n .button--icon.meeting-polls__button .icon,\n .button--icon.small .icon {\n width: iconSize('xxsmall');\n height: iconSize('xxsmall');\n }\n\n .extra .button.follow-button {\n margin-top: 0;\n }\n\n .button-group.meeting-polls__button .button,\n .button-group.meeting-polls__button .meeting-polls__button,\n .button-group.small .button,\n .button-group.small .meeting-polls__button,\n .button-group.tiny .button,\n .button-group.tiny .meeting-polls__button {\n @include fontSize('micro');\n }\n\n .button.primary,\n .button.primary.disabled,\n .button.primary.disabled:focus,\n .button.primary.disabled:hover,\n .button.primary[disabled],\n .button.primary[disabled]:focus,\n .button.primary[disabled]:hover,\n .primary.meeting-polls__button {\n background-color: $colorPrimary;\n\n &:hover,\n &:focus {\n background-color: $colorPrimaryHover;\n }\n }\n\n .button.budget-vote-button {\n @include font;\n color: $colorPrimary;\n background-color: $colorWhite;\n margin-bottom: space('medium');\n\n &:hover,\n &:focus {\n color: $colorPrimaryHover;\n background-color: $colorWhite;\n }\n }\n\n .button--vote-button {\n margin-bottom: space('large');\n }\n\n .view-side > .button {\n margin-bottom: space('medium');\n }\n\n .button.clear,\n .button.clear.disabled,\n .button.clear.disabled:focus,\n .button.clear.disabled:hover,\n .button.clear[disabled],\n .button.clear[disabled]:focus,\n .button.clear[disabled]:hover,\n .clear.meeting-polls__button {\n color: $colorError;\n }\n\n\n /* Wrapper / Layout */\n\n .wrapper {\n @include spaceCurve('padding-top', 'big');\n @include spaceCurve('padding-bottom', 'big');\n\n padding-left: $containerMargin;\n padding-right: $containerMargin;\n\n @include mq($from: small) {\n padding-left: $containerMarginSmall;\n padding-right: $containerMarginSmall;\n }\n\n @include mq($from: medium) {\n padding-left: $containerMarginMedium;\n padding-right: $containerMarginMedium;\n }\n\n @include mq($from: large) {\n padding-left: $containerMarginLarge;\n padding-right: $containerMarginLarge;\n }\n\n .wrapper--inner {\n background-color: $colorGrey5;\n }\n\n // .row.column {\n // padding-left: 0;\n // padding-right: 0;\n // }\n\n .row:not(.column) .floating-helper-container {\n padding-right: 0.625rem;\n padding-left: 0.625rem;\n }\n\n @media screen and (min-width: #{$mobileBreakpoint}) {\n .row:not(.column) .floating-helper-container {\n padding-right: 0.9375rem;\n padding-left: 0.9375rem;\n }\n }\n }\n\n\n /* Headings */\n\n .heading1, h1,\n .heading2, h2,\n .heading3, h3,\n .heading4, h4 {\n color: $colorPrimary;\n }\n\n .heading1, h1 {\n @include font('title');\n @include fontCurve('h1', 'heading');\n @include spaceCurve('margin-top', 'large');\n @include spaceCurve('margin-bottom', 'medium');\n @include spaceCurve('padding-bottom', 'tiny');\n border-bottom: 1px solid $baseBorderColor;\n }\n\n .section-heading,\n .heading2, h2 {\n @include font('title');\n @include fontCurve('h2', 'heading');\n @include spaceCurve('margin-top', 'large');\n @include spaceCurve('margin-bottom', 'medium');\n @include spaceCurve('padding-bottom', 'tiny');\n border-bottom: 1px solid $baseBorderColor;\n }\n\n .heading3, h3 {\n @include font('title');\n @include fontCurve('h3', 'heading');\n @include spaceCurve('margin-top', 'medium');\n }\n\n .heading4, h4 {\n @include font('title');\n @include fontCurve('h4', 'heading');\n @include spaceCurve('margin-top', 'medium');\n color: $baseColor;\n }\n\n .heading4, h4,\n .timeline__item--current .timeline__date {\n color: $colorPrimary;\n }\n\n #most-commented .section-heading {\n margin-top: 0;\n }\n\n #most-commented a {\n text-decoration-line: none;\n }\n\n\n /* Section */\n\n .section {\n @include spaceCurve('margin-bottom', 'large');\n }\n\n .section-heading {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n\n .section-heading .text-sm,\n .section-heading .text-small {\n @include fontCurve('h3', 'heading');\n }\n\n\n /* Dropdown */\n\n .order-by__dropdown,\n .results-per-page__dropdown {\n display: flex;\n align-items: center;\n }\n\n .order-by__text,\n .results-per-page__text {\n margin-right: space('xsmall');\n }\n\n .is-dropdown-submenu {\n box-shadow: $boxShadowPopover;\n border: none;\n border-radius: var(--stzh-popover-border-radius);\n margin-top: var(--stzh-space-xsmall);\n }\n\n .dropdown.menu > li.is-dropdown-submenu-parent > a {\n @include font;\n @include fontSize('milli');\n display: flex;\n align-items: center;\n background: $colorWhite;\n padding: space('xsmall') space('medium');\n padding-right: calc(#{space('xlarge')} + #{space('medium')} + #{space('xsmall')});\n min-height: $formInputHeight;\n border: 1px solid $formBorderColor;\n margin: 0;\n }\n\n .dropdown.menu > li.is-dropdown-submenu-parent > a:after {\n border-color: $colorPrimary transparent transparent;\n right: space('medium');\n }\n\n .dropdown .is-dropdown-submenu a,\n .comment__header__context-menu__content-item {\n @include fontSize('micro');\n display: flex;\n align-items: center;\n justify-content: stretch;\n appearance: none;\n text-decoration-line: none;\n border: none;\n padding: space('xsmall') space('medium');\n padding-left: space('large');\n color: $colorGrey70;\n background-color: transparent;\n height: $menuItemHeight;\n line-height: $menuItemHeight;\n transition: all $baseTransitionAnimationSpeed;\n cursor: pointer;\n\n &:hover {\n color: $colorGrey70;\n background-color: $colorGrey5;\n text-decoration-line: none;\n }\n }\n\n .comment__header__context-menu__content-item {\n grid-gap: space('small');\n gap: space('small');\n }\n\n\n /* Comments */\n\n .comments {\n padding-top: 0;\n margin-top: space('medium');\n margin-bottom: space('medium');\n }\n\n .comments .section-heading {\n margin-top: 0;\n }\n\n .comment__header,\n .comment__footer,\n .add-comment {\n @include spaceCurve('padding', 'regular');\n }\n\n .add-comment {\n background-color: transparent;\n padding: 0;\n }\n\n .add-comment .remaining-character-count {\n color: $baseColor;\n padding: space('xsmall') space('small');\n }\n\n .comment-threads {\n margin-bottom: space('xxxlarge');\n }\n\n .comment__content {\n @include spaceCurve('padding-left', 'regular');\n @include spaceCurve('padding-right', 'regular');\n\n p {\n margin-top: 0;\n margin-bottom: 0;\n }\n }\n\n .comment__footer {\n @include fontCurve('p2');\n }\n\n .comment__votes {\n margin-top: 0;\n }\n\n .comment__header__context-menu__content {\n box-shadow: $boxShadowPopover;\n }\n\n .opinion-toggle {\n margin: space('xlarge') 0;\n }\n\n .button:hover,\n .meeting-polls__button:hover,\n .opinion-toggle--meh.is-active,\n .opinion-toggle--meh:focus,\n .opinion-toggle--meh:hover {\n background-color: $colorPrimaryHover;\n border-color: $colorPrimaryHover;\n }\n\n .opinion-toggle--ko.is-active,\n .opinion-toggle--ko:focus,\n .opinion-toggle--ko:hover {\n background-color: $colorError;\n border-color: $colorError;\n }\n\n .opinion-toggle--ok.is-active,\n .opinion-toggle--ok:focus,\n .opinion-toggle--ok:hover {\n background-color: $colorTruegreen;\n border-color: $colorTruegreen;\n }\n\n\n /* Process Nav */\n\n .process-nav__content {\n border-bottom: none;\n }\n\n @media screen and (min-width: #{$mobileBreakpoint}) {\n .process-nav__content {\n border-bottom: 1px solid $baseBorderColor;\n }\n }\n\n @media screen and (min-width: #{$mobileBreakpoint}) {\n .process-nav li {\n padding: space('xsmall') space('small');\n }\n }\n\n\n /* Statistics */\n\n .statistics-cell {\n margin: space('xxlarge') 0;\n }\n\n .statistics-cell .statistic__number {\n @include font('regular');\n color: $colorPrimary;\n }\n\n .statistics-cell .statistic__title {\n @include font('heavy');\n @include fontCurve('p2');\n color: $baseLeadColor;\n margin-top: 0;\n text-transform: none;\n }\n\n .statistics-cell .statistic__data:after {\n border-left: 2px solid $baseBorderColor;\n }\n\n\n /* Richtext */\n\n .ql-editor {\n @include richtext-host;\n @include richtext-slotted($withLists: false);\n\n *:first-child {\n margin-top: 0;\n }\n }\n\n .help-text {\n color: $baseColor;\n }\n\n .help-text .ql-editor p {\n @include fontCurve('caption');\n }\n\n\n /* Accountability */\n\n .accountability .categories .categories--header span,\n .accountability .categories .progress-figure,\n .accountability .categories .categories--group .category--title .progress-info .category--count {\n color: $baseColor;\n }\n\n .accountability .categories .categories--header .icon--arrow-bottom {\n fill: $baseColor;\n }\n\n .accountability .categories .categories--header {\n border-color: $baseBorderColor;\n margin-bottom: space('medium');\n padding-bottom: space('medium');\n }\n\n .accountability .intro .progress-level p {\n @include font('heavy');\n @include spaceCurve('margin-bottom', 'small');\n margin-top: 0;\n }\n\n .accountability .categories .progress-figure {\n margin-top: 0;\n }\n\n .accountability .categories .categories--group .category--title .progress-info .category--count {\n margin-top: space('xxxsmall');\n }\n\n .accountability .title-action {\n @include spaceCurve('margin-bottom', 'regular');\n }\n\n\n /* Breadrumb */\n\n .lines-breadcrumb a,\n .muted-link {\n @include font;\n color: $linkColor;\n transition: color $baseTransitionAnimationSpeed;\n border-radius: $buttonBorderRadius;\n\n &:hover,\n &:focus {\n color: $linkHoverColor;\n }\n }\n\n\n /* Lead */\n\n .lead .ql-editor p {\n @include font('light');\n @include fontCurve('h3');\n @include spaceCurve('margin-bottom', 'big');\n margin-top: space('xxlarge');\n }\n\n\n /* Message / Callout / Floating Helper */\n\n .callout.secondary,\n .callout.warning,\n .callout.success,\n .floating-helper__content {\n @include spaceCurve('padding', 'regular');\n padding: space('medium');\n display: block;\n box-shadow: $boxShadowMessage;\n background-color: $colorWhite;\n margin-bottom: space('xxxxlarge') !important;\n }\n\n .callout {\n @include font('heavy');\n border-left-width: 5px;\n\n .heading2,\n .heading3 {\n &:first-child {\n margin-top: 0;\n }\n }\n }\n\n .floating-helper__content {\n border-top: none;\n padding-right: calc(#{iconSize('medium')} + #{space('small')} + #{space('medium')});\n }\n\n .floating-helper__wrapper {\n position: relative;\n }\n\n .floating-helper__content-close {\n @include spaceCurve('top', 'regular');\n @include spaceCurve('right', 'regular');\n box-sizing: content-box;\n position: absolute;\n width: iconSize('medium');\n height: iconSize('medium');\n padding: var(--stzh-space-xsmall);\n margin: calc(var(--stzh-space-xsmall) * -1);\n background-color: transparent;\n color: var(--stzh-base-lead-color);\n\n .icon {\n width: iconSize('xxsmall');\n height: iconSize('xxsmall');\n }\n }\n\n .floating-helper__icon-big {\n width: iconSize('large');\n height: iconSize('large');\n background-color: $colorPrimary8;\n\n .icon {\n width: iconSize('xsmall');\n height: iconSize('xsmall');\n }\n }\n\n @media screen and (min-width: #{$mobileBreakpoint}) {\n .floating-helper__content-inner > * {\n margin: 0;\n }\n\n .floating-helper__icon-big {\n margin-right: space('small');\n }\n }\n\n .floating-helper-block .mb-s {\n margin: 0 !important;\n }\n\n\n /* Sidebar */\n\n .extra,\n .tech-info {\n @include spaceCurve('margin-bottom', 'regular');\n }\n\n .extra__date,\n .extra__suport-number {\n @include font('heavy');\n @include fontCurve('h2');\n }\n\n .extra__month {\n @include fontCurve('caption');\n }\n\n .extra__time,\n .extra__suport-text {\n @include fontCurve('p2');\n color: $baseColor;\n }\n\n\n /* Filters */\n\n .filters__help p:first-of-type {\n @include fontCurve('p2');\n margin-top: 0;\n }\n\n #participatory-space-filters legend {\n margin-right: space('xsmall');\n }\n\n\n /* Mini Title */\n\n .mini-title {\n @include font('heavy');\n @include fontCurve('p2');\n color: $baseColor;\n margin-bottom: space('small');\n }\n\n .mini-title__strong--highlight {\n @include font('heavy');\n @include fontCurve('h4');\n }\n\n\n /* Tags */\n\n .tags {\n display: flex;\n flex-wrap: wrap;\n\n &:last-child {\n margin-bottom: calc(#{space('xsmall')} * -1);\n }\n }\n\n .tags li {\n margin-right: space('xsmall');\n margin-bottom: space('xsmall');\n }\n\n .tags li a {\n @include fontSize('micro');\n height: 32px;\n line-height: 32px;\n display: flex;\n flex-direction: row;\n align-items: center;\n border-radius: 16px;\n padding: 0 space('medium');\n color: $colorPrimary;\n appearance: none;\n border: 1px solid $colorGrey13;\n background-color: $colorWhite;\n transition: all $baseTransitionAnimationSpeed;\n text-decoration-line: none;\n }\n\n /* Card */\n\n .card {\n color: $baseColor;\n }\n\n .card__top .badge-card__content,\n .card__top .card__content {\n @include fontCurve('caption');\n padding: space('xsmall') space('large');\n align-items: center;\n\n span.muted {\n font-size: inherit;\n }\n }\n\n .card__top .card__content {\n border-bottom: 1px solid $baseBorderColor;\n }\n\n .card__top .card__content .card__link {\n display: block;\n }\n\n .card > .card__content,\n .card.definition-data,\n .card .definition-data,\n .badge-card__content,\n .card__support,\n .filters__section,\n .filters__section--general,\n .filters__section--general:first-of-type,\n .filters__section:first-of-type {\n @include spaceCurve('padding', 'regular');\n }\n\n .card-data__item,\n .filters__section,\n .filters__section--general,\n .card__block ul,\n .card__icondata ul,\n .card__footer,\n .card__top {\n border-color: $baseBorderColor;\n }\n\n .card__link {\n display: flex;\n flex-direction: column;\n text-decoration-line: none;\n color: $baseColor;\n\n &:hover {\n text-decoration-line: none;\n }\n\n .text-small {\n @include fontCurve('p2');\n }\n }\n\n .card__header {\n margin-bottom: space('small');\n }\n\n .card__text {\n @include fontCurve('p1');\n\n &:not(:last-child) {\n margin-bottom: space('small');\n }\n }\n\n .card .card__title,\n .card--list__heading {\n @include font('heavy');\n @include fontCurve('h4', 'heading');\n color: $colorPrimary;\n margin-top: 0;\n transition: color $baseTransitionAnimationSpeed;\n }\n\n .card:not(.card--secondary):hover .card__title {\n color: $colorPrimaryHover;\n }\n\n .collapsible-list .card__text--paragraph {\n color: $baseColor !important;\n }\n\n .card__block ul li:not(:first-child),\n .card__icondata ul li:not(:first-child) {\n @include fontCurve('caption');\n color: $baseColor;\n }\n\n .card-data__item {\n @include fontCurve('caption');\n color: $baseColor;\n\n .heading1,\n .heading2,\n .heading3,\n .heading4 {\n margin-top: 0;\n }\n\n strong {\n display: block;\n }\n\n br {\n display: none;\n }\n }\n\n .card-data__item.creation_date_status strong {\n color: $baseColor;\n color: inherit;\n }\n\n .card__status .card-data__item {\n padding: space('xsmall');\n }\n\n .card--meta {\n color: $baseColor;\n }\n\n .card__block ul li:not(:first-child) strong,\n .card__icondata ul li:not(:first-child) strong {\n font-size: inherit;\n letter-spacing: inherit;\n }\n\n .add-message:not(.card--secondary),\n .card:not(.card--secondary),\n .chart-tooltip:not(.card--secondary),\n .conference-registration:not(.card--secondary),\n .conference-speaker .speaker-bio:not(.card--secondary) {\n &:hover {\n box-shadow: $boxShadowPopover;\n }\n }\n\n div.card__text--paragraph > .ql-editor.ql-reset-decidim > p,\n div.card__text--paragraph > .ql-editor.ql-reset-decidim > h1,\n div.card__text--paragraph > .ql-editor.ql-reset-decidim > h2,\n div.card__text--paragraph > .ql-editor.ql-reset-decidim > h3,\n div.card__text--paragraph > .ql-editor.ql-reset-decidim > h4 {\n @include font;\n @include fontCurve('p1');\n color: $baseColor;\n }\n\n // Progress bar\n\n .progress__bar.progress__bar--vertical .progress__bar__subtitle,\n .progress__bar .progress__bar__title {\n @include font;\n @include fontCurve('caption');\n color: $baseColor;\n }\n\n .card__support__number,\n .progress__bar.progress__bar--vertical .progress__bar__subtitle .progress__bar__number,\n .progress__bar .progress__bar__title .progress__bar__number,\n .extra__suport-text,\n .progress__bar.progress__bar--vertical .progress__bar__text {\n @include fontCurve('p2');\n color: $baseColor;\n }\n\n .progress__bar.progress__bar--vertical .progress__bar__number {\n @include font('heavy');\n @include fontCurve('h2');\n }\n\n // Card list\n\n .card--list__item {\n padding: 0;\n }\n\n .card--list__text {\n padding: 0;\n display: block;\n }\n\n .card--list__icon {\n fill: $colorPrimary;\n }\n\n .card--list__item .card__link {\n @include spaceCurve('padding', 'regular');\n }\n\n .card--list__text .card__link:hover .card--list__heading {\n color: $colorPrimaryHover;\n }\n\n .card--list__text .card__link .text-small {\n color: $baseColor;\n }\n\n .card--list__data {\n background-color: $colorGrey5;\n }\n\n .card--list__data__number {\n @include font('heavy');\n @include fontCurve('h3');\n color: $colorGrey70;\n }\n\n // Side cards\n\n .card.extra,\n .view-side .card:not(.card--secondary),\n .comment-thread:not(.card--secondary) {\n &:hover {\n box-shadow: none;\n }\n }\n\n // Definition Card\n\n .definition__title {\n color: $colorGrey70;\n }\n\n .definition-data {\n color: $colorGrey55;\n }\n\n .definition-data__item {\n @include fontCurve('p2');\n padding: 0;\n padding-bottom: space('small');\n margin-bottom: space('small');\n border-bottom: 1px solid $baseBorderColor;\n\n &:last-child {\n border-bottom: none;\n margin-bottom: 0;\n padding-bottom: 0;\n }\n }\n\n .definition-data__title {\n @include font('heavy');\n @include fontCurve('p2');\n margin-bottom: 0;\n }\n\n .section.columns.medium-5.mediumlarge-4.large-3 > .card.extra.definition-data {\n background-color: $colorGrey5;\n }\n\n\n /* Blog */\n\n .author__name {\n @include font('regular');\n @include fontCurve('caption');\n color: $colorGrey55 !important;\n }\n\n .author-data {\n @include fontCurve('caption');\n color: $baseColor;\n }\n\n .author-data__extra {\n @include font('regular');\n @include fontCurve('caption');\n\n &::before {\n border-color: $baseBorderColor;\n }\n }\n\n .author-data__extra a {\n white-space: nowrap;\n text-decoration-line: none;\n }\n\n .author-data__extra > a,\n .author-data__extra > button\n .author-data__extra > span {\n margin-right: space('medium');\n }\n\n\n /* Budget */\n\n .budget-summary {\n .heading2,\n .heading3 {\n &:first-child {\n margin-top: 0;\n }\n }\n }\n\n .budget-progress {\n min-height: $formInputHeight;\n }\n\n .budget-list__title {\n margin-top: space('xsmall');\n margin-bottom: space('medium');\n }\n\n .budget-list__text:not(:last-child) {\n margin-bottom: 0;\n }\n\n .budget-list__data__number {\n @include font('heavy');\n @include fontCurve('h4');\n }\n\n /* Survey */\n\n .answer-questionnaire .questionnaire-question {\n @include font('heavy');\n @include fontCurve('p1');\n margin-bottom: space('xsmall');\n }\n}\n","import {\n Component,\n Host,\n h\n} from \"@stencil/core\";\n\n/**\n *\n */\n@Component({\n tag: \"stzh-skin-portal-mitwirken\",\n styleUrl: \"stzh-skin-portal-mitwirken.scss\"\n})\nexport class StzhSkinPortalMitwirken {\n componentDidLoad() {\n // copy this string from console and put it in the Decidim CSS textbox to adjust theme\n console.log((this.constructor as any).style.replace('@charset \"UTF-8\";', ''));\n }\n\n render() {\n return (\n <Host>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,82 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-bf651831.js');
6
+ const translationUtils = require('./translation-utils-73073e44.js');
7
+
8
+ const stzhTimepickerCss = ".sc-stzh-timepicker-h{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:normal;color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block}[hidden].sc-stzh-timepicker-h{display:none}.sc-stzh-timepicker-h *.sc-stzh-timepicker,.sc-stzh-timepicker-h *.sc-stzh-timepicker::before,.sc-stzh-timepicker-h *.sc-stzh-timepicker::after{-webkit-box-sizing:border-box;box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness)}.sc-stzh-timepicker-h{width:100%}.stzh-timepicker__dropdown.sc-stzh-timepicker{--icon-angle-size:var(--stzh-icon-size-small);--active-icon-angle-transform:rotate(0deg) translateY(-50%)}";
9
+
10
+ const StzhTimepicker = class {
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ this.stzhChange = index.createEvent(this, "stzhChange", 7);
14
+ this.onRootFocus = () => {
15
+ if (this.input) {
16
+ this.input.setFocus();
17
+ }
18
+ };
19
+ this.onDropdownChange = (event) => {
20
+ this.value = event.detail.value;
21
+ this.stzhChange.emit({
22
+ component: "stzh-timepicker",
23
+ value: this.value
24
+ });
25
+ };
26
+ this.min = 0;
27
+ this.max = 1439;
28
+ this.step = 15;
29
+ this.name = "";
30
+ this.value = "";
31
+ this.popoverPlacement = "bottom";
32
+ this.label = "";
33
+ this.readonly = false;
34
+ this.disabled = false;
35
+ this.description = undefined;
36
+ this.descriptionLong = undefined;
37
+ this.error = undefined;
38
+ this.invalid = false;
39
+ this.required = false;
40
+ this.showMarker = false;
41
+ this.size = "default";
42
+ this.a11yDescribedby = '';
43
+ this.localization = undefined;
44
+ }
45
+ minMaxWatcher() {
46
+ this.updateDropdownOptions();
47
+ }
48
+ updateDropdownOptions() {
49
+ const options = [];
50
+ for (let i = this.min; i <= this.max; i = i + this.step) {
51
+ let hours = Math.floor(i / 60);
52
+ let minutes = i % 60;
53
+ let paddedHours = ('00' + hours).slice(-2);
54
+ let paddedMinutes = ('00' + minutes).slice(-2);
55
+ let time = `${paddedHours}.${paddedMinutes}`;
56
+ options.push({ text: time, value: time });
57
+ }
58
+ this._dropdownOptions = options;
59
+ }
60
+ async componentWillLoad() {
61
+ this.minMaxWatcher();
62
+ if (!this.localization) {
63
+ this.localization = await translationUtils.fetchTranslations(this.element, "timepicker");
64
+ }
65
+ }
66
+ render() {
67
+ const classes = {
68
+ "stzh-timepicker": true
69
+ };
70
+ return (index.h(index.Host, { tabindex: this.disabled ? null : "-1", onFocus: this.onRootFocus }, index.h("div", { class: classes }, index.h("stzh-dropdown", { class: "stzh-timepicker__dropdown", iconAngle: "clock", label: this.label, ref: (el) => (this.input = el), onStzhChange: this.onDropdownChange, options: this._dropdownOptions, items: [this.value], required: this.required, disabled: this.disabled, description: this.description, descriptionLong: this.descriptionLong, error: this.error, popoverPlacement: this.popoverPlacement, a11yDescribedby: this.a11yDescribedby, name: this.name, size: this.size, invalid: this.invalid, showMarker: this.showMarker }))));
71
+ }
72
+ get element() { return index.getElement(this); }
73
+ static get watchers() { return {
74
+ "min": ["minMaxWatcher"],
75
+ "max": ["minMaxWatcher"]
76
+ }; }
77
+ };
78
+ StzhTimepicker.style = stzhTimepickerCss;
79
+
80
+ exports.stzh_timepicker = StzhTimepicker;
81
+
82
+ //# sourceMappingURL=stzh-timepicker.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"stzh-timepicker.entry.cjs.js","mappings":"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","names":["fetchTranslations","h","Host"],"sources":["./src/components/stzh-timepicker/stzh-timepicker.scss?tag=stzh-timepicker&encapsulation=scoped","./src/components/stzh-timepicker/stzh-timepicker.tsx"],"sourcesContent":[":host {\n width: 100%;\n}\n\n.stzh-timepicker {\n &__dropdown {\n --icon-angle-size: #{iconSize('small')};\n --active-icon-angle-transform: rotate(0deg) translateY(-50%);\n }\n}\n","import {\n Component,\n Prop,\n Host,\n Element,\n h,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\n\nimport {\n StzhDropdownOption,\n StzhDropdownChangeEvent,\n StzhTimepickerChangeEvent\n} from \"../../index\";\n\nimport { fetchTranslations } from \"../../utils/translation-utils\";\nimport { StzhTimepickerLocalizedText } from \"./stzh-timepicker.localization\";\n\n/**\n */\n@Component({\n tag: \"stzh-timepicker\",\n styleUrl: \"stzh-timepicker.scss\",\n scoped: true\n})\nexport class StzhTimepicker {\n /**\n * Minimum time allowed to be picked in minutes. Can not be lower than 0.\n * This setting can be used alone or together with the max property.\n */\n @Prop() min: number = 0\n\n /**\n * Maximum time allowed to be picked in minutes. Can not be higher than 1440 (24h * 60).\n * This setting can be used alone or together with the min property.\n */\n @Prop() max: number = 1439;\n\n /** Time added for each step in minutes. */\n @Prop() step: number = 15;\n\n /** Name of the hidden date picker input. */\n @Prop({ reflect: true }) name: string = \"\";\n\n /** Value of hidden date picker input (current selected date in ISO format). */\n @Prop({ mutable: true }) value: string = \"\";\n\n /** Popover placement for the dropdown (if applicable) */\n @Prop({ reflect: true }) popoverPlacement: \"bottom\" | \"bottom-end\" | \"bottom-center\" | \"top\" | \"top-end\" | \"top-center\" = \"bottom\";\n\n /** Label for dropdown */\n @Prop() label: string = \"\";\n\n /** Whether the element is readonly or not */\n @Prop({ reflect: true }) readonly: boolean = false;\n\n /** Whether the element is disabled or not */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Description message (use description slot as alternative) */\n @Prop() description: string;\n\n /** Long description message appearing in a popover (use description-long slot as alternative) */\n @Prop() descriptionLong: string;\n\n /** One or multiple error message (use error slot as alternative) */\n @Prop() error: string | string[];\n\n /** Invalid status */\n @Prop({ reflect: true }) invalid: boolean = false;\n\n /** Required status */\n @Prop({ reflect: true }) required: boolean = false;\n\n /** Append text to label depending if field is optional/required. true -> show \"(optional)\", false -> show nothing */\n @Prop({ reflect: true }) showMarker: boolean = false;\n\n /** Size variant */\n @Prop({ reflect: true }) size: \"default\" | \"small\" = \"default\";\n\n /** Id of the element which describes the input */\n @Prop({ attribute: \"a11y-describedby\" }) a11yDescribedby: string = '';\n\n /** Translation strings. */\n @Prop() localization: StzhTimepickerLocalizedText;\n\n /** Timepicker change event */\n @Event() stzhChange: EventEmitter<StzhTimepickerChangeEvent>;\n\n @Element() element: HTMLStzhTimepickerElement;\n\n @Watch(\"min\")\n @Watch(\"max\")\n minMaxWatcher() {\n this.updateDropdownOptions();\n }\n\n private input: HTMLStzhDropdownElement;\n private _dropdownOptions: StzhDropdownOption[];\n\n private onRootFocus = () => {\n if (this.input) {\n this.input.setFocus();\n }\n }\n\n private onDropdownChange = (event: CustomEvent<StzhDropdownChangeEvent>) => {\n this.value = event.detail.value;\n\n this.stzhChange.emit({\n component: \"stzh-timepicker\",\n value: this.value\n });\n }\n\n private updateDropdownOptions(): void {\n const options = [];\n\n for (let i = this.min; i <= this.max; i = i + this.step) {\n let hours: number = Math.floor(i / 60);\n let minutes: number = i % 60;\n\n let paddedHours: string = ('00' + hours).slice(-2);\n let paddedMinutes: string = ('00' + minutes).slice(-2);\n let time = `${paddedHours}.${paddedMinutes}`;\n\n options.push({ text: time, value: time });\n }\n\n this._dropdownOptions = options;\n }\n\n async componentWillLoad() {\n this.minMaxWatcher();\n\n if (!this.localization) {\n this.localization = await fetchTranslations(this.element, \"timepicker\");\n }\n }\n\n render() {\n const classes = {\n \"stzh-timepicker\": true\n };\n\n return (\n <Host tabindex={this.disabled ? null : \"-1\"} onFocus={this.onRootFocus}>\n <div class={classes}>\n <stzh-dropdown\n class=\"stzh-timepicker__dropdown\"\n iconAngle={\"clock\"}\n label={this.label}\n ref={(el) => (this.input = el as HTMLStzhDropdownElement)}\n onStzhChange={this.onDropdownChange}\n options={this._dropdownOptions}\n items={[this.value]}\n required={this.required}\n disabled={this.disabled}\n description={this.description}\n descriptionLong={this.descriptionLong}\n error={this.error}\n popoverPlacement={this.popoverPlacement}\n a11yDescribedby={this.a11yDescribedby}\n name={this.name}\n size={this.size}\n invalid={this.invalid}\n showMarker={this.showMarker}\n ></stzh-dropdown>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"translation-utils-73073e44.js","mappings":"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","names":[],"sources":["./src/utils/translation-utils.ts"],"sourcesContent":["import {\n StzhDateFormat,\n StzhDateParse\n} from \"./date-adapter\";\n\nconst LANG_DE = \"de\";\nconst LANG_EN = \"en\";\nconst LANG_DEFAULT = LANG_DE;\n\nexport const SUPPORTED_LANGUAGES = [\n LANG_DE,\n LANG_EN\n];\n\nexport type StzhLocaleFormats = {\n inputdate: {\n format: string | StzhDateFormat,\n parse: string | StzhDateParse\n },\n date: {\n format: string | StzhDateFormat\n },\n dateRange: string,\n timeRange: string,\n timePostfix: string,\n time: {\n format: string | StzhDateFormat\n }\n}\n\ntype MonthsNames = [string, string, string, string, string, string, string, string, string, string, string, string]\ntype DayNames = [string, string, string, string, string, string, string]\n\nexport type StzhLocaleGlobals = {\n externalLinkLabel: string\n downloadLinkLabel: string\n requiredFieldMarker: string\n requiredFieldText: string\n optionalFieldMarker: string\n optionalFieldText: string\n clearButtonLabel: string\n moreInfoButtonLabel: string\n dayNames: DayNames\n monthNames: MonthsNames\n monthNamesShort: MonthsNames\n}\n\nexport type StzhLocaleComponent = {\n $locale: typeof LANG_DE | typeof LANG_EN,\n $formats: StzhLocaleFormats,\n $globals: StzhLocaleGlobals\n}\n\nfunction getLocale(element: HTMLElement) {\n const closestElement = element.closest(\"[lang]\") as HTMLElement;\n const locale = closestElement && closestElement.lang.split(\"-\")[0];\n\n if (SUPPORTED_LANGUAGES.indexOf(locale) === -1 || !locale) {\n return LANG_DEFAULT;\n } else {\n return locale;\n }\n}\n\nexport function tc(translation: string, count: number): string {\n if (!translation) {\n return \"\";\n }\n\n const parts = translation.split('|');\n let part = parts[0].trim();\n\n if (parts.length === 3 && count === 1) {\n part = parts[1].trim();\n } else if (parts.length === 3 && count > 1) {\n part = parts[2].trim();\n }\n\n if (parts.length === 2 && count !== 1) {\n part = parts[1].trim();\n }\n\n return part.replace(/\\{n\\}/ig, count.toString());\n}\n\nexport async function fetchTranslations(host: HTMLElement, component: string) {\n const locale = getLocale(host);\n const existingTranslations = JSON.parse(sessionStorage.getItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${locale}`));\n\n if (\n window.stzhComponents.cacheTranslations\n && window.stzhComponents.version.match(/-dev-snapshot/i) === null\n && existingTranslations\n && Object.keys(existingTranslations).length > 0\n ) {\n return {\n ...existingTranslations[component] || {},\n $globals: existingTranslations.$globals,\n $locale: existingTranslations.$code,\n $formats: existingTranslations.$formats\n };\n }\n\n try {\n const result = await fetch(\n `${window.stzhComponents.pathTranslations}/${locale}.json`\n );\n\n if (result.ok) {\n const data = await result.json();\n sessionStorage.setItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${locale}`, JSON.stringify(data));\n return {\n ...data[component] || {},\n $globals: data.$globals,\n $locale: data.$code,\n $formats: data.$formats\n };\n }\n\n } catch (exception) {\n console.error(`Error loading locale: ${locale}`, exception);\n }\n}\n"],"version":3}
1
+ {"file":"translation-utils-73073e44.js","mappings":"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","names":[],"sources":["./src/utils/translation-utils.ts"],"sourcesContent":["import {\n StzhDateFormat,\n StzhDateParse\n} from \"./date-adapter\";\n\nconst LANG_DE = \"de\";\nconst LANG_EN = \"en\";\nconst LANG_DEFAULT = LANG_DE;\n\nexport const SUPPORTED_LANGUAGES = [\n LANG_DE,\n LANG_EN\n];\n\nexport type StzhLocaleFormats = {\n inputdate: {\n format: string | StzhDateFormat,\n parse: string | StzhDateParse\n },\n date: {\n format: string | StzhDateFormat\n },\n dateRange: string,\n timeRange: string,\n timePostfix: string,\n time: {\n format: string | StzhDateFormat\n }\n}\n\ntype MonthsNames = [string, string, string, string, string, string, string, string, string, string, string, string]\ntype DayNames = [string, string, string, string, string, string, string]\n\nexport type StzhLocaleGlobals = {\n externalLinkLabel: string\n downloadLinkLabel: string\n requiredFieldMarker: string\n requiredFieldText: string\n optionalFieldMarker: string\n optionalFieldText: string\n invalidFieldText: string\n clearButtonLabel: string\n moreInfoButtonLabel: string\n dayNames: DayNames\n monthNames: MonthsNames\n monthNamesShort: MonthsNames\n}\n\nexport type StzhLocaleComponent = {\n $locale: typeof LANG_DE | typeof LANG_EN,\n $formats: StzhLocaleFormats,\n $globals: StzhLocaleGlobals\n}\n\nfunction getLocale(element: HTMLElement) {\n const closestElement = element.closest(\"[lang]\") as HTMLElement;\n const locale = closestElement && closestElement.lang.split(\"-\")[0];\n\n if (SUPPORTED_LANGUAGES.indexOf(locale) === -1 || !locale) {\n return LANG_DEFAULT;\n } else {\n return locale;\n }\n}\n\nexport function tc(translation: string, count: number): string {\n if (!translation) {\n return \"\";\n }\n\n const parts = translation.split('|');\n let part = parts[0].trim();\n\n if (parts.length === 3 && count === 1) {\n part = parts[1].trim();\n } else if (parts.length === 3 && count > 1) {\n part = parts[2].trim();\n }\n\n if (parts.length === 2 && count !== 1) {\n part = parts[1].trim();\n }\n\n return part.replace(/\\{n\\}/ig, count.toString());\n}\n\nexport async function fetchTranslations(host: HTMLElement, component: string) {\n const locale = getLocale(host);\n const existingTranslations = JSON.parse(sessionStorage.getItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${locale}`));\n\n if (\n window.stzhComponents.cacheTranslations\n && window.stzhComponents.version.match(/-dev-snapshot/i) === null\n && existingTranslations\n && Object.keys(existingTranslations).length > 0\n ) {\n return {\n ...existingTranslations[component] || {},\n $globals: existingTranslations.$globals,\n $locale: existingTranslations.$code,\n $formats: existingTranslations.$formats\n };\n }\n\n try {\n const result = await fetch(\n `${window.stzhComponents.pathTranslations}/${locale}.json`\n );\n\n if (result.ok) {\n const data = await result.json();\n sessionStorage.setItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${locale}`, JSON.stringify(data));\n return {\n ...data[component] || {},\n $globals: data.$globals,\n $locale: data.$code,\n $formats: data.$formats\n };\n }\n\n } catch (exception) {\n console.error(`Error loading locale: ${locale}`, exception);\n }\n}\n"],"version":3}
@@ -19,9 +19,10 @@
19
19
  "externalLinkLabel": "Externer Link:",
20
20
  "downloadLinkLabel": "Download von:",
21
21
  "requiredFieldMarker": "",
22
- "requiredFieldText": " (Pflichtfeld)",
23
22
  "optionalFieldMarker": " (optional)",
24
- "optionalFieldText": " (optional)",
23
+ "requiredFieldText": " (Pflichtfeld).",
24
+ "optionalFieldText": " (optional).",
25
+ "invalidFieldText": "(ungültig).",
25
26
  "clearButtonLabel": "Feld leeren",
26
27
  "moreInfoButtonLabel": "Mehr Info",
27
28
  "dayNames": ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"],
@@ -42,16 +43,18 @@
42
43
  "monthNamesShort": ["Jan.", "Febr.", "März", "April", "Mai", "Juni", "Juli", "Aug.", "Sep.", "Okt.", "Nov.", "Dez."]
43
44
  },
44
45
  "amount": {
45
- "stepperMinusLabel": "Anzahl verkleinern",
46
- "stepperPlusLabel": "Anzahl vergrössern",
47
- "selectedAmountMessage": "Ausgewählte Anzahl ist",
48
- "amountTooSmallError": "Der Betrag darf nicht kleiner sein als {minValue}",
49
- "amountTooGreatError": "Der Betrag darf nicht grösser sein als {maxValue}"
46
+ "stepperMinusLabel": "Menge verkleinern",
47
+ "stepperPlusLabel": "Menge vergrössern",
48
+ "selectedAmountMessage": "Ausgewählte Menge ist"
50
49
  },
51
50
  "datepicker": {
52
51
  "buttonLabel": "Datum wählen",
53
52
  "selectedDateMessage": "Ausgewähltes Datum ist"
54
53
  },
54
+ "monthyearpicker": {
55
+ "monthLabel": "Monat wählen",
56
+ "yearLabel": "Jahr wählen"
57
+ },
55
58
  "popover": {
56
59
  "open": "Menü öffnen",
57
60
  "close": "Menü schliessen"
@@ -19,9 +19,10 @@
19
19
  "externalLinkLabel": "External link:",
20
20
  "downloadLinkLabel": "Download of:",
21
21
  "requiredFieldMarker": "",
22
- "requiredFieldText": " (required)",
23
22
  "optionalFieldMarker": " (optional)",
24
- "optionalFieldText": " (optional)",
23
+ "requiredFieldText": " (required).",
24
+ "optionalFieldText": " (optional).",
25
+ "invalidFieldText": " (invalid).",
25
26
  "clearButtonLabel": "Clear input",
26
27
  "moreInfoButtonLabel": "More Info",
27
28
  "dayNames": ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
@@ -44,14 +45,16 @@
44
45
  "amount": {
45
46
  "stepperMinusLabel": "Decrease amount",
46
47
  "stepperPlusLabel": "Increase amount",
47
- "selectedAmountMessage": "Selected amount is",
48
- "amountTooSmallError": "The amount must not be less than {minValue}",
49
- "amountTooGreatError": "The amount must not be greater than {maxValue}"
48
+ "selectedAmountMessage": "Selected amount is"
50
49
  },
51
50
  "datepicker": {
52
51
  "buttonLabel": "Choose date",
53
52
  "selectedDateMessage": "Selected date is"
54
53
  },
54
+ "monthyearpicker": {
55
+ "monthLabel": "Choose month",
56
+ "yearLabel": "Choose year"
57
+ },
55
58
  "popover": {
56
59
  "open": "Open menu",
57
60
  "close": "Close menu"
@@ -59,6 +59,7 @@
59
59
  "./components/stzh-message/stzh-message.js",
60
60
  "./components/stzh-metanav/stzh-metanav.js",
61
61
  "./components/stzh-microsite-teaserlist/stzh-microsite-teaserlist.js",
62
+ "./components/stzh-monthyearpicker/stzh-monthyearpicker.js",
62
63
  "./components/stzh-olmap/stzh-olmap.js",
63
64
  "./components/stzh-overlay/stzh-overlay.js",
64
65
  "./components/stzh-page-skiplinks/stzh-page-skiplinks.js",
@@ -89,6 +90,7 @@
89
90
  "./components/stzh-table/stzh-table.js",
90
91
  "./components/stzh-text/stzh-text.js",
91
92
  "./components/stzh-textandimage/stzh-textandimage.js",
93
+ "./components/stzh-timepicker/stzh-timepicker.js",
92
94
  "./components/stzh-toggle/stzh-toggle.js",
93
95
  "./components/stzh-tooltip/stzh-tooltip.js",
94
96
  "./components/stzh-upload/stzh-upload.js",
@@ -6,6 +6,11 @@ export class StzhAmount {
6
6
  constructor() {
7
7
  this._showDropdown = !Number.isNaN(this.minValueDropdown) && !Number.isNaN(this.maxValueDropdown)
8
8
  && this.minValueDropdown < this.maxValueDropdown;
9
+ this.onRootFocus = () => {
10
+ if (this.input) {
11
+ this.input.setFocus();
12
+ }
13
+ };
9
14
  /** Handling dropdown changes (switch to input stepper if the plus option is selected in the dropdown). */
10
15
  this.onDropdownChange = (event) => {
11
16
  if (event.detail.value === DROPDOWN_ITEM_PLUS_OPTION_VALUE) {
@@ -13,7 +18,7 @@ export class StzhAmount {
13
18
  this.value = (this.maxValueDropdown + this.step).toString();
14
19
  }
15
20
  else {
16
- this.value = (+event.detail.value).toString();
21
+ this.value = event.detail.value;
17
22
  }
18
23
  this.stzhChange.emit({
19
24
  component: "stzh-amount",
@@ -22,8 +27,11 @@ export class StzhAmount {
22
27
  };
23
28
  /** Handling the minus button. */
24
29
  this.onInputMinusStepClick = () => {
25
- this.value = (+this.value - this.step).toString();
26
- this.value = this.roundToStep(+this.value).toString();
30
+ if (Number(this.value) <= this.minValue) {
31
+ return;
32
+ }
33
+ this.value = (Number(this.value) - this.step).toString();
34
+ this.value = this.roundToStep(Number(this.value)).toString();
27
35
  this.stzhChange.emit({
28
36
  component: "stzh-amount",
29
37
  value: this.value
@@ -31,8 +39,11 @@ export class StzhAmount {
31
39
  };
32
40
  /** Handling the plus button. */
33
41
  this.onInputPlusStepClick = () => {
34
- this.value = (+this.value + this.step).toString();
35
- this.value = this.roundToStep(+this.value).toString();
42
+ if (Number(this.value) >= this.maxValue) {
43
+ return;
44
+ }
45
+ this.value = (Number(this.value) + this.step).toString();
46
+ this.value = this.roundToStep(Number(this.value)).toString();
36
47
  this.stzhChange.emit({
37
48
  component: "stzh-amount",
38
49
  value: this.value
@@ -67,79 +78,22 @@ export class StzhAmount {
67
78
  this.a11yDescribedby = '';
68
79
  this.localization = undefined;
69
80
  }
70
- minValueDropdownWatcher() {
81
+ minMaxValueDropdownWatcher() {
71
82
  this.setDropdownOptions();
72
83
  }
73
- maxValueDropdownWatcher() {
74
- this.setDropdownOptions();
75
- }
76
- errorWatcher(newValue) {
77
- if (typeof newValue === "string") {
78
- try {
79
- this._error = JSON.parse(newValue);
80
- }
81
- catch (e) {
82
- if (newValue) {
83
- this._error = [newValue];
84
- }
85
- else {
86
- this._error = [];
87
- }
88
- }
89
- }
90
- else {
91
- this._error = newValue || [];
92
- }
93
- this.invalid = this._error.length > 0;
94
- }
95
- /** Update stepper button a11y-labels when value has changed */
96
- valueWatcher(newValue) {
97
- if (!this._showDropdown) {
98
- this.handleOutOfRangeValue(newValue);
99
- }
100
- }
101
84
  /** Fill the dropdown with options according to maxValueDropdown & minValueDropdown. */
102
85
  setDropdownOptions() {
103
- if (this._showDropdown) {
104
- const options = [];
105
- for (let i = this.minValueDropdown; i <= this.maxValueDropdown; i++) {
106
- options.push({ text: i.toString(), value: i.toString() });
107
- }
108
- if (this.maxValue != undefined && this.maxValue > this.maxValueDropdown) {
109
- options.push({ text: `${this.maxValueDropdown.toString()}+`, value: DROPDOWN_ITEM_PLUS_OPTION_VALUE });
110
- }
111
- this._dropdownOptions = JSON.stringify(options);
112
- }
113
- }
114
- /** Handling manual value change of the stepper input. */
115
- handleOutOfRangeValue(newValue) {
116
- var _a, _b;
117
- if (!this.localization) {
86
+ if (!this._showDropdown) {
118
87
  return;
119
88
  }
120
- let currentErrors = [];
121
- if (typeof this.error === "string") {
122
- currentErrors.push(this.error);
89
+ const options = [];
90
+ for (let i = this.minValueDropdown; i <= this.maxValueDropdown; i++) {
91
+ options.push({ text: i.toString(), value: i.toString() });
123
92
  }
124
- else if (this.error) {
125
- currentErrors = [...this.error];
93
+ if (this.maxValue != undefined && this.maxValue > this.maxValueDropdown) {
94
+ options.push({ text: `${this.maxValueDropdown.toString()}+`, value: DROPDOWN_ITEM_PLUS_OPTION_VALUE });
126
95
  }
127
- const maxValueError = (_a = this.localization.amountTooGreatError) === null || _a === void 0 ? void 0 : _a.replace(/{maxValue}/gi, this.maxValue.toString());
128
- const minValueError = (_b = this.localization.amountTooSmallError) === null || _b === void 0 ? void 0 : _b.replace(/{minValue}/gi, this.minValue.toString());
129
- if (+newValue > this.maxValue) {
130
- if (!currentErrors.includes(maxValueError)) {
131
- currentErrors.push(maxValueError);
132
- }
133
- }
134
- else if (+newValue < this.minValue) {
135
- if (!currentErrors.includes(minValueError)) {
136
- currentErrors.push(minValueError);
137
- }
138
- }
139
- else {
140
- currentErrors = currentErrors.filter(e => e !== maxValueError && e !== minValueError);
141
- }
142
- this.error = currentErrors.length > 0 ? currentErrors : [];
96
+ this._dropdownOptions = options;
143
97
  }
144
98
  /** Making sure, that the value is rounded correctly according to the step */
145
99
  roundToStep(input) {
@@ -149,8 +103,6 @@ export class StzhAmount {
149
103
  return Number((rounded * factor / factor).toFixed(decimals));
150
104
  }
151
105
  async componentWillLoad() {
152
- this.errorWatcher(this.error);
153
- this.valueWatcher(this.value);
154
106
  if (!this.localization) {
155
107
  this.localization = await fetchTranslations(this.element, "amount");
156
108
  }
@@ -167,10 +119,10 @@ export class StzhAmount {
167
119
  "stzh-amount__dropdown": true,
168
120
  [`stzh-amount--popover-placement-${this.popoverPlacement}`]: !!this.popoverPlacement,
169
121
  };
170
- return (h("div", { class: classes }, h("stzh-dropdown", { options: this._dropdownOptions, items: [this.value], label: this.label, required: this.required, disabled: this.disabled, description: this.description, descriptionLong: this.descriptionLong, error: this.error, popoverPlacement: this.popoverPlacement, a11yDescribedby: this.a11yDescribedby, name: this.name, size: this.size, invalid: this.invalid, showMarker: this.showMarker, onStzhChange: this.onDropdownChange })));
122
+ return (h("div", { class: classes }, h("stzh-dropdown", { ref: (el) => (this.input = el), options: this._dropdownOptions, items: [this.value], label: this.label, required: this.required, disabled: this.disabled, description: this.description, descriptionLong: this.descriptionLong, error: this.error, invalid: this.invalid, popoverPlacement: this.popoverPlacement, a11yDescribedby: this.a11yDescribedby, name: this.name, size: this.size, showMarker: this.showMarker, onStzhChange: this.onDropdownChange })));
171
123
  }
172
124
  renderInputStepper() {
173
- return (h("div", { class: "stzh-amount__stepper" }, h("div", { class: "stzh-amount__stepper-wrapper" }, h("stzh-button", { class: "stzh-amount__stepper-minus", onClick: this.onInputMinusStepClick, variant: "secondary", icon: "minus", iconOnly: true, a11yControls: this.stepperInputId, a11yDescribedby: this.a11yDescribedby, a11yLabel: `${this.label} ${this.localization.stepperMinusLabel}, ${this.localization.selectedAmountMessage} ${this.value}`, size: this.size, disabled: +this.value <= +this.minValue || this.disabled, tabindex: this.disabled ? null : "-1" }), h("stzh-input", { class: "stzh-amount__stepper-input", value: this.value, type: "number", label: this.label, min: this.minValue, max: this.maxValue, invalid: this.invalid, error: this._error, required: this.required, name: this.name, id: this.stepperInputId, size: this.size, step: this.step, showMarker: this.showMarker, description: this.description, descriptionLong: this.descriptionLong, clearable: this.clearable, disabled: this.disabled, a11yDescribedby: this.a11yDescribedby, onStzhChange: this.onStepperInputChange }), h("stzh-button", { class: "stzh-amount__stepper-plus", onClick: this.onInputPlusStepClick, variant: "secondary", icon: "plus", iconOnly: true, a11yControls: this.stepperInputId, a11yDescribedby: this.a11yDescribedby, a11yLabel: `${this.label} ${this.localization.stepperPlusLabel}, ${this.localization.selectedAmountMessage} ${this.value}`, size: this.size, disabled: +this.value >= +this.maxValue || this.disabled, tabindex: this.disabled ? null : "-1" }))));
125
+ return (h("div", { class: "stzh-amount__stepper" }, h("div", { class: "stzh-amount__stepper-wrapper" }, h("stzh-input", { ref: (el) => (this.input = el), class: "stzh-amount__stepper-input", value: this.value, type: "number", label: this.label, min: this.minValue, max: this.maxValue, error: this.error, invalid: this.invalid, required: this.required, name: this.name, id: this.stepperInputId, size: this.size, step: this.step, showMarker: this.showMarker, description: this.description, descriptionLong: this.descriptionLong, clearable: this.clearable, disabled: this.disabled, a11yDescribedby: this.a11yDescribedby, onStzhChange: this.onStepperInputChange }), h("stzh-buttongroup", null, h("stzh-button", { class: "stzh-amount__stepper-minus", onClick: this.onInputMinusStepClick, variant: "secondary", icon: "minus", iconOnly: true, a11yControls: this.stepperInputId, a11yDescribedby: this.a11yDescribedby, a11yLabel: `${this.label} ${this.localization.stepperMinusLabel}, ${this.localization.selectedAmountMessage} ${this.value}`, size: this.size, a11yDisabled: Number(this.value) <= this.minValue || this.disabled, disabled: this.disabled }), h("stzh-button", { class: "stzh-amount__stepper-plus", onClick: this.onInputPlusStepClick, variant: "secondary", icon: "plus", iconOnly: true, a11yControls: this.stepperInputId, a11yDescribedby: this.a11yDescribedby, a11yLabel: `${this.label} ${this.localization.stepperPlusLabel}, ${this.localization.selectedAmountMessage} ${this.value}`, size: this.size, a11yDisabled: Number(this.value) >= this.maxValue || this.disabled, disabled: this.disabled })))));
174
126
  }
175
127
  render() {
176
128
  const classes = {
@@ -179,8 +131,9 @@ export class StzhAmount {
179
131
  "stzh-amount--has-description-long": !!this.descriptionLong,
180
132
  "stzh-amount--has-error": !!this.error,
181
133
  "stzh-amount--is-required": !!this.required,
134
+ "stzh-amount--is-disabled": !!this.disabled
182
135
  };
183
- return (h(Host, null, h("div", { class: classes, id: this.amountId }, this._showDropdown ?
136
+ return (h(Host, { tabindex: this.disabled ? null : "-1", onFocus: this.onRootFocus }, h("div", { class: classes, id: this.amountId }, this._showDropdown ?
184
137
  this.renderDropdown()
185
138
  :
186
139
  this.renderInputStepper())));
@@ -531,7 +484,7 @@ export class StzhAmount {
531
484
  "optional": false,
532
485
  "docs": {
533
486
  "tags": [],
534
- "text": "Id of the element which describes the input (this will be overwritten if description prop is used)"
487
+ "text": "Id of the element which describes the input"
535
488
  },
536
489
  "attribute": "a11y-describedby",
537
490
  "reflect": false,
@@ -542,7 +495,7 @@ export class StzhAmount {
542
495
  "mutable": false,
543
496
  "complexType": {
544
497
  "original": "StzhAmountLocalizedText",
545
- "resolved": "StzhLocaleComponent & { stepperMinusLabel: string; stepperPlusLabel: string; selectedAmountMessage: string; amountTooSmallError: string; amountTooGreatError: string; }",
498
+ "resolved": "StzhLocaleComponent & { stepperMinusLabel: string; stepperPlusLabel: string; selectedAmountMessage: string; }",
546
499
  "references": {
547
500
  "StzhAmountLocalizedText": {
548
501
  "location": "import",
@@ -586,16 +539,10 @@ export class StzhAmount {
586
539
  static get watchers() {
587
540
  return [{
588
541
  "propName": "minValueDropdown",
589
- "methodName": "minValueDropdownWatcher"
542
+ "methodName": "minMaxValueDropdownWatcher"
590
543
  }, {
591
544
  "propName": "maxValueDropdown",
592
- "methodName": "maxValueDropdownWatcher"
593
- }, {
594
- "propName": "error",
595
- "methodName": "errorWatcher"
596
- }, {
597
- "propName": "value",
598
- "methodName": "valueWatcher"
545
+ "methodName": "minMaxValueDropdownWatcher"
599
546
  }];
600
547
  }
601
548
  }