@fremtind/jokul 5.2.0 → 5.2.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 (50) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/card/types.cjs.map +1 -1
  3. package/build/cjs/components/card/types.d.cts +1 -0
  4. package/build/cjs/components/flex/Flex.cjs +1 -1
  5. package/build/cjs/components/flex/Flex.cjs.map +1 -1
  6. package/build/cjs/components/flex/types.cjs +1 -1
  7. package/build/cjs/components/flex/types.cjs.map +1 -1
  8. package/build/es/components/card/types.d.ts +1 -0
  9. package/build/es/components/card/types.js.map +1 -1
  10. package/build/es/components/flex/Flex.js +1 -1
  11. package/build/es/components/flex/Flex.js.map +1 -1
  12. package/build/es/components/flex/types.js +1 -1
  13. package/build/es/components/flex/types.js.map +1 -1
  14. package/package.json +1 -1
  15. package/styles/components/card/card.css +10 -3
  16. package/styles/components/card/card.min.css +1 -1
  17. package/styles/components/card/card.scss +10 -1
  18. package/styles/components/combobox/combobox.css +0 -1
  19. package/styles/components/combobox/combobox.min.css +1 -1
  20. package/styles/components/countdown/countdown.css +2 -2
  21. package/styles/components/countdown/countdown.min.css +1 -1
  22. package/styles/components/feedback/feedback.css +2 -2
  23. package/styles/components/feedback/feedback.min.css +1 -1
  24. package/styles/components/file-input/file-input.css +9 -9
  25. package/styles/components/file-input/file-input.min.css +1 -1
  26. package/styles/components/input-group/input-group.css +2 -2
  27. package/styles/components/input-group/input-group.min.css +1 -1
  28. package/styles/components/loader/loader.css +6 -6
  29. package/styles/components/loader/loader.min.css +1 -1
  30. package/styles/components/loader/skeleton-loader.css +3 -3
  31. package/styles/components/loader/skeleton-loader.min.css +1 -1
  32. package/styles/components/message/message.css +2 -2
  33. package/styles/components/message/message.min.css +1 -1
  34. package/styles/components/number-input/number-input.css +0 -1
  35. package/styles/components/number-input/number-input.min.css +1 -1
  36. package/styles/components/progress-bar/progress-bar.css +1 -1
  37. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  38. package/styles/components/segmented-control/segmented-control.css +2 -2
  39. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  40. package/styles/components/system-message/system-message.css +2 -2
  41. package/styles/components/system-message/system-message.min.css +1 -1
  42. package/styles/components/text-area/text-area.css +0 -1
  43. package/styles/components/text-area/text-area.min.css +1 -1
  44. package/styles/components/text-input/text-input.css +0 -1
  45. package/styles/components/text-input/text-input.min.css +1 -1
  46. package/styles/components/toast/toast.css +4 -4
  47. package/styles/components/toast/toast.min.css +1 -1
  48. package/styles/components.css +34 -31
  49. package/styles/components.min.css +1 -1
  50. package/styles/shared/input/shared-input-styles.scss +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs","sources":["../../../../src/components/card/types.ts"],"sourcesContent":["import type { PolymorphicPropsWithRef } from \"../../utilities/polymorphism/polymorphism.js\";\n\nexport const CARD_PADDINGS = [\"s\", \"m\", \"l\", \"xl\"] as const;\nexport type CardPadding = (typeof CARD_PADDINGS)[number];\n\ntype Props = {\n className?: string;\n /**\n * Setter padding på kortet. Tilsvarer samme property i Figma.\n * @default \"s\"\n */\n padding?: CardPadding;\n /**\n * Legger på kantlinje rundt kortet.\n * @default false\n */\n outlined?: boolean;\n /**\n * Angir om kortet visuelt skal fremstå som klikkbart. Du må selv rendre\n * kortet som et klikkbart element (f.eks. `<a>` eller en `<Link>` fra\n * et ruting-bibliotek) og gi det en `href` eller `onClick`-handler.\n * HUSK: Sett aria-label for at støtteverktøy, som skjermlesere, ikke\n * skal lese alt innholdet i kortet.\n */\n clickable?: boolean;\n};\n\nexport type CardProps<ElementType extends React.ElementType> =\n PolymorphicPropsWithRef<ElementType, Props> & Props;\n"],"names":[],"mappings":"sGAE6B,CAAC,IAAK,IAAK,IAAK"}
