@dnanpm/ui-components 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/README.md +13 -0
  2. package/dist/components/Accordion/Accordion.css +5 -1
  3. package/dist/components/AccordionItem/AccordionItem.cjs +4 -4
  4. package/dist/components/AccordionItem/AccordionItem.cjs.map +1 -1
  5. package/dist/components/AccordionItem/AccordionItem.css +4 -1
  6. package/dist/components/AccordionItem/AccordionItem.d.ts.map +1 -1
  7. package/dist/components/AccordionItem/AccordionItem.js +2 -2
  8. package/dist/components/AccordionItem/AccordionItem.js.map +1 -1
  9. package/dist/components/Avatar/Avatar.cjs +83 -0
  10. package/dist/components/Avatar/Avatar.cjs.map +1 -0
  11. package/dist/components/Avatar/Avatar.css +188 -0
  12. package/dist/components/Avatar/Avatar.d.ts +3 -0
  13. package/dist/components/Avatar/Avatar.d.ts.map +1 -0
  14. package/dist/components/Avatar/Avatar.js +83 -0
  15. package/dist/components/Avatar/Avatar.js.map +1 -0
  16. package/dist/components/Avatar/Avatar.module.css.cjs +40 -0
  17. package/dist/components/Avatar/Avatar.module.css.cjs.map +1 -0
  18. package/dist/components/Avatar/Avatar.module.css.js +40 -0
  19. package/dist/components/Avatar/Avatar.module.css.js.map +1 -0
  20. package/dist/components/Avatar/Avatar.types.d.ts +66 -0
  21. package/dist/components/Avatar/Avatar.types.d.ts.map +1 -0
  22. package/dist/components/Avatar/Avatar.utils.cjs +17 -0
  23. package/dist/components/Avatar/Avatar.utils.cjs.map +1 -0
  24. package/dist/components/Avatar/Avatar.utils.d.ts +6 -0
  25. package/dist/components/Avatar/Avatar.utils.d.ts.map +1 -0
  26. package/dist/components/Avatar/Avatar.utils.js +17 -0
  27. package/dist/components/Avatar/Avatar.utils.js.map +1 -0
  28. package/dist/components/Avatar/index.d.ts +3 -0
  29. package/dist/components/Avatar/index.d.ts.map +1 -0
  30. package/dist/components/Breadcrumb/Breadcrumb.cjs +9 -12
  31. package/dist/components/Breadcrumb/Breadcrumb.cjs.map +1 -1
  32. package/dist/components/Breadcrumb/Breadcrumb.css +16 -16
  33. package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  34. package/dist/components/Breadcrumb/Breadcrumb.js +2 -5
  35. package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -1
  36. package/dist/components/Breadcrumb/Breadcrumb.module.css.cjs +5 -8
  37. package/dist/components/Breadcrumb/Breadcrumb.module.css.cjs.map +1 -1
  38. package/dist/components/Breadcrumb/Breadcrumb.module.css.js +5 -8
  39. package/dist/components/Breadcrumb/Breadcrumb.module.css.js.map +1 -1
  40. package/dist/components/Button/Button.cjs +29 -3
  41. package/dist/components/Button/Button.cjs.map +1 -1
  42. package/dist/components/Button/Button.css +78 -31
  43. package/dist/components/Button/Button.d.ts +1 -1
  44. package/dist/components/Button/Button.d.ts.map +1 -1
  45. package/dist/components/Button/Button.js +28 -2
  46. package/dist/components/Button/Button.js.map +1 -1
  47. package/dist/components/Button/Button.module.css.cjs +19 -11
  48. package/dist/components/Button/Button.module.css.cjs.map +1 -1
  49. package/dist/components/Button/Button.module.css.js +19 -11
  50. package/dist/components/Button/Button.module.css.js.map +1 -1
  51. package/dist/components/Button/Button.types.d.ts +20 -3
  52. package/dist/components/Button/Button.types.d.ts.map +1 -1
  53. package/dist/components/Button/index.d.ts +1 -1
  54. package/dist/components/Button/index.d.ts.map +1 -1
  55. package/dist/components/ButtonCard/ButtonCard.cjs +19 -14
  56. package/dist/components/ButtonCard/ButtonCard.cjs.map +1 -1
  57. package/dist/components/ButtonCard/ButtonCard.css +63 -20
  58. package/dist/components/ButtonCard/ButtonCard.d.ts +2 -1
  59. package/dist/components/ButtonCard/ButtonCard.d.ts.map +1 -1
  60. package/dist/components/ButtonCard/ButtonCard.js +17 -12
  61. package/dist/components/ButtonCard/ButtonCard.js.map +1 -1
  62. package/dist/components/ButtonCard/ButtonCard.module.css.cjs +14 -12
  63. package/dist/components/ButtonCard/ButtonCard.module.css.cjs.map +1 -1
  64. package/dist/components/ButtonCard/ButtonCard.module.css.js +14 -12
  65. package/dist/components/ButtonCard/ButtonCard.module.css.js.map +1 -1
  66. package/dist/components/ButtonCard/ButtonCard.types.d.ts +3 -2
  67. package/dist/components/ButtonCard/ButtonCard.types.d.ts.map +1 -1
  68. package/dist/components/Checkbox/Checkbox.cjs +105 -0
  69. package/dist/components/Checkbox/Checkbox.cjs.map +1 -0
  70. package/dist/components/Checkbox/Checkbox.css +323 -0
  71. package/dist/components/Checkbox/Checkbox.d.ts +3 -0
  72. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  73. package/dist/components/Checkbox/Checkbox.js +105 -0
  74. package/dist/components/Checkbox/Checkbox.js.map +1 -0
  75. package/dist/components/Checkbox/Checkbox.module.css.cjs +35 -0
  76. package/dist/components/Checkbox/Checkbox.module.css.cjs.map +1 -0
  77. package/dist/components/Checkbox/Checkbox.module.css.js +35 -0
  78. package/dist/components/Checkbox/Checkbox.module.css.js.map +1 -0
  79. package/dist/components/Checkbox/Checkbox.types.d.ts +47 -0
  80. package/dist/components/Checkbox/Checkbox.types.d.ts.map +1 -0
  81. package/dist/components/Checkbox/index.d.ts +3 -0
  82. package/dist/components/Checkbox/index.d.ts.map +1 -0
  83. package/dist/components/ContentCard/ContentCard.cjs +8 -7
  84. package/dist/components/ContentCard/ContentCard.cjs.map +1 -1
  85. package/dist/components/ContentCard/ContentCard.css +39 -34
  86. package/dist/components/ContentCard/ContentCard.d.ts.map +1 -1
  87. package/dist/components/ContentCard/ContentCard.js +3 -2
  88. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  89. package/dist/components/ContentCard/ContentCard.module.css.cjs +18 -18
  90. package/dist/components/ContentCard/ContentCard.module.css.js +18 -18
  91. package/dist/components/ContentCard/ContentCard.types.d.ts +2 -1
  92. package/dist/components/ContentCard/ContentCard.types.d.ts.map +1 -1
  93. package/dist/components/Drawer/Drawer.cjs +15 -7
  94. package/dist/components/Drawer/Drawer.cjs.map +1 -1
  95. package/dist/components/Drawer/Drawer.css +48 -45
  96. package/dist/components/Drawer/Drawer.d.ts.map +1 -1
  97. package/dist/components/Drawer/Drawer.js +12 -4
  98. package/dist/components/Drawer/Drawer.js.map +1 -1
  99. package/dist/components/Drawer/Drawer.module.css.cjs +16 -16
  100. package/dist/components/Drawer/Drawer.module.css.js +16 -16
  101. package/dist/components/Footer/Footer.cjs +8 -9
  102. package/dist/components/Footer/Footer.cjs.map +1 -1
  103. package/dist/components/Footer/Footer.css +87 -83
  104. package/dist/components/Footer/Footer.d.ts.map +1 -1
  105. package/dist/components/Footer/Footer.js +1 -2
  106. package/dist/components/Footer/Footer.js.map +1 -1
  107. package/dist/components/Footer/Footer.module.css.cjs +39 -39
  108. package/dist/components/Footer/Footer.module.css.js +39 -39
  109. package/dist/components/FunctionButton/FunctionButton.cjs +2 -2
  110. package/dist/components/FunctionButton/FunctionButton.cjs.map +1 -1
  111. package/dist/components/FunctionButton/FunctionButton.css +5 -1
  112. package/dist/components/FunctionButton/FunctionButton.js +1 -1
  113. package/dist/components/FunctionButton/FunctionButton.js.map +1 -1
  114. package/dist/components/Hero/Hero.cjs +30 -27
  115. package/dist/components/Hero/Hero.cjs.map +1 -1
  116. package/dist/components/Hero/Hero.css +49 -44
  117. package/dist/components/Hero/Hero.d.ts +1 -1
  118. package/dist/components/Hero/Hero.d.ts.map +1 -1
  119. package/dist/components/Hero/Hero.js +30 -27
  120. package/dist/components/Hero/Hero.js.map +1 -1
  121. package/dist/components/Hero/Hero.module.css.cjs +18 -18
  122. package/dist/components/Hero/Hero.module.css.js +18 -18
  123. package/dist/components/Hero/Hero.types.d.ts +2 -6
  124. package/dist/components/Hero/Hero.types.d.ts.map +1 -1
  125. package/dist/components/IconButton/IconButton.cjs +3 -4
  126. package/dist/components/IconButton/IconButton.cjs.map +1 -1
  127. package/dist/components/IconButton/IconButton.css +5 -1
  128. package/dist/components/IconButton/IconButton.d.ts.map +1 -1
  129. package/dist/components/IconButton/IconButton.js +1 -2
  130. package/dist/components/IconButton/IconButton.js.map +1 -1
  131. package/dist/components/Label/Label.css +5 -1
  132. package/dist/components/MainNavigation/MainNavigation.cjs +216 -162
  133. package/dist/components/MainNavigation/MainNavigation.cjs.map +1 -1
  134. package/dist/components/MainNavigation/MainNavigation.css +206 -183
  135. package/dist/components/MainNavigation/MainNavigation.d.ts +1 -1
  136. package/dist/components/MainNavigation/MainNavigation.d.ts.map +1 -1
  137. package/dist/components/MainNavigation/MainNavigation.js +177 -123
  138. package/dist/components/MainNavigation/MainNavigation.js.map +1 -1
  139. package/dist/components/MainNavigation/MainNavigation.module.css.cjs +80 -78
  140. package/dist/components/MainNavigation/MainNavigation.module.css.cjs.map +1 -1
  141. package/dist/components/MainNavigation/MainNavigation.module.css.js +80 -78
  142. package/dist/components/MainNavigation/MainNavigation.module.css.js.map +1 -1
  143. package/dist/components/MainNavigation/MainNavigation.types.d.ts +0 -13
  144. package/dist/components/MainNavigation/MainNavigation.types.d.ts.map +1 -1
  145. package/dist/components/MainNavigation/MainNavigation.utils.cjs +8 -4
  146. package/dist/components/MainNavigation/MainNavigation.utils.cjs.map +1 -1
  147. package/dist/components/MainNavigation/MainNavigation.utils.d.ts +1 -0
  148. package/dist/components/MainNavigation/MainNavigation.utils.d.ts.map +1 -1
  149. package/dist/components/MainNavigation/MainNavigation.utils.js +8 -4
  150. package/dist/components/MainNavigation/MainNavigation.utils.js.map +1 -1
  151. package/dist/components/Modal/Modal.cjs +14 -6
  152. package/dist/components/Modal/Modal.cjs.map +1 -1
  153. package/dist/components/Modal/Modal.css +44 -40
  154. package/dist/components/Modal/Modal.d.ts.map +1 -1
  155. package/dist/components/Modal/Modal.js +12 -4
  156. package/dist/components/Modal/Modal.js.map +1 -1
  157. package/dist/components/Modal/Modal.module.css.cjs +18 -18
  158. package/dist/components/Modal/Modal.module.css.js +18 -18
  159. package/dist/components/Notification/Notification.cjs +3 -2
  160. package/dist/components/Notification/Notification.cjs.map +1 -1
  161. package/dist/components/Notification/Notification.css +16 -11
  162. package/dist/components/Notification/Notification.d.ts.map +1 -1
  163. package/dist/components/Notification/Notification.js +2 -1
  164. package/dist/components/Notification/Notification.js.map +1 -1
  165. package/dist/components/Notification/Notification.module.css.cjs +9 -9
  166. package/dist/components/Notification/Notification.module.css.js +9 -9
  167. package/dist/components/Pagination/Pagination.cjs +142 -0
  168. package/dist/components/Pagination/Pagination.cjs.map +1 -0
  169. package/dist/components/Pagination/Pagination.css +256 -0
  170. package/dist/components/Pagination/Pagination.d.ts +3 -0
  171. package/dist/components/Pagination/Pagination.d.ts.map +1 -0
  172. package/dist/components/Pagination/Pagination.js +142 -0
  173. package/dist/components/Pagination/Pagination.js.map +1 -0
  174. package/dist/components/Pagination/Pagination.module.css.cjs +34 -0
  175. package/dist/components/Pagination/Pagination.module.css.cjs.map +1 -0
  176. package/dist/components/Pagination/Pagination.module.css.js +34 -0
  177. package/dist/components/Pagination/Pagination.module.css.js.map +1 -0
  178. package/dist/components/Pagination/Pagination.types.d.ts +20 -0
  179. package/dist/components/Pagination/Pagination.types.d.ts.map +1 -0
  180. package/dist/components/Pagination/Pagination.utils.cjs +76 -0
  181. package/dist/components/Pagination/Pagination.utils.cjs.map +1 -0
  182. package/dist/components/Pagination/Pagination.utils.d.ts +21 -0
  183. package/dist/components/Pagination/Pagination.utils.d.ts.map +1 -0
  184. package/dist/components/Pagination/Pagination.utils.js +76 -0
  185. package/dist/components/Pagination/Pagination.utils.js.map +1 -0
  186. package/dist/components/Pagination/index.d.ts +3 -0
  187. package/dist/components/Pagination/index.d.ts.map +1 -0
  188. package/dist/components/Pictograph/Pictograph.css +5 -1
  189. package/dist/components/Pictograph/PictographItem.css +5 -1
  190. package/dist/components/Quote/Quote.css +5 -1
  191. package/dist/components/Spinner/Spinner.css +5 -1
  192. package/dist/design-tokens/dist/tokens.cjs +5 -0
  193. package/dist/design-tokens/dist/tokens.cjs.map +1 -0
  194. package/dist/design-tokens/dist/tokens.js +5 -0
  195. package/dist/design-tokens/dist/tokens.js.map +1 -0
  196. package/dist/index.cjs +6 -0
  197. package/dist/index.cjs.map +1 -1
  198. package/dist/index.d.ts +7 -1
  199. package/dist/index.d.ts.map +1 -1
  200. package/dist/index.js +6 -0
  201. package/dist/index.js.map +1 -1
  202. package/dist/styles/utilities.css +6 -0
  203. package/dist/styles/utils/elevation.css +35 -26
  204. package/dist/styles/utils/focus.css +63 -68
  205. package/dist/styles/utils/index.cjs +33 -0
  206. package/dist/styles/utils/index.cjs.map +1 -0
  207. package/dist/styles/utils/index.d.ts +20 -0
  208. package/dist/styles/utils/index.d.ts.map +1 -0
  209. package/dist/styles/utils/index.js +33 -0
  210. package/dist/styles/utils/index.js.map +1 -0
  211. package/dist/styles/utils/overlay.css +35 -27
  212. package/dist/styles/utils/text-decoration.css +20 -12
  213. package/dist/styles.css +27 -3
  214. package/dist/utils/index.d.ts +1 -0
  215. package/dist/utils/index.d.ts.map +1 -1
  216. package/dist/utils/isRenderable/index.d.ts +2 -0
  217. package/dist/utils/isRenderable/index.d.ts.map +1 -0
  218. package/dist/utils/isRenderable/isRenderable.cjs +5 -0
  219. package/dist/utils/isRenderable/isRenderable.cjs.map +1 -0
  220. package/dist/utils/isRenderable/isRenderable.d.ts +4 -0
  221. package/dist/utils/isRenderable/isRenderable.d.ts.map +1 -0
  222. package/dist/utils/isRenderable/isRenderable.js +5 -0
  223. package/dist/utils/isRenderable/isRenderable.js.map +1 -0
  224. package/package.json +12 -4
  225. package/dist/styles/utils/elevation.module.css.cjs +0 -16
  226. package/dist/styles/utils/elevation.module.css.cjs.map +0 -1
  227. package/dist/styles/utils/elevation.module.css.js +0 -16
  228. package/dist/styles/utils/elevation.module.css.js.map +0 -1
  229. package/dist/styles/utils/focus.module.css.cjs +0 -16
  230. package/dist/styles/utils/focus.module.css.cjs.map +0 -1
  231. package/dist/styles/utils/focus.module.css.js +0 -16
  232. package/dist/styles/utils/focus.module.css.js.map +0 -1
  233. package/dist/styles/utils/overlay.module.css.cjs +0 -13
  234. package/dist/styles/utils/overlay.module.css.cjs.map +0 -1
  235. package/dist/styles/utils/overlay.module.css.js +0 -13
  236. package/dist/styles/utils/overlay.module.css.js.map +0 -1
  237. package/dist/styles/utils/text-decoration.module.css.cjs +0 -13
  238. package/dist/styles/utils/text-decoration.module.css.cjs.map +0 -1
  239. package/dist/styles/utils/text-decoration.module.css.js +0 -13
  240. package/dist/styles/utils/text-decoration.module.css.js.map +0 -1
@@ -1,4 +1,4 @@
1
- @layer dds-base, dds-components;@layer dds-components { @layer fallback, components; }@layer dds-components.components{._drawer_zzxde_1 {
1
+ @layer dds-base, dds-components;@layer dds-components { @layer fallback, components; }@layer dds-components.components{._drawer_t9y6s_1 {
2
2
  --_drawer-transition-duration-open: 400ms;
3
3
  --_drawer-transition-duration-close: 200ms;
4
4
  position: fixed;
@@ -23,43 +23,43 @@
23
23
  transition-behavior: allow-discrete;
24
24
  }
25
25
 
26
- ._drawer_zzxde_1:not([open]) {
26
+ ._drawer_t9y6s_1:not([open]) {
27
27
  display: none;
28
28
  }
29
- ._drawer--small_zzxde_29 {
29
+ ._drawer--small_t9y6s_29 {
30
30
  width: 375px;
31
31
  }
32
- ._drawer--medium_zzxde_32 {
32
+ ._drawer--medium_t9y6s_32 {
33
33
  width: 768px;
34
34
  }
35
- ._drawer--large_zzxde_35 {
35
+ ._drawer--large_t9y6s_35 {
36
36
  width: 1080px;
37
37
  }
38
- ._drawer--opening_zzxde_38,
39
- ._drawer--closing_zzxde_39 {
38
+ ._drawer--opening_t9y6s_38,
39
+ ._drawer--closing_t9y6s_39 {
40
40
  display: flex;
41
41
  flex-direction: column;
42
42
  }
43
- ._drawer--opening_zzxde_38 {
43
+ ._drawer--opening_t9y6s_38 {
44
44
  transition-duration: var(--_drawer-transition-duration-open);
45
45
  transform: translateX(-100%);
46
46
  }
47
- ._drawer--closing_zzxde_39 {
47
+ ._drawer--closing_t9y6s_39 {
48
48
  transform: translateX(0);
49
49
  }
50
- ._drawer--left_zzxde_50 {
50
+ ._drawer--left_t9y6s_50 {
51
51
  right: auto;
52
52
  left: 0;
53
53
  transform: translateX(-100%);
54
54
  }
55
- ._drawer--left_zzxde_50._drawer--opening_zzxde_38 {
55
+ ._drawer--left_t9y6s_50._drawer--opening_t9y6s_38 {
56
56
  transform: translateX(0);
57
57
  }
58
- ._drawer--left_zzxde_50._drawer--closing_zzxde_39 {
58
+ ._drawer--left_t9y6s_50._drawer--closing_t9y6s_39 {
59
59
  transform: translateX(-100%);
60
60
  }
61
61
 
62
- ._drawer_zzxde_1::backdrop {
62
+ ._drawer_t9y6s_1::backdrop {
63
63
  background: var(--color-semantic-utility-overlay-strong);
64
64
  opacity: 0;
65
65
  transition-property: opacity, overlay;
@@ -67,25 +67,25 @@
67
67
  transition-timing-function: ease;
68
68
  transition-behavior: allow-discrete;
69
69
  }
70
- ._drawer--opening_zzxde_38::backdrop {
70
+ ._drawer--opening_t9y6s_38::backdrop {
71
71
  opacity: 1;
72
72
  transition-duration: var(--_drawer-transition-duration-open);
73
73
  }
74
- ._drawer--closing_zzxde_39::backdrop {
74
+ ._drawer--closing_t9y6s_39::backdrop {
75
75
  opacity: 0;
76
76
  transition-duration: var(--_drawer-transition-duration-close);
77
77
  }
78
- ._drawer__container_zzxde_78 {
78
+ ._drawer__container_t9y6s_78 {
79
79
  display: flex;
80
80
  min-height: 0;
81
81
  flex: 1 1 auto;
82
82
  flex-direction: column;
83
83
  overflow: auto;
84
84
  }
85
- ._drawer--fixed-title_zzxde_85 ._drawer__container_zzxde_78 {
85
+ ._drawer--fixed-title_t9y6s_85 ._drawer__container_t9y6s_78 {
86
86
  overflow: hidden;
87
87
  }
88
- ._drawer__title_zzxde_88 {
88
+ ._drawer__title_t9y6s_88 {
89
89
  display: flex;
90
90
  flex: 0 0 auto;
91
91
  flex-direction: column;
@@ -95,22 +95,22 @@
95
95
  border-bottom: var(--borderwidth-semantic-xs) solid var(--color-semantic-border-neutral-base);
96
96
  background: var(--color-semantic-surface-base);
97
97
  }
98
- ._drawer__heading_zzxde_98 {
98
+ ._drawer__heading_t9y6s_98 {
99
99
  margin: 0;
100
100
  font: var(--typography-heading-md);
101
101
  }
102
- ._drawer__description_zzxde_102 {
102
+ ._drawer__description_t9y6s_102 {
103
103
  margin: 0;
104
104
  }
105
- ._drawer__content_zzxde_105 {
105
+ ._drawer__content_t9y6s_105 {
106
106
  flex: 1 1 auto;
107
107
  padding: var(--spacing-space-20);
108
108
  overflow-wrap: anywhere;
109
109
  }
110
- ._drawer--fixed-title_zzxde_85 ._drawer__content_zzxde_105 {
110
+ ._drawer--fixed-title_t9y6s_85 ._drawer__content_t9y6s_105 {
111
111
  overflow: auto;
112
112
  }
113
- ._drawer__close_zzxde_113 {
113
+ ._drawer__close_t9y6s_113 {
114
114
  position: absolute;
115
115
  z-index: 1;
116
116
  top: 0;
@@ -126,93 +126,96 @@
126
126
  color: var(--color-semantic-foreground-secondary-strong);
127
127
  cursor: pointer;
128
128
  }
129
- ._drawer__close_zzxde_113 svg {
129
+ ._drawer__close_t9y6s_113 svg {
130
130
  width: 24px;
131
131
  height: 24px;
132
132
  }
133
- ._drawer__bottom-bar_zzxde_133 {
133
+ ._drawer__bottom-bar_t9y6s_133 {
134
134
  flex: 0 0 auto;
135
135
  padding: var(--spacing-space-20) var(--spacing-space-20) var(--spacing-space-24);
136
136
  border: none;
137
137
  border-radius: 0;
138
138
  border-top: var(--borderwidth-semantic-xs) solid var(--color-semantic-border-neutral-base);
139
139
  }
140
- ._drawer--dark_zzxde_140 ._drawer__title_zzxde_88 {
140
+ ._drawer--dark_t9y6s_140 ._drawer__title_t9y6s_88 {
141
141
  border-bottom-color: var(--color-semantic-border-secondary);
142
142
  background: var(--color-semantic-surface-secondary-strong);
143
143
  color: var(--color-semantic-foreground-inverse);
144
144
  }
145
- ._drawer--dark_zzxde_140 ._drawer__close_zzxde_113 {
145
+ ._drawer--dark_t9y6s_140 ._drawer__close_t9y6s_113 {
146
146
  background: var(--color-semantic-surface-secondary-mid);
147
147
  color: var(--color-semantic-foreground-inverse);
148
148
  }
149
149
 
150
- @media (min-width: 768px) {
151
- ._drawer--medium_zzxde_32 {
150
+ @media (width >= 768px) {
151
+ ._drawer--medium_t9y6s_32 {
152
152
  --_drawer-transition-duration-open: 500ms;
153
153
  --_drawer-transition-duration-close: 300ms;
154
154
  }
155
- ._drawer--large_zzxde_35 {
155
+ ._drawer--large_t9y6s_35 {
156
156
  --_drawer-transition-duration-open: 500ms;
157
157
  --_drawer-transition-duration-close: 300ms;
158
158
  }
159
159
  }
160
- @media (min-width: 1024px) {
161
- ._drawer--large_zzxde_35 {
160
+ @media (width >= 1024px) {
161
+ ._drawer--large_t9y6s_35 {
162
162
  --_drawer-transition-duration-open: 600ms;
163
163
  --_drawer-transition-duration-close: 400ms;
164
164
  }
165
165
  }
166
- @media (max-width: 359px) {
167
- ._drawer_zzxde_1 {
166
+ @media (width < 360px) {
167
+ ._drawer_t9y6s_1 {
168
168
  width: 100vw;
169
169
  max-width: 100vw;
170
170
  }
171
171
  }
172
172
  @media (prefers-reduced-motion: reduce) {
173
- ._drawer_zzxde_1,
174
- ._drawer_zzxde_1::backdrop {
173
+ ._drawer_t9y6s_1,
174
+ ._drawer_t9y6s_1::backdrop {
175
175
  transition: none;
176
176
  }
177
177
  }
178
178
  @media (forced-colors: active) {
179
- ._drawer_zzxde_1 {
179
+ ._drawer_t9y6s_1 {
180
180
  border: 2px solid CanvasText;
181
181
  box-shadow: none;
182
182
  }
183
- ._drawer_zzxde_1::backdrop {
183
+ ._drawer_t9y6s_1::backdrop {
184
184
  background: Canvas;
185
185
  opacity: 0.7;
186
186
  }
187
- ._drawer__close_zzxde_113 {
187
+ ._drawer__close_t9y6s_113 {
188
188
  border: 1px solid ButtonBorder;
189
189
  background: ButtonFace;
190
190
  color: ButtonText;
191
191
  }
192
192
  }
193
193
 
194
- ._drawer--opening_zzxde_38 {
194
+ ._drawer--opening_t9y6s_38 {
195
195
  @starting-style {
196
196
  transform: translateX(0);
197
197
  }
198
198
  }
199
- ._drawer--opening_zzxde_38::backdrop {
199
+ ._drawer--opening_t9y6s_38::backdrop {
200
200
  @starting-style {
201
201
  opacity: 0;
202
202
  }
203
203
  }
204
- ._drawer--closing_zzxde_39 {
204
+ ._drawer--closing_t9y6s_39 {
205
205
  @starting-style {
206
206
  transform: translateX(-100%);
207
207
  }
208
208
  }
209
- ._drawer--left_zzxde_50._drawer--opening_zzxde_38 {
209
+ ._drawer--left_t9y6s_50._drawer--opening_t9y6s_38 {
210
210
  @starting-style {
211
211
  transform: translateX(-100%);
212
212
  }
213
213
  }
214
- ._drawer--left_zzxde_50._drawer--closing_zzxde_39 {
214
+ ._drawer--left_t9y6s_50._drawer--closing_t9y6s_39 {
215
215
  @starting-style {
216
216
  transform: translateX(0);
217
217
  }
218
- } }
218
+ }
219
+ /**
220
+ * Do not edit directly, this file was auto-generated.
221
+ */ }
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../src/components/Drawer/Drawer.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,eAAO,MAAM,MAAM,GAAI,+SAuBpB,WAAW,mDAgFb,CAAC"}
1
+ {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../src/components/Drawer/Drawer.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,eAAO,MAAM,MAAM,GAAI,+SAuBpB,WAAW,mDAqFb,CAAC"}
@@ -1,8 +1,7 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useId } from "react";
3
3
  import { Close } from "@dnanpm/icons";
4
- import elevationStyles from "../../styles/utils/elevation.module.css.js";
5
- import focusStyles from "../../styles/utils/focus.module.css.js";
4
+ import { focusStyles, elevationStyles } from "../../styles/utils/index.js";
6
5
  import { useDialogDismissal } from "../Modal/useDialogDismissal.js";
7
6
  import { useNativeDialog } from "../Modal/useNativeDialog.js";
8
7
  import styles from "./Drawer.module.css.js";
@@ -51,6 +50,7 @@ const Drawer = ({
51
50
  "dialog",
52
51
  {
53
52
  ...props,
53
+ "data-color-scheme": "light",
54
54
  ref: (node) => {
55
55
  dialogRef.current = node;
56
56
  if (typeof ref === "function") ref(node);
@@ -80,13 +80,21 @@ const Drawer = ({
80
80
  className: cn(styles.drawer__close, focusStyles.focusable),
81
81
  "aria-label": closeLabel,
82
82
  "data-dialog-autofocus": "true",
83
+ "data-color-scheme": headerStyle,
83
84
  onClick: close,
84
85
  children: /* @__PURE__ */ jsx(Close, { "aria-hidden": "true" })
85
86
  }
86
87
  ),
87
- (title || description) && /* @__PURE__ */ jsxs("div", { className: styles.drawer__title, children: [
88
+ (title || description) && /* @__PURE__ */ jsxs("div", { className: styles.drawer__title, "data-color-scheme": headerStyle, children: [
88
89
  title && /* @__PURE__ */ jsx("h2", { id: titleId, className: styles.drawer__heading, children: title }),
89
- description && /* @__PURE__ */ jsx("div", { id: descriptionId, className: styles.drawer__description, children: description })
90
+ description && /* @__PURE__ */ jsx(
91
+ "div",
92
+ {
93
+ id: descriptionId,
94
+ className: cn(styles.drawer__description, "dds-prose"),
95
+ children: description
96
+ }
97
+ )
90
98
  ] }),
91
99
  /* @__PURE__ */ jsx("div", { className: styles.drawer__content, children })
92
100
  ] }),
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.js","sources":["../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import { useId } from 'react';\nimport { Close } from '@dnanpm/icons';\nimport { cn } from '../../utils/cn';\nimport elevationStyles from '../../styles/utils/elevation.module.css';\nimport focusStyles from '../../styles/utils/focus.module.css';\nimport { useDialogDismissal } from '../Modal/useDialogDismissal';\nimport { useNativeDialog } from '../Modal/useNativeDialog';\nimport styles from './Drawer.module.css';\nimport type { DrawerProps } from './Drawer.types';\n\nexport const Drawer = ({\n open,\n onOpenChange,\n title,\n description,\n children,\n footer,\n size = 'small',\n headerStyle = 'light',\n side = 'right',\n fixedTitle = false,\n disableCloseOptions = false,\n closeLabel = 'Sulje dialogi',\n keepMounted = false,\n className,\n ref,\n onKeyDown,\n onClick,\n onPointerDown,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n ...props\n}: DrawerProps) => {\n const titleId = useId();\n const descriptionId = useId();\n const { dialogRef, close, phase, isPresent } = useNativeDialog({\n open: open ?? false,\n keepMounted,\n onOpenChange,\n });\n const describedBy =\n [description ? descriptionId : undefined, ariaDescribedBy].filter(Boolean).join(' ') ||\n undefined;\n const dialogDismissalProps = useDialogDismissal({\n close,\n disableCloseOptions,\n onClick,\n onKeyDown,\n onPointerDown,\n });\n\n if (!isPresent) return null;\n\n return (\n <dialog\n {...props}\n ref={(node) => {\n dialogRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n }}\n className={cn(\n styles.drawer,\n elevationStyles.elevationHigh,\n styles[`drawer--${size}`],\n styles[`drawer--${headerStyle}`],\n styles[`drawer--${side}`],\n { [styles['drawer--fixed-title']]: fixedTitle },\n { [styles['drawer--opening']]: phase !== 'closing' },\n { [styles['drawer--closing']]: phase === 'closing' },\n className,\n )}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy ?? (!ariaLabel && title ? titleId : undefined)}\n aria-describedby={describedBy}\n {...dialogDismissalProps}\n >\n <div className={styles.drawer__container}>\n {!disableCloseOptions && (\n <button\n type=\"button\"\n className={cn(styles.drawer__close, focusStyles.focusable)}\n aria-label={closeLabel}\n data-dialog-autofocus=\"true\"\n onClick={close}\n >\n <Close aria-hidden=\"true\" />\n </button>\n )}\n {(title || description) && (\n <div className={styles.drawer__title}>\n {title && (\n <h2 id={titleId} className={styles.drawer__heading}>\n {title}\n </h2>\n )}\n {description && (\n <div id={descriptionId} className={styles.drawer__description}>\n {description}\n </div>\n )}\n </div>\n )}\n <div className={styles.drawer__content}>{children}</div>\n </div>\n {footer && (\n <div className={cn(styles['drawer__bottom-bar'], elevationStyles.elevationMedium)}>\n {footer}\n </div>\n )}\n </dialog>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;AAUO,MAAM,SAAS,CAAC;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,cAAc;AAAA,EACd,OAAO;AAAA,EACP,aAAa;AAAA,EACb,sBAAsB;AAAA,EACtB,aAAa;AAAA,EACb,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,GAAG;AACP,MAAmB;AACf,QAAM,UAAU,MAAA;AAChB,QAAM,gBAAgB,MAAA;AACtB,QAAM,EAAE,WAAW,OAAO,OAAO,UAAA,IAAc,gBAAgB;AAAA,IAC3D,MAAM,QAAQ;AAAA,IACd;AAAA,IACA;AAAA,EAAA,CACH;AACD,QAAM,cACF,CAAC,cAAc,gBAAgB,QAAW,eAAe,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,KACnF;AACJ,QAAM,uBAAuB,mBAAmB;AAAA,IAC5C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACH;AAED,MAAI,CAAC,UAAW,QAAO;AAEvB,SACI;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAG;AAAA,MACJ,KAAK,CAAC,SAAS;AACX,kBAAU,UAAU;AACpB,YAAI,OAAO,QAAQ,WAAY,KAAI,IAAI;AAAA,iBAC9B,SAAS,UAAU;AAAA,MAChC;AAAA,MACA,WAAW;AAAA,QACP,OAAO;AAAA,QACP,gBAAgB;AAAA,QAChB,OAAO,WAAW,IAAI,EAAE;AAAA,QACxB,OAAO,WAAW,WAAW,EAAE;AAAA,QAC/B,OAAO,WAAW,IAAI,EAAE;AAAA,QACxB,EAAE,CAAC,OAAO,qBAAqB,CAAC,GAAG,WAAA;AAAA,QACnC,EAAE,CAAC,OAAO,iBAAiB,CAAC,GAAG,UAAU,UAAA;AAAA,QACzC,EAAE,CAAC,OAAO,iBAAiB,CAAC,GAAG,UAAU,UAAA;AAAA,QACzC;AAAA,MAAA;AAAA,MAEJ,cAAY;AAAA,MACZ,mBAAiB,mBAAmB,CAAC,aAAa,QAAQ,UAAU;AAAA,MACpE,oBAAkB;AAAA,MACjB,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAA,qBAAC,OAAA,EAAI,WAAW,OAAO,mBAClB,UAAA;AAAA,UAAA,CAAC,uBACE;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,MAAK;AAAA,cACL,WAAW,GAAG,OAAO,eAAe,YAAY,SAAS;AAAA,cACzD,cAAY;AAAA,cACZ,yBAAsB;AAAA,cACtB,SAAS;AAAA,cAET,UAAA,oBAAC,OAAA,EAAM,eAAY,OAAA,CAAO;AAAA,YAAA;AAAA,UAAA;AAAA,WAGhC,SAAS,gBACP,qBAAC,OAAA,EAAI,WAAW,OAAO,eAClB,UAAA;AAAA,YAAA,6BACI,MAAA,EAAG,IAAI,SAAS,WAAW,OAAO,iBAC9B,UAAA,MAAA,CACL;AAAA,YAEH,mCACI,OAAA,EAAI,IAAI,eAAe,WAAW,OAAO,qBACrC,UAAA,YAAA,CACL;AAAA,UAAA,GAER;AAAA,UAEJ,oBAAC,OAAA,EAAI,WAAW,OAAO,iBAAkB,SAAA,CAAS;AAAA,QAAA,GACtD;AAAA,QACC,UACG,oBAAC,OAAA,EAAI,WAAW,GAAG,OAAO,oBAAoB,GAAG,gBAAgB,eAAe,GAC3E,UAAA,OAAA,CACL;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIhB;"}
1
+ {"version":3,"file":"Drawer.js","sources":["../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import { useId } from 'react';\nimport { Close } from '@dnanpm/icons';\nimport { cn } from '../../utils/cn';\nimport { elevationStyles, focusStyles } from '../../styles/utils';\nimport { useDialogDismissal } from '../Modal/useDialogDismissal';\nimport { useNativeDialog } from '../Modal/useNativeDialog';\nimport styles from './Drawer.module.css';\nimport type { DrawerProps } from './Drawer.types';\n\nexport const Drawer = ({\n open,\n onOpenChange,\n title,\n description,\n children,\n footer,\n size = 'small',\n headerStyle = 'light',\n side = 'right',\n fixedTitle = false,\n disableCloseOptions = false,\n closeLabel = 'Sulje dialogi',\n keepMounted = false,\n className,\n ref,\n onKeyDown,\n onClick,\n onPointerDown,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n ...props\n}: DrawerProps) => {\n const titleId = useId();\n const descriptionId = useId();\n const { dialogRef, close, phase, isPresent } = useNativeDialog({\n open: open ?? false,\n keepMounted,\n onOpenChange,\n });\n const describedBy =\n [description ? descriptionId : undefined, ariaDescribedBy].filter(Boolean).join(' ') ||\n undefined;\n const dialogDismissalProps = useDialogDismissal({\n close,\n disableCloseOptions,\n onClick,\n onKeyDown,\n onPointerDown,\n });\n\n if (!isPresent) return null;\n\n return (\n <dialog\n {...props}\n data-color-scheme=\"light\"\n ref={(node) => {\n dialogRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n }}\n className={cn(\n styles.drawer,\n elevationStyles.elevationHigh,\n styles[`drawer--${size}`],\n styles[`drawer--${headerStyle}`],\n styles[`drawer--${side}`],\n { [styles['drawer--fixed-title']]: fixedTitle },\n { [styles['drawer--opening']]: phase !== 'closing' },\n { [styles['drawer--closing']]: phase === 'closing' },\n className,\n )}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy ?? (!ariaLabel && title ? titleId : undefined)}\n aria-describedby={describedBy}\n {...dialogDismissalProps}\n >\n <div className={styles.drawer__container}>\n {!disableCloseOptions && (\n <button\n type=\"button\"\n className={cn(styles.drawer__close, focusStyles.focusable)}\n aria-label={closeLabel}\n data-dialog-autofocus=\"true\"\n data-color-scheme={headerStyle}\n onClick={close}\n >\n <Close aria-hidden=\"true\" />\n </button>\n )}\n {(title || description) && (\n <div className={styles.drawer__title} data-color-scheme={headerStyle}>\n {title && (\n <h2 id={titleId} className={styles.drawer__heading}>\n {title}\n </h2>\n )}\n {description && (\n <div\n id={descriptionId}\n className={cn(styles.drawer__description, 'dds-prose')}\n >\n {description}\n </div>\n )}\n </div>\n )}\n <div className={styles.drawer__content}>{children}</div>\n </div>\n {footer && (\n <div className={cn(styles['drawer__bottom-bar'], elevationStyles.elevationMedium)}>\n {footer}\n </div>\n )}\n </dialog>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,30 +1,30 @@
1
1
  require('./Drawer.css');
2
2
  "use strict";
3
3
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
4
- const drawer = "_drawer_zzxde_1";
5
- const drawer__container = "_drawer__container_zzxde_78";
6
- const drawer__title = "_drawer__title_zzxde_88";
7
- const drawer__heading = "_drawer__heading_zzxde_98";
8
- const drawer__description = "_drawer__description_zzxde_102";
9
- const drawer__content = "_drawer__content_zzxde_105";
10
- const drawer__close = "_drawer__close_zzxde_113";
4
+ const drawer = "_drawer_t9y6s_1";
5
+ const drawer__container = "_drawer__container_t9y6s_78";
6
+ const drawer__title = "_drawer__title_t9y6s_88";
7
+ const drawer__heading = "_drawer__heading_t9y6s_98";
8
+ const drawer__description = "_drawer__description_t9y6s_102";
9
+ const drawer__content = "_drawer__content_t9y6s_105";
10
+ const drawer__close = "_drawer__close_t9y6s_113";
11
11
  const styles = {
12
12
  drawer,
13
- "drawer--small": "_drawer--small_zzxde_29",
14
- "drawer--medium": "_drawer--medium_zzxde_32",
15
- "drawer--large": "_drawer--large_zzxde_35",
16
- "drawer--opening": "_drawer--opening_zzxde_38",
17
- "drawer--closing": "_drawer--closing_zzxde_39",
18
- "drawer--left": "_drawer--left_zzxde_50",
13
+ "drawer--small": "_drawer--small_t9y6s_29",
14
+ "drawer--medium": "_drawer--medium_t9y6s_32",
15
+ "drawer--large": "_drawer--large_t9y6s_35",
16
+ "drawer--opening": "_drawer--opening_t9y6s_38",
17
+ "drawer--closing": "_drawer--closing_t9y6s_39",
18
+ "drawer--left": "_drawer--left_t9y6s_50",
19
19
  drawer__container,
20
- "drawer--fixed-title": "_drawer--fixed-title_zzxde_85",
20
+ "drawer--fixed-title": "_drawer--fixed-title_t9y6s_85",
21
21
  drawer__title,
22
22
  drawer__heading,
23
23
  drawer__description,
24
24
  drawer__content,
25
25
  drawer__close,
26
- "drawer__bottom-bar": "_drawer__bottom-bar_zzxde_133",
27
- "drawer--dark": "_drawer--dark_zzxde_140"
26
+ "drawer__bottom-bar": "_drawer__bottom-bar_t9y6s_133",
27
+ "drawer--dark": "_drawer--dark_t9y6s_140"
28
28
  };
29
29
  exports.default = styles;
30
30
  exports.drawer = drawer;
@@ -1,28 +1,28 @@
1
1
  import './Drawer.css';
2
- const drawer = "_drawer_zzxde_1";
3
- const drawer__container = "_drawer__container_zzxde_78";
4
- const drawer__title = "_drawer__title_zzxde_88";
5
- const drawer__heading = "_drawer__heading_zzxde_98";
6
- const drawer__description = "_drawer__description_zzxde_102";
7
- const drawer__content = "_drawer__content_zzxde_105";
8
- const drawer__close = "_drawer__close_zzxde_113";
2
+ const drawer = "_drawer_t9y6s_1";
3
+ const drawer__container = "_drawer__container_t9y6s_78";
4
+ const drawer__title = "_drawer__title_t9y6s_88";
5
+ const drawer__heading = "_drawer__heading_t9y6s_98";
6
+ const drawer__description = "_drawer__description_t9y6s_102";
7
+ const drawer__content = "_drawer__content_t9y6s_105";
8
+ const drawer__close = "_drawer__close_t9y6s_113";
9
9
  const styles = {
10
10
  drawer,
11
- "drawer--small": "_drawer--small_zzxde_29",
12
- "drawer--medium": "_drawer--medium_zzxde_32",
13
- "drawer--large": "_drawer--large_zzxde_35",
14
- "drawer--opening": "_drawer--opening_zzxde_38",
15
- "drawer--closing": "_drawer--closing_zzxde_39",
16
- "drawer--left": "_drawer--left_zzxde_50",
11
+ "drawer--small": "_drawer--small_t9y6s_29",
12
+ "drawer--medium": "_drawer--medium_t9y6s_32",
13
+ "drawer--large": "_drawer--large_t9y6s_35",
14
+ "drawer--opening": "_drawer--opening_t9y6s_38",
15
+ "drawer--closing": "_drawer--closing_t9y6s_39",
16
+ "drawer--left": "_drawer--left_t9y6s_50",
17
17
  drawer__container,
18
- "drawer--fixed-title": "_drawer--fixed-title_zzxde_85",
18
+ "drawer--fixed-title": "_drawer--fixed-title_t9y6s_85",
19
19
  drawer__title,
20
20
  drawer__heading,
21
21
  drawer__description,
22
22
  drawer__content,
23
23
  drawer__close,
24
- "drawer__bottom-bar": "_drawer__bottom-bar_zzxde_133",
25
- "drawer--dark": "_drawer--dark_zzxde_140"
24
+ "drawer__bottom-bar": "_drawer__bottom-bar_t9y6s_133",
25
+ "drawer--dark": "_drawer--dark_t9y6s_140"
26
26
  };
27
27
  export {
28
28
  styles as default,
@@ -3,8 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const icons = require("@dnanpm/icons");
6
- const focus_module = require("../../styles/utils/focus.module.css.cjs");
7
- const textDecoration_module = require("../../styles/utils/text-decoration.module.css.cjs");
6
+ const index = require("../../styles/utils/index.cjs");
8
7
  const appStoreBadge = require("./assets/app-store-badge.svg.cjs");
9
8
  const googlePlayBadge = require("./assets/google-play-badge.svg.cjs");
10
9
  const Footer_module = require("./Footer.module.css.cjs");
@@ -12,7 +11,7 @@ const Footer_utils = require("./Footer.utils.cjs");
12
11
  const IconButton = require("../IconButton/IconButton.cjs");
13
12
  const cn = require("../../utils/cn/cn.cjs");
14
13
  const AccordionItem = require("../AccordionItem/AccordionItem.cjs");
15
- const linkClasses = (extra) => cn.cn(Footer_module.default.footer__link, textDecoration_module.default.underlineLink, focus_module.default.focusable, extra);
14
+ const linkClasses = (extra) => cn.cn(Footer_module.default.footer__link, index.textDecorationStyles.underlineLink, index.focusStyles.focusable, extra);
16
15
  const renderNavLink = (link, renderLink) => renderLink(
17
16
  {
18
17
  href: link.href,
@@ -25,7 +24,7 @@ const renderNavLink = (link, renderLink) => renderLink(
25
24
  const renderBadge = (link, src, renderLink, fallbackAriaLabel) => renderLink(
26
25
  {
27
26
  href: link.href,
28
- className: cn.cn(Footer_module.default.footer__badge, focus_module.default.focusable),
27
+ className: cn.cn(Footer_module.default.footer__badge, index.focusStyles.focusable),
29
28
  "aria-label": link.ariaLabel ?? fallbackAriaLabel,
30
29
  children: /* @__PURE__ */ jsxRuntime.jsx("img", { src, alt: "", "aria-hidden": "true" })
31
30
  },
@@ -67,12 +66,12 @@ const Footer = ({
67
66
  className: cn.cn(Footer_module.default.footer, className),
68
67
  ...props,
69
68
  children: [
70
- topSection && topSection.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: Footer_module.default.footer__top, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn.cn(Footer_module.default.footer__inner, Footer_module.default["footer__top-row"]), children: topSection.map((group, index) => {
69
+ topSection && topSection.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: Footer_module.default.footer__top, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn.cn(Footer_module.default.footer__inner, Footer_module.default["footer__top-row"]), children: topSection.map((group, index2) => {
71
70
  const Icon = Footer_utils.resolveTopSectionIcon(group.icon);
72
71
  const links = group.links.filter(
73
72
  (link) => !link.opensChat || onChatOpen
74
73
  );
75
- const headingId = `${topSectionHeadingId}-${index}`;
74
+ const headingId = `${topSectionHeadingId}-${index2}`;
76
75
  return /* @__PURE__ */ jsxRuntime.jsxs(
77
76
  "section",
78
77
  {
@@ -160,7 +159,7 @@ const Footer = ({
160
159
  className: cn.cn(
161
160
  Footer_module.default.footer__language,
162
161
  isCurrent && Footer_module.default["footer__language--current"],
163
- focus_module.default.focusable
162
+ index.focusStyles.focusable
164
163
  ),
165
164
  "aria-label": language.ariaLabel,
166
165
  "aria-current": isCurrent ? "true" : void 0,
@@ -184,7 +183,7 @@ const Footer = ({
184
183
  href: social.href,
185
184
  className: cn.cn(
186
185
  Footer_module.default["footer__social-link"],
187
- focus_module.default.focusable
186
+ index.focusStyles.focusable
188
187
  ),
189
188
  "aria-label": social.ariaLabel ?? Footer_utils.defaultSocialAriaLabel(social.platform),
190
189
  children: Icon ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -213,7 +212,7 @@ const Footer = ({
213
212
  className: cn.cn(
214
213
  Footer_module.default.footer__organization,
215
214
  isCurrent && Footer_module.default["footer__organization--current"],
216
- focus_module.default.focusable
215
+ index.focusStyles.focusable
217
216
  ),
218
217
  "aria-current": isCurrent ? "true" : void 0,
219
218
  children: organization.label
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.cjs","sources":["../../../src/components/Footer/Footer.tsx"],"sourcesContent":["import { useId } from 'react';\nimport { ArrowRight } from '@dnanpm/icons';\nimport { AccordionItem } from '../AccordionItem';\nimport { IconButton } from '../IconButton';\nimport { cn } from '../../utils/cn';\nimport focusStyles from '../../styles/utils/focus.module.css';\nimport textDecorationStyles from '../../styles/utils/text-decoration.module.css';\nimport appStoreBadge from './assets/app-store-badge.svg';\nimport googlePlayBadge from './assets/google-play-badge.svg';\nimport styles from './Footer.module.css';\nimport {\n defaultAppStoreAriaLabel,\n defaultCopyrightLabel,\n defaultGooglePlayAriaLabel,\n defaultRenderLink,\n defaultSocialAriaLabel,\n resolveSocialIcon,\n resolveTopSectionIcon,\n} from './Footer.utils';\nimport type {\n FooterAppLink,\n FooterLink,\n FooterLinkProps,\n FooterProps,\n FooterRenderLink,\n} from './Footer.types';\n\nconst linkClasses = (extra?: string) =>\n cn(styles.footer__link, textDecorationStyles.underlineLink, focusStyles.focusable, extra);\n\nconst renderNavLink = (link: FooterLink, renderLink: FooterRenderLink) =>\n renderLink(\n {\n href: link.href,\n className: linkClasses(),\n 'aria-label': link.ariaLabel,\n children: link.label,\n },\n { external: link.external ?? false },\n );\n\nconst renderBadge = (\n link: FooterAppLink,\n src: string,\n renderLink: FooterRenderLink,\n fallbackAriaLabel: string,\n) =>\n renderLink(\n {\n href: link.href,\n className: cn(styles.footer__badge, focusStyles.focusable),\n 'aria-label': link.ariaLabel ?? fallbackAriaLabel,\n children: <img src={src} alt=\"\" aria-hidden=\"true\" />,\n },\n { external: true },\n );\n\nexport const Footer = ({\n topSection,\n navigation,\n socialLinks,\n organizations,\n currentOrganizationId,\n languages,\n currentLanguageCode,\n appLinks,\n mandatoryLinks,\n copyrightLabel,\n renderLink = defaultRenderLink,\n onChatOpen,\n onCookieSettingsClick,\n navigationLabel = 'Footer linkit',\n socialLabel = 'DNA sosiaalisessa mediassa',\n organizationsLabel = 'Valitse sivusto',\n languagesLabel = 'Valitse kieli',\n mandatoryLinksLabel = 'Lakisääteiset linkit',\n className,\n ref,\n ...props\n}: FooterProps) => {\n const visibleMandatoryLinks = (mandatoryLinks ?? []).filter(\n (link) => !link.opensCookieSettings || onCookieSettingsClick,\n );\n\n const hasBadges = Boolean(appLinks?.appStore || appLinks?.googlePlay);\n const topSectionHeadingId = useId();\n\n return (\n <footer\n ref={ref}\n data-color-scheme=\"dark\"\n className={cn(styles.footer, className)}\n {...props}\n >\n {topSection && topSection.length > 0 && (\n <div className={styles.footer__top}>\n <div className={cn(styles.footer__inner, styles['footer__top-row'])}>\n {topSection.map((group, index) => {\n const Icon = resolveTopSectionIcon(group.icon);\n const links = group.links.filter(\n (link) => !link.opensChat || onChatOpen,\n );\n // Names the section as a landmark so it is discoverable alongside the main nav.\n const headingId = `${topSectionHeadingId}-${index}`;\n\n return (\n <section\n key={group.title}\n aria-labelledby={headingId}\n className={styles['footer__top-column']}\n >\n <div className={styles['footer__top-heading']}>\n {Icon && (\n <Icon\n className={styles['footer__top-icon']}\n aria-hidden=\"true\"\n />\n )}\n <h2 id={headingId} className={styles['footer__top-title']}>\n {group.title}\n </h2>\n </div>\n {links.length > 0 && (\n <ul className={styles['footer__top-links']}>\n {links.map((link) => (\n <li key={link.label}>\n {link.opensChat ? (\n <IconButton\n icon={ArrowRight}\n onClick={onChatOpen}\n className={styles['footer__top-link']}\n labelBehavior=\"wrap\"\n >\n {link.label}\n </IconButton>\n ) : (\n <IconButton\n icon={ArrowRight}\n href={link.href}\n aria-label={link.ariaLabel}\n className={styles['footer__top-link']}\n labelBehavior=\"wrap\"\n renderLink={(linkProps) =>\n renderLink(\n linkProps as FooterLinkProps,\n {\n external:\n link.external ?? false,\n },\n )\n }\n >\n {link.label}\n </IconButton>\n )}\n </li>\n ))}\n </ul>\n )}\n </section>\n );\n })}\n </div>\n </div>\n )}\n\n <div className={styles.footer__bottom}>\n <div className={cn(styles.footer__inner, styles.footer__container)}>\n {navigation && navigation.length > 0 && (\n <nav aria-label={navigationLabel}>\n {/* Accordions below 768px; the columns branch is display:none here. */}\n <div className={styles['footer__nav-accordions']}>\n {navigation.map((group) => (\n <AccordionItem\n key={group.heading}\n variant=\"panel\"\n label={group.heading}\n className={styles.footer__accordion}\n >\n <ul className={styles['footer__link-list']}>\n {group.links.map((link) => (\n <li key={link.label}>\n {renderNavLink(link, renderLink)}\n </li>\n ))}\n </ul>\n </AccordionItem>\n ))}\n </div>\n\n <div className={styles['footer__nav-columns']}>\n {navigation.map((group) => (\n <div key={group.heading} className={styles.footer__column}>\n <h2 className={styles['footer__column-heading']}>\n {group.heading}\n </h2>\n <ul className={styles['footer__link-list']}>\n {group.links.map((link) => (\n <li key={link.label}>\n {renderNavLink(link, renderLink)}\n </li>\n ))}\n </ul>\n </div>\n ))}\n </div>\n </nav>\n )}\n\n {/* The bottom bar always renders: it carries the copyright. */}\n <div\n className={cn(\n styles.footer__divider,\n Boolean(navigation?.length) && styles['footer__divider--after-nav'],\n )}\n />\n\n <div className={styles.footer__meta}>\n {languages && languages.length > 0 && (\n <ul\n className={styles['footer__language-list']}\n aria-label={languagesLabel}\n >\n {languages.map((language) => {\n const isCurrent = language.code === currentLanguageCode;\n\n return (\n <li key={language.code}>\n {renderLink(\n {\n href: language.href,\n className: cn(\n styles.footer__language,\n isCurrent &&\n styles['footer__language--current'],\n focusStyles.focusable,\n ),\n 'aria-label': language.ariaLabel,\n 'aria-current': isCurrent ? 'true' : undefined,\n children: language.label,\n },\n { external: language.external ?? false },\n )}\n </li>\n );\n })}\n </ul>\n )}\n\n <div className={styles['footer__meta-center']}>\n {socialLinks && socialLinks.length > 0 && (\n <ul\n className={styles['footer__social-list']}\n aria-label={socialLabel}\n >\n {socialLinks.map((social) => {\n const Icon = resolveSocialIcon(social.platform);\n\n return (\n <li key={social.platform}>\n {renderLink(\n {\n href: social.href,\n className: cn(\n styles['footer__social-link'],\n focusStyles.focusable,\n ),\n 'aria-label':\n social.ariaLabel ??\n defaultSocialAriaLabel(social.platform),\n children: Icon ? (\n <Icon\n className={\n styles['footer__social-icon']\n }\n aria-hidden=\"true\"\n />\n ) : null,\n },\n { external: true },\n )}\n </li>\n );\n })}\n </ul>\n )}\n\n {organizations && organizations.length > 0 && (\n <ul\n className={styles['footer__organization-list']}\n aria-label={organizationsLabel}\n >\n {organizations.map((organization) => {\n const isCurrent = organization.id === currentOrganizationId;\n\n return (\n <li key={organization.id}>\n {renderLink(\n {\n href: organization.href,\n className: cn(\n styles.footer__organization,\n isCurrent &&\n styles[\n 'footer__organization--current'\n ],\n focusStyles.focusable,\n ),\n 'aria-current': isCurrent\n ? 'true'\n : undefined,\n children: organization.label,\n },\n {\n external: organization.external ?? false,\n },\n )}\n </li>\n );\n })}\n </ul>\n )}\n\n <ul\n className={styles['footer__legal-list']}\n aria-label={mandatoryLinksLabel}\n >\n {visibleMandatoryLinks.map((link) => (\n <li key={link.label}>\n {link.opensCookieSettings ? (\n <button\n type=\"button\"\n onClick={onCookieSettingsClick}\n className={linkClasses(styles.footer__action)}\n >\n {link.label}\n </button>\n ) : (\n renderNavLink(link, renderLink)\n )}\n </li>\n ))}\n <li className={styles.footer__copyright}>\n {copyrightLabel ?? defaultCopyrightLabel()}\n </li>\n </ul>\n </div>\n\n {hasBadges && (\n <div className={styles.footer__apps}>\n {appLinks?.title && (\n <span className={styles['footer__apps-title']}>\n {appLinks.title}\n </span>\n )}\n <div className={styles.footer__badges}>\n {appLinks?.appStore &&\n renderBadge(\n appLinks.appStore,\n appStoreBadge,\n renderLink,\n defaultAppStoreAriaLabel,\n )}\n {appLinks?.googlePlay &&\n renderBadge(\n appLinks.googlePlay,\n googlePlayBadge,\n renderLink,\n defaultGooglePlayAriaLabel,\n )}\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n </footer>\n );\n};\n"],"names":["cn","styles","textDecorationStyles","focusStyles","jsx","defaultRenderLink","useId","jsxs","resolveTopSectionIcon","IconButton","ArrowRight","AccordionItem","resolveSocialIcon","defaultSocialAriaLabel","defaultCopyrightLabel","defaultAppStoreAriaLabel","defaultGooglePlayAriaLabel"],"mappings":"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"}
1
+ {"version":3,"file":"Footer.cjs","sources":["../../../src/components/Footer/Footer.tsx"],"sourcesContent":["import { useId } from 'react';\nimport { ArrowRight } from '@dnanpm/icons';\nimport { AccordionItem } from '../AccordionItem';\nimport { IconButton } from '../IconButton';\nimport { cn } from '../../utils/cn';\nimport { focusStyles, textDecorationStyles } from '../../styles/utils';\nimport appStoreBadge from './assets/app-store-badge.svg';\nimport googlePlayBadge from './assets/google-play-badge.svg';\nimport styles from './Footer.module.css';\nimport {\n defaultAppStoreAriaLabel,\n defaultCopyrightLabel,\n defaultGooglePlayAriaLabel,\n defaultRenderLink,\n defaultSocialAriaLabel,\n resolveSocialIcon,\n resolveTopSectionIcon,\n} from './Footer.utils';\nimport type {\n FooterAppLink,\n FooterLink,\n FooterLinkProps,\n FooterProps,\n FooterRenderLink,\n} from './Footer.types';\n\nconst linkClasses = (extra?: string) =>\n cn(styles.footer__link, textDecorationStyles.underlineLink, focusStyles.focusable, extra);\n\nconst renderNavLink = (link: FooterLink, renderLink: FooterRenderLink) =>\n renderLink(\n {\n href: link.href,\n className: linkClasses(),\n 'aria-label': link.ariaLabel,\n children: link.label,\n },\n { external: link.external ?? false },\n );\n\nconst renderBadge = (\n link: FooterAppLink,\n src: string,\n renderLink: FooterRenderLink,\n fallbackAriaLabel: string,\n) =>\n renderLink(\n {\n href: link.href,\n className: cn(styles.footer__badge, focusStyles.focusable),\n 'aria-label': link.ariaLabel ?? fallbackAriaLabel,\n children: <img src={src} alt=\"\" aria-hidden=\"true\" />,\n },\n { external: true },\n );\n\nexport const Footer = ({\n topSection,\n navigation,\n socialLinks,\n organizations,\n currentOrganizationId,\n languages,\n currentLanguageCode,\n appLinks,\n mandatoryLinks,\n copyrightLabel,\n renderLink = defaultRenderLink,\n onChatOpen,\n onCookieSettingsClick,\n navigationLabel = 'Footer linkit',\n socialLabel = 'DNA sosiaalisessa mediassa',\n organizationsLabel = 'Valitse sivusto',\n languagesLabel = 'Valitse kieli',\n mandatoryLinksLabel = 'Lakisääteiset linkit',\n className,\n ref,\n ...props\n}: FooterProps) => {\n const visibleMandatoryLinks = (mandatoryLinks ?? []).filter(\n (link) => !link.opensCookieSettings || onCookieSettingsClick,\n );\n\n const hasBadges = Boolean(appLinks?.appStore || appLinks?.googlePlay);\n const topSectionHeadingId = useId();\n\n return (\n <footer\n ref={ref}\n data-color-scheme=\"dark\"\n className={cn(styles.footer, className)}\n {...props}\n >\n {topSection && topSection.length > 0 && (\n <div className={styles.footer__top}>\n <div className={cn(styles.footer__inner, styles['footer__top-row'])}>\n {topSection.map((group, index) => {\n const Icon = resolveTopSectionIcon(group.icon);\n const links = group.links.filter(\n (link) => !link.opensChat || onChatOpen,\n );\n // Names the section as a landmark so it is discoverable alongside the main nav.\n const headingId = `${topSectionHeadingId}-${index}`;\n\n return (\n <section\n key={group.title}\n aria-labelledby={headingId}\n className={styles['footer__top-column']}\n >\n <div className={styles['footer__top-heading']}>\n {Icon && (\n <Icon\n className={styles['footer__top-icon']}\n aria-hidden=\"true\"\n />\n )}\n <h2 id={headingId} className={styles['footer__top-title']}>\n {group.title}\n </h2>\n </div>\n {links.length > 0 && (\n <ul className={styles['footer__top-links']}>\n {links.map((link) => (\n <li key={link.label}>\n {link.opensChat ? (\n <IconButton\n icon={ArrowRight}\n onClick={onChatOpen}\n className={styles['footer__top-link']}\n labelBehavior=\"wrap\"\n >\n {link.label}\n </IconButton>\n ) : (\n <IconButton\n icon={ArrowRight}\n href={link.href}\n aria-label={link.ariaLabel}\n className={styles['footer__top-link']}\n labelBehavior=\"wrap\"\n renderLink={(linkProps) =>\n renderLink(\n linkProps as FooterLinkProps,\n {\n external:\n link.external ?? false,\n },\n )\n }\n >\n {link.label}\n </IconButton>\n )}\n </li>\n ))}\n </ul>\n )}\n </section>\n );\n })}\n </div>\n </div>\n )}\n\n <div className={styles.footer__bottom}>\n <div className={cn(styles.footer__inner, styles.footer__container)}>\n {navigation && navigation.length > 0 && (\n <nav aria-label={navigationLabel}>\n {/* Accordions below 768px; the columns branch is display:none here. */}\n <div className={styles['footer__nav-accordions']}>\n {navigation.map((group) => (\n <AccordionItem\n key={group.heading}\n variant=\"panel\"\n label={group.heading}\n className={styles.footer__accordion}\n >\n <ul className={styles['footer__link-list']}>\n {group.links.map((link) => (\n <li key={link.label}>\n {renderNavLink(link, renderLink)}\n </li>\n ))}\n </ul>\n </AccordionItem>\n ))}\n </div>\n\n <div className={styles['footer__nav-columns']}>\n {navigation.map((group) => (\n <div key={group.heading} className={styles.footer__column}>\n <h2 className={styles['footer__column-heading']}>\n {group.heading}\n </h2>\n <ul className={styles['footer__link-list']}>\n {group.links.map((link) => (\n <li key={link.label}>\n {renderNavLink(link, renderLink)}\n </li>\n ))}\n </ul>\n </div>\n ))}\n </div>\n </nav>\n )}\n\n {/* The bottom bar always renders: it carries the copyright. */}\n <div\n className={cn(\n styles.footer__divider,\n Boolean(navigation?.length) && styles['footer__divider--after-nav'],\n )}\n />\n\n <div className={styles.footer__meta}>\n {languages && languages.length > 0 && (\n <ul\n className={styles['footer__language-list']}\n aria-label={languagesLabel}\n >\n {languages.map((language) => {\n const isCurrent = language.code === currentLanguageCode;\n\n return (\n <li key={language.code}>\n {renderLink(\n {\n href: language.href,\n className: cn(\n styles.footer__language,\n isCurrent &&\n styles['footer__language--current'],\n focusStyles.focusable,\n ),\n 'aria-label': language.ariaLabel,\n 'aria-current': isCurrent ? 'true' : undefined,\n children: language.label,\n },\n { external: language.external ?? false },\n )}\n </li>\n );\n })}\n </ul>\n )}\n\n <div className={styles['footer__meta-center']}>\n {socialLinks && socialLinks.length > 0 && (\n <ul\n className={styles['footer__social-list']}\n aria-label={socialLabel}\n >\n {socialLinks.map((social) => {\n const Icon = resolveSocialIcon(social.platform);\n\n return (\n <li key={social.platform}>\n {renderLink(\n {\n href: social.href,\n className: cn(\n styles['footer__social-link'],\n focusStyles.focusable,\n ),\n 'aria-label':\n social.ariaLabel ??\n defaultSocialAriaLabel(social.platform),\n children: Icon ? (\n <Icon\n className={\n styles['footer__social-icon']\n }\n aria-hidden=\"true\"\n />\n ) : null,\n },\n { external: true },\n )}\n </li>\n );\n })}\n </ul>\n )}\n\n {organizations && organizations.length > 0 && (\n <ul\n className={styles['footer__organization-list']}\n aria-label={organizationsLabel}\n >\n {organizations.map((organization) => {\n const isCurrent = organization.id === currentOrganizationId;\n\n return (\n <li key={organization.id}>\n {renderLink(\n {\n href: organization.href,\n className: cn(\n styles.footer__organization,\n isCurrent &&\n styles[\n 'footer__organization--current'\n ],\n focusStyles.focusable,\n ),\n 'aria-current': isCurrent\n ? 'true'\n : undefined,\n children: organization.label,\n },\n {\n external: organization.external ?? false,\n },\n )}\n </li>\n );\n })}\n </ul>\n )}\n\n <ul\n className={styles['footer__legal-list']}\n aria-label={mandatoryLinksLabel}\n >\n {visibleMandatoryLinks.map((link) => (\n <li key={link.label}>\n {link.opensCookieSettings ? (\n <button\n type=\"button\"\n onClick={onCookieSettingsClick}\n className={linkClasses(styles.footer__action)}\n >\n {link.label}\n </button>\n ) : (\n renderNavLink(link, renderLink)\n )}\n </li>\n ))}\n <li className={styles.footer__copyright}>\n {copyrightLabel ?? defaultCopyrightLabel()}\n </li>\n </ul>\n </div>\n\n {hasBadges && (\n <div className={styles.footer__apps}>\n {appLinks?.title && (\n <span className={styles['footer__apps-title']}>\n {appLinks.title}\n </span>\n )}\n <div className={styles.footer__badges}>\n {appLinks?.appStore &&\n renderBadge(\n appLinks.appStore,\n appStoreBadge,\n renderLink,\n defaultAppStoreAriaLabel,\n )}\n {appLinks?.googlePlay &&\n renderBadge(\n appLinks.googlePlay,\n googlePlayBadge,\n renderLink,\n defaultGooglePlayAriaLabel,\n )}\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n </footer>\n );\n};\n"],"names":["cn","styles","textDecorationStyles","focusStyles","jsx","defaultRenderLink","useId","jsxs","index","resolveTopSectionIcon","IconButton","ArrowRight","AccordionItem","resolveSocialIcon","defaultSocialAriaLabel","defaultCopyrightLabel","defaultAppStoreAriaLabel","defaultGooglePlayAriaLabel"],"mappings":"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"}