@fremtind/jokul 6.0.0-next.0 → 6.0.0-next.2

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 (308) hide show
  1. package/build/build-stats.html +37 -36
  2. package/build/cjs/components/autosuggest/BaseAutosuggest.cjs +1 -1
  3. package/build/cjs/components/autosuggest/BaseAutosuggest.cjs.map +1 -1
  4. package/build/cjs/components/date-input/DateInput.cjs +2 -0
  5. package/build/cjs/components/date-input/DateInput.cjs.map +1 -0
  6. package/build/cjs/components/date-input/DateInput.d.cts +7 -0
  7. package/build/cjs/components/date-input/calendar/Calendar.cjs +2 -0
  8. package/build/cjs/components/date-input/calendar/Calendar.cjs.map +1 -0
  9. package/build/cjs/components/date-input/calendar/Calendar.d.cts +6 -0
  10. package/build/cjs/components/date-input/calendar/CalendarDay.cjs +2 -0
  11. package/build/cjs/components/date-input/calendar/CalendarDay.cjs.map +1 -0
  12. package/build/cjs/components/date-input/calendar/CalendarDay.d.cts +16 -0
  13. package/build/cjs/components/date-input/calendar/CalendarWeek.cjs +2 -0
  14. package/build/cjs/components/date-input/calendar/CalendarWeek.cjs.map +1 -0
  15. package/build/cjs/components/date-input/calendar/CalendarWeek.d.cts +8 -0
  16. package/build/cjs/components/date-input/calendar/types.d.cts +6 -0
  17. package/build/cjs/components/date-input/calendar/utils.cjs +2 -0
  18. package/build/cjs/components/date-input/calendar/utils.cjs.map +1 -0
  19. package/build/cjs/components/date-input/calendar/utils.d.cts +19 -0
  20. package/build/cjs/components/date-input/index.cjs +2 -0
  21. package/build/cjs/components/date-input/index.d.cts +3 -0
  22. package/build/cjs/components/date-input/types.d.cts +35 -0
  23. package/build/cjs/components/date-input/utils.cjs +2 -0
  24. package/build/cjs/components/date-input/utils.cjs.map +1 -0
  25. package/build/cjs/components/date-input/utils.d.cts +34 -0
  26. package/build/cjs/components/message/Message.cjs +1 -1
  27. package/build/cjs/components/message/Message.cjs.map +1 -1
  28. package/build/cjs/components/search/Search.cjs +1 -1
  29. package/build/cjs/components/search/Search.cjs.map +1 -1
  30. package/build/cjs/components/select/Option.cjs +2 -0
  31. package/build/cjs/components/select/Option.cjs.map +1 -0
  32. package/build/cjs/components/select/Option.d.cts +12 -0
  33. package/build/cjs/components/select/Select.cjs +1 -1
  34. package/build/cjs/components/select/Select.cjs.map +1 -1
  35. package/build/cjs/components/select/Select.d.cts +18 -3
  36. package/build/cjs/components/select/index.cjs +1 -1
  37. package/build/cjs/components/select/index.d.cts +1 -5
  38. package/build/cjs/components/select/utils.cjs +2 -0
  39. package/build/cjs/components/select/utils.cjs.map +1 -0
  40. package/build/cjs/components/select/utils.d.cts +5 -0
  41. package/build/cjs/components/table/TablePagination.cjs +1 -1
  42. package/build/cjs/components/table/TablePagination.cjs.map +1 -1
  43. package/build/cjs/components/tabs/Tabs.cjs.map +1 -1
  44. package/build/cjs/hooks/useListNavigation/useListNavigation.cjs +1 -1
  45. package/build/cjs/hooks/useListNavigation/useListNavigation.cjs.map +1 -1
  46. package/build/cjs/hooks/useListNavigation/useListNavigation.d.cts +4 -2
  47. package/build/cjs/utilities/valuePair.cjs.map +1 -1
  48. package/build/cjs/utilities/valuePair.d.cts +2 -0
  49. package/build/es/components/autosuggest/BaseAutosuggest.js +1 -1
  50. package/build/es/components/autosuggest/BaseAutosuggest.js.map +1 -1
  51. package/build/es/components/date-input/DateInput.d.ts +7 -0
  52. package/build/es/components/date-input/DateInput.js +2 -0
  53. package/build/es/components/date-input/DateInput.js.map +1 -0
  54. package/build/es/components/date-input/calendar/Calendar.d.ts +6 -0
  55. package/build/es/components/date-input/calendar/Calendar.js +2 -0
  56. package/build/es/components/date-input/calendar/Calendar.js.map +1 -0
  57. package/build/es/components/date-input/calendar/CalendarDay.d.ts +16 -0
  58. package/build/es/components/date-input/calendar/CalendarDay.js +2 -0
  59. package/build/es/components/date-input/calendar/CalendarDay.js.map +1 -0
  60. package/build/es/components/date-input/calendar/CalendarWeek.d.ts +8 -0
  61. package/build/es/components/date-input/calendar/CalendarWeek.js +2 -0
  62. package/build/es/components/date-input/calendar/CalendarWeek.js.map +1 -0
  63. package/build/es/components/date-input/calendar/types.d.ts +6 -0
  64. package/build/es/components/date-input/calendar/utils.d.ts +19 -0
  65. package/build/es/components/date-input/calendar/utils.js +2 -0
  66. package/build/es/components/date-input/calendar/utils.js.map +1 -0
  67. package/build/es/components/date-input/index.d.ts +3 -0
  68. package/build/es/components/date-input/index.js +2 -0
  69. package/build/es/components/date-input/types.d.ts +35 -0
  70. package/build/es/components/date-input/utils.d.ts +34 -0
  71. package/build/es/components/date-input/utils.js +2 -0
  72. package/build/es/components/date-input/utils.js.map +1 -0
  73. package/build/es/components/message/Message.js +1 -1
  74. package/build/es/components/message/Message.js.map +1 -1
  75. package/build/es/components/search/Search.js +1 -1
  76. package/build/es/components/search/Search.js.map +1 -1
  77. package/build/es/components/select/Option.d.ts +12 -0
  78. package/build/es/components/select/Option.js +2 -0
  79. package/build/es/components/select/Option.js.map +1 -0
  80. package/build/es/components/select/Select.d.ts +18 -3
  81. package/build/es/components/select/Select.js +1 -1
  82. package/build/es/components/select/Select.js.map +1 -1
  83. package/build/es/components/select/index.d.ts +1 -5
  84. package/build/es/components/select/index.js +1 -1
  85. package/build/es/components/select/utils.d.ts +5 -0
  86. package/build/es/components/select/utils.js +2 -0
  87. package/build/es/components/select/utils.js.map +1 -0
  88. package/build/es/components/table/TablePagination.js +1 -1
  89. package/build/es/components/table/TablePagination.js.map +1 -1
  90. package/build/es/components/tabs/Tabs.js.map +1 -1
  91. package/build/es/hooks/useListNavigation/useListNavigation.d.ts +4 -2
  92. package/build/es/hooks/useListNavigation/useListNavigation.js +1 -1
  93. package/build/es/hooks/useListNavigation/useListNavigation.js.map +1 -1
  94. package/build/es/utilities/valuePair.d.ts +2 -0
  95. package/build/es/utilities/valuePair.js.map +1 -1
  96. package/codemods/CODEMODS.md +39 -0
  97. package/codemods/__tests__/import-paths.test.mjs +132 -20
  98. package/codemods/import-paths.mjs +8 -6
  99. package/codemods/transforms/date-input.mjs +225 -0
  100. package/codemods/transforms/import-specifiers.mjs +26 -0
  101. package/package.json +14 -13
  102. package/styles/base.css +7 -0
  103. package/styles/base.min.css +1 -1
  104. package/styles/components/autosuggest/autosuggest.min.css +1 -1
  105. package/styles/components/beta/description-list/description-list.min.css +1 -1
  106. package/styles/components/beta/nav-link/navlink.min.css +1 -1
  107. package/styles/components/breadcrumb/breadcrumb.min.css +1 -1
  108. package/styles/components/button/button.min.css +1 -1
  109. package/styles/components/card/card.min.css +1 -1
  110. package/styles/components/checkbox/checkbox.min.css +1 -1
  111. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  112. package/styles/components/checkbox-panel/development/styles.min.css +1 -1
  113. package/styles/components/chip/chip.min.css +1 -1
  114. package/styles/components/combobox/combobox.min.css +1 -1
  115. package/styles/components/cookie-consent/cookie-consent.min.css +1 -1
  116. package/styles/components/countdown/countdown.css +2 -2
  117. package/styles/components/countdown/countdown.min.css +1 -1
  118. package/styles/components/date-input/_index.scss +8 -0
  119. package/styles/components/date-input/calendar/_index.scss +8 -0
  120. package/styles/components/date-input/calendar/calendar.css +60 -0
  121. package/styles/components/date-input/calendar/calendar.min.css +1 -0
  122. package/styles/components/date-input/calendar/calendar.scss +79 -0
  123. package/styles/components/date-input/date-input.css +187 -0
  124. package/styles/components/date-input/date-input.min.css +1 -0
  125. package/styles/components/date-input/date-input.scss +67 -0
  126. package/styles/components/description-list/description-list.min.css +1 -1
  127. package/styles/components/expander/accordion.min.css +1 -1
  128. package/styles/components/expander/expandable.min.css +1 -1
  129. package/styles/components/feedback/feedback.css +2 -2
  130. package/styles/components/feedback/feedback.min.css +1 -1
  131. package/styles/components/file/file.min.css +1 -1
  132. package/styles/components/file-input/file-input.css +9 -9
  133. package/styles/components/file-input/file-input.min.css +1 -1
  134. package/styles/components/flex/flex.min.css +1 -1
  135. package/styles/components/help/help.min.css +1 -1
  136. package/styles/components/icon/icon.css +1 -1
  137. package/styles/components/icon/icon.min.css +1 -1
  138. package/styles/components/icon/icon.scss +1 -0
  139. package/styles/components/icon-button/icon-button.min.css +1 -1
  140. package/styles/components/image/development/style.min.css +1 -1
  141. package/styles/components/image/image.min.css +1 -1
  142. package/styles/components/input-group/input-group.css +2 -2
  143. package/styles/components/input-group/input-group.min.css +1 -1
  144. package/styles/components/input-panel/input-panel.min.css +1 -1
  145. package/styles/components/link/link.min.css +1 -1
  146. package/styles/components/link-list/link-list.min.css +1 -1
  147. package/styles/components/list/list.min.css +1 -1
  148. package/styles/components/loader/loader.css +6 -6
  149. package/styles/components/loader/loader.min.css +1 -1
  150. package/styles/components/loader/skeleton-loader.css +3 -3
  151. package/styles/components/loader/skeleton-loader.min.css +1 -1
  152. package/styles/components/logo/development/styles.min.css +1 -1
  153. package/styles/components/logo/logo.min.css +1 -1
  154. package/styles/components/menu/menu.min.css +1 -1
  155. package/styles/components/message/message.css +2 -2
  156. package/styles/components/message/message.min.css +1 -1
  157. package/styles/components/modal/modal.min.css +1 -1
  158. package/styles/components/nav-link/nav-link.min.css +1 -1
  159. package/styles/components/number-input/number-input.min.css +1 -1
  160. package/styles/components/pagination/development/styles.min.css +1 -1
  161. package/styles/components/pagination/pagination.min.css +1 -1
  162. package/styles/components/popover/popover.min.css +1 -1
  163. package/styles/components/progress-bar/progress-bar.css +1 -1
  164. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  165. package/styles/components/radio-button/radio-button.min.css +1 -1
  166. package/styles/components/radio-panel/development/styles.min.css +1 -1
  167. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  168. package/styles/components/search/search-with-submit-button.min.css +1 -1
  169. package/styles/components/search/search.min.css +1 -1
  170. package/styles/components/segmented-control/segmented-control.css +3 -3
  171. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  172. package/styles/components/select/_index.scss +5 -0
  173. package/styles/components/select/option.css +73 -0
  174. package/styles/components/select/option.min.css +1 -0
  175. package/styles/components/select/option.scss +74 -0
  176. package/styles/components/select/select.css +84 -264
  177. package/styles/components/select/select.min.css +1 -1
  178. package/styles/components/select/select.scss +79 -328
  179. package/styles/components/summary-table/summary-table.min.css +1 -1
  180. package/styles/components/system-message/system-message.css +2 -2
  181. package/styles/components/system-message/system-message.min.css +1 -1
  182. package/styles/components/table/table.min.css +3 -1
  183. package/styles/components/table-of-contents/table-of-contents.min.css +1 -1
  184. package/styles/components/tabs/tabs.min.css +1 -1
  185. package/styles/components/tag/tag.min.css +1 -1
  186. package/styles/components/text-area/text-area.min.css +1 -1
  187. package/styles/components/text-input/text-input.min.css +1 -1
  188. package/styles/components/toast/toast.css +4 -4
  189. package/styles/components/toast/toast.min.css +1 -1
  190. package/styles/components/toggle-switch/toggle-switch.min.css +1 -1
  191. package/styles/components/tooltip/tooltip.min.css +1 -1
  192. package/styles/components/typography/title.min.css +1 -1
  193. package/styles/components.css +4343 -4553
  194. package/styles/components.min.css +3 -1
  195. package/styles/components.scss +2 -3
  196. package/styles/utility/_index.scss +2 -1
  197. package/styles/utility/_lists.scss +7 -0
  198. package/build/_commonjsHelpers-C37NGDzP.cjs +0 -2
  199. package/build/_commonjsHelpers-C37NGDzP.cjs.map +0 -1
  200. package/build/_commonjsHelpers-CXUWDbkB.js +0 -2
  201. package/build/_commonjsHelpers-CXUWDbkB.js.map +0 -1
  202. package/build/cjs/components/beta/select/Select.cjs +0 -2
  203. package/build/cjs/components/beta/select/Select.cjs.map +0 -1
  204. package/build/cjs/components/beta/select/Select.d.cts +0 -3
  205. package/build/cjs/components/beta/select/index.cjs +0 -2
  206. package/build/cjs/components/beta/select/index.d.cts +0 -2
  207. package/build/cjs/components/beta/select/types.d.cts +0 -10
  208. package/build/cjs/components/datepicker/DatePicker.cjs +0 -2
  209. package/build/cjs/components/datepicker/DatePicker.cjs.map +0 -1
  210. package/build/cjs/components/datepicker/DatePicker.d.cts +0 -3
  211. package/build/cjs/components/datepicker/index.cjs +0 -2
  212. package/build/cjs/components/datepicker/index.cjs.map +0 -1
  213. package/build/cjs/components/datepicker/index.d.cts +0 -4
  214. package/build/cjs/components/datepicker/internal/Calendar.cjs +0 -2
  215. package/build/cjs/components/datepicker/internal/Calendar.cjs.map +0 -1
  216. package/build/cjs/components/datepicker/internal/Calendar.d.cts +0 -15
  217. package/build/cjs/components/datepicker/internal/calendarReducer.cjs +0 -2
  218. package/build/cjs/components/datepicker/internal/calendarReducer.cjs.map +0 -1
  219. package/build/cjs/components/datepicker/internal/calendarReducer.d.cts +0 -18
  220. package/build/cjs/components/datepicker/internal/useCalendar.cjs +0 -2
  221. package/build/cjs/components/datepicker/internal/useCalendar.cjs.map +0 -1
  222. package/build/cjs/components/datepicker/internal/useCalendar.d.cts +0 -59
  223. package/build/cjs/components/datepicker/internal/utils.cjs +0 -2
  224. package/build/cjs/components/datepicker/internal/utils.cjs.map +0 -1
  225. package/build/cjs/components/datepicker/internal/utils.d.cts +0 -167
  226. package/build/cjs/components/datepicker/types.d.cts +0 -280
  227. package/build/cjs/components/datepicker/utils.cjs +0 -2
  228. package/build/cjs/components/datepicker/utils.cjs.map +0 -1
  229. package/build/cjs/components/datepicker/utils.d.cts +0 -22
  230. package/build/cjs/components/datepicker/validation.cjs +0 -2
  231. package/build/cjs/components/datepicker/validation.cjs.map +0 -1
  232. package/build/cjs/components/datepicker/validation.d.cts +0 -4
  233. package/build/cjs/components/select/NativeSelect.cjs +0 -2
  234. package/build/cjs/components/select/NativeSelect.cjs.map +0 -1
  235. package/build/cjs/components/select/NativeSelect.d.cts +0 -3
  236. package/build/cjs/components/select/select-utils.cjs +0 -2
  237. package/build/cjs/components/select/select-utils.cjs.map +0 -1
  238. package/build/cjs/components/select/select-utils.d.cts +0 -2
  239. package/build/cjs/components/select/types.cjs +0 -2
  240. package/build/cjs/components/select/types.cjs.map +0 -1
  241. package/build/cjs/components/select/types.d.cts +0 -66
  242. package/build/es/components/beta/select/Select.d.ts +0 -3
  243. package/build/es/components/beta/select/Select.js +0 -2
  244. package/build/es/components/beta/select/Select.js.map +0 -1
  245. package/build/es/components/beta/select/index.d.ts +0 -2
  246. package/build/es/components/beta/select/index.js +0 -2
  247. package/build/es/components/beta/select/types.d.ts +0 -10
  248. package/build/es/components/datepicker/DatePicker.d.ts +0 -3
  249. package/build/es/components/datepicker/DatePicker.js +0 -2
  250. package/build/es/components/datepicker/DatePicker.js.map +0 -1
  251. package/build/es/components/datepicker/index.d.ts +0 -4
  252. package/build/es/components/datepicker/index.js +0 -2
  253. package/build/es/components/datepicker/index.js.map +0 -1
  254. package/build/es/components/datepicker/internal/Calendar.d.ts +0 -15
  255. package/build/es/components/datepicker/internal/Calendar.js +0 -2
  256. package/build/es/components/datepicker/internal/Calendar.js.map +0 -1
  257. package/build/es/components/datepicker/internal/calendarReducer.d.ts +0 -18
  258. package/build/es/components/datepicker/internal/calendarReducer.js +0 -2
  259. package/build/es/components/datepicker/internal/calendarReducer.js.map +0 -1
  260. package/build/es/components/datepicker/internal/useCalendar.d.ts +0 -59
  261. package/build/es/components/datepicker/internal/useCalendar.js +0 -2
  262. package/build/es/components/datepicker/internal/useCalendar.js.map +0 -1
  263. package/build/es/components/datepicker/internal/utils.d.ts +0 -167
  264. package/build/es/components/datepicker/internal/utils.js +0 -2
  265. package/build/es/components/datepicker/internal/utils.js.map +0 -1
  266. package/build/es/components/datepicker/types.d.ts +0 -280
  267. package/build/es/components/datepicker/utils.d.ts +0 -22
  268. package/build/es/components/datepicker/utils.js +0 -2
  269. package/build/es/components/datepicker/utils.js.map +0 -1
  270. package/build/es/components/datepicker/validation.d.ts +0 -4
  271. package/build/es/components/datepicker/validation.js +0 -2
  272. package/build/es/components/datepicker/validation.js.map +0 -1
  273. package/build/es/components/select/NativeSelect.d.ts +0 -3
  274. package/build/es/components/select/NativeSelect.js +0 -2
  275. package/build/es/components/select/NativeSelect.js.map +0 -1
  276. package/build/es/components/select/select-utils.d.ts +0 -2
  277. package/build/es/components/select/select-utils.js +0 -2
  278. package/build/es/components/select/select-utils.js.map +0 -1
  279. package/build/es/components/select/types.d.ts +0 -66
  280. package/build/es/components/select/types.js +0 -2
  281. package/build/es/components/select/types.js.map +0 -1
  282. package/build/utils-C5AH4j8B.js +0 -2
  283. package/build/utils-C5AH4j8B.js.map +0 -1
  284. package/build/utils-CD_aHC6R.cjs +0 -2
  285. package/build/utils-CD_aHC6R.cjs.map +0 -1
  286. package/styles/components/beta/select/_index.scss +0 -3
  287. package/styles/components/beta/select/select.css +0 -101
  288. package/styles/components/beta/select/select.min.css +0 -1
  289. package/styles/components/beta/select/select.scss +0 -99
  290. package/styles/components/datepicker/_calendar-date-button.scss +0 -72
  291. package/styles/components/datepicker/_calendar-navigation-dropdown.scss +0 -55
  292. package/styles/components/datepicker/_calendar-navigation.scss +0 -14
  293. package/styles/components/datepicker/_calendar-table.scss +0 -29
  294. package/styles/components/datepicker/_calendar.scss +0 -28
  295. package/styles/components/datepicker/_index.scss +0 -6
  296. package/styles/components/datepicker/datepicker.css +0 -246
  297. package/styles/components/datepicker/datepicker.min.css +0 -1
  298. package/styles/components/datepicker/datepicker.scss +0 -49
  299. /package/build/cjs/components/{beta/select → date-input/calendar}/types.cjs +0 -0
  300. /package/build/cjs/components/{beta/select → date-input/calendar}/types.cjs.map +0 -0
  301. /package/build/cjs/components/{beta/select → date-input}/index.cjs.map +0 -0
  302. /package/build/cjs/components/{datepicker → date-input}/types.cjs +0 -0
  303. /package/build/cjs/components/{datepicker → date-input}/types.cjs.map +0 -0
  304. /package/build/es/components/{beta/select → date-input/calendar}/types.js +0 -0
  305. /package/build/es/components/{beta/select → date-input/calendar}/types.js.map +0 -0
  306. /package/build/es/components/{beta/select → date-input}/index.js.map +0 -0
  307. /package/build/es/components/{datepicker → date-input}/types.js +0 -0
  308. /package/build/es/components/{datepicker → date-input}/types.js.map +0 -0