1
+ {"version":3,"file":"types.cjs","sources":["../../../../src/components/card/types.ts"],"sourcesContent":["import type { PolymorphicPropsWithRef } from \"../../utilities/polymorphism/polymorphism.js\";\n\nexport const CARD_PADDINGS = [\"s\", \"m\", \"l\", \"xl\"] as const;\nexport type CardPadding = (typeof CARD_PADDINGS)[number];\n\ntype Props = {\n className?: string;\n /**\n * Setter padding på kortet. Tilsvarer samme property i Figma.\n * @default \"s\"\n */\n padding?: CardPadding;\n /**\n * Legger på kantlinje rundt kortet.\n * @default false\n */\n outlined?: boolean;\n /**\n * @deprecated Kortet får automatisk riktige stiler dersom det rendres som `button` eller `a`\n * Angir om kortet visuelt skal fremstå som klikkbart. Du må selv rendre\n * kortet som et klikkbart element (f.eks. `<a>` eller en `<Link>` fra\n * et ruting-bibliotek) og gi det en `href` eller `onClick`-handler.\n * HUSK: Sett aria-label for at støtteverktøy, som skjermlesere, ikke\n * skal lese alt innholdet i kortet.\n */\n clickable?: boolean;\n};\n\nexport type CardProps<ElementType extends React.ElementType> =\n PolymorphicPropsWithRef<ElementType, Props> & Props;\n"],"names":[],"mappings":"sGAE6B,CAAC,IAAK,IAAK,IAAK"}
@@ -14,6 +14,7 @@ type Props = {
14
14
  */
15
15
  outlined?: boolean;
16
16
  /**
17
+ * @deprecated Kortet får automatisk riktige stiler dersom det rendres som `button` eller `a`
17
18
  * Angir om kortet visuelt skal fremstå som klikkbart. Du må selv rendre
18
19
  * kortet som et klikkbart element (f.eks. `<a>` eller en `<Link>` fra
19
20
  * et ruting-bibliotek) og gi det en `href` eller `onClick`-handler.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("../../../clsx-E3yX_9sL.cjs"),n=require("react"),r=require("../../utilities/polymorphism/SlotComponent.cjs"),i=require("./types.cjs"),l=n.forwardRef(function(n,i){const{asChild:l,alignItems:o,alignContent:a,as:c="div",center:p=!1,className:u,direction:f="row",fill:m,gap:x="m",inline:$,justifyContent:g,layout:j={},textAlign:d,wrap:y="nowrap",...w}=n,q=l?r.SlotComponent:c,C=s(x).flatMap(([e,t])=>{const[n,r=n]=t.trim().split(" ");return[`screen-${e}-row-gap-${n}`,`screen-${e}-col-gap-${r}`]}),S=s(j).map(([e,t])=>`screen-${e}-${t}`);return e.jsx(q,{...w,className:t.clsx("jkl-flex",!o||`align-items-${o}`,!a||`align-content-${a}`,!p||`center-${!0===p?"2xl":p}`,!m||"fill",!$||"inline-flex",!g||`justify-content-${g}`,!d||`text-align-${d}`,!y||`flex-wrap-${y}`,!f||`flex-direction-${f}`,...C,...S,u),ref:i})});function s(e){return i.isResponsive(e)?Object.entries(e):[["small",e]]}exports.Flex=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("../../../clsx-E3yX_9sL.cjs"),n=require("react"),r=require("../../utilities/polymorphism/SlotComponent.cjs"),i=require("./types.cjs"),l=n.forwardRef(function(n,i){const{asChild:l,alignItems:o,alignContent:a,as:c="div",center:p=!1,className:u,direction:f="row",fill:m,gap:x="m",inline:$,justifyContent:g,layout:j={},textAlign:d,wrap:y="nowrap",...w}=n,q=l?r.SlotComponent:c,C=s(x).flatMap(([e,t])=>{const[n,r=n]=t.trim().split(" ");return[`screen-${e}-row-gap-${n}`,`screen-${e}-col-gap-${r}`]}),v=s(j).map(([e,t])=>`screen-${e}-${t}`);return e.jsx(q,{...w,className:t.clsx("jkl-flex",!o||`align-items-${o}`,!a||`align-content-${a}`,!p||`center-${!0===p?"2xl":p}`,!m||"fill",!$||"inline-flex",!g||`justify-content-${g}`,!d||`text-align-${d}`,!y||`flex-wrap-${y}`,!f||`flex-direction-${f}`,...C,...v,u),ref:i})});function s(e){return i.isResponsive(e)?Object.entries(e).filter(([,e])=>void 0!==e):[["small",e]]}exports.Flex=l;
2
2
  //# sourceMappingURL=Flex.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Flex.cjs","sources":["../../../../src/components/flex/Flex.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport { SlotComponent } from \"../../utilities/index.js\";\nimport type { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport {\n type Breakpoint,\n type FlexComponent,\n type FlexProps,\n type Responsive,\n isResponsive,\n} from \"./types.js\";\n\nexport const Flex = forwardRef(function Flex<\n ElementType extends React.ElementType = \"div\",\n>(props: FlexProps<ElementType>, ref?: PolymorphicRef<ElementType>) {\n const {\n asChild,\n alignItems,\n alignContent,\n as = \"div\",\n center = false,\n className,\n direction = \"row\",\n fill,\n gap = \"m\",\n inline,\n justifyContent,\n layout = {},\n textAlign,\n wrap = \"nowrap\",\n ...rest\n } = props;\n\n const Tag = asChild ? SlotComponent : as;\n const gaps = toObjectEntries(gap).flatMap(([breakpoint, gap]) => {\n const [row, col = row] = gap.trim().split(\" \");\n return [\n `screen-${breakpoint}-row-gap-${row}`,\n `screen-${breakpoint}-col-gap-${col}`,\n ];\n });\n const layouts = toObjectEntries(layout).map(\n ([breakpoint, layout]) => `screen-${breakpoint}-${layout}`, // Convert to number to convert 2.10 to 2.1 and false to 0\n );\n\n return (\n <Tag\n {...rest}\n className={clsx(\n \"jkl-flex\",\n !alignItems || `align-items-${alignItems}`,\n !alignContent || `align-content-${alignContent}`,\n !center || `center-${center === true ? \"2xl\" : center}`,\n !fill || \"fill\",\n !inline || \"inline-flex\",\n !justifyContent || `justify-content-${justifyContent}`,\n !textAlign || `text-align-${textAlign}`,\n !wrap || `flex-wrap-${wrap}`,\n !direction || `flex-direction-${direction}`,\n ...gaps,\n ...layouts,\n className,\n )}\n ref={ref}\n />\n );\n}) as FlexComponent; // Needed to tell Typescript this does not return ReactNode but acutally JSX.Element\n\n/**\n * Gjør en enkeltstående eller responsiv verdi om til et nøstet array,\n * der hvert indre array inneholder et breakpoint med tilhørende verdi.\n * @example `{ small: \"12\", large: \"64\" }` -> `[[\"small\", \"12\"], [\"large\", \"64\"]]`\n * @example `\"24\"` -> `[[\"small\", \"24\"]]`\n * @param value enkeltstående eller responsiv verdi\n * @returns nøstet array med breakpoints og verdier\n */\nfunction toObjectEntries<T>(value: T | Responsive<T>): [Breakpoint, T][] {\n if (isResponsive(value)) {\n return Object.entries(value) as [Breakpoint, T][];\n }\n\n return [[\"small\", value]];\n}\n"],"names":["Flex","forwardRef","props","ref","asChild","alignItems","alignContent","as","center","className","direction","fill","gap","inline","justifyContent","layout","textAlign","wrap","rest","Tag","SlotComponent","gaps","toObjectEntries","flatMap","breakpoint","row","col","trim","split","layouts","map","jsx","clsx","value","isResponsive","Object","entries"],"mappings":"qQAYaA,EAAOC,EAAAA,WAAW,SAE7BC,EAA+BC,GAC7B,MACIC,QAAAA,EACAC,WAAAA,EACAC,aAAAA,EACAC,GAAAA,EAAK,MACLC,OAAAA,GAAS,EACTC,UAAAA,EACAC,UAAAA,EAAY,MACZC,KAAAA,EACAC,IAAAA,EAAM,IACNC,OAAAA,EACAC,eAAAA,EACAC,OAAAA,EAAS,CAAA,EACTC,UAAAA,EACAC,KAAAA,EAAO,YACJC,GACHhB,EAEEiB,EAAMf,EAAUgB,EAAAA,cAAgBb,EAChCc,EAAOC,EAAgBV,GAAKW,QAAQ,EAAEC,EAAYZ,MACpD,MAAOa,EAAKC,EAAMD,GAAOb,EAAIe,OAAOC,MAAM,KAC1C,MAAO,CACH,UAAUJ,aAAsBC,IAChC,UAAUD,aAAsBE,OAGlCG,EAAUP,EAAgBP,GAAQe,IACpC,EAAEN,EAAYT,KAAY,UAAUS,KAAcT,KAGtD,OACIgB,EAAAA,IAACZ,EAAA,IACOD,EACJT,UAAWuB,EAAAA,KACP,YACC3B,GAAc,eAAeA,KAC7BC,GAAgB,iBAAiBA,KACjCE,GAAU,WAAqB,IAAXA,EAAkB,MAAQA,KAC9CG,GAAQ,QACRE,GAAU,eACVC,GAAkB,mBAAmBA,KACrCE,GAAa,cAAcA,KAC3BC,GAAQ,aAAaA,KACrBP,GAAa,kBAAkBA,OAC7BW,KACAQ,EACHpB,GAEJN,IAAAA,GAGZ,GAUA,SAASmB,EAAmBW,GACxB,OAAIC,EAAAA,aAAaD,GACNE,OAAOC,QAAQH,GAGnB,CAAC,CAAC,QAASA,GACtB"}
1
+ {"version":3,"file":"Flex.cjs","sources":["../../../../src/components/flex/Flex.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport { SlotComponent } from \"../../utilities/index.js\";\nimport type { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport {\n type Breakpoint,\n type FlexComponent,\n type FlexProps,\n type Responsive,\n isResponsive,\n} from \"./types.js\";\n\nexport const Flex = forwardRef(function Flex<\n ElementType extends React.ElementType = \"div\",\n>(props: FlexProps<ElementType>, ref?: PolymorphicRef<ElementType>) {\n const {\n asChild,\n alignItems,\n alignContent,\n as = \"div\",\n center = false,\n className,\n direction = \"row\",\n fill,\n gap = \"m\",\n inline,\n justifyContent,\n layout = {},\n textAlign,\n wrap = \"nowrap\",\n ...rest\n } = props;\n\n const Tag = asChild ? SlotComponent : as;\n const gaps = toObjectEntries(gap).flatMap(([breakpoint, gap]) => {\n const [row, col = row] = gap.trim().split(\" \");\n return [\n `screen-${breakpoint}-row-gap-${row}`,\n `screen-${breakpoint}-col-gap-${col}`,\n ];\n });\n const layouts = toObjectEntries(layout).map(\n ([breakpoint, layout]) => `screen-${breakpoint}-${layout}`, // Convert to number to convert 2.10 to 2.1 and false to 0\n );\n\n return (\n <Tag\n {...rest}\n className={clsx(\n \"jkl-flex\",\n !alignItems || `align-items-${alignItems}`,\n !alignContent || `align-content-${alignContent}`,\n !center || `center-${center === true ? \"2xl\" : center}`,\n !fill || \"fill\",\n !inline || \"inline-flex\",\n !justifyContent || `justify-content-${justifyContent}`,\n !textAlign || `text-align-${textAlign}`,\n !wrap || `flex-wrap-${wrap}`,\n !direction || `flex-direction-${direction}`,\n ...gaps,\n ...layouts,\n className,\n )}\n ref={ref}\n />\n );\n}) as FlexComponent; // Needed to tell Typescript this does not return ReactNode but acutally JSX.Element\n\n/**\n * Gjør en enkeltstående eller responsiv verdi om til et nøstet array,\n * der hvert indre array inneholder et breakpoint med tilhørende verdi.\n * @example `{ small: \"12\", large: \"64\" }` -> `[[\"small\", \"12\"], [\"large\", \"64\"]]`\n * @example `\"24\"` -> `[[\"small\", \"24\"]]`\n * @param value enkeltstående eller responsiv verdi\n * @returns nøstet array med breakpoints og verdier\n */\nfunction toObjectEntries<T>(value: T | Responsive<T>): [Breakpoint, T][] {\n if (isResponsive(value)) {\n return (Object.entries(value) as [Breakpoint, T][]).filter(\n ([, v]) => v !== undefined,\n );\n }\n\n return [[\"small\", value]];\n}\n"],"names":["Flex","forwardRef","props","ref","asChild","alignItems","alignContent","as","center","className","direction","fill","gap","inline","justifyContent","layout","textAlign","wrap","rest","Tag","SlotComponent","gaps","toObjectEntries","flatMap","breakpoint","row","col","trim","split","layouts","map","jsx","clsx","value","isResponsive","Object","entries","filter","v"],"mappings":"qQAYaA,EAAOC,EAAAA,WAAW,SAE7BC,EAA+BC,GAC7B,MACIC,QAAAA,EACAC,WAAAA,EACAC,aAAAA,EACAC,GAAAA,EAAK,MACLC,OAAAA,GAAS,EACTC,UAAAA,EACAC,UAAAA,EAAY,MACZC,KAAAA,EACAC,IAAAA,EAAM,IACNC,OAAAA,EACAC,eAAAA,EACAC,OAAAA,EAAS,CAAA,EACTC,UAAAA,EACAC,KAAAA,EAAO,YACJC,GACHhB,EAEEiB,EAAMf,EAAUgB,EAAAA,cAAgBb,EAChCc,EAAOC,EAAgBV,GAAKW,QAAQ,EAAEC,EAAYZ,MACpD,MAAOa,EAAKC,EAAMD,GAAOb,EAAIe,OAAOC,MAAM,KAC1C,MAAO,CACH,UAAUJ,aAAsBC,IAChC,UAAUD,aAAsBE,OAGlCG,EAAUP,EAAgBP,GAAQe,IACpC,EAAEN,EAAYT,KAAY,UAAUS,KAAcT,KAGtD,OACIgB,EAAAA,IAACZ,EAAA,IACOD,EACJT,UAAWuB,EAAAA,KACP,YACC3B,GAAc,eAAeA,KAC7BC,GAAgB,iBAAiBA,KACjCE,GAAU,WAAqB,IAAXA,EAAkB,MAAQA,KAC9CG,GAAQ,QACRE,GAAU,eACVC,GAAkB,mBAAmBA,KACrCE,GAAa,cAAcA,KAC3BC,GAAQ,aAAaA,KACrBP,GAAa,kBAAkBA,OAC7BW,KACAQ,EACHpB,GAEJN,IAAAA,GAGZ,GAUA,SAASmB,EAAmBW,GACxB,OAAIC,EAAAA,aAAaD,GACLE,OAAOC,QAAQH,GAA6BI,OAChD,EAAC,CAAGC,UAAa,IAANA,GAIZ,CAAC,CAAC,QAASL,GACtB"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("react");const e=["small","medium","large","xl"];exports.LAYOUTS=["auto","1","2","3","4","6","4.8","8.4","2.10","10.2","3.9","9.3","5.7","7.5"],exports.SEMANTIC_SPACING=["none","2xs","xs","s","m","l","xl","2xl"],exports.STATIC_SPACING=["0","2","4","8","12","16","20","24","28","32","40","48","56","64","72","80","104","168"],exports.isResponsive=function(s){return e.includes(Object.keys(s)[0])};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("react");const e=["small","medium","large","xl"];exports.LAYOUTS=["auto","1","2","3","4","6","4.8","8.4","2.10","10.2","3.9","9.3","5.7","7.5"],exports.SEMANTIC_SPACING=["none","2xs","xs","s","m","l","xl","2xl"],exports.STATIC_SPACING=["0","2","4","8","12","16","20","24","28","32","40","48","56","64","72","80","104","168"],exports.isResponsive=function(t){if("object"!=typeof t||null===t||Array.isArray(t))return!1;const r=Object.keys(t);return 0===r.length||e.includes(r[0])};
2
2
  //# sourceMappingURL=types.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs","sources":["../../../../src/components/flex/types.ts"],"sourcesContent":["import React from \"react\";\nimport type { AsChildProps } from \"../../utilities/polymorphism/as-child.js\";\nimport type { PolymorphicPropsWithRef } from \"../../utilities/polymorphism/polymorphism.js\";\n\nexport const SEMANTIC_SPACING = [\n \"none\",\n \"2xs\",\n \"xs\",\n \"s\",\n \"m\",\n \"l\",\n \"xl\",\n \"2xl\",\n] as const;\n\nexport const STATIC_SPACING = [\n \"0\",\n \"2\",\n \"4\",\n \"8\",\n \"12\",\n \"16\",\n \"20\",\n \"24\",\n \"28\",\n \"32\",\n \"40\",\n \"48\",\n \"56\",\n \"64\",\n \"72\",\n \"80\",\n \"104\",\n \"168\",\n] as const;\n\nconst BREAKPOINTS = [\"small\", \"medium\", \"large\", \"xl\"] as const;\n\nexport type SemanticSpacing = (typeof SEMANTIC_SPACING)[number];\nexport type StaticSpacing = (typeof STATIC_SPACING)[number];\nexport type Breakpoint = (typeof BREAKPOINTS)[number];\n\nexport type Responsive<T> = Partial<Record<Breakpoint, T>>;\nexport function isResponsive<T>(value: unknown): value is Responsive<T> {\n return BREAKPOINTS.includes(\n Object.keys(value as Responsive<T>)[0] as Breakpoint,\n );\n}\n\nexport const LAYOUTS = [\n \"auto\",\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"6\",\n \"4.8\",\n \"8.4\",\n \"2.10\",\n \"10.2\",\n \"3.9\",\n \"9.3\",\n \"5.7\",\n \"7.5\",\n] as const;\n\nexport type Layout = (typeof LAYOUTS)[number];\nexport type Center = \"m\" | \"l\" | \"xl\" | \"2xl\" | boolean;\n\nexport type DynamicGap =\n | `${SemanticSpacing}`\n | `${SemanticSpacing} ${SemanticSpacing}`;\nexport type StaticGap =\n | `${StaticSpacing}`\n | `${StaticSpacing} ${StaticSpacing}`;\nexport type Gap = DynamicGap | StaticGap;\n\ntype FlexBaseProps = {\n alignItems?: \"normal\" | \"start\" | \"center\" | \"end\" | \"baseline\" | \"stretch\";\n alignContent?:\n | \"normal\"\n | \"start\"\n | \"center\"\n | \"end\"\n | \"stretch\"\n | \"baseline\"\n | \"space-between\"\n | \"space-around\"\n | \"space-evenly\";\n center?: Center;\n direction?: \"row\" | \"column\" | \"row-reverse\" | \"column-reverse\";\n fill?: boolean;\n gap?: Gap | Responsive<Gap>;\n inline?: boolean;\n textAlign?: \"left\" | \"right\" | \"center\";\n justifyContent?:\n | \"normal\"\n | \"start\"\n | \"center\"\n | \"end\"\n | \"space-between\"\n | \"space-around\"\n | \"space-evenly\";\n layout?: Layout | Responsive<Layout>;\n wrap?: \"wrap\" | \"nowrap\" | \"reverse\";\n};\n\nexport type FlexProps<As extends React.ElementType = \"div\"> =\n PolymorphicPropsWithRef<As, FlexBaseProps>;\n\nexport type FlexComponent = <ElementType extends React.ElementType = \"div\">(\n props: FlexProps<ElementType> & AsChildProps,\n) => React.ReactElement | null;\n"],"names":["BREAKPOINTS","value","includes","Object","keys"],"mappings":"iGAIO,MAgCDA,EAAc,CAAC,QAAS,SAAU,QAAS,sBAa1B,CACnB,OACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,OACA,OACA,MACA,MACA,MACA,gCA3D4B,CAC5B,OACA,MACA,KACA,IACA,IACA,IACA,KACA,8BAG0B,CAC1B,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,4BAUG,SAAyBC,GAC5B,OAAOD,EAAYE,SACfC,OAAOC,KAAKH,GAAwB,GAE5C"}
1
+ {"version":3,"file":"types.cjs","sources":["../../../../src/components/flex/types.ts"],"sourcesContent":["import React from \"react\";\nimport type { AsChildProps } from \"../../utilities/polymorphism/as-child.js\";\nimport type { PolymorphicPropsWithRef } from \"../../utilities/polymorphism/polymorphism.js\";\n\nexport const SEMANTIC_SPACING = [\n \"none\",\n \"2xs\",\n \"xs\",\n \"s\",\n \"m\",\n \"l\",\n \"xl\",\n \"2xl\",\n] as const;\n\nexport const STATIC_SPACING = [\n \"0\",\n \"2\",\n \"4\",\n \"8\",\n \"12\",\n \"16\",\n \"20\",\n \"24\",\n \"28\",\n \"32\",\n \"40\",\n \"48\",\n \"56\",\n \"64\",\n \"72\",\n \"80\",\n \"104\",\n \"168\",\n] as const;\n\nconst BREAKPOINTS = [\"small\", \"medium\", \"large\", \"xl\"] as const;\n\nexport type SemanticSpacing = (typeof SEMANTIC_SPACING)[number];\nexport type StaticSpacing = (typeof STATIC_SPACING)[number];\nexport type Breakpoint = (typeof BREAKPOINTS)[number];\n\nexport type Responsive<T> = Partial<Record<Breakpoint, T>>;\nexport function isResponsive<T>(value: unknown): value is Responsive<T> {\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n return false;\n }\n const keys = Object.keys(value);\n return keys.length === 0 || BREAKPOINTS.includes(keys[0] as Breakpoint);\n}\n\nexport const LAYOUTS = [\n \"auto\",\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"6\",\n \"4.8\",\n \"8.4\",\n \"2.10\",\n \"10.2\",\n \"3.9\",\n \"9.3\",\n \"5.7\",\n \"7.5\",\n] as const;\n\nexport type Layout = (typeof LAYOUTS)[number];\nexport type Center = \"m\" | \"l\" | \"xl\" | \"2xl\" | boolean;\n\nexport type DynamicGap =\n | `${SemanticSpacing}`\n | `${SemanticSpacing} ${SemanticSpacing}`;\nexport type StaticGap =\n | `${StaticSpacing}`\n | `${StaticSpacing} ${StaticSpacing}`;\nexport type Gap = DynamicGap | StaticGap;\n\ntype FlexBaseProps = {\n alignItems?: \"normal\" | \"start\" | \"center\" | \"end\" | \"baseline\" | \"stretch\";\n alignContent?:\n | \"normal\"\n | \"start\"\n | \"center\"\n | \"end\"\n | \"stretch\"\n | \"baseline\"\n | \"space-between\"\n | \"space-around\"\n | \"space-evenly\";\n center?: Center;\n direction?: \"row\" | \"column\" | \"row-reverse\" | \"column-reverse\";\n fill?: boolean;\n gap?: Gap | Responsive<Gap>;\n inline?: boolean;\n textAlign?: \"left\" | \"right\" | \"center\";\n justifyContent?:\n | \"normal\"\n | \"start\"\n | \"center\"\n | \"end\"\n | \"space-between\"\n | \"space-around\"\n | \"space-evenly\";\n layout?: Layout | Responsive<Layout>;\n wrap?: \"wrap\" | \"nowrap\" | \"reverse\";\n};\n\nexport type FlexProps<As extends React.ElementType = \"div\"> =\n PolymorphicPropsWithRef<As, FlexBaseProps>;\n\nexport type FlexComponent = <ElementType extends React.ElementType = \"div\">(\n props: FlexProps<ElementType> & AsChildProps,\n) => React.ReactElement | null;\n"],"names":["BREAKPOINTS","value","Array","isArray","keys","Object","length","includes"],"mappings":"iGAIO,MAgCDA,EAAc,CAAC,QAAS,SAAU,QAAS,sBAe1B,CACnB,OACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,OACA,OACA,MACA,MACA,MACA,gCA7D4B,CAC5B,OACA,MACA,KACA,IACA,IACA,IACA,KACA,8BAG0B,CAC1B,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,4BAUG,SAAyBC,GAC5B,GAAqB,iBAAVA,GAAgC,OAAVA,GAAkBC,MAAMC,QAAQF,GAC7D,OAAO,EAEX,MAAMG,EAAOC,OAAOD,KAAKH,GACzB,OAAuB,IAAhBG,EAAKE,QAAgBN,EAAYO,SAASH,EAAK,GAC1D"}
@@ -14,6 +14,7 @@ type Props = {
14
14
  */
15
15
  outlined?: boolean;
16
16
  /**
17
+ * @deprecated Kortet får automatisk riktige stiler dersom det rendres som `button` eller `a`
17
18
  * Angir om kortet visuelt skal fremstå som klikkbart. Du må selv rendre
18
19
  * kortet som et klikkbart element (f.eks. `<a>` eller en `<Link>` fra
19
20
  * et ruting-bibliotek) og gi det en `href` eller `onClick`-handler.
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../src/components/card/types.ts"],"sourcesContent":["import type { PolymorphicPropsWithRef } from \"../../utilities/polymorphism/polymorphism.js\";\n\nexport const CARD_PADDINGS = [\"s\", \"m\", \"l\", \"xl\"] as const;\nexport type CardPadding = (typeof CARD_PADDINGS)[number];\n\ntype Props = {\n className?: string;\n /**\n * Setter padding på kortet. Tilsvarer samme property i Figma.\n * @default \"s\"\n */\n padding?: CardPadding;\n /**\n * Legger på kantlinje rundt kortet.\n * @default false\n */\n outlined?: boolean;\n /**\n * Angir om kortet visuelt skal fremstå som klikkbart. Du må selv rendre\n * kortet som et klikkbart element (f.eks. `<a>` eller en `<Link>` fra\n * et ruting-bibliotek) og gi det en `href` eller `onClick`-handler.\n * HUSK: Sett aria-label for at støtteverktøy, som skjermlesere, ikke\n * skal lese alt innholdet i kortet.\n */\n clickable?: boolean;\n};\n\nexport type CardProps<ElementType extends React.ElementType> =\n PolymorphicPropsWithRef<ElementType, Props> & Props;\n"],"names":["CARD_PADDINGS"],"mappings":"AAEO,MAAMA,EAAgB,CAAC,IAAK,IAAK,IAAK"}
1
+ {"version":3,"file":"types.js","sources":["../../../../src/components/card/types.ts"],"sourcesContent":["import type { PolymorphicPropsWithRef } from \"../../utilities/polymorphism/polymorphism.js\";\n\nexport const CARD_PADDINGS = [\"s\", \"m\", \"l\", \"xl\"] as const;\nexport type CardPadding = (typeof CARD_PADDINGS)[number];\n\ntype Props = {\n className?: string;\n /**\n * Setter padding på kortet. Tilsvarer samme property i Figma.\n * @default \"s\"\n */\n padding?: CardPadding;\n /**\n * Legger på kantlinje rundt kortet.\n * @default false\n */\n outlined?: boolean;\n /**\n * @deprecated Kortet får automatisk riktige stiler dersom det rendres som `button` eller `a`\n * Angir om kortet visuelt skal fremstå som klikkbart. Du må selv rendre\n * kortet som et klikkbart element (f.eks. `<a>` eller en `<Link>` fra\n * et ruting-bibliotek) og gi det en `href` eller `onClick`-handler.\n * HUSK: Sett aria-label for at støtteverktøy, som skjermlesere, ikke\n * skal lese alt innholdet i kortet.\n */\n clickable?: boolean;\n};\n\nexport type CardProps<ElementType extends React.ElementType> =\n PolymorphicPropsWithRef<ElementType, Props> & Props;\n"],"names":["CARD_PADDINGS"],"mappings":"AAEO,MAAMA,EAAgB,CAAC,IAAK,IAAK,IAAK"}
@@ -1,2 +1,2 @@
1
- import{jsx as t}from"react/jsx-runtime";import{c as e}from"../../../clsx-BeLtu-UY.js";import{forwardRef as n}from"react";import{SlotComponent as i}from"../../utilities/polymorphism/SlotComponent.js";import{isResponsive as r}from"./types.js";const o=n(function(n,r){const{asChild:o,alignItems:l,alignContent:a,as:m="div",center:c=!1,className:p,direction:f="row",fill:$,gap:x="m",inline:u,justifyContent:g,layout:j={},textAlign:w,wrap:d="nowrap",...y}=n,C=o?i:m,h=s(x).flatMap(([t,e])=>{const[n,i=n]=e.trim().split(" ");return[`screen-${t}-row-gap-${n}`,`screen-${t}-col-gap-${i}`]}),v=s(j).map(([t,e])=>`screen-${t}-${e}`);return t(C,{...y,className:e("jkl-flex",!l||`align-items-${l}`,!a||`align-content-${a}`,!c||`center-${!0===c?"2xl":c}`,!$||"fill",!u||"inline-flex",!g||`justify-content-${g}`,!w||`text-align-${w}`,!d||`flex-wrap-${d}`,!f||`flex-direction-${f}`,...h,...v,p),ref:r})});function s(t){return r(t)?Object.entries(t):[["small",t]]}export{o as Flex};
1
+ import{jsx as t}from"react/jsx-runtime";import{c as e}from"../../../clsx-BeLtu-UY.js";import{forwardRef as n}from"react";import{SlotComponent as i}from"../../utilities/polymorphism/SlotComponent.js";import{isResponsive as r}from"./types.js";const o=n(function(n,r){const{asChild:o,alignItems:l,alignContent:a,as:m="div",center:c=!1,className:p,direction:f="row",fill:$,gap:x="m",inline:u,justifyContent:g,layout:j={},textAlign:d,wrap:w="nowrap",...y}=n,C=o?i:m,v=s(x).flatMap(([t,e])=>{const[n,i=n]=e.trim().split(" ");return[`screen-${t}-row-gap-${n}`,`screen-${t}-col-gap-${i}`]}),h=s(j).map(([t,e])=>`screen-${t}-${e}`);return t(C,{...y,className:e("jkl-flex",!l||`align-items-${l}`,!a||`align-content-${a}`,!c||`center-${!0===c?"2xl":c}`,!$||"fill",!u||"inline-flex",!g||`justify-content-${g}`,!d||`text-align-${d}`,!w||`flex-wrap-${w}`,!f||`flex-direction-${f}`,...v,...h,p),ref:r})});function s(t){return r(t)?Object.entries(t).filter(([,t])=>void 0!==t):[["small",t]]}export{o as Flex};
2
2
  //# sourceMappingURL=Flex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Flex.js","sources":["../../../../src/components/flex/Flex.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport { SlotComponent } from \"../../utilities/index.js\";\nimport type { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport {\n type Breakpoint,\n type FlexComponent,\n type FlexProps,\n type Responsive,\n isResponsive,\n} from \"./types.js\";\n\nexport const Flex = forwardRef(function Flex<\n ElementType extends React.ElementType = \"div\",\n>(props: FlexProps<ElementType>, ref?: PolymorphicRef<ElementType>) {\n const {\n asChild,\n alignItems,\n alignContent,\n as = \"div\",\n center = false,\n className,\n direction = \"row\",\n fill,\n gap = \"m\",\n inline,\n justifyContent,\n layout = {},\n textAlign,\n wrap = \"nowrap\",\n ...rest\n } = props;\n\n const Tag = asChild ? SlotComponent : as;\n const gaps = toObjectEntries(gap).flatMap(([breakpoint, gap]) => {\n const [row, col = row] = gap.trim().split(\" \");\n return [\n `screen-${breakpoint}-row-gap-${row}`,\n `screen-${breakpoint}-col-gap-${col}`,\n ];\n });\n const layouts = toObjectEntries(layout).map(\n ([breakpoint, layout]) => `screen-${breakpoint}-${layout}`, // Convert to number to convert 2.10 to 2.1 and false to 0\n );\n\n return (\n <Tag\n {...rest}\n className={clsx(\n \"jkl-flex\",\n !alignItems || `align-items-${alignItems}`,\n !alignContent || `align-content-${alignContent}`,\n !center || `center-${center === true ? \"2xl\" : center}`,\n !fill || \"fill\",\n !inline || \"inline-flex\",\n !justifyContent || `justify-content-${justifyContent}`,\n !textAlign || `text-align-${textAlign}`,\n !wrap || `flex-wrap-${wrap}`,\n !direction || `flex-direction-${direction}`,\n ...gaps,\n ...layouts,\n className,\n )}\n ref={ref}\n />\n );\n}) as FlexComponent; // Needed to tell Typescript this does not return ReactNode but acutally JSX.Element\n\n/**\n * Gjør en enkeltstående eller responsiv verdi om til et nøstet array,\n * der hvert indre array inneholder et breakpoint med tilhørende verdi.\n * @example `{ small: \"12\", large: \"64\" }` -> `[[\"small\", \"12\"], [\"large\", \"64\"]]`\n * @example `\"24\"` -> `[[\"small\", \"24\"]]`\n * @param value enkeltstående eller responsiv verdi\n * @returns nøstet array med breakpoints og verdier\n */\nfunction toObjectEntries<T>(value: T | Responsive<T>): [Breakpoint, T][] {\n if (isResponsive(value)) {\n return Object.entries(value) as [Breakpoint, T][];\n }\n\n return [[\"small\", value]];\n}\n"],"names":["Flex","forwardRef","props","ref","asChild","alignItems","alignContent","as","center","className","direction","fill","gap","inline","justifyContent","layout","textAlign","wrap","rest","Tag","SlotComponent","gaps","toObjectEntries","flatMap","breakpoint","row","col","trim","split","layouts","map","jsx","clsx","value","isResponsive","Object","entries"],"mappings":"iPAYO,MAAMA,EAAOC,EAAW,SAE7BC,EAA+BC,GAC7B,MACIC,QAAAA,EACAC,WAAAA,EACAC,aAAAA,EACAC,GAAAA,EAAK,MACLC,OAAAA,GAAS,EACTC,UAAAA,EACAC,UAAAA,EAAY,MACZC,KAAAA,EACAC,IAAAA,EAAM,IACNC,OAAAA,EACAC,eAAAA,EACAC,OAAAA,EAAS,CAAA,EACTC,UAAAA,EACAC,KAAAA,EAAO,YACJC,GACHhB,EAEEiB,EAAMf,EAAUgB,EAAgBb,EAChCc,EAAOC,EAAgBV,GAAKW,QAAQ,EAAEC,EAAYZ,MACpD,MAAOa,EAAKC,EAAMD,GAAOb,EAAIe,OAAOC,MAAM,KAC1C,MAAO,CACH,UAAUJ,aAAsBC,IAChC,UAAUD,aAAsBE,OAGlCG,EAAUP,EAAgBP,GAAQe,IACpC,EAAEN,EAAYT,KAAY,UAAUS,KAAcT,KAGtD,OACIgB,EAACZ,EAAA,IACOD,EACJT,UAAWuB,EACP,YACC3B,GAAc,eAAeA,KAC7BC,GAAgB,iBAAiBA,KACjCE,GAAU,WAAqB,IAAXA,EAAkB,MAAQA,KAC9CG,GAAQ,QACRE,GAAU,eACVC,GAAkB,mBAAmBA,KACrCE,GAAa,cAAcA,KAC3BC,GAAQ,aAAaA,KACrBP,GAAa,kBAAkBA,OAC7BW,KACAQ,EACHpB,GAEJN,IAAAA,GAGZ,GAUA,SAASmB,EAAmBW,GACxB,OAAIC,EAAaD,GACNE,OAAOC,QAAQH,GAGnB,CAAC,CAAC,QAASA,GACtB"}
1
+ {"version":3,"file":"Flex.js","sources":["../../../../src/components/flex/Flex.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport { SlotComponent } from \"../../utilities/index.js\";\nimport type { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport {\n type Breakpoint,\n type FlexComponent,\n type FlexProps,\n type Responsive,\n isResponsive,\n} from \"./types.js\";\n\nexport const Flex = forwardRef(function Flex<\n ElementType extends React.ElementType = \"div\",\n>(props: FlexProps<ElementType>, ref?: PolymorphicRef<ElementType>) {\n const {\n asChild,\n alignItems,\n alignContent,\n as = \"div\",\n center = false,\n className,\n direction = \"row\",\n fill,\n gap = \"m\",\n inline,\n justifyContent,\n layout = {},\n textAlign,\n wrap = \"nowrap\",\n ...rest\n } = props;\n\n const Tag = asChild ? SlotComponent : as;\n const gaps = toObjectEntries(gap).flatMap(([breakpoint, gap]) => {\n const [row, col = row] = gap.trim().split(\" \");\n return [\n `screen-${breakpoint}-row-gap-${row}`,\n `screen-${breakpoint}-col-gap-${col}`,\n ];\n });\n const layouts = toObjectEntries(layout).map(\n ([breakpoint, layout]) => `screen-${breakpoint}-${layout}`, // Convert to number to convert 2.10 to 2.1 and false to 0\n );\n\n return (\n <Tag\n {...rest}\n className={clsx(\n \"jkl-flex\",\n !alignItems || `align-items-${alignItems}`,\n !alignContent || `align-content-${alignContent}`,\n !center || `center-${center === true ? \"2xl\" : center}`,\n !fill || \"fill\",\n !inline || \"inline-flex\",\n !justifyContent || `justify-content-${justifyContent}`,\n !textAlign || `text-align-${textAlign}`,\n !wrap || `flex-wrap-${wrap}`,\n !direction || `flex-direction-${direction}`,\n ...gaps,\n ...layouts,\n className,\n )}\n ref={ref}\n />\n );\n}) as FlexComponent; // Needed to tell Typescript this does not return ReactNode but acutally JSX.Element\n\n/**\n * Gjør en enkeltstående eller responsiv verdi om til et nøstet array,\n * der hvert indre array inneholder et breakpoint med tilhørende verdi.\n * @example `{ small: \"12\", large: \"64\" }` -> `[[\"small\", \"12\"], [\"large\", \"64\"]]`\n * @example `\"24\"` -> `[[\"small\", \"24\"]]`\n * @param value enkeltstående eller responsiv verdi\n * @returns nøstet array med breakpoints og verdier\n */\nfunction toObjectEntries<T>(value: T | Responsive<T>): [Breakpoint, T][] {\n if (isResponsive(value)) {\n return (Object.entries(value) as [Breakpoint, T][]).filter(\n ([, v]) => v !== undefined,\n );\n }\n\n return [[\"small\", value]];\n}\n"],"names":["Flex","forwardRef","props","ref","asChild","alignItems","alignContent","as","center","className","direction","fill","gap","inline","justifyContent","layout","textAlign","wrap","rest","Tag","SlotComponent","gaps","toObjectEntries","flatMap","breakpoint","row","col","trim","split","layouts","map","jsx","clsx","value","isResponsive","Object","entries","filter","v"],"mappings":"iPAYO,MAAMA,EAAOC,EAAW,SAE7BC,EAA+BC,GAC7B,MACIC,QAAAA,EACAC,WAAAA,EACAC,aAAAA,EACAC,GAAAA,EAAK,MACLC,OAAAA,GAAS,EACTC,UAAAA,EACAC,UAAAA,EAAY,MACZC,KAAAA,EACAC,IAAAA,EAAM,IACNC,OAAAA,EACAC,eAAAA,EACAC,OAAAA,EAAS,CAAA,EACTC,UAAAA,EACAC,KAAAA,EAAO,YACJC,GACHhB,EAEEiB,EAAMf,EAAUgB,EAAgBb,EAChCc,EAAOC,EAAgBV,GAAKW,QAAQ,EAAEC,EAAYZ,MACpD,MAAOa,EAAKC,EAAMD,GAAOb,EAAIe,OAAOC,MAAM,KAC1C,MAAO,CACH,UAAUJ,aAAsBC,IAChC,UAAUD,aAAsBE,OAGlCG,EAAUP,EAAgBP,GAAQe,IACpC,EAAEN,EAAYT,KAAY,UAAUS,KAAcT,KAGtD,OACIgB,EAACZ,EAAA,IACOD,EACJT,UAAWuB,EACP,YACC3B,GAAc,eAAeA,KAC7BC,GAAgB,iBAAiBA,KACjCE,GAAU,WAAqB,IAAXA,EAAkB,MAAQA,KAC9CG,GAAQ,QACRE,GAAU,eACVC,GAAkB,mBAAmBA,KACrCE,GAAa,cAAcA,KAC3BC,GAAQ,aAAaA,KACrBP,GAAa,kBAAkBA,OAC7BW,KACAQ,EACHpB,GAEJN,IAAAA,GAGZ,GAUA,SAASmB,EAAmBW,GACxB,OAAIC,EAAaD,GACLE,OAAOC,QAAQH,GAA6BI,OAChD,EAAC,CAAGC,UAAa,IAANA,GAIZ,CAAC,CAAC,QAASL,GACtB"}
@@ -1,2 +1,2 @@
1
- import"react";const s=["none","2xs","xs","s","m","l","xl","2xl"],e=["0","2","4","8","12","16","20","24","28","32","40","48","56","64","72","80","104","168"],n=["small","medium","large","xl"];function t(s){return n.includes(Object.keys(s)[0])}const a=["auto","1","2","3","4","6","4.8","8.4","2.10","10.2","3.9","9.3","5.7","7.5"];export{a as LAYOUTS,s as SEMANTIC_SPACING,e as STATIC_SPACING,t as isResponsive};
1
+ import"react";const s=["none","2xs","xs","s","m","l","xl","2xl"],e=["0","2","4","8","12","16","20","24","28","32","40","48","56","64","72","80","104","168"],t=["small","medium","large","xl"];function n(s){if("object"!=typeof s||null===s||Array.isArray(s))return!1;const e=Object.keys(s);return 0===e.length||t.includes(e[0])}const r=["auto","1","2","3","4","6","4.8","8.4","2.10","10.2","3.9","9.3","5.7","7.5"];export{r as LAYOUTS,s as SEMANTIC_SPACING,e as STATIC_SPACING,n as isResponsive};
2
2
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../src/components/flex/types.ts"],"sourcesContent":["import React from \"react\";\nimport type { AsChildProps } from \"../../utilities/polymorphism/as-child.js\";\nimport type { PolymorphicPropsWithRef } from \"../../utilities/polymorphism/polymorphism.js\";\n\nexport const SEMANTIC_SPACING = [\n \"none\",\n \"2xs\",\n \"xs\",\n \"s\",\n \"m\",\n \"l\",\n \"xl\",\n \"2xl\",\n] as const;\n\nexport const STATIC_SPACING = [\n \"0\",\n \"2\",\n \"4\",\n \"8\",\n \"12\",\n \"16\",\n \"20\",\n \"24\",\n \"28\",\n \"32\",\n \"40\",\n \"48\",\n \"56\",\n \"64\",\n \"72\",\n \"80\",\n \"104\",\n \"168\",\n] as const;\n\nconst BREAKPOINTS = [\"small\", \"medium\", \"large\", \"xl\"] as const;\n\nexport type SemanticSpacing = (typeof SEMANTIC_SPACING)[number];\nexport type StaticSpacing = (typeof STATIC_SPACING)[number];\nexport type Breakpoint = (typeof BREAKPOINTS)[number];\n\nexport type Responsive<T> = Partial<Record<Breakpoint, T>>;\nexport function isResponsive<T>(value: unknown): value is Responsive<T> {\n return BREAKPOINTS.includes(\n Object.keys(value as Responsive<T>)[0] as Breakpoint,\n );\n}\n\nexport const LAYOUTS = [\n \"auto\",\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"6\",\n \"4.8\",\n \"8.4\",\n \"2.10\",\n \"10.2\",\n \"3.9\",\n \"9.3\",\n \"5.7\",\n \"7.5\",\n] as const;\n\nexport type Layout = (typeof LAYOUTS)[number];\nexport type Center = \"m\" | \"l\" | \"xl\" | \"2xl\" | boolean;\n\nexport type DynamicGap =\n | `${SemanticSpacing}`\n | `${SemanticSpacing} ${SemanticSpacing}`;\nexport type StaticGap =\n | `${StaticSpacing}`\n | `${StaticSpacing} ${StaticSpacing}`;\nexport type Gap = DynamicGap | StaticGap;\n\ntype FlexBaseProps = {\n alignItems?: \"normal\" | \"start\" | \"center\" | \"end\" | \"baseline\" | \"stretch\";\n alignContent?:\n | \"normal\"\n | \"start\"\n | \"center\"\n | \"end\"\n | \"stretch\"\n | \"baseline\"\n | \"space-between\"\n | \"space-around\"\n | \"space-evenly\";\n center?: Center;\n direction?: \"row\" | \"column\" | \"row-reverse\" | \"column-reverse\";\n fill?: boolean;\n gap?: Gap | Responsive<Gap>;\n inline?: boolean;\n textAlign?: \"left\" | \"right\" | \"center\";\n justifyContent?:\n | \"normal\"\n | \"start\"\n | \"center\"\n | \"end\"\n | \"space-between\"\n | \"space-around\"\n | \"space-evenly\";\n layout?: Layout | Responsive<Layout>;\n wrap?: \"wrap\" | \"nowrap\" | \"reverse\";\n};\n\nexport type FlexProps<As extends React.ElementType = \"div\"> =\n PolymorphicPropsWithRef<As, FlexBaseProps>;\n\nexport type FlexComponent = <ElementType extends React.ElementType = \"div\">(\n props: FlexProps<ElementType> & AsChildProps,\n) => React.ReactElement | null;\n"],"names":["SEMANTIC_SPACING","STATIC_SPACING","BREAKPOINTS","isResponsive","value","includes","Object","keys","LAYOUTS"],"mappings":"cAIO,MAAMA,EAAmB,CAC5B,OACA,MACA,KACA,IACA,IACA,IACA,KACA,OAGSC,EAAiB,CAC1B,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,OAGEC,EAAc,CAAC,QAAS,SAAU,QAAS,MAO1C,SAASC,EAAgBC,GAC5B,OAAOF,EAAYG,SACfC,OAAOC,KAAKH,GAAwB,GAE5C,CAEO,MAAMI,EAAU,CACnB,OACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,OACA,OACA,MACA,MACA,MACA"}
1
+ {"version":3,"file":"types.js","sources":["../../../../src/components/flex/types.ts"],"sourcesContent":["import React from \"react\";\nimport type { AsChildProps } from \"../../utilities/polymorphism/as-child.js\";\nimport type { PolymorphicPropsWithRef } from \"../../utilities/polymorphism/polymorphism.js\";\n\nexport const SEMANTIC_SPACING = [\n \"none\",\n \"2xs\",\n \"xs\",\n \"s\",\n \"m\",\n \"l\",\n \"xl\",\n \"2xl\",\n] as const;\n\nexport const STATIC_SPACING = [\n \"0\",\n \"2\",\n \"4\",\n \"8\",\n \"12\",\n \"16\",\n \"20\",\n \"24\",\n \"28\",\n \"32\",\n \"40\",\n \"48\",\n \"56\",\n \"64\",\n \"72\",\n \"80\",\n \"104\",\n \"168\",\n] as const;\n\nconst BREAKPOINTS = [\"small\", \"medium\", \"large\", \"xl\"] as const;\n\nexport type SemanticSpacing = (typeof SEMANTIC_SPACING)[number];\nexport type StaticSpacing = (typeof STATIC_SPACING)[number];\nexport type Breakpoint = (typeof BREAKPOINTS)[number];\n\nexport type Responsive<T> = Partial<Record<Breakpoint, T>>;\nexport function isResponsive<T>(value: unknown): value is Responsive<T> {\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n return false;\n }\n const keys = Object.keys(value);\n return keys.length === 0 || BREAKPOINTS.includes(keys[0] as Breakpoint);\n}\n\nexport const LAYOUTS = [\n \"auto\",\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"6\",\n \"4.8\",\n \"8.4\",\n \"2.10\",\n \"10.2\",\n \"3.9\",\n \"9.3\",\n \"5.7\",\n \"7.5\",\n] as const;\n\nexport type Layout = (typeof LAYOUTS)[number];\nexport type Center = \"m\" | \"l\" | \"xl\" | \"2xl\" | boolean;\n\nexport type DynamicGap =\n | `${SemanticSpacing}`\n | `${SemanticSpacing} ${SemanticSpacing}`;\nexport type StaticGap =\n | `${StaticSpacing}`\n | `${StaticSpacing} ${StaticSpacing}`;\nexport type Gap = DynamicGap | StaticGap;\n\ntype FlexBaseProps = {\n alignItems?: \"normal\" | \"start\" | \"center\" | \"end\" | \"baseline\" | \"stretch\";\n alignContent?:\n | \"normal\"\n | \"start\"\n | \"center\"\n | \"end\"\n | \"stretch\"\n | \"baseline\"\n | \"space-between\"\n | \"space-around\"\n | \"space-evenly\";\n center?: Center;\n direction?: \"row\" | \"column\" | \"row-reverse\" | \"column-reverse\";\n fill?: boolean;\n gap?: Gap | Responsive<Gap>;\n inline?: boolean;\n textAlign?: \"left\" | \"right\" | \"center\";\n justifyContent?:\n | \"normal\"\n | \"start\"\n | \"center\"\n | \"end\"\n | \"space-between\"\n | \"space-around\"\n | \"space-evenly\";\n layout?: Layout | Responsive<Layout>;\n wrap?: \"wrap\" | \"nowrap\" | \"reverse\";\n};\n\nexport type FlexProps<As extends React.ElementType = \"div\"> =\n PolymorphicPropsWithRef<As, FlexBaseProps>;\n\nexport type FlexComponent = <ElementType extends React.ElementType = \"div\">(\n props: FlexProps<ElementType> & AsChildProps,\n) => React.ReactElement | null;\n"],"names":["SEMANTIC_SPACING","STATIC_SPACING","BREAKPOINTS","isResponsive","value","Array","isArray","keys","Object","length","includes","LAYOUTS"],"mappings":"cAIO,MAAMA,EAAmB,CAC5B,OACA,MACA,KACA,IACA,IACA,IACA,KACA,OAGSC,EAAiB,CAC1B,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,OAGEC,EAAc,CAAC,QAAS,SAAU,QAAS,MAO1C,SAASC,EAAgBC,GAC5B,GAAqB,iBAAVA,GAAgC,OAAVA,GAAkBC,MAAMC,QAAQF,GAC7D,OAAO,EAEX,MAAMG,EAAOC,OAAOD,KAAKH,GACzB,OAAuB,IAAhBG,EAAKE,QAAgBP,EAAYQ,SAASH,EAAK,GAC1D,CAEO,MAAMI,EAAU,CACnB,OACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,OACA,OACA,MACA,MACA,MACA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fremtind/jokul",
3
- "version": "5.2.0",
3
+ "version": "5.2.2",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": "^20.19.0 || >=22.12.0"
@@ -56,14 +56,21 @@
56
56
  --border-color: var(--jkl-color-border-subdued);
57
57
  --background-color: transparent;
58
58
  }
59
- .jkl-card[data-clickable=true] {
59
+ .jkl-card:where(button) {
60
+ border: none;
61
+ outline: none;
62
+ font: inherit;
63
+ line-height: inherit;
64
+ text-align: inherit;
65
+ }
66
+ .jkl-card[data-clickable=true], .jkl-card:is(a, button:not(disabled)) {
60
67
  cursor: pointer;
61
68
  }
62
- .jkl-card[data-clickable=true]:hover {
69
+ .jkl-card[data-clickable=true]:hover, .jkl-card:is(a, button:not(disabled)):hover {
63
70
  --border-color: var(--jkl-color-border-strong);
64
71
  --border-width: 0.125rem;
65
72
  }
66
- .jkl-card[data-clickable=true]:focus-visible {
73
+ .jkl-card[data-clickable=true]:focus-visible, .jkl-card:is(a, button:not(disabled)):focus-visible {
67
74
  outline: 3px solid var(--jkl-color-border-strong);
68
75
  outline-offset: 3px;
69
76
  }
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-card{--padding-s:var(--jkl-unit-05);--padding-m:var(--jkl-unit-15);--padding-l:var(--jkl-unit-20);--padding-xl:var(--jkl-unit-30);--border-radius:var(--jkl-border-radius-m);--border-color:transparent;--border-width:0.0625rem;--background-color:var(--jkl-color-background-container);background-color:var(--background-color);border-radius:var(--border-radius);box-sizing:border-box;color:var(--jkl-color-text-default);display:block;overflow:hidden;padding:var(--padding,var(--padding-s));position:relative;text-decoration:none}.jkl-card:after{border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);content:"";inset:0;pointer-events:none;position:absolute;transition-duration:var(--jkl-motion-timing-snappy);transition-property:border-color,border-size;transition-timing-function:var(--jkl-motion-easing-standard)}@media (min-width:680px){.jkl-card{--padding-s:var(--jkl-unit-10);--padding-m:var(--jkl-unit-20);--padding-l:var(--jkl-unit-30);--padding-xl:var(--jkl-unit-40)}}.jkl-card[data-padding=s]{--padding:var(--padding-s)}.jkl-card[data-padding=m]{--padding:var(--padding-m)}.jkl-card[data-padding=l]{--padding:var(--padding-l)}.jkl-card[data-padding=xl]{--padding:var(--padding-xl)}.jkl-card--outlined{--border-color:var(--jkl-color-border-subdued);--background-color:transparent}.jkl-card[data-clickable=true]{cursor:pointer}.jkl-card[data-clickable=true]:hover{--border-color:var(--jkl-color-border-strong);--border-width:0.125rem}.jkl-card[data-clickable=true]:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-card-image{--margin:calc(var(--padding, 0)*-1);aspect-ratio:var(--image-aspect-ratio,3/2);margin-inline:var(--margin,0);object-fit:cover;width:calc(100% + var(--padding, 0)*2)}.jkl-card-image--top{margin-top:var(--margin,0)}.jkl-card-image--bottom{margin-bottom:var(--margin,0)}.jkl-card-image--full{margin-block:var(--margin,0)}}
1
+ @layer jokul.components{.jkl-card{--padding-s:var(--jkl-unit-05);--padding-m:var(--jkl-unit-15);--padding-l:var(--jkl-unit-20);--padding-xl:var(--jkl-unit-30);--border-radius:var(--jkl-border-radius-m);--border-color:transparent;--border-width:0.0625rem;--background-color:var(--jkl-color-background-container);background-color:var(--background-color);border-radius:var(--border-radius);box-sizing:border-box;color:var(--jkl-color-text-default);display:block;overflow:hidden;padding:var(--padding,var(--padding-s));position:relative;text-decoration:none}.jkl-card:after{border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);content:"";inset:0;pointer-events:none;position:absolute;transition-duration:var(--jkl-motion-timing-snappy);transition-property:border-color,border-size;transition-timing-function:var(--jkl-motion-easing-standard)}@media (min-width:680px){.jkl-card{--padding-s:var(--jkl-unit-10);--padding-m:var(--jkl-unit-20);--padding-l:var(--jkl-unit-30);--padding-xl:var(--jkl-unit-40)}}.jkl-card[data-padding=s]{--padding:var(--padding-s)}.jkl-card[data-padding=m]{--padding:var(--padding-m)}.jkl-card[data-padding=l]{--padding:var(--padding-l)}.jkl-card[data-padding=xl]{--padding:var(--padding-xl)}.jkl-card--outlined{--border-color:var(--jkl-color-border-subdued);--background-color:transparent}.jkl-card:where(button){border:none;font:inherit;line-height:inherit;outline:none;text-align:inherit}.jkl-card:is(a,button:not(disabled)),.jkl-card[data-clickable=true]{cursor:pointer}.jkl-card:is(a,button:not(disabled)):hover,.jkl-card[data-clickable=true]:hover{--border-color:var(--jkl-color-border-strong);--border-width:0.125rem}.jkl-card:is(a,button:not(disabled)):focus-visible,.jkl-card[data-clickable=true]:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-card-image{--margin:calc(var(--padding, 0)*-1);aspect-ratio:var(--image-aspect-ratio,3/2);margin-inline:var(--margin,0);object-fit:cover;width:calc(100% + var(--padding, 0)*2)}.jkl-card-image--top{margin-top:var(--margin,0)}.jkl-card-image--bottom{margin-bottom:var(--margin,0)}.jkl-card-image--full{margin-block:var(--margin,0)}}
@@ -61,7 +61,16 @@
61
61
  --background-color: transparent;
62
62
  }
63
63
 
64
- &[data-clickable="true"] {
64
+ &:where(button) {
65
+ border: none;
66
+ outline: none;
67
+ font: inherit;
68
+ line-height: inherit;
69
+ text-align: inherit;
70
+ }
71
+
72
+ &[data-clickable="true"],
73
+ &:is(a, button:not(disabled)) {
65
74
  cursor: pointer;
66
75
 
67
76
  &:hover {
@@ -68,7 +68,6 @@
68
68
  border-radius: var(--jkl-border-radius-s);
69
69
  box-sizing: border-box;
70
70
  max-width: 100%;
71
- overflow: hidden;
72
71
  position: relative;
73
72
  display: flex;
74
73
  align-items: center;
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-combobox{--jkl-combobox-button-padding:var(--jkl-unit-10);--jkl-combobox-button-active-value-padding:var(--jkl-unit-10) var(--jkl-unit-05) var(--jkl-unit-5) var(--jkl-unit-10);--jkl-combobox-input-height:3rem;--jkl-combobox-actions-right:var(--jkl-unit-10);--jkl-combobox-actions-top:var(--jkl-unit-05);--jkl-combobox-chips-gap:var(--jkl-unit-05);--jkl-combobox-search-input-padding:var(--jkl-combobox-button-padding);--jkl-combobox-native-padding:0 var(--jkl-unit-50) 0 var(--jkl-unit-10);--jkl-combobox-option-padding:var(--jkl-unit-10);--jkl-combobox-option-height:min(var(--jkl-unit-60),3rem);--jkl-combobox-search-input-height:1.75rem}@media (width >= 0) and (max-width:679px){.jkl-combobox{--jkl-combobox-input-height:2.75rem}}.jkl-combobox{border-style:none;outline:0;outline-style:none;position:relative}.jkl-combobox:active,.jkl-combobox:focus,.jkl-combobox:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-combobox{border-style:revert;outline:revert;outline-style:revert}.jkl-combobox:active,.jkl-combobox:focus,.jkl-combobox:hover{outline:revert;outline-style:revert}}.jkl-combobox .jkl-combobox__option:focus{outline:none}.jkl-combobox__wrapper{cursor:pointer;gap:1ch;--jkl-text-input-padding:var(--jkl-text-input-vertical-padding) var(--jkl-text-input-horizontal-padding);--jkl-text-input-vertical-padding:var(--jkl-unit-15);--jkl-text-input-horizontal-padding:var(--jkl-unit-15);--jkl-text-input-action-button-size:var(--jkl-unit-60);--jkl-text-input-action-button-icon-size:var(--jkl-unit-30);--jkl-text-input-action-button-padding:var(--jkl-unit-10) 0;--jkl-text-input-action-button-focus-position:var(--jkl-unit-05);--text-color:var(--jkl-color-text-default);--background-color:transparent;--border-color:var(--jkl-color-border-default);--placeholder-color:var(--jkl-color-text-subdued);align-items:center;background-color:var(--background-color);border-radius:var(--jkl-border-radius-s);box-shadow:inset 0 0 0 .0625rem var(--border-color),0 0 0 .0625rem transparent;box-sizing:border-box;color:var(--text-color);display:flex;font:var(--jkl-text-style-text-medium);max-width:100%;overflow:hidden;position:relative;transition-duration:var(--jkl-motion-timing-productive);transition-property:color,box-shadow,background-color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-combobox__wrapper:focus-within,.jkl-combobox__wrapper:has([data-focused=true]){--background-color:var(--jkl-color-background-container)}.jkl-combobox__wrapper[data-invalid=true]:not(:focus-within):not(:has([data-focused=true])){--text-color:var(--jkl-color-error-text-default);--border-color:var(--jkl-color-error-border-default);--placeholder-color:var(--jkl-color-error-text-subdued)}.jkl-combobox__wrapper:focus-within,.jkl-combobox__wrapper:has([data-focused=true]),.jkl-combobox__wrapper:hover{--border-color:var(--jkl-color-border-strong);box-shadow:inset 0 0 0 .0625rem var(--border-color),0 0 0 .0625rem var(--border-color)}@media screen and (forced-colors:active){.jkl-combobox__wrapper:focus-within,.jkl-combobox__wrapper:has([data-focused=true]),.jkl-combobox__wrapper:hover{border:.125rem solid ButtonText}}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-combobox__wrapper:has(.jkl-text-area__text-area:focus-visible),html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-combobox__wrapper:has(.jkl-text-input__input:focus-visible){outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-combobox__wrapper>.jkl-icon-button:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:-8px}@media screen and (forced-colors:active){.jkl-combobox__wrapper>.jkl-icon-button:focus-visible{--border-color:ButtonText}}.jkl-combobox__wrapper>.jkl-text-input-action-button{align-items:center;box-sizing:border-box;display:flex;flex-shrink:0;height:var(--jkl-text-input-action-button-size);justify-content:center;padding:var(--jkl-text-input-action-button-padding);width:var(--jkl-text-input-action-button-size);-webkit-margin-start:calc(var(--jkl-text-input-horizontal-padding)*-1);margin-inline-start:calc(var(--jkl-text-input-horizontal-padding)*-1)}.jkl-combobox__wrapper>.jkl-text-input-action-button .jkl-icon-button__icon{height:var(--jkl-text-input-action-button-icon-size);width:var(--jkl-text-input-action-button-icon-size)}.jkl-combobox__wrapper>.jkl-text-input-action-button:hover{color:var(--jkl-color-text-subdued)}@media screen and (forced-colors:active){.jkl-combobox__wrapper>.jkl-text-input-action-button:hover{border:.125rem inset ButtonText}}@media screen and (forced-colors:active){.jkl-combobox__wrapper{border:.125rem inset ButtonText}}.jkl-combobox__wrapper--active-value .jkl-combobox__chips{padding:.46875rem}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-combobox__wrapper:has(:focus-visible){background-color:var(--jkl-color-background-container);outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-combobox__wrapper:has(.jkl-icon-button:focus-visible){outline:none}.jkl-combobox__wrapper:hover~.jkl-combobox__arrow{transform:translateY(calc(-50% + .1875rem))}.jkl-combobox__search-input{-webkit-appearance:none;background:none;border:none;border-style:none;color:inherit;flex:1 1 1ch;font:var(--jkl-text-style-text-medium);max-height:var(--jkl-combobox-search-input-height);min-width:0;outline:none;outline:0;outline-style:none;padding:0}.jkl-combobox__search-input:active,.jkl-combobox__search-input:focus,.jkl-combobox__search-input:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-combobox__search-input{border-style:revert;outline:revert;outline-style:revert}.jkl-combobox__search-input:active,.jkl-combobox__search-input:focus,.jkl-combobox__search-input:hover{outline:revert;outline-style:revert}}.jkl-combobox__search-input input[type=number]::-webkit-inner-spin-button,.jkl-combobox__search-input input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.jkl-combobox__search-input input[type=number]{-moz-appearance:textfield}@media screen and (forced-colors:active){.jkl-combobox__search-input{border:none;outline:none}.jkl-combobox__search-input:focus-visible{outline:none}}.jkl-combobox__search-input::placeholder{color:var(--placeholder-color);opacity:1}.jkl-combobox__arrow{pointer-events:none;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-combobox__arrow,.jkl-combobox__arrow path,.jkl-combobox__arrow svg{fill:CanvasText;stroke:CanvasText}}.jkl-combobox__menu{background-color:var(--jkl-color-background-container);border:.125rem solid var(--jkl-color-border-strong);border-radius:0 0 .1875rem .1875rem;box-sizing:border-box;left:-.0625rem;max-height:calc((var(--jkl-combobox-max-shown-options, 5) + .5)*var(--jkl-combobox-input-height));overflow-y:auto;position:absolute;right:-.0625rem;top:calc(100% - 1px);transition-duration:var(--jkl-motion-timing-productive);transition-property:height;transition-timing-function:var(--jkl-motion-easing-standard);z-index:7000}.jkl-combobox__option{align-items:center;background-color:transparent;border:0;color:var(--jkl-color-text-default);display:flex;font:var(--jkl-text-style-text-small);min-height:var(--jkl-combobox-option-height);padding:var(--jkl-combobox-option-padding);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-combobox__option:focus,.jkl-combobox__option:hover{background-color:var(--jkl-color-background-container-accent)}.jkl-combobox__option-description{color:var(--jkl-color-text-subdued);display:block;font:var(--jkl-text-style-text-small);width:100%}.jkl-combobox__option--selected{justify-content:space-between}.jkl-combobox__no-option{padding:var(--jkl-combobox-option-padding)}.jkl-combobox__chips{align-items:center;box-sizing:border-box;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:var(--jkl-combobox-chips-gap);min-width:0;padding:var(--jkl-text-input-padding)}.jkl-combobox__chips .jkl-chip{white-space:break-spaces}.jkl-combobox__chips .jkl-chip .jkl-tooltip-trigger{font-weight:700}.jkl-combobox--invalid .jkl-combobox__button,.jkl-combobox--invalid .jkl-combobox__search-input,.jkl-combobox--invalid .jkl-combobox__wrapper{color:var(--jkl-color-error-text-default)}.jkl-combobox--menu-closed .jkl-combobox__search-input{background-color:transparent;padding-right:0;position:absolute;width:94%}.jkl-combobox--menu-open .jkl-combobox__wrapper{border-bottom-left-radius:0;border-bottom-right-radius:0}.jkl-combobox--menu-open .jkl-combobox__wrapper:hover .jkl-combobox__actions{transform:translateY(-.1875rem)}.jkl-combobox--menu-open .jkl-combobox__search-input{cursor:text}}
1
+ @layer jokul.components{.jkl-combobox{--jkl-combobox-button-padding:var(--jkl-unit-10);--jkl-combobox-button-active-value-padding:var(--jkl-unit-10) var(--jkl-unit-05) var(--jkl-unit-5) var(--jkl-unit-10);--jkl-combobox-input-height:3rem;--jkl-combobox-actions-right:var(--jkl-unit-10);--jkl-combobox-actions-top:var(--jkl-unit-05);--jkl-combobox-chips-gap:var(--jkl-unit-05);--jkl-combobox-search-input-padding:var(--jkl-combobox-button-padding);--jkl-combobox-native-padding:0 var(--jkl-unit-50) 0 var(--jkl-unit-10);--jkl-combobox-option-padding:var(--jkl-unit-10);--jkl-combobox-option-height:min(var(--jkl-unit-60),3rem);--jkl-combobox-search-input-height:1.75rem}@media (width >= 0) and (max-width:679px){.jkl-combobox{--jkl-combobox-input-height:2.75rem}}.jkl-combobox{border-style:none;outline:0;outline-style:none;position:relative}.jkl-combobox:active,.jkl-combobox:focus,.jkl-combobox:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-combobox{border-style:revert;outline:revert;outline-style:revert}.jkl-combobox:active,.jkl-combobox:focus,.jkl-combobox:hover{outline:revert;outline-style:revert}}.jkl-combobox .jkl-combobox__option:focus{outline:none}.jkl-combobox__wrapper{cursor:pointer;gap:1ch;--jkl-text-input-padding:var(--jkl-text-input-vertical-padding) var(--jkl-text-input-horizontal-padding);--jkl-text-input-vertical-padding:var(--jkl-unit-15);--jkl-text-input-horizontal-padding:var(--jkl-unit-15);--jkl-text-input-action-button-size:var(--jkl-unit-60);--jkl-text-input-action-button-icon-size:var(--jkl-unit-30);--jkl-text-input-action-button-padding:var(--jkl-unit-10) 0;--jkl-text-input-action-button-focus-position:var(--jkl-unit-05);--text-color:var(--jkl-color-text-default);--background-color:transparent;--border-color:var(--jkl-color-border-default);--placeholder-color:var(--jkl-color-text-subdued);align-items:center;background-color:var(--background-color);border-radius:var(--jkl-border-radius-s);box-shadow:inset 0 0 0 .0625rem var(--border-color),0 0 0 .0625rem transparent;box-sizing:border-box;color:var(--text-color);display:flex;font:var(--jkl-text-style-text-medium);max-width:100%;position:relative;transition-duration:var(--jkl-motion-timing-productive);transition-property:color,box-shadow,background-color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-combobox__wrapper:focus-within,.jkl-combobox__wrapper:has([data-focused=true]){--background-color:var(--jkl-color-background-container)}.jkl-combobox__wrapper[data-invalid=true]:not(:focus-within):not(:has([data-focused=true])){--text-color:var(--jkl-color-error-text-default);--border-color:var(--jkl-color-error-border-default);--placeholder-color:var(--jkl-color-error-text-subdued)}.jkl-combobox__wrapper:focus-within,.jkl-combobox__wrapper:has([data-focused=true]),.jkl-combobox__wrapper:hover{--border-color:var(--jkl-color-border-strong);box-shadow:inset 0 0 0 .0625rem var(--border-color),0 0 0 .0625rem var(--border-color)}@media screen and (forced-colors:active){.jkl-combobox__wrapper:focus-within,.jkl-combobox__wrapper:has([data-focused=true]),.jkl-combobox__wrapper:hover{border:.125rem solid ButtonText}}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-combobox__wrapper:has(.jkl-text-area__text-area:focus-visible),html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-combobox__wrapper:has(.jkl-text-input__input:focus-visible){outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-combobox__wrapper>.jkl-icon-button:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:-8px}@media screen and (forced-colors:active){.jkl-combobox__wrapper>.jkl-icon-button:focus-visible{--border-color:ButtonText}}.jkl-combobox__wrapper>.jkl-text-input-action-button{align-items:center;box-sizing:border-box;display:flex;flex-shrink:0;height:var(--jkl-text-input-action-button-size);justify-content:center;padding:var(--jkl-text-input-action-button-padding);width:var(--jkl-text-input-action-button-size);-webkit-margin-start:calc(var(--jkl-text-input-horizontal-padding)*-1);margin-inline-start:calc(var(--jkl-text-input-horizontal-padding)*-1)}.jkl-combobox__wrapper>.jkl-text-input-action-button .jkl-icon-button__icon{height:var(--jkl-text-input-action-button-icon-size);width:var(--jkl-text-input-action-button-icon-size)}.jkl-combobox__wrapper>.jkl-text-input-action-button:hover{color:var(--jkl-color-text-subdued)}@media screen and (forced-colors:active){.jkl-combobox__wrapper>.jkl-text-input-action-button:hover{border:.125rem inset ButtonText}}@media screen and (forced-colors:active){.jkl-combobox__wrapper{border:.125rem inset ButtonText}}.jkl-combobox__wrapper--active-value .jkl-combobox__chips{padding:.46875rem}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-combobox__wrapper:has(:focus-visible){background-color:var(--jkl-color-background-container);outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-combobox__wrapper:has(.jkl-icon-button:focus-visible){outline:none}.jkl-combobox__wrapper:hover~.jkl-combobox__arrow{transform:translateY(calc(-50% + .1875rem))}.jkl-combobox__search-input{-webkit-appearance:none;background:none;border:none;border-style:none;color:inherit;flex:1 1 1ch;font:var(--jkl-text-style-text-medium);max-height:var(--jkl-combobox-search-input-height);min-width:0;outline:none;outline:0;outline-style:none;padding:0}.jkl-combobox__search-input:active,.jkl-combobox__search-input:focus,.jkl-combobox__search-input:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-combobox__search-input{border-style:revert;outline:revert;outline-style:revert}.jkl-combobox__search-input:active,.jkl-combobox__search-input:focus,.jkl-combobox__search-input:hover{outline:revert;outline-style:revert}}.jkl-combobox__search-input input[type=number]::-webkit-inner-spin-button,.jkl-combobox__search-input input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.jkl-combobox__search-input input[type=number]{-moz-appearance:textfield}@media screen and (forced-colors:active){.jkl-combobox__search-input{border:none;outline:none}.jkl-combobox__search-input:focus-visible{outline:none}}.jkl-combobox__search-input::placeholder{color:var(--placeholder-color);opacity:1}.jkl-combobox__arrow{pointer-events:none;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-combobox__arrow,.jkl-combobox__arrow path,.jkl-combobox__arrow svg{fill:CanvasText;stroke:CanvasText}}.jkl-combobox__menu{background-color:var(--jkl-color-background-container);border:.125rem solid var(--jkl-color-border-strong);border-radius:0 0 .1875rem .1875rem;box-sizing:border-box;left:-.0625rem;max-height:calc((var(--jkl-combobox-max-shown-options, 5) + .5)*var(--jkl-combobox-input-height));overflow-y:auto;position:absolute;right:-.0625rem;top:calc(100% - 1px);transition-duration:var(--jkl-motion-timing-productive);transition-property:height;transition-timing-function:var(--jkl-motion-easing-standard);z-index:7000}.jkl-combobox__option{align-items:center;background-color:transparent;border:0;color:var(--jkl-color-text-default);display:flex;font:var(--jkl-text-style-text-small);min-height:var(--jkl-combobox-option-height);padding:var(--jkl-combobox-option-padding);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-combobox__option:focus,.jkl-combobox__option:hover{background-color:var(--jkl-color-background-container-accent)}.jkl-combobox__option-description{color:var(--jkl-color-text-subdued);display:block;font:var(--jkl-text-style-text-small);width:100%}.jkl-combobox__option--selected{justify-content:space-between}.jkl-combobox__no-option{padding:var(--jkl-combobox-option-padding)}.jkl-combobox__chips{align-items:center;box-sizing:border-box;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:var(--jkl-combobox-chips-gap);min-width:0;padding:var(--jkl-text-input-padding)}.jkl-combobox__chips .jkl-chip{white-space:break-spaces}.jkl-combobox__chips .jkl-chip .jkl-tooltip-trigger{font-weight:700}.jkl-combobox--invalid .jkl-combobox__button,.jkl-combobox--invalid .jkl-combobox__search-input,.jkl-combobox--invalid .jkl-combobox__wrapper{color:var(--jkl-color-error-text-default)}.jkl-combobox--menu-closed .jkl-combobox__search-input{background-color:transparent;padding-right:0;position:absolute;width:94%}.jkl-combobox--menu-open .jkl-combobox__wrapper{border-bottom-left-radius:0;border-bottom-right-radius:0}.jkl-combobox--menu-open .jkl-combobox__wrapper:hover .jkl-combobox__actions{transform:translateY(-.1875rem)}.jkl-combobox--menu-open .jkl-combobox__search-input{cursor:text}}
@@ -26,10 +26,10 @@
26
26
  }
27
27
  }
28
28
  .jkl-countdown__tracker {
29
- animation: jkl-downcount-uy4z4c5 var(--duration) linear forwards;
29
+ animation: jkl-downcount-uqserer var(--duration) linear forwards;
30
30
  animation-play-state: var(--play-state, running);
31
31
  }
32
- @keyframes jkl-downcount-uy4z4c5 {
32
+ @keyframes jkl-downcount-uqserer {
33
33
  from {
34
34
  width: 100%;
35
35
  }
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-countdown{--track-color:var(--jkl-color-border-subdued);--bar-color:var(--jkl-color-border-strong);--bar-height:0.25rem;background-color:var(--track-color);border-radius:6.25rem;height:var(--bar-height);overflow:hidden;width:100%}.jkl-countdown__tracker{background-color:var(--bar-color);display:block;height:var(--bar-height)}@media screen and (forced-colors:active){.jkl-countdown{background-color:Canvas}.jkl-countdown__tracker{background-color:CanvasText}}.jkl-countdown__tracker{animation:jkl-downcount-uy4z4c5 var(--duration) linear forwards;animation-play-state:var(--play-state,running)}@keyframes jkl-downcount-uy4z4c5{0%{width:100%}to{width:0}}}
1
+ @layer jokul.components{.jkl-countdown{--track-color:var(--jkl-color-border-subdued);--bar-color:var(--jkl-color-border-strong);--bar-height:0.25rem;background-color:var(--track-color);border-radius:6.25rem;height:var(--bar-height);overflow:hidden;width:100%}.jkl-countdown__tracker{background-color:var(--bar-color);display:block;height:var(--bar-height)}@media screen and (forced-colors:active){.jkl-countdown{background-color:Canvas}.jkl-countdown__tracker{background-color:CanvasText}}.jkl-countdown__tracker{animation:jkl-downcount-uqserer var(--duration) linear forwards;animation-play-state:var(--play-state,running)}@keyframes jkl-downcount-uqserer{0%{width:100%}to{width:0}}}
@@ -20,12 +20,12 @@
20
20
  font: var(--jkl-text-style-paragraph-small);
21
21
  }
22
22
  .jkl-feedback__fade-in {
23
- animation: jkl-show-umeguqz 0.25s ease-out;
23
+ animation: jkl-show-u68ek6p 0.25s ease-out;
24
24
  }
25
25
  .jkl-feedback__buttons {
26
26
  display: flex;
27
27
  }
28
- @keyframes jkl-show-umeguqz {
28
+ @keyframes jkl-show-u68ek6p {
29
29
  from {
30
30
  transform: translate3d(0, 0.5rem, 0);
31
31
  opacity: 0;
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-feedback{max-width:34.375rem}.jkl-feedback__submit-wrapper{transition-duration:var(--jkl-motion-timing-expressive);transition-property:height;transition-timing-function:var(--jkl-motion-easing-standard);width:100%}.jkl-feedback__submit-wrapper--hidden{display:none}.jkl-feedback__step-counter{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-paragraph-small);margin-bottom:var(--jkl-unit-20)}.jkl-feedback__fade-in{animation:jkl-show-umeguqz .25s ease-out}.jkl-feedback__buttons{display:flex}@keyframes jkl-show-umeguqz{0%{opacity:0;transform:translate3d(0,.5rem,0)}}.jkl-feedback-smileys{display:flex;flex-wrap:nowrap;gap:var(--jkl-spacing-12);justify-content:space-between;margin-top:var(--jkl-unit-10);max-width:22.5rem;width:100%}.jkl-feedback-smiley-option{color:var(--jkl-color-text-subdued);cursor:pointer;display:inline-block;height:2.5rem;position:relative;transform:translateZ(0);transition-duration:var(--jkl-motion-timing-productive);transition-property:transform,color;transition-timing-function:var(--jkl-motion-easing-standard);width:2.5rem}@media screen and (forced-colors:active){.jkl-feedback-smiley-option,.jkl-feedback-smiley-option path,.jkl-feedback-smiley-option svg{fill:ButtonText;stroke:ButtonFace}}.jkl-feedback-smiley-option:after,.jkl-feedback-smiley-option:before{border-radius:50%;content:"";opacity:0;position:absolute;transition-duration:var(--jkl-motion-timing-productive);transition-property:opacity;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-feedback-smiley-option:before{box-shadow:0 .125rem 1.875rem rgba(0,0,0,.1);inset:0}.jkl-feedback-smiley-option:hover{color:var(--jkl-color-text-default)}input:checked+.jkl-feedback-smiley-option{color:var(--jkl-color-text-default);transform:translate3d(0,-20%,0)}input:checked+.jkl-feedback-smiley-option:before{opacity:1}input:focus-visible+.jkl-feedback-smiley-option{border-radius:var(--jkl-border-radius-full);outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}}
1
+ @layer jokul.components{.jkl-feedback{max-width:34.375rem}.jkl-feedback__submit-wrapper{transition-duration:var(--jkl-motion-timing-expressive);transition-property:height;transition-timing-function:var(--jkl-motion-easing-standard);width:100%}.jkl-feedback__submit-wrapper--hidden{display:none}.jkl-feedback__step-counter{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-paragraph-small);margin-bottom:var(--jkl-unit-20)}.jkl-feedback__fade-in{animation:jkl-show-u68ek6p .25s ease-out}.jkl-feedback__buttons{display:flex}@keyframes jkl-show-u68ek6p{0%{opacity:0;transform:translate3d(0,.5rem,0)}}.jkl-feedback-smileys{display:flex;flex-wrap:nowrap;gap:var(--jkl-spacing-12);justify-content:space-between;margin-top:var(--jkl-unit-10);max-width:22.5rem;width:100%}.jkl-feedback-smiley-option{color:var(--jkl-color-text-subdued);cursor:pointer;display:inline-block;height:2.5rem;position:relative;transform:translateZ(0);transition-duration:var(--jkl-motion-timing-productive);transition-property:transform,color;transition-timing-function:var(--jkl-motion-easing-standard);width:2.5rem}@media screen and (forced-colors:active){.jkl-feedback-smiley-option,.jkl-feedback-smiley-option path,.jkl-feedback-smiley-option svg{fill:ButtonText;stroke:ButtonFace}}.jkl-feedback-smiley-option:after,.jkl-feedback-smiley-option:before{border-radius:50%;content:"";opacity:0;position:absolute;transition-duration:var(--jkl-motion-timing-productive);transition-property:opacity;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-feedback-smiley-option:before{box-shadow:0 .125rem 1.875rem rgba(0,0,0,.1);inset:0}.jkl-feedback-smiley-option:hover{color:var(--jkl-color-text-default)}input:checked+.jkl-feedback-smiley-option{color:var(--jkl-color-text-default);transform:translate3d(0,-20%,0)}input:checked+.jkl-feedback-smiley-option:before{opacity:1}input:focus-visible+.jkl-feedback-smiley-option{border-radius:var(--jkl-border-radius-full);outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}}
@@ -351,22 +351,22 @@
351
351
  animation: 2500ms linear infinite;
352
352
  }
353
353
  .jkl-loader__dot--left {
354
- animation-name: jkl-loader-left-spin-umg2h9s;
354
+ animation-name: jkl-loader-left-spin-uuawhf8;
355
355
  margin-right: calc(var(--jkl-loader-spacing) * 0.9);
356
356
  }
357
357
  .jkl-loader__dot--middle {
358
- animation-name: jkl-loader-middle-spin-umg2ha0;
358
+ animation-name: jkl-loader-middle-spin-uuawhg7;
359
359
  margin-right: var(--jkl-loader-spacing);
360
360
  }
361
361
  .jkl-loader__dot--right {
362
- animation-name: jkl-loader-right-spin-umg2haj;
362
+ animation-name: jkl-loader-right-spin-uuawhgv;
363
363
  }
364
364
  @media screen and (forced-colors: active) {
365
365
  .jkl-loader__dot {
366
366
  background-color: CanvasText;
367
367
  }
368
368
  }
369
- @keyframes jkl-loader-left-spin-umg2h9s {
369
+ @keyframes jkl-loader-left-spin-uuawhf8 {
370
370
  0% {
371
371
  transform: rotate(0) scale(0);
372
372
  }
@@ -380,7 +380,7 @@
380
380
  transform: rotate(180deg) scale(0);
381
381
  }
382
382
  }
383
- @keyframes jkl-loader-middle-spin-umg2ha0 {
383
+ @keyframes jkl-loader-middle-spin-uuawhg7 {
384
384
  0% {
385
385
  transform: rotate(20deg) scale(0);
386
386
  }
@@ -397,7 +397,7 @@
397
397
  transform: rotate(200deg) scale(0);
398
398
  }
399
399
  }
400
- @keyframes jkl-loader-right-spin-umg2haj {
400
+ @keyframes jkl-loader-right-spin-uuawhgv {
401
401
  0% {
402
402
  transform: rotate(40deg) scale(0);
403
403
  }
@@ -437,7 +437,7 @@
437
437
  @media screen and (forced-colors: active) {
438
438
  .jkl-skeleton-element {
439
439
  border: 1px solid CanvasText;
440
- animation: 2s ease infinite jkl-blink-umg2haq;
440
+ animation: 2s ease infinite jkl-blink-uuawhhg;
441
441
  }
442
442
  }
443
443
  .jkl-skeleton-input {
@@ -485,10 +485,10 @@
485
485
  }
486
486
  @media screen and (forced-colors: active) {
487
487
  .jkl-skeleton-table {
488
- animation: 2s ease-in-out infinite jkl-blink-umg2haq;
488
+ animation: 2s ease-in-out infinite jkl-blink-uuawhhg;
489
489
  }
490
490
  }
491
- @keyframes jkl-blink-umg2haq {
491
+ @keyframes jkl-blink-uuawhhg {
492
492
  0% {
493
493
  opacity: 1;
494
494
  }
@@ -1 +1 @@
1
- @charset "UTF-8";@layer jokul.components{.jkl-file{--jkl-file-padding:var(--jkl-unit-10);--jkl-file-thumbnail-width:var(--jkl-unit-70);--jkl-file-thumbnail-max-height:var(--jkl-unit-90);--jkl-file-thumbnail-aspect-ratio:1;--jkl-file-gap:var(--jkl-unit-10) var(--jkl-unit-20);--jkl-file-button-width:var(--jkl-unit-50);--text-color:var(--jkl-color-text-default);--border:1px solid var(--jkl-color-border-subdued);--border-radius:2px;--bg:transparent;--transition-time:var(--jkl-motion-timing-expressive)}.jkl-file__content{align-items:center;background:var(--bg);border:var(--border);border-radius:var(--border-radius);color:var(--text-color);display:grid;gap:var(--jkl-file-gap);grid-template-areas:"image text button";grid-template-columns:var(--jkl-file-thumbnail-width) 1fr var(--jkl-file-button-width);height:-webkit-fit-content;height:fit-content;padding:var(--jkl-file-padding);transition-duration:var(--jkl-motion-timing-snappy);transition-property:background-color,border-color,color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-file__content__name{font:var(--jkl-text-style-paragraph-small);grid-area:text;word-break:break-word}.jkl-file__content__name__size{word-break:keep-all}.jkl-file__content__delete{aspect-ratio:1;grid-area:button}.jkl-file__content__thumbnail{align-items:center;anchor-name:--thumb;aspect-ratio:var(--jkl-file-thumbnail-aspect-ratio);background:var(--jkl-color-background-page);border-radius:2px;container-type:inline-size;display:flex;grid-area:image;justify-content:center;max-height:var(--jkl-file-thumbnail-max-height);object-fit:cover;overflow:hidden;position:relative;width:100%;anchor-scope:all;outline:1px solid color-mix(in srgb,currentColor 3%,transparent)}.jkl-file__content__thumbnail:after,.jkl-file__content__thumbnail:before{position:absolute;z-index:1}.jkl-file__content__thumbnail:after{animation:spin 5s linear infinite forwards;aspect-ratio:1;background:var(--text-color);border-radius:1px;content:""/"Laster opp";height:25%;position-anchor:--thumb;position-area:center;scale:0;transition:display var(--transition-time) allow-discrete ease-in,scale var(--transition-time) ease-in}@starting-style{.jkl-file__content__thumbnail:after{scale:0}}.jkl-file__content__thumbnail img{opacity:1;transition:opacity var(--transition-time) ease-in-out}.jkl-file__content__thumbnail img[src]{height:100%;object-fit:cover;width:100%}.jkl-file[class*=card]{--jkl-file-thumbnail-width:100%;--jkl-file-thumbnail-aspect-ratio:16/9}.jkl-file[class*=card] .jkl-file__content{grid-template-areas:"image image" "text button";grid-template-columns:1fr var(--jkl-file-button-width);grid-template-rows:var(--jkl-file-thumbnail-max-height) auto}.jkl-file:not([data-state*=loading]) .jkl-file__content__thumbnail:not(:has(img[src])):before{content:attr(data-filetype);font:var(--jkl-text-style-paragraph-small)}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail img{opacity:0}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail:after{display:block;scale:1}.jkl-file[data-state=error]{--bg:var(--jkl-color-error-background-container)}.jkl-file[data-state=error],.jkl-file[data-state=error] a,.jkl-file[data-state=error] a:hover,.jkl-file[data-state=error] button,.jkl-file[data-state=error] span{--text-color:var(--jkl-color-error-text-default);--link-color:var(--text-color);--jkl-color-border-strong:currentColor}.jkl-file[data-state=error] .jkl-file__content{border-color:var(--jkl-color-error-border-default)}@keyframes spin{0%{transform:rotate(0turn)}to{transform:rotate(1turn)}}}@layer jokul.components{.jkl-link{--link-color:var(--jkl-color-text-accent);color:var(--link-color);outline:none;text-decoration:none;transition-duration:var(--jkl-motion-timing-energetic);transition-property:color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-link__content{text-decoration:underline;-webkit-text-decoration-color:rgb(from currentColor r g b/70%);text-decoration-color:rgb(from currentColor r g b/70%);text-decoration-thickness:.05em;text-underline-offset:.08lh}.jkl-link:after{--jkl-icon-fill:0;--jkl-icon-size:1em;-webkit-margin-before:-.1em;margin-block-start:-.1em;-webkit-padding-start:.2em;display:inline-block;flex-shrink:0;font-family:var(--jkl-font-family-icons);font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0);font-weight:400;line-height:1;padding-inline-start:.2em;vertical-align:middle;-webkit-font-smoothing:antialiased;display:inline;transition-duration:var(--jkl-motion-timing-energetic);transition-property:font-variation-settings,transform;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-link--external:after,.jkl-link[target=_blank]:after{content:"\e89e"/"(Åpnes i ny fane)"}.jkl-link[download]:after{content:"\f090"/"(Last ned fil)"}.jkl-link:hover:not(:focus){--link-color:var(--jkl-color-text-subdued)}.jkl-link:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:0}@media screen and (forced-colors:active){.jkl-link:hover:not(:focus){--link-color:HighLight}}button.jkl-link{-webkit-appearance:none;appearance:none;background:none;border:0;font:inherit;margin:0;padding:0;text-align:inherit}.jkl-button{--jkl-button-font-size:var(--jkl-typography-body-base-font-size);--jkl-button-line-height:var(--jkl-typography-body-base-line-height);--jkl-button-padding-block:var(--jkl-unit-10);--jkl-button-padding-text:var(--jkl-unit-30);--jkl-button-padding-icon:var(--jkl-unit-20);--jkl-button-padding-icon-button:var(--jkl-unit-10);--jkl-button-tertiary-padding-icon:var(--jkl-unit-05);--jkl-button-text-ink-offset:0.1em;--button-min-width:9ch;--jkl-icon-weight:var(--jkl-icon-weight-bold);--text-color:var(--jkl-color-text-default);--background-color:transparent;--border-radius:0;--border-width:0.0625rem;background:var(--background-color);border:unset;color:var(--text-color);display:inline-block;font:var(--jkl-text-style-text-medium);font-weight:var(--jkl-font-weight-bold);text-decoration:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;animation:a .3s linear;border-radius:var(--border-radius);max-width:100%;overflow:hidden;padding-block:var(--jkl-button-padding-block);padding-inline:var(--jkl-button-padding-text);position:relative;transition-duration:var(--jkl-motion-timing-productive);transition-property:background-color;transition-timing-function:var(--jkl-motion-easing-standard)}}@layer jokul.components{.jkl-button:has(.jkl-button__text){min-width:var(--button-min-width)}.jkl-button:has(.jkl-button__text):has(.jkl-icon){min-width:auto}.jkl-button:has(.jkl-icon:first-child){-webkit-padding-start:var(--jkl-button-padding-icon);padding-inline-start:var(--jkl-button-padding-icon)}.jkl-button:has(.jkl-icon:last-child){-webkit-padding-end:var(--jkl-button-padding-icon);padding-inline-end:var(--jkl-button-padding-icon)}.jkl-button:has(.jkl-icon:first-child):has(.jkl-icon:last-child){padding-inline:var(--jkl-button-padding-icon-button)}.jkl-button__label{align-items:center;display:flex;flex-direction:row;gap:var(--jkl-unit-02);justify-content:center;pointer-events:none;transition-duration:var(--jkl-motion-timing-expressive);transition-property:translate;transition-timing-function:var(--jkl-motion-easing-standard);width:100%}.jkl-button__loader{left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transition-duration:var(--jkl-motion-timing-expressive);transition-property:opacity,translate;transition-timing-function:var(--jkl-motion-easing-standard);translate:-50% 350%}.jkl-button__text{display:block;max-width:100%;min-width:0;-webkit-padding-before:var(--jkl-button-text-ink-offset);padding-block-start:var(--jkl-button-text-ink-offset);-webkit-margin-before:calc(var(--jkl-button-text-ink-offset)*-1);margin-block-start:calc(var(--jkl-button-text-ink-offset)*-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jkl-button[data-loading=true] .jkl-button__label{--button-loading-offset:calc(-100% - var(--jkl-button-padding-block)*2 - var(--jkl-button-text-ink-offset));translate:0 var(--button-loading-offset)}.jkl-button[data-loading=true] .jkl-button__loader{opacity:1;translate:-50% -50%}.jkl-button:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-button:hover{background-color:color-mix(in srgb,var(--background-color),var(--text-color) 15%)}@media (forced-colors:active){.jkl-button:hover{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}}.jkl-button--ghost,.jkl-button--primary,.jkl-button--secondary{--border-radius:999px}.jkl-button--primary{--background-color:var(--jkl-color-background-contrast);--text-color:var(--jkl-color-text-on-contrast)}@media (forced-colors:active){.jkl-button--primary{border:calc(var(--border-width)*2) solid Highlight}}.jkl-button--secondary{border:var(--border-width) solid var(--text-color)}.jkl-button--tertiary{border-bottom:var(--border-width) solid var(--text-color);padding-inline:var(--jkl-button-tertiary-padding-icon)}.jkl-button--tertiary:has(.jkl-icon:first-child){padding-inline:var(--jkl-button-tertiary-padding-icon) calc(var(--jkl-button-tertiary-padding-icon)*2)}.jkl-button--tertiary:has(.jkl-icon:last-child){padding-inline:calc(var(--jkl-button-tertiary-padding-icon)*2) var(--jkl-button-tertiary-padding-icon)}}@layer jokul.components{.jkl-loader{--jkl-loader-dot-size:var(--jkl-unit-10);--jkl-loader-spacing:var(--jkl-unit-20);display:flex}.jkl-loader--inline{display:inline-flex}.jkl-loader__dot{animation:2.5s linear infinite;background-color:currentColor;display:block;height:var(--jkl-loader-dot-size);transform-origin:center;width:var(--jkl-loader-dot-size)}.jkl-loader__dot--left{animation-name:jkl-loader-left-spin-umg2h9s;margin-right:calc(var(--jkl-loader-spacing)*.9)}.jkl-loader__dot--middle{animation-name:jkl-loader-middle-spin-umg2ha0;margin-right:var(--jkl-loader-spacing)}.jkl-loader__dot--right{animation-name:jkl-loader-right-spin-umg2haj}@media screen and (forced-colors:active){.jkl-loader__dot{background-color:CanvasText}}@keyframes jkl-loader-left-spin-umg2h9s{0%{transform:rotate(0) scale(0)}30%{transform:rotate(90deg) scale(1)}70%{transform:rotate(180deg) scale(0)}to{transform:rotate(180deg) scale(0)}}@keyframes jkl-loader-middle-spin-umg2ha0{0%{transform:rotate(20deg) scale(0)}10%{transform:rotate(20deg) scale(0)}40%{transform:rotate(110deg) scale(1.4)}85%{transform:rotate(200deg) scale(0)}to{transform:rotate(200deg) scale(0)}}@keyframes jkl-loader-right-spin-umg2haj{0%{transform:rotate(40deg) scale(0)}20%{transform:rotate(40deg) scale(0)}50%{transform:rotate(130deg) scale(1)}to{transform:rotate(220deg) scale(0)}}}@layer jokul.components{@property --jkl-skeleton-sweeper-position{syntax:"<percentage>";initial-value:0%;inherits:true}.jkl-skeleton-animation{--jkl-skeleton-element-color:var(--jkl-color-background-page);--jkl-skeleton-sweep-duration:4500ms;--jkl-skeleton-sweeper-width:40%;animation:var(--jkl-skeleton-sweep-duration) ease-in-out infinite --jkl-skeleton-sweep;-webkit-mask-image:linear-gradient(to right,#000 calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)),transparent calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)/2),#000 var(--jkl-skeleton-sweeper-position));mask-image:linear-gradient(to right,#000 calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)),transparent calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)/2),#000 var(--jkl-skeleton-sweeper-position));-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100dvi 100dvb;mask-size:100dvi 100dvb}.jkl-skeleton-element{background-color:var(--jkl-skeleton-element-color);border-radius:.125rem}.jkl-skeleton-element--circle{border-radius:50%}@media screen and (forced-colors:active){.jkl-skeleton-element{animation:jkl-blink-umg2haq 2s ease infinite;border:1px solid CanvasText}}.jkl-skeleton-input{display:flex;flex-direction:column;gap:var(--jkl-spacing-12)}.jkl-skeleton-input__checkbox{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--jkl-spacing-8)}@media (width >= 0) and (max-width:679px){.jkl-skeleton-input{gap:var(--jkl-spacing-8)}}.jkl-skeleton-input--compact:after{gap:var(--jkl-spacing-8)}.jkl-skeleton-table{display:flex;flex-direction:column}.jkl-skeleton-table__header,.jkl-skeleton-table__row{border-bottom:1px solid var(--jkl-skeleton-element-color);display:flex;flex-direction:row;justify-content:space-between}.jkl-skeleton-table__header,.jkl-skeleton-table__row{padding:var(--jkl-unit-20) var(--jkl-unit-10)}@media (width >= 0) and (max-width:679px){.jkl-skeleton-table__header{padding:var(--jkl-unit-10) var(--jkl-unit-05)}.jkl-skeleton-table__row{padding:var(--jkl-unit-20) var(--jkl-unit-05)}}@media screen and (forced-colors:active){.jkl-skeleton-table{animation:jkl-blink-umg2haq 2s ease-in-out infinite}}@keyframes jkl-blink-umg2haq{0%{opacity:1}40%,50%{opacity:.3}70%,to{opacity:1}}@keyframes --jkl-skeleton-sweep{0%,67%{--jkl-skeleton-sweeper-position:0%}to{--jkl-skeleton-sweeper-position:calc(100% + var(--jkl-skeleton-sweeper-width))}}}@layer jokul.components{.jkl-file-input{--jkl-file-input-dropzone-padding:var(--jkl-unit-30);--jkl-file-input-dropzone-gap:var(--jkl-unit-30);--jkl-file-cta-gap:var(--jkl-unit-30);--jkl-file-cta-with-files-gap:var(--jkl-unit-15);--jkl-file-list-gap:var(--jkl-unit-10)}.jkl-file-input__dropzone{--border-color:var(--jkl-color-border-default);--background-color:transparent;align-items:center;background-color:var(--background-color);border:1px dashed var(--border-color);border-radius:.25rem;display:flex;flex-direction:column;flex-wrap:nowrap;gap:var(--jkl-file-input-dropzone-gap);justify-content:center;padding:var(--jkl-file-input-dropzone-padding);transition-duration:var(--jkl-motion-timing-productive);transition-property:background-color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-file-input__dropzone--enter{--border-color:var(--jkl-color-border-strong);--background-color:var(--jkl-color-background-container);border-style:solid}.jkl-file-input__dropzone__drag-text{font:var(--jkl-text-style-paragraph-small)}@media (width >= 0) and (max-width:679px){.jkl-file-input__dropzone__drag-text{display:none}}.jkl-file-input__call-to-action{align-items:center;display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:center}.jkl-file-input__call-to-action:has(:focus-visible) .jkl-button{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px;transform:scale(1.05)}.jkl-file-input__call-to-action:has(:focus-visible) .jkl-button:active{transform:scale(1)}.jkl-file-input__dropzone-hint{margin-top:var(--jkl-unit-30)}.jkl-file-input--has-files .jkl-file-input__dropzone-hint{display:none}.jkl-file-input__max-size-text{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-text-small);margin-top:var(--jkl-unit-30)}.jkl-file-input__files{display:flex;flex-direction:column;gap:var(--jkl-file-list-gap);list-style:none;margin:0;padding:0}.jkl-file-input--small .jkl-file-input__dropzone-hint{display:block;margin:0}.jkl-file-input--small .jkl-file-input__dropzone{flex-direction:row;gap:var(--jkl-unit-20);justify-content:flex-start;margin-bottom:var(--jkl-unit-20);max-width:-webkit-fit-content;max-width:fit-content;padding:var(--jkl-unit-20)}.jkl-file-input--small .jkl-file-input__call-to-action{flex-direction:row;font:var(--jkl-text-style-text-small);gap:var(--jkl-unit-15);justify-content:flex-start}.jkl-file-input--small .jkl-file-input__max-size-text{margin-bottom:var(--jkl-unit-20);margin-top:calc(var(--jkl-unit-15)*-1)}}
1
+ @charset "UTF-8";@layer jokul.components{.jkl-file{--jkl-file-padding:var(--jkl-unit-10);--jkl-file-thumbnail-width:var(--jkl-unit-70);--jkl-file-thumbnail-max-height:var(--jkl-unit-90);--jkl-file-thumbnail-aspect-ratio:1;--jkl-file-gap:var(--jkl-unit-10) var(--jkl-unit-20);--jkl-file-button-width:var(--jkl-unit-50);--text-color:var(--jkl-color-text-default);--border:1px solid var(--jkl-color-border-subdued);--border-radius:2px;--bg:transparent;--transition-time:var(--jkl-motion-timing-expressive)}.jkl-file__content{align-items:center;background:var(--bg);border:var(--border);border-radius:var(--border-radius);color:var(--text-color);display:grid;gap:var(--jkl-file-gap);grid-template-areas:"image text button";grid-template-columns:var(--jkl-file-thumbnail-width) 1fr var(--jkl-file-button-width);height:-webkit-fit-content;height:fit-content;padding:var(--jkl-file-padding);transition-duration:var(--jkl-motion-timing-snappy);transition-property:background-color,border-color,color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-file__content__name{font:var(--jkl-text-style-paragraph-small);grid-area:text;word-break:break-word}.jkl-file__content__name__size{word-break:keep-all}.jkl-file__content__delete{aspect-ratio:1;grid-area:button}.jkl-file__content__thumbnail{align-items:center;anchor-name:--thumb;aspect-ratio:var(--jkl-file-thumbnail-aspect-ratio);background:var(--jkl-color-background-page);border-radius:2px;container-type:inline-size;display:flex;grid-area:image;justify-content:center;max-height:var(--jkl-file-thumbnail-max-height);object-fit:cover;overflow:hidden;position:relative;width:100%;anchor-scope:all;outline:1px solid color-mix(in srgb,currentColor 3%,transparent)}.jkl-file__content__thumbnail:after,.jkl-file__content__thumbnail:before{position:absolute;z-index:1}.jkl-file__content__thumbnail:after{animation:spin 5s linear infinite forwards;aspect-ratio:1;background:var(--text-color);border-radius:1px;content:""/"Laster opp";height:25%;position-anchor:--thumb;position-area:center;scale:0;transition:display var(--transition-time) allow-discrete ease-in,scale var(--transition-time) ease-in}@starting-style{.jkl-file__content__thumbnail:after{scale:0}}.jkl-file__content__thumbnail img{opacity:1;transition:opacity var(--transition-time) ease-in-out}.jkl-file__content__thumbnail img[src]{height:100%;object-fit:cover;width:100%}.jkl-file[class*=card]{--jkl-file-thumbnail-width:100%;--jkl-file-thumbnail-aspect-ratio:16/9}.jkl-file[class*=card] .jkl-file__content{grid-template-areas:"image image" "text button";grid-template-columns:1fr var(--jkl-file-button-width);grid-template-rows:var(--jkl-file-thumbnail-max-height) auto}.jkl-file:not([data-state*=loading]) .jkl-file__content__thumbnail:not(:has(img[src])):before{content:attr(data-filetype);font:var(--jkl-text-style-paragraph-small)}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail img{opacity:0}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail:after{display:block;scale:1}.jkl-file[data-state=error]{--bg:var(--jkl-color-error-background-container)}.jkl-file[data-state=error],.jkl-file[data-state=error] a,.jkl-file[data-state=error] a:hover,.jkl-file[data-state=error] button,.jkl-file[data-state=error] span{--text-color:var(--jkl-color-error-text-default);--link-color:var(--text-color);--jkl-color-border-strong:currentColor}.jkl-file[data-state=error] .jkl-file__content{border-color:var(--jkl-color-error-border-default)}@keyframes spin{0%{transform:rotate(0turn)}to{transform:rotate(1turn)}}}@layer jokul.components{.jkl-link{--link-color:var(--jkl-color-text-accent);color:var(--link-color);outline:none;text-decoration:none;transition-duration:var(--jkl-motion-timing-energetic);transition-property:color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-link__content{text-decoration:underline;-webkit-text-decoration-color:rgb(from currentColor r g b/70%);text-decoration-color:rgb(from currentColor r g b/70%);text-decoration-thickness:.05em;text-underline-offset:.08lh}.jkl-link:after{--jkl-icon-fill:0;--jkl-icon-size:1em;-webkit-margin-before:-.1em;margin-block-start:-.1em;-webkit-padding-start:.2em;display:inline-block;flex-shrink:0;font-family:var(--jkl-font-family-icons);font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0);font-weight:400;line-height:1;padding-inline-start:.2em;vertical-align:middle;-webkit-font-smoothing:antialiased;display:inline;transition-duration:var(--jkl-motion-timing-energetic);transition-property:font-variation-settings,transform;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-link--external:after,.jkl-link[target=_blank]:after{content:"\e89e"/"(Åpnes i ny fane)"}.jkl-link[download]:after{content:"\f090"/"(Last ned fil)"}.jkl-link:hover:not(:focus){--link-color:var(--jkl-color-text-subdued)}.jkl-link:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:0}@media screen and (forced-colors:active){.jkl-link:hover:not(:focus){--link-color:HighLight}}button.jkl-link{-webkit-appearance:none;appearance:none;background:none;border:0;font:inherit;margin:0;padding:0;text-align:inherit}.jkl-button{--jkl-button-font-size:var(--jkl-typography-body-base-font-size);--jkl-button-line-height:var(--jkl-typography-body-base-line-height);--jkl-button-padding-block:var(--jkl-unit-10);--jkl-button-padding-text:var(--jkl-unit-30);--jkl-button-padding-icon:var(--jkl-unit-20);--jkl-button-padding-icon-button:var(--jkl-unit-10);--jkl-button-tertiary-padding-icon:var(--jkl-unit-05);--jkl-button-text-ink-offset:0.1em;--button-min-width:9ch;--jkl-icon-weight:var(--jkl-icon-weight-bold);--text-color:var(--jkl-color-text-default);--background-color:transparent;--border-radius:0;--border-width:0.0625rem;background:var(--background-color);border:unset;color:var(--text-color);display:inline-block;font:var(--jkl-text-style-text-medium);font-weight:var(--jkl-font-weight-bold);text-decoration:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;animation:a .3s linear;border-radius:var(--border-radius);max-width:100%;overflow:hidden;padding-block:var(--jkl-button-padding-block);padding-inline:var(--jkl-button-padding-text);position:relative;transition-duration:var(--jkl-motion-timing-productive);transition-property:background-color;transition-timing-function:var(--jkl-motion-easing-standard)}}@layer jokul.components{.jkl-button:has(.jkl-button__text){min-width:var(--button-min-width)}.jkl-button:has(.jkl-button__text):has(.jkl-icon){min-width:auto}.jkl-button:has(.jkl-icon:first-child){-webkit-padding-start:var(--jkl-button-padding-icon);padding-inline-start:var(--jkl-button-padding-icon)}.jkl-button:has(.jkl-icon:last-child){-webkit-padding-end:var(--jkl-button-padding-icon);padding-inline-end:var(--jkl-button-padding-icon)}.jkl-button:has(.jkl-icon:first-child):has(.jkl-icon:last-child){padding-inline:var(--jkl-button-padding-icon-button)}.jkl-button__label{align-items:center;display:flex;flex-direction:row;gap:var(--jkl-unit-02);justify-content:center;pointer-events:none;transition-duration:var(--jkl-motion-timing-expressive);transition-property:translate;transition-timing-function:var(--jkl-motion-easing-standard);width:100%}.jkl-button__loader{left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transition-duration:var(--jkl-motion-timing-expressive);transition-property:opacity,translate;transition-timing-function:var(--jkl-motion-easing-standard);translate:-50% 350%}.jkl-button__text{display:block;max-width:100%;min-width:0;-webkit-padding-before:var(--jkl-button-text-ink-offset);padding-block-start:var(--jkl-button-text-ink-offset);-webkit-margin-before:calc(var(--jkl-button-text-ink-offset)*-1);margin-block-start:calc(var(--jkl-button-text-ink-offset)*-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jkl-button[data-loading=true] .jkl-button__label{--button-loading-offset:calc(-100% - var(--jkl-button-padding-block)*2 - var(--jkl-button-text-ink-offset));translate:0 var(--button-loading-offset)}.jkl-button[data-loading=true] .jkl-button__loader{opacity:1;translate:-50% -50%}.jkl-button:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-button:hover{background-color:color-mix(in srgb,var(--background-color),var(--text-color) 15%)}@media (forced-colors:active){.jkl-button:hover{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}}.jkl-button--ghost,.jkl-button--primary,.jkl-button--secondary{--border-radius:999px}.jkl-button--primary{--background-color:var(--jkl-color-background-contrast);--text-color:var(--jkl-color-text-on-contrast)}@media (forced-colors:active){.jkl-button--primary{border:calc(var(--border-width)*2) solid Highlight}}.jkl-button--secondary{border:var(--border-width) solid var(--text-color)}.jkl-button--tertiary{border-bottom:var(--border-width) solid var(--text-color);padding-inline:var(--jkl-button-tertiary-padding-icon)}.jkl-button--tertiary:has(.jkl-icon:first-child){padding-inline:var(--jkl-button-tertiary-padding-icon) calc(var(--jkl-button-tertiary-padding-icon)*2)}.jkl-button--tertiary:has(.jkl-icon:last-child){padding-inline:calc(var(--jkl-button-tertiary-padding-icon)*2) var(--jkl-button-tertiary-padding-icon)}}@layer jokul.components{.jkl-loader{--jkl-loader-dot-size:var(--jkl-unit-10);--jkl-loader-spacing:var(--jkl-unit-20);display:flex}.jkl-loader--inline{display:inline-flex}.jkl-loader__dot{animation:2.5s linear infinite;background-color:currentColor;display:block;height:var(--jkl-loader-dot-size);transform-origin:center;width:var(--jkl-loader-dot-size)}.jkl-loader__dot--left{animation-name:jkl-loader-left-spin-uuawhf8;margin-right:calc(var(--jkl-loader-spacing)*.9)}.jkl-loader__dot--middle{animation-name:jkl-loader-middle-spin-uuawhg7;margin-right:var(--jkl-loader-spacing)}.jkl-loader__dot--right{animation-name:jkl-loader-right-spin-uuawhgv}@media screen and (forced-colors:active){.jkl-loader__dot{background-color:CanvasText}}@keyframes jkl-loader-left-spin-uuawhf8{0%{transform:rotate(0) scale(0)}30%{transform:rotate(90deg) scale(1)}70%{transform:rotate(180deg) scale(0)}to{transform:rotate(180deg) scale(0)}}@keyframes jkl-loader-middle-spin-uuawhg7{0%{transform:rotate(20deg) scale(0)}10%{transform:rotate(20deg) scale(0)}40%{transform:rotate(110deg) scale(1.4)}85%{transform:rotate(200deg) scale(0)}to{transform:rotate(200deg) scale(0)}}@keyframes jkl-loader-right-spin-uuawhgv{0%{transform:rotate(40deg) scale(0)}20%{transform:rotate(40deg) scale(0)}50%{transform:rotate(130deg) scale(1)}to{transform:rotate(220deg) scale(0)}}}@layer jokul.components{@property --jkl-skeleton-sweeper-position{syntax:"<percentage>";initial-value:0%;inherits:true}.jkl-skeleton-animation{--jkl-skeleton-element-color:var(--jkl-color-background-page);--jkl-skeleton-sweep-duration:4500ms;--jkl-skeleton-sweeper-width:40%;animation:var(--jkl-skeleton-sweep-duration) ease-in-out infinite --jkl-skeleton-sweep;-webkit-mask-image:linear-gradient(to right,#000 calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)),transparent calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)/2),#000 var(--jkl-skeleton-sweeper-position));mask-image:linear-gradient(to right,#000 calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)),transparent calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)/2),#000 var(--jkl-skeleton-sweeper-position));-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100dvi 100dvb;mask-size:100dvi 100dvb}.jkl-skeleton-element{background-color:var(--jkl-skeleton-element-color);border-radius:.125rem}.jkl-skeleton-element--circle{border-radius:50%}@media screen and (forced-colors:active){.jkl-skeleton-element{animation:jkl-blink-uuawhhg 2s ease infinite;border:1px solid CanvasText}}.jkl-skeleton-input{display:flex;flex-direction:column;gap:var(--jkl-spacing-12)}.jkl-skeleton-input__checkbox{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--jkl-spacing-8)}@media (width >= 0) and (max-width:679px){.jkl-skeleton-input{gap:var(--jkl-spacing-8)}}.jkl-skeleton-input--compact:after{gap:var(--jkl-spacing-8)}.jkl-skeleton-table{display:flex;flex-direction:column}.jkl-skeleton-table__header,.jkl-skeleton-table__row{border-bottom:1px solid var(--jkl-skeleton-element-color);display:flex;flex-direction:row;justify-content:space-between}.jkl-skeleton-table__header,.jkl-skeleton-table__row{padding:var(--jkl-unit-20) var(--jkl-unit-10)}@media (width >= 0) and (max-width:679px){.jkl-skeleton-table__header{padding:var(--jkl-unit-10) var(--jkl-unit-05)}.jkl-skeleton-table__row{padding:var(--jkl-unit-20) var(--jkl-unit-05)}}@media screen and (forced-colors:active){.jkl-skeleton-table{animation:jkl-blink-uuawhhg 2s ease-in-out infinite}}@keyframes jkl-blink-uuawhhg{0%{opacity:1}40%,50%{opacity:.3}70%,to{opacity:1}}@keyframes --jkl-skeleton-sweep{0%,67%{--jkl-skeleton-sweeper-position:0%}to{--jkl-skeleton-sweeper-position:calc(100% + var(--jkl-skeleton-sweeper-width))}}}@layer jokul.components{.jkl-file-input{--jkl-file-input-dropzone-padding:var(--jkl-unit-30);--jkl-file-input-dropzone-gap:var(--jkl-unit-30);--jkl-file-cta-gap:var(--jkl-unit-30);--jkl-file-cta-with-files-gap:var(--jkl-unit-15);--jkl-file-list-gap:var(--jkl-unit-10)}.jkl-file-input__dropzone{--border-color:var(--jkl-color-border-default);--background-color:transparent;align-items:center;background-color:var(--background-color);border:1px dashed var(--border-color);border-radius:.25rem;display:flex;flex-direction:column;flex-wrap:nowrap;gap:var(--jkl-file-input-dropzone-gap);justify-content:center;padding:var(--jkl-file-input-dropzone-padding);transition-duration:var(--jkl-motion-timing-productive);transition-property:background-color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-file-input__dropzone--enter{--border-color:var(--jkl-color-border-strong);--background-color:var(--jkl-color-background-container);border-style:solid}.jkl-file-input__dropzone__drag-text{font:var(--jkl-text-style-paragraph-small)}@media (width >= 0) and (max-width:679px){.jkl-file-input__dropzone__drag-text{display:none}}.jkl-file-input__call-to-action{align-items:center;display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:center}.jkl-file-input__call-to-action:has(:focus-visible) .jkl-button{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px;transform:scale(1.05)}.jkl-file-input__call-to-action:has(:focus-visible) .jkl-button:active{transform:scale(1)}.jkl-file-input__dropzone-hint{margin-top:var(--jkl-unit-30)}.jkl-file-input--has-files .jkl-file-input__dropzone-hint{display:none}.jkl-file-input__max-size-text{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-text-small);margin-top:var(--jkl-unit-30)}.jkl-file-input__files{display:flex;flex-direction:column;gap:var(--jkl-file-list-gap);list-style:none;margin:0;padding:0}.jkl-file-input--small .jkl-file-input__dropzone-hint{display:block;margin:0}.jkl-file-input--small .jkl-file-input__dropzone{flex-direction:row;gap:var(--jkl-unit-20);justify-content:flex-start;margin-bottom:var(--jkl-unit-20);max-width:-webkit-fit-content;max-width:fit-content;padding:var(--jkl-unit-20)}.jkl-file-input--small .jkl-file-input__call-to-action{flex-direction:row;font:var(--jkl-text-style-text-small);gap:var(--jkl-unit-15);justify-content:flex-start}.jkl-file-input--small .jkl-file-input__max-size-text{margin-bottom:var(--jkl-unit-20);margin-top:calc(var(--jkl-unit-15)*-1)}}
@@ -74,7 +74,7 @@
74
74
  display: inline-flex;
75
75
  }
76
76
  .jkl-form-support-label--error .jkl-form-support-label__icon, .jkl-form-support-label--warning .jkl-form-support-label__icon, .jkl-form-support-label--success .jkl-form-support-label__icon {
77
- animation: var(--jkl-motion-timing-lazy) cubic-bezier(0, 0, 0.3, 1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-uvcl1n1 forwards;
77
+ animation: var(--jkl-motion-timing-lazy) cubic-bezier(0, 0, 0.3, 1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-uwqbu8o forwards;
78
78
  }
79
79
  .jkl-form-support-label--sr-only {
80
80
  border: 0 !important;
@@ -128,7 +128,7 @@
128
128
  .jkl-label:has(+ .jkl-input-group-description) {
129
129
  margin-block-end: var(--jkl-spacing-4);
130
130
  }
131
- @keyframes jkl-support-icon-entrance-uvcl1n1 {
131
+ @keyframes jkl-support-icon-entrance-uwqbu8o {
132
132
  0% {
133
133
  margin-right: 0;
134
134
  opacity: 0;
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-field-group{border-style:none;outline:0;outline-style:none}.jkl-field-group:active,.jkl-field-group:focus,.jkl-field-group:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-field-group{border-style:revert;outline:revert;outline-style:revert}.jkl-field-group:active,.jkl-field-group:focus,.jkl-field-group:hover{outline:revert;outline-style:revert}}}@layer jokul.components{.jkl-dormant-form-support-label{display:none;opacity:0;pointer-events:none}.jkl-form-support-label{--jkl-form-support-label-margin:var(--jkl-unit-10) 0 0;--jkl-form-support-label-icon-size:1.25rem;--jkl-form-support-label-icon-margin:0 -1.25rem -0.375rem 0;--color:var(--jkl-color-text-subdued);color:var(--color);display:flex;font:var(--jkl-text-style-text-small);margin:var(--jkl-form-support-label-margin);transition-delay:var(--jkl-motion-timing-productive);transition-duration:var(--jkl-motion-timing-lazy);transition-property:color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-form-support-label__icon,.jkl-form-support-label__icon.jkl-icon{height:var(--jkl-form-support-label-icon-size);margin:var(--jkl-form-support-label-icon-margin);opacity:0}@media screen and (forced-colors:active){.jkl-form-support-label__icon,.jkl-form-support-label__icon path,.jkl-form-support-label__icon svg,.jkl-form-support-label__icon.jkl-icon,.jkl-form-support-label__icon.jkl-icon path,.jkl-form-support-label__icon.jkl-icon svg{fill:Canvas;stroke:CanvasText}}.jkl-form-support-label--error{background-color:var(--jkl-color-error-background-container);border-radius:var(--jkl-border-radius-xs);color:var(--jkl-color-error-text-default);padding-block:var(--jkl-unit-05);padding-inline:var(--jkl-unit-05) var(--jkl-unit-10)}.jkl-form-support-label--error .jkl-form-support-label__icon{color:var(--jkl-color-error-background-contrast)}.jkl-form-support-label--error,.jkl-form-support-label--success,.jkl-form-support-label--warning{--color:var(--jkl-color-text-default);display:inline-flex}.jkl-form-support-label--error .jkl-form-support-label__icon,.jkl-form-support-label--success .jkl-form-support-label__icon,.jkl-form-support-label--warning .jkl-form-support-label__icon{animation:var(--jkl-motion-timing-lazy) cubic-bezier(0,0,.3,1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-uvcl1n1 forwards}.jkl-form-support-label--sr-only{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.jkl-label{color:var(--jkl-color-text-default);display:block;margin:0 0 var(--jkl-spacing-8) 0}.jkl-label--medium,.jkl-label--small{font:var(--jkl-text-style-text-medium)}.jkl-label--large{font:var(--jkl-text-style-text-large)}.jkl-label--sr-only{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.jkl-label .jkl-help{position:relative;top:-.1ex}.jkl-input-group-description{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-text-small);-webkit-margin-after:var(--jkl-spacing-8);margin-block-end:var(--jkl-spacing-8);max-inline-size:50ch;text-wrap:pretty}.jkl-label:has(+.jkl-input-group-description){-webkit-margin-after:var(--jkl-spacing-4);margin-block-end:var(--jkl-spacing-4)}@keyframes jkl-support-icon-entrance-uvcl1n1{0%{margin-right:0;opacity:0;transform:scale(1)}30%{margin-right:var(--jkl-spacing-8)}50%{opacity:1}70%{transform:scale(1.1)}85%{transform:scale(.9)}to{margin-right:var(--jkl-spacing-8);opacity:1;transform:scale(1)}}}@layer jokul.components{@media screen and (forced-colors:active){.jkl-text-input-action-button,.jkl-text-input-action-button path,.jkl-text-input-action-button svg{fill:ButtonFace;stroke:ButtonText}}}
1
+ @layer jokul.components{.jkl-field-group{border-style:none;outline:0;outline-style:none}.jkl-field-group:active,.jkl-field-group:focus,.jkl-field-group:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-field-group{border-style:revert;outline:revert;outline-style:revert}.jkl-field-group:active,.jkl-field-group:focus,.jkl-field-group:hover{outline:revert;outline-style:revert}}}@layer jokul.components{.jkl-dormant-form-support-label{display:none;opacity:0;pointer-events:none}.jkl-form-support-label{--jkl-form-support-label-margin:var(--jkl-unit-10) 0 0;--jkl-form-support-label-icon-size:1.25rem;--jkl-form-support-label-icon-margin:0 -1.25rem -0.375rem 0;--color:var(--jkl-color-text-subdued);color:var(--color);display:flex;font:var(--jkl-text-style-text-small);margin:var(--jkl-form-support-label-margin);transition-delay:var(--jkl-motion-timing-productive);transition-duration:var(--jkl-motion-timing-lazy);transition-property:color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-form-support-label__icon,.jkl-form-support-label__icon.jkl-icon{height:var(--jkl-form-support-label-icon-size);margin:var(--jkl-form-support-label-icon-margin);opacity:0}@media screen and (forced-colors:active){.jkl-form-support-label__icon,.jkl-form-support-label__icon path,.jkl-form-support-label__icon svg,.jkl-form-support-label__icon.jkl-icon,.jkl-form-support-label__icon.jkl-icon path,.jkl-form-support-label__icon.jkl-icon svg{fill:Canvas;stroke:CanvasText}}.jkl-form-support-label--error{background-color:var(--jkl-color-error-background-container);border-radius:var(--jkl-border-radius-xs);color:var(--jkl-color-error-text-default);padding-block:var(--jkl-unit-05);padding-inline:var(--jkl-unit-05) var(--jkl-unit-10)}.jkl-form-support-label--error .jkl-form-support-label__icon{color:var(--jkl-color-error-background-contrast)}.jkl-form-support-label--error,.jkl-form-support-label--success,.jkl-form-support-label--warning{--color:var(--jkl-color-text-default);display:inline-flex}.jkl-form-support-label--error .jkl-form-support-label__icon,.jkl-form-support-label--success .jkl-form-support-label__icon,.jkl-form-support-label--warning .jkl-form-support-label__icon{animation:var(--jkl-motion-timing-lazy) cubic-bezier(0,0,.3,1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-uwqbu8o forwards}.jkl-form-support-label--sr-only{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.jkl-label{color:var(--jkl-color-text-default);display:block;margin:0 0 var(--jkl-spacing-8) 0}.jkl-label--medium,.jkl-label--small{font:var(--jkl-text-style-text-medium)}.jkl-label--large{font:var(--jkl-text-style-text-large)}.jkl-label--sr-only{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.jkl-label .jkl-help{position:relative;top:-.1ex}.jkl-input-group-description{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-text-small);-webkit-margin-after:var(--jkl-spacing-8);margin-block-end:var(--jkl-spacing-8);max-inline-size:50ch;text-wrap:pretty}.jkl-label:has(+.jkl-input-group-description){-webkit-margin-after:var(--jkl-spacing-4);margin-block-end:var(--jkl-spacing-4)}@keyframes jkl-support-icon-entrance-uwqbu8o{0%{margin-right:0;opacity:0;transform:scale(1)}30%{margin-right:var(--jkl-spacing-8)}50%{opacity:1}70%{transform:scale(1.1)}85%{transform:scale(.9)}to{margin-right:var(--jkl-spacing-8);opacity:1;transform:scale(1)}}}@layer jokul.components{@media screen and (forced-colors:active){.jkl-text-input-action-button,.jkl-text-input-action-button path,.jkl-text-input-action-button svg{fill:ButtonFace;stroke:ButtonText}}}
@@ -19,22 +19,22 @@
19
19
  animation: 2500ms linear infinite;
20
20
  }
21
21
  .jkl-loader__dot--left {
22
- animation-name: jkl-loader-left-spin-ux3wvmp;
22
+ animation-name: jkl-loader-left-spin-uamgyan;
23
23
  margin-right: calc(var(--jkl-loader-spacing) * 0.9);
24
24
  }
25
25
  .jkl-loader__dot--middle {
26
- animation-name: jkl-loader-middle-spin-ux3wvmt;
26
+ animation-name: jkl-loader-middle-spin-uamgybl;
27
27
  margin-right: var(--jkl-loader-spacing);
28
28
  }
29
29
  .jkl-loader__dot--right {
30
- animation-name: jkl-loader-right-spin-ux3wvn3;
30
+ animation-name: jkl-loader-right-spin-uamgyc7;
31
31
  }
32
32
  @media screen and (forced-colors: active) {
33
33
  .jkl-loader__dot {
34
34
  background-color: CanvasText;
35
35
  }
36
36
  }
37
- @keyframes jkl-loader-left-spin-ux3wvmp {
37
+ @keyframes jkl-loader-left-spin-uamgyan {
38
38
  0% {
39
39
  transform: rotate(0) scale(0);
40
40
  }
@@ -48,7 +48,7 @@
48
48
  transform: rotate(180deg) scale(0);
49
49
  }
50
50
  }
51
- @keyframes jkl-loader-middle-spin-ux3wvmt {
51
+ @keyframes jkl-loader-middle-spin-uamgybl {
52
52
  0% {
53
53
  transform: rotate(20deg) scale(0);
54
54
  }
@@ -65,7 +65,7 @@
65
65
  transform: rotate(200deg) scale(0);
66
66
  }
67
67
  }
68
- @keyframes jkl-loader-right-spin-ux3wvn3 {
68
+ @keyframes jkl-loader-right-spin-uamgyc7 {
69
69
  0% {
70
70
  transform: rotate(40deg) scale(0);
71
71
  }
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-loader{--jkl-loader-dot-size:var(--jkl-unit-10);--jkl-loader-spacing:var(--jkl-unit-20);display:flex}.jkl-loader--inline{display:inline-flex}.jkl-loader__dot{animation:2.5s linear infinite;background-color:currentColor;display:block;height:var(--jkl-loader-dot-size);transform-origin:center;width:var(--jkl-loader-dot-size)}.jkl-loader__dot--left{animation-name:jkl-loader-left-spin-ux3wvmp;margin-right:calc(var(--jkl-loader-spacing)*.9)}.jkl-loader__dot--middle{animation-name:jkl-loader-middle-spin-ux3wvmt;margin-right:var(--jkl-loader-spacing)}.jkl-loader__dot--right{animation-name:jkl-loader-right-spin-ux3wvn3}@media screen and (forced-colors:active){.jkl-loader__dot{background-color:CanvasText}}@keyframes jkl-loader-left-spin-ux3wvmp{0%{transform:rotate(0) scale(0)}30%{transform:rotate(90deg) scale(1)}70%{transform:rotate(180deg) scale(0)}to{transform:rotate(180deg) scale(0)}}@keyframes jkl-loader-middle-spin-ux3wvmt{0%{transform:rotate(20deg) scale(0)}10%{transform:rotate(20deg) scale(0)}40%{transform:rotate(110deg) scale(1.4)}85%{transform:rotate(200deg) scale(0)}to{transform:rotate(200deg) scale(0)}}@keyframes jkl-loader-right-spin-ux3wvn3{0%{transform:rotate(40deg) scale(0)}20%{transform:rotate(40deg) scale(0)}50%{transform:rotate(130deg) scale(1)}to{transform:rotate(220deg) scale(0)}}}
1
+ @layer jokul.components{.jkl-loader{--jkl-loader-dot-size:var(--jkl-unit-10);--jkl-loader-spacing:var(--jkl-unit-20);display:flex}.jkl-loader--inline{display:inline-flex}.jkl-loader__dot{animation:2.5s linear infinite;background-color:currentColor;display:block;height:var(--jkl-loader-dot-size);transform-origin:center;width:var(--jkl-loader-dot-size)}.jkl-loader__dot--left{animation-name:jkl-loader-left-spin-uamgyan;margin-right:calc(var(--jkl-loader-spacing)*.9)}.jkl-loader__dot--middle{animation-name:jkl-loader-middle-spin-uamgybl;margin-right:var(--jkl-loader-spacing)}.jkl-loader__dot--right{animation-name:jkl-loader-right-spin-uamgyc7}@media screen and (forced-colors:active){.jkl-loader__dot{background-color:CanvasText}}@keyframes jkl-loader-left-spin-uamgyan{0%{transform:rotate(0) scale(0)}30%{transform:rotate(90deg) scale(1)}70%{transform:rotate(180deg) scale(0)}to{transform:rotate(180deg) scale(0)}}@keyframes jkl-loader-middle-spin-uamgybl{0%{transform:rotate(20deg) scale(0)}10%{transform:rotate(20deg) scale(0)}40%{transform:rotate(110deg) scale(1.4)}85%{transform:rotate(200deg) scale(0)}to{transform:rotate(200deg) scale(0)}}@keyframes jkl-loader-right-spin-uamgyc7{0%{transform:rotate(40deg) scale(0)}20%{transform:rotate(40deg) scale(0)}50%{transform:rotate(130deg) scale(1)}to{transform:rotate(220deg) scale(0)}}}