@@ -1,4 +1,9 @@
1
1
  @forward "select";
2
+ @forward "option";
3
+ @use "../button" as button;
4
+ @use "../flex" as flex;
2
5
  @use "../icon" as icon;
3
6
  @use "../input-group" as input-group;
7
+ @use "../search" as search;
4
8
  @use "../tooltip" as tooltip;
9
+ @use "../typography" as typography;
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+ @layer jokul.components {
5
+ .jkl-option {
6
+ --icon-color: transparent;
7
+ --text-color: var(--jkl-color-text-default);
8
+ grid-column: 1/-1;
9
+ display: grid;
10
+ grid-template-columns: subgrid;
11
+ padding: var(--jkl-spacing-8);
12
+ background-color: transparent;
13
+ color: var(--text-color);
14
+ border: none;
15
+ border-radius: var(--jkl-border-radius-s);
16
+ outline: none;
17
+ align-items: start;
18
+ text-align: left;
19
+ }
20
+ .jkl-option::before {
21
+ font-family: var(--jkl-font-family-icons);
22
+ font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
23
+ font-feature-settings: "liga";
24
+ -webkit-font-feature-settings: "liga";
25
+ font-size: 1.3em;
26
+ font-weight: 400;
27
+ line-height: 1;
28
+ display: inline-block;
29
+ flex-shrink: 0;
30
+ -webkit-font-smoothing: antialiased;
31
+ transition-timing-function: var(--jkl-motion-easing-standard);
32
+ transition-duration: var(--jkl-motion-timing-energetic);
33
+ transition-property: font-variation-settings, transform;
34
+ color: var(--icon-color);
35
+ content: "check"/"";
36
+ }
37
+ .jkl-option:hover, .jkl-option:focus-visible {
38
+ background-color: var(--jkl-color-background-container-accent);
39
+ }
40
+ .jkl-option[aria-selected=true]::before {
41
+ --icon-color: var(--jkl-color-background-contrast);
42
+ content: "check"/"";
43
+ }
44
+ .jkl-option[data-multiple] {
45
+ --icon-color: var(--jkl-color-background-contrast);
46
+ }
47
+ .jkl-option[data-multiple]::before {
48
+ content: "check_box_outline_blank"/"";
49
+ }
50
+ .jkl-option[data-multiple][aria-selected=true]::before {
51
+ --jkl-icon-fill: 1;
52
+ content: "check_box"/"";
53
+ }
54
+ .jkl-option__label {
55
+ flex-grow: 999;
56
+ }
57
+ .jkl-option__media {
58
+ position: relative;
59
+ width: var(--media-size, 2em);
60
+ min-width: 2em;
61
+ aspect-ratio: 1;
62
+ flex-shrink: 0;
63
+ overflow: hidden;
64
+ border-radius: var(--jkl-border-radius-xs);
65
+ }
66
+ .jkl-option__media :is(img, picture, video) {
67
+ position: absolute;
68
+ inset: 0;
69
+ object-fit: cover;
70
+ width: 100%;
71
+ height: 100%;
72
+ }
73
+ }
@@ -0,0 +1 @@
1
+ @layer jokul.components{.jkl-option{--icon-color:#0000;--text-color:var(--jkl-color-text-default);grid-column:1/-1;display:grid;grid-template-columns:subgrid;padding:var(--jkl-spacing-8);background-color:initial;color:var(--text-color);border:none;border-radius:var(--jkl-border-radius-s);outline:none;align-items:start;text-align:left}.jkl-option:before{font-family:var(--jkl-font-family-icons);font-variation-settings:"FILL" var(--jkl-icon-fill,0);font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-weight:400;line-height:1;display:inline-block;flex-shrink:0;-webkit-font-smoothing:antialiased;transition-timing-function:var(--jkl-motion-easing-standard);transition-duration:var(--jkl-motion-timing-energetic);transition-property:font-variation-settings,transform;color:var(--icon-color);content:"check"/""}.jkl-option:focus-visible,.jkl-option:hover{background-color:var(--jkl-color-background-container-accent)}.jkl-option[aria-selected=true]:before{content:"check"/""}.jkl-option[aria-selected=true]:before,.jkl-option[data-multiple]{--icon-color:var(--jkl-color-background-contrast)}.jkl-option[data-multiple]:before{content:"check_box_outline_blank"/""}.jkl-option[data-multiple][aria-selected=true]:before{--jkl-icon-fill:1;content:"check_box"/""}.jkl-option__label{flex-grow:999}.jkl-option__media{position:relative;width:var(--media-size,2em);min-width:2em;aspect-ratio:1;flex-shrink:0;overflow:hidden;border-radius:var(--jkl-border-radius-xs)}.jkl-option__media :is(img,picture,video){position:absolute;inset:0;object-fit:cover;width:100%;height:100%}}
@@ -0,0 +1,74 @@
1
+ @charset "UTF-8";
2
+ @use "../../jkl";
3
+ @use "../icon/base-styles" as icon;
4
+
5
+ @layer jokul.components {
6
+ .jkl-option {
7
+ --icon-color: transparent;
8
+ --text-color: var(--jkl-color-text-default);
9
+
10
+ grid-column: 1 / -1;
11
+ display: grid;
12
+ grid-template-columns: subgrid;
13
+ padding: var(--jkl-spacing-8);
14
+ background-color: transparent;
15
+ color: var(--text-color);
16
+ border: none;
17
+ border-radius: var(--jkl-border-radius-s);
18
+ outline: none;
19
+ align-items: start;
20
+ text-align: left;
21
+
22
+ &::before {
23
+ @include icon.base-styles;
24
+ color: var(--icon-color);
25
+ content: "check" / "";
26
+ }
27
+
28
+
29
+ &:hover,
30
+ &:focus-visible {
31
+ background-color: var(--jkl-color-background-container-accent);
32
+ }
33
+
34
+ &[aria-selected="true"]::before {
35
+ --icon-color: var(--jkl-color-background-contrast);
36
+ content: "check" / "";
37
+ }
38
+
39
+ &[data-multiple] {
40
+ --icon-color: var(--jkl-color-background-contrast);
41
+
42
+ &::before {
43
+ content: "check_box_outline_blank" / "";
44
+ }
45
+
46
+ &[aria-selected="true"]::before {
47
+ --jkl-icon-fill: 1;
48
+ content: "check_box" / "";
49
+ }
50
+ }
51
+
52
+ &__label {
53
+ flex-grow: 999;
54
+ }
55
+
56
+ &__media {
57
+ position: relative;
58
+ width: var(--media-size, 2em);
59
+ min-width: 2em;
60
+ aspect-ratio: 1;
61
+ flex-shrink: 0;
62
+ overflow: hidden;
63
+ border-radius: var(--jkl-border-radius-xs);
64
+
65
+ & :is(img, picture, video) {
66
+ position: absolute;
67
+ inset: 0;
68
+ object-fit: cover;
69
+ width: 100%;
70
+ height: 100%;
71
+ }
72
+ }
73
+ }
74
+ }
@@ -1,289 +1,109 @@
1
- @charset "UTF-8";
2
1
  /**
3
2
  * Do not edit directly, this file was auto-generated.
4
3
  */
5
4
  @layer jokul.components {
6
5
  .jkl-select {
7
- --jkl-select-arrow-right: var(--jkl-unit-05);
6
+ --border-color: var(--jkl-color-border-default);
7
+ --background-color: transparent;
8
+ --color: var(--jkl-color-text-default);
9
+ --box-shadow: 0 0 0 0.0625rem transparent;
8
10
  --border-width: 0.0625rem;
9
- --border-radius: var(--jkl-border-radius-s);
10
- --min-option-height: min(var(--jkl-unit-60), 3rem);
11
- /* Vi må trekke fra bredden til rammen for å få riktig høyde */
12
- --button-padding: calc(var(--jkl-unit-15) - var(--border-width))
13
- calc(0.75em - var(--border-width));
14
- --option-padding: var(--jkl-unit-10);
15
- display: block;
16
- position: relative;
17
- }
18
- .jkl-select {
19
- outline: 0;
20
- border-style: none;
21
- outline-style: none;
22
- }
23
- .jkl-select:active, .jkl-select:hover, .jkl-select:focus {
24
- outline: 0;
25
- outline-style: none;
26
- }
27
- @media screen and (forced-colors: active) {
28
- .jkl-select {
29
- outline: revert;
30
- border-style: revert;
31
- outline-style: revert;
32
- }
33
- .jkl-select:active, .jkl-select:hover, .jkl-select:focus {
34
- outline: revert;
35
- outline-style: revert;
36
- }
37
- }
38
- .jkl-select *:focus-visible {
39
- outline: none;
40
- }
41
- .jkl-select .jkl-tooltip-question-button:focus {
42
- outline: 3px solid var(--jkl-color-border-strong);
43
- outline-offset: 0;
44
- }
45
- .jkl-select select {
46
- appearance: none;
47
- }
48
- .jkl-select select:-moz-focusring {
49
- color: transparent;
50
- text-shadow: 0 0 0 var(--jkl-color-text-subdued);
51
- }
52
- .jkl-select select option {
53
- font-weight: normal;
54
- font-family: sans-serif;
55
- color: var(--jkl-color-text-subdued);
56
- background-color: var(--jkl-color-background-container);
57
- }
58
- .jkl-select__outer-wrapper {
59
- position: relative;
60
- width: 15rem;
61
- min-width: 7rem;
62
- max-width: 100%;
63
- }
64
- .jkl-select__search-input {
65
- box-sizing: border-box;
66
- color: var(--jkl-color-text-subdued);
67
- }
68
- .jkl-select__search-input, .jkl-select__button {
69
- overflow: hidden;
70
- text-overflow: ellipsis;
71
- white-space: nowrap;
72
- background-color: transparent;
73
- color: var(--jkl-color-text-subdued);
74
- cursor: pointer;
75
- height: var(--jkl-select-input-height);
76
- border-radius: var(--border-radius);
77
- border: var(--border-width) solid var(--jkl-color-border-default);
78
- box-shadow: 0 0 0 0.0625rem transparent;
79
- text-align: left;
80
- width: 100%;
11
+ --button-padding: calc(var(--jkl-unit-15) - var(--border-width));
12
+ anchor-scope: --select-button;
13
+ }
14
+ .jkl-select__button {
15
+ display: grid;
16
+ gap: var(--jkl-spacing-8);
17
+ grid-template-columns: 1fr auto;
18
+ align-items: center;
81
19
  padding: var(--button-padding);
82
- /* Øk padding for å gi plass til ikonet */
83
- padding-inline-end: 2.05em;
84
- transition-property: color, border-color, box-shadow;
85
- transition-timing-function: var(--jkl-motion-easing-standard);
86
- transition-duration: var(--jkl-motion-timing-productive);
20
+ border: var(--border-width) solid var(--border-color);
21
+ border-radius: var(--jkl-border-radius-s);
22
+ background-color: var(--background-color);
23
+ color: var(--color);
24
+ anchor-name: --select-button;
25
+ box-shadow: var(--box-shadow);
26
+ field-sizing: content;
87
27
  font: var(--jkl-text-style-text-medium);
28
+ min-width: var(--width, 20ch);
29
+ max-width: 100%;
30
+ text-align: left;
88
31
  }
89
- .jkl-select__search-input--active-value, .jkl-select__button--active-value {
90
- color: var(--jkl-color-text-default);
91
- }
92
- .jkl-select__search-input:hover, .jkl-select__button:hover {
93
- border-color: var(--jkl-color-border-strong);
94
- box-shadow: 0 0 0 0.0625rem var(--jkl-color-border-strong);
95
- }
96
- .jkl-select__search-input:hover ~ .jkl-select__arrow, .jkl-select__button:hover ~ .jkl-select__arrow {
97
- transform: translateY(calc(-50% + 0.1875rem));
98
- }
99
- .jkl-select__search-input:focus-visible, .jkl-select__button:focus-visible {
100
- outline: none;
101
- }
102
- html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__search-input:focus-visible, html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__search-input:has(:focus-visible), html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__button:focus-visible, html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__button:has(:focus-visible) {
103
- outline: 3px solid var(--jkl-color-border-strong);
104
- outline-offset: 3px;
32
+ .jkl-select__button:hover {
33
+ --border-color: var(--jkl-color-border-strong);
34
+ --box-shadow: 0 0 0 0.0625rem var(--border-color);
105
35
  }
106
- html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:focus-visible) .jkl-select__button,
107
- html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:focus-visible) .jkl-select__search-input {
36
+ .jkl-select__button:focus-visible {
108
37
  outline: 3px solid var(--jkl-color-border-strong);
109
38
  outline-offset: 3px;
110
39
  }
111
- .jkl-select__arrow {
112
- pointer-events: none;
113
- position: absolute;
114
- right: 0.75em;
115
- top: 50%;
116
- color: var(--jkl-color-text-default);
117
- transform: translateY(-50%);
118
- transition-property: transform, color;
119
- transition-timing-function: var(--jkl-motion-easing-standard);
120
- transition-duration: var(--jkl-motion-timing-productive);
121
- }
122
- @media screen and (forced-colors: active) {
123
- .jkl-select__arrow {
124
- stroke: CanvasText;
125
- fill: CanvasText;
126
- }
127
- .jkl-select__arrow svg, .jkl-select__arrow path {
128
- stroke: CanvasText;
129
- fill: CanvasText;
130
- }
131
- }
132
- .jkl-select:has([aria-invalid=true]) .jkl-select__arrow {
133
- color: var(--jkl-color-error-text-default);
134
- }
135
- .jkl-select__options-menu {
136
- background-color: var(--jkl-color-background-container);
137
- border: 0.125rem solid var(--jkl-color-border-strong);
138
- border-radius: 0 0 var(--border-radius) var(--border-radius);
40
+ .jkl-select__button[aria-invalid] {
41
+ --color: var(--jkl-color-error-text-default);
42
+ --border-color: var(--jkl-color-error-border-default);
43
+ --box-shadow: 0 0 0 0.0625rem var(--border-color);
44
+ }
45
+ .jkl-select__popover {
46
+ /* stylelint-disable declaration-block-no-duplicate-custom-properties -- fallback for browsers without light-dark() support */
47
+ --shadow-color: rgb(49 48 48 / 20%);
48
+ --shadow-color: light-dark(rgb(49 48 48 / 20%), rgb(0 0 0 / 50%));
49
+ z-index: var(--jkl-floating-z-index, 9000);
50
+ margin-block: var(--jkl-spacing-xs);
51
+ min-inline-size: anchor-size(width);
139
52
  box-sizing: border-box;
140
- margin-inline: -0.0625rem;
141
- width: calc(100% + 0.125rem);
142
- --min-option-height: min(var(--jkl-unit-60), 3rem);
143
- --option-padding: var(--jkl-unit-05) 0.75em;
144
- overflow-y: auto;
145
- max-height: calc((var(--jkl-select-max-shown-options, 5) + 0.5) * var(--min-option-height));
146
- }
147
- .jkl-select__options-menu[data-popover-placement=bottom] {
148
- border-top: none;
149
- border-radius: 0 0 var(--jkl-border-radius-s) var(--jkl-border-radius-s);
150
- }
151
- .jkl-select__options-menu[data-popover-placement=top] {
152
- border-bottom: none;
153
- border-radius: var(--jkl-border-radius-s) var(--jkl-border-radius-s) 0 0;
154
- }
155
- .jkl-select__option-wrapper {
156
- margin: 0;
157
- padding: 0;
158
- list-style-type: none;
159
- -webkit-overflow-scrolling: touch;
160
- }
161
- .jkl-select__option {
162
- color: unset;
163
- border: 0;
164
- width: 100%;
165
- background-color: inherit;
166
- min-height: var(--min-option-height);
167
- text-align: left;
168
- transition-property: color, background-color;
169
- position: relative;
170
- padding: var(--option-padding);
171
- cursor: pointer;
172
- transition-timing-function: var(--jkl-motion-easing-standard);
173
- transition-duration: var(--jkl-motion-timing-productive);
174
- font: var(--jkl-text-style-text-medium);
175
- /* For å unngå "dobbel" markering skrur vi av markering på hover i React-
176
- komponenten med data-focus="controlled". Uten dette satt vil valgene
177
- markeres ved hover som normalt. */
178
- }
179
- .jkl-select__option:focus, :not([data-focus=controlled]) > .jkl-select__option:hover {
180
- color: var(--jkl-color-text-default);
181
- background-color: var(--jkl-color-background-container-accent);
182
- }
183
- .jkl-select__option-description {
184
- color: var(--jkl-color-text-subdued);
185
- display: block;
186
- width: 100%;
187
- font: var(--jkl-text-style-text-small);
188
- }
189
- .jkl-select {
190
- /* --------
191
- VARIANTS
192
- -------- */
193
- }
194
- .jkl-select--inline {
195
- display: inline-block;
196
- vertical-align: top;
197
- }
198
- .jkl-select--open .jkl-select__search-input,
199
- .jkl-select--open .jkl-select__button {
200
- border-color: var(--jkl-color-border-strong);
53
+ padding: var(--jkl-spacing-24);
54
+ border: none;
201
55
  background-color: var(--jkl-color-background-container);
202
- box-shadow: 0 0 0 0.0625rem var(--jkl-color-border-strong);
203
- }
204
- .jkl-select--open .jkl-select__search-input:hover ~ .jkl-select__arrow,
205
- .jkl-select--open .jkl-select__button:hover ~ .jkl-select__arrow {
206
- transform: translateY(calc(-50% + -0.1875rem));
207
- }
208
- .jkl-select--open .jkl-select__outer-wrapper[data-popover-placement=bottom] .jkl-select__search-input,
209
- .jkl-select--open .jkl-select__outer-wrapper[data-popover-placement=bottom] .jkl-select__button {
210
- border-bottom-left-radius: 0;
211
- border-bottom-right-radius: 0;
212
- }
213
- .jkl-select--open .jkl-select__outer-wrapper[data-popover-placement=top] .jkl-select__search-input,
214
- .jkl-select--open .jkl-select__outer-wrapper[data-popover-placement=top] .jkl-select__button {
215
- border-top-left-radius: 0;
216
- border-top-right-radius: 0;
217
- }
218
- .jkl-select--invalid .jkl-select__search-input,
219
- .jkl-select--invalid .jkl-select__button {
220
- color: var(--jkl-color-error-text-default);
221
- border-color: var(--jkl-color-error-border-default);
222
- }
223
- .jkl-select--invalid .jkl-select__search-input--active-value,
224
- .jkl-select--invalid .jkl-select__button--active-value {
225
- color: revert;
226
- }
227
- @media screen and (forced-colors: active) {
228
- .jkl-select .jkl-select__button, .jkl-select .jkl-select__search-input {
229
- color: CanvasText;
230
- border: 2px solid ButtonText;
231
- background-color: Canvas;
232
- outline: revert;
56
+ position: fixed;
57
+ }
58
+ .jkl-select__popover:not(:popover-open) {
59
+ display: none;
60
+ }
61
+ .jkl-select__popover [role=listbox] {
62
+ display: grid;
63
+ grid-template-columns: auto 1fr auto;
64
+ grid-auto-rows: min-content;
65
+ gap: var(--jkl-spacing-8);
66
+ }
67
+ @media (width >= 0) and (max-width: 498px) {
68
+ .jkl-select__popover {
69
+ margin: 0;
70
+ inset: 0;
71
+ width: 100%;
72
+ height: 100%;
73
+ padding-bottom: calc(env(safe-area-inset-bottom) + var(--jkl-spacing-24));
233
74
  }
234
- .jkl-select .jkl-select__button:hover, .jkl-select .jkl-select__search-input:hover {
235
- border-color: Highlight;
236
- }
237
- }
238
- @media screen and (forced-colors: active) {
239
- .jkl-select__option {
240
- color: CanvasText;
241
- border-top: 1px solid Canvas;
242
- border-bottom: 1px solid Canvas;
75
+ .jkl-select__popover [role=listbox] {
76
+ flex-grow: 999;
77
+ overflow-y: auto;
243
78
  }
244
- .jkl-select__option:hover, .jkl-select__option:focus {
245
- border-top: 1px solid SelectedItem;
246
- border-bottom: 1px solid SelectedItem;
247
- --jkl-icon-weight: 400;
248
- font-weight: var(--jkl-font-weight-bold);
249
- letter-spacing: -0.014em;
79
+ .jkl-select__popover header, .jkl-select__popover .jkl-button--primary {
80
+ flex-shrink: 0;
250
81
  }
251
82
  }
252
- .jkl-popover.jkl-select__popover {
253
- background: none;
254
- box-shadow: none;
255
- border-radius: 0;
256
- z-index: var(--jkl-floating-z-index, 7000);
257
- }
258
- @media (prefers-reduced-motion: no-preference) {
259
- .jkl-select__options-menu {
260
- animation: jkl-select-options-menu-in var(--jkl-motion-timing-snappy) var(--jkl-motion-easing-standard);
261
- }
262
- .jkl-select__options-menu[data-popover-placement=top] {
263
- animation-name: jkl-select-options-menu-in-from-top;
83
+ @media (min-width: 500px) {
84
+ .jkl-select__popover {
85
+ position-anchor: --select-button;
86
+ position-area: bottom span-right;
87
+ position-try: normal flip-block;
88
+ box-shadow: 0 4px 20px 0 var(--shadow-color);
89
+ border-radius: var(--jkl-border-radius-s);
90
+ z-index: var(--jkl-floating-z-index, 10000);
91
+ padding: var(--jkl-spacing-8);
92
+ inset: auto;
93
+ margin-inline: 0;
94
+ max-height: 45dvh;
95
+ overscroll-behavior: none;
264
96
  }
265
- }
266
- @keyframes jkl-select-options-menu-in {
267
- from {
268
- opacity: 0;
269
- transform: translateY(-0.25rem);
97
+ @supports (max-height: round(up, 45dvh, 24px)) {
98
+ .jkl-select__popover {
99
+ max-height: round(up, 45dvh, 24px);
100
+ }
270
101
  }
271
- to {
272
- opacity: 1;
273
- transform: translateY(0);
102
+ .jkl-select__popover header, .jkl-select__popover .jkl-button--primary {
103
+ display: none;
274
104
  }
275
105
  }
276
- @keyframes jkl-select-options-menu-in-from-top {
277
- from {
278
- opacity: 0;
279
- transform: translateY(0.25rem);
280
- }
281
- to {
282
- opacity: 1;
283
- transform: translateY(0);
284
- }
285
- }
286
- .jkl-select__option:focus-visible {
287
- outline: none;
106
+ .jkl-select select {
107
+ display: none;
288
108
  }
289
109
  }
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-select{--jkl-select-arrow-right:var(--jkl-unit-05);--border-width:0.0625rem;--border-radius:var(--jkl-border-radius-s);--min-option-height:min(var(--jkl-unit-60),3rem);--button-padding:calc(var(--jkl-unit-15) - var(--border-width)) calc(0.75em - var(--border-width));--option-padding:var(--jkl-unit-10);border-style:none;display:block;position:relative}.jkl-select,.jkl-select:active,.jkl-select:focus,.jkl-select:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-select{border-style:revert}.jkl-select,.jkl-select:active,.jkl-select:focus,.jkl-select:hover{outline:revert;outline-style:revert}}.jkl-select :focus-visible{outline:none}.jkl-select .jkl-tooltip-question-button:focus{outline:3px solid var(--jkl-color-border-strong);outline-offset:0}.jkl-select select{-webkit-appearance:none;appearance:none}.jkl-select select:-moz-focusring{color:#0000;text-shadow:0 0 0 var(--jkl-color-text-subdued)}.jkl-select select option{background-color:var(--jkl-color-background-container);color:var(--jkl-color-text-subdued);font-family:sans-serif;font-weight:400}.jkl-select__outer-wrapper{max-width:100%;min-width:7rem;position:relative;width:15rem}.jkl-select__search-input{box-sizing:border-box;color:var(--jkl-color-text-subdued)}.jkl-select__button,.jkl-select__search-input{background-color:initial;border:var(--border-width) solid var(--jkl-color-border-default);border-radius:var(--border-radius);box-shadow:0 0 0 .0625rem #0000;color:var(--jkl-color-text-subdued);cursor:pointer;height:var(--jkl-select-input-height);overflow:hidden;padding:var(--button-padding);text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%;-webkit-padding-end:2.05em;font:var(--jkl-text-style-text-medium);padding-inline-end:2.05em;transition-duration:var(--jkl-motion-timing-productive);transition-property:color,border-color,box-shadow;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-select__button--active-value,.jkl-select__search-input--active-value{color:var(--jkl-color-text-default)}.jkl-select__button:hover,.jkl-select__search-input:hover{border-color:var(--jkl-color-border-strong);box-shadow:0 0 0 .0625rem var(--jkl-color-border-strong)}.jkl-select__button:hover~.jkl-select__arrow,.jkl-select__search-input:hover~.jkl-select__arrow{transform:translateY(calc(-50% + .1875rem))}.jkl-select__button:focus-visible,.jkl-select__search-input:focus-visible{outline:none}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__button:focus-visible,html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__button:has(:focus-visible),html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__search-input:focus-visible,html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__search-input:has(:focus-visible){outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:focus-visible) .jkl-select__button,html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:focus-visible) .jkl-select__search-input{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-select__arrow{color:var(--jkl-color-text-default);pointer-events:none;position:absolute;right:.75em;top:50%;transform:translateY(-50%);transition-duration:var(--jkl-motion-timing-productive);transition-property:transform,color;transition-timing-function:var(--jkl-motion-easing-standard)}@media screen and (forced-colors:active){.jkl-select__arrow,.jkl-select__arrow path,.jkl-select__arrow svg{fill:CanvasText;stroke:CanvasText}}.jkl-select:has([aria-invalid=true]) .jkl-select__arrow{color:var(--jkl-color-error-text-default)}.jkl-select__options-menu{background-color:var(--jkl-color-background-container);border:.125rem solid var(--jkl-color-border-strong);border-radius:0 0 var(--border-radius) var(--border-radius);box-sizing:border-box;margin-inline:-.0625rem;width:calc(100% + .125rem);--min-option-height:min(var(--jkl-unit-60),3rem);--option-padding:var(--jkl-unit-05) 0.75em;max-height:calc((var(--jkl-select-max-shown-options, 5) + .5)*var(--min-option-height));overflow-y:auto}.jkl-select__options-menu[data-popover-placement=bottom]{border-radius:0 0 var(--jkl-border-radius-s) var(--jkl-border-radius-s);border-top:none}.jkl-select__options-menu[data-popover-placement=top]{border-bottom:none;border-radius:var(--jkl-border-radius-s) var(--jkl-border-radius-s) 0 0}.jkl-select__option-wrapper{list-style-type:none;margin:0;padding:0;-webkit-overflow-scrolling:touch}.jkl-select__option{background-color:inherit;border:0;color:unset;cursor:pointer;font:var(--jkl-text-style-text-medium);min-height:var(--min-option-height);padding:var(--option-padding);position:relative;text-align:left;transition-duration:var(--jkl-motion-timing-productive);transition-property:color,background-color;transition-timing-function:var(--jkl-motion-easing-standard);width:100%}.jkl-select__option:focus,:not([data-focus=controlled])>.jkl-select__option:hover{background-color:var(--jkl-color-background-container-accent);color:var(--jkl-color-text-default)}.jkl-select__option-description{color:var(--jkl-color-text-subdued);display:block;font:var(--jkl-text-style-text-small);width:100%}.jkl-select--inline{display:inline-block;vertical-align:top}.jkl-select--open .jkl-select__button,.jkl-select--open .jkl-select__search-input{background-color:var(--jkl-color-background-container);border-color:var(--jkl-color-border-strong);box-shadow:0 0 0 .0625rem var(--jkl-color-border-strong)}.jkl-select--open .jkl-select__button:hover~.jkl-select__arrow,.jkl-select--open .jkl-select__search-input:hover~.jkl-select__arrow{transform:translateY(calc(-50% - .1875rem))}.jkl-select--open .jkl-select__outer-wrapper[data-popover-placement=bottom] .jkl-select__button,.jkl-select--open .jkl-select__outer-wrapper[data-popover-placement=bottom] .jkl-select__search-input{border-bottom-left-radius:0;border-bottom-right-radius:0}.jkl-select--open .jkl-select__outer-wrapper[data-popover-placement=top] .jkl-select__button,.jkl-select--open .jkl-select__outer-wrapper[data-popover-placement=top] .jkl-select__search-input{border-top-left-radius:0;border-top-right-radius:0}.jkl-select--invalid .jkl-select__button,.jkl-select--invalid .jkl-select__search-input{border-color:var(--jkl-color-error-border-default);color:var(--jkl-color-error-text-default)}.jkl-select--invalid .jkl-select__button--active-value,.jkl-select--invalid .jkl-select__search-input--active-value{color:revert}@media screen and (forced-colors:active){.jkl-select .jkl-select__button,.jkl-select .jkl-select__search-input{background-color:Canvas;border:2px solid ButtonText;color:initial;outline:revert}.jkl-select .jkl-select__button:hover,.jkl-select .jkl-select__search-input:hover{border-color:Highlight}.jkl-select__option{border-bottom:1px solid Canvas;border-top:1px solid Canvas;color:initial}.jkl-select__option:focus,.jkl-select__option:hover{border-bottom:1px solid SelectedItem;border-top:1px solid SelectedItem;--jkl-icon-weight:400;font-weight:var(--jkl-font-weight-bold);letter-spacing:-.014em}}.jkl-popover.jkl-select__popover{background:none;border-radius:0;box-shadow:none;z-index:var(--jkl-floating-z-index,7000)}@media (prefers-reduced-motion:no-preference){.jkl-select__options-menu{animation:jkl-select-options-menu-in var(--jkl-motion-timing-snappy) var(--jkl-motion-easing-standard)}.jkl-select__options-menu[data-popover-placement=top]{animation-name:jkl-select-options-menu-in-from-top}}@keyframes jkl-select-options-menu-in{0%{opacity:0;transform:translateY(-.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes jkl-select-options-menu-in-from-top{0%{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:translateY(0)}}.jkl-select__option:focus-visible{outline:none}}
1
+ @layer jokul.components{.jkl-select{--border-color:var(--jkl-color-border-default);--background-color:#0000;--color:var(--jkl-color-text-default);--box-shadow:0 0 0 0.0625rem #0000;--border-width:0.0625rem;--button-padding:calc(var(--jkl-unit-15) - var(--border-width));anchor-scope:--select-button}.jkl-select__button{display:grid;gap:var(--jkl-spacing-8);grid-template-columns:1fr auto;align-items:center;padding:var(--button-padding);border:var(--border-width) solid var(--border-color);border-radius:var(--jkl-border-radius-s);background-color:var(--background-color);color:var(--color);anchor-name:--select-button;box-shadow:var(--box-shadow);field-sizing:content;font:var(--jkl-text-style-text-medium);min-width:var(--width,20ch);max-width:100%;text-align:left}.jkl-select__button:hover{--border-color:var(--jkl-color-border-strong);--box-shadow:0 0 0 0.0625rem var(--border-color)}.jkl-select__button:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-select__button[aria-invalid]{--color:var(--jkl-color-error-text-default);--border-color:var(--jkl-color-error-border-default);--box-shadow:0 0 0 0.0625rem var(--border-color)}.jkl-select__popover{--shadow-color:#31303033;--shadow-color:light-dark(#31303033, #00000080);z-index:var(--jkl-floating-z-index,9000);margin-block:var(--jkl-spacing-xs);min-inline-size:anchor-size(width);box-sizing:border-box;padding:var(--jkl-spacing-24);border:none;background-color:var(--jkl-color-background-container);position:fixed}.jkl-select__popover:not(:popover-open){display:none}.jkl-select__popover [role=listbox]{display:grid;grid-template-columns:auto 1fr auto;grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content;gap:var(--jkl-spacing-8)}@media (width >= 0) and (max-width:498px){.jkl-select__popover{margin:0;inset:0;width:100%;height:100%;padding-bottom:calc(env(safe-area-inset-bottom) + var(--jkl-spacing-24))}.jkl-select__popover [role=listbox]{flex-grow:999;overflow-y:auto}.jkl-select__popover .jkl-button--primary,.jkl-select__popover header{flex-shrink:0}}@media (min-width:500px){.jkl-select__popover{position-anchor:--select-button;position-area:bottom span-right;position-try:normal flip-block;box-shadow:0 4px 20px 0 var(--shadow-color);border-radius:var(--jkl-border-radius-s);z-index:var(--jkl-floating-z-index,10000);padding:var(--jkl-spacing-8);inset:auto;margin-inline:0;max-height:45dvh;overscroll-behavior:none}@supports (max-height:round(up,45dvh,24px)){.jkl-select__popover{max-height:round(up,45dvh,24px)}}.jkl-select__popover .jkl-button--primary,.jkl-select__popover header{display:none}}.jkl-select select{display:none}}