@fremtind/jokul 0.40.0 → 0.40.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 (42) hide show
  1. package/README.md +1 -1
  2. package/build/build-stats.html +1 -1
  3. package/build/cjs/components/expander/ExpandablePanel.cjs +1 -1
  4. package/build/cjs/components/expander/ExpandablePanel.cjs.map +1 -1
  5. package/build/es/components/expander/ExpandablePanel.js +1 -1
  6. package/build/es/components/expander/ExpandablePanel.js.map +1 -1
  7. package/package.json +2 -2
  8. package/styles/components/button/button.css +31 -20
  9. package/styles/components/button/button.min.css +1 -1
  10. package/styles/components/button/button.scss +34 -25
  11. package/styles/components/checkbox/checkbox.css +4 -4
  12. package/styles/components/checkbox/checkbox.min.css +1 -1
  13. package/styles/components/expander/expandable.css +4 -0
  14. package/styles/components/expander/expandable.min.css +1 -1
  15. package/styles/components/expander/expandable.scss +4 -0
  16. package/styles/components/feedback/feedback.css +2 -2
  17. package/styles/components/feedback/feedback.min.css +1 -1
  18. package/styles/components/input-group/input-group.css +2 -2
  19. package/styles/components/input-group/input-group.min.css +1 -1
  20. package/styles/components/input-panel/checkbox-panel.css +2 -2
  21. package/styles/components/input-panel/checkbox-panel.min.css +1 -1
  22. package/styles/components/input-panel/radio-panel.css +2 -2
  23. package/styles/components/input-panel/radio-panel.min.css +1 -1
  24. package/styles/components/loader/loader.css +6 -6
  25. package/styles/components/loader/loader.min.css +1 -1
  26. package/styles/components/loader/skeleton-loader.css +5 -5
  27. package/styles/components/loader/skeleton-loader.min.css +1 -1
  28. package/styles/components/message/message.css +2 -2
  29. package/styles/components/message/message.min.css +1 -1
  30. package/styles/components/progress-bar/progress-bar.css +2 -2
  31. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  32. package/styles/components/radio-button/radio-button.css +2 -2
  33. package/styles/components/radio-button/radio-button.min.css +1 -1
  34. package/styles/components/system-message/system-message.css +2 -2
  35. package/styles/components/system-message/system-message.min.css +1 -1
  36. package/styles/components/text-input/text-input.css +2 -1
  37. package/styles/components/text-input/text-input.min.css +1 -1
  38. package/styles/components/text-input/text-input.scss +5 -3
  39. package/styles/components/toast/toast.css +4 -4
  40. package/styles/components/toast/toast.min.css +1 -1
  41. package/styles/styles.css +72 -56
  42. package/styles/styles.min.css +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("../../../clsx-E3yX_9sL.cjs"),t=require("react"),a=require("./context.cjs"),r=require("./ExpandablePanelContent.cjs"),s=Object.assign(t.forwardRef((function(r,s){const{children:l,as:i="details",variant:o="fill",open:d,defaultOpen:c,onOpenChange:u,...p}=r,[x,j]=t.useState(c||!1),[f,v]=t.useState(!1),[g,b]=t.useState(0),E=t.useRef();t.useImperativeHandle(s,(()=>E.current),[E]);const h=i,m=typeof d<"u",S=m?d:x;t.useEffect((()=>{null==u||u(S)}),[S,u]);return t.useEffect((()=>{const e=e=>{j("open"===e.newState)},n=E.current;return null==n||n.addEventListener("toggle",e),()=>null==n?void 0:n.removeEventListener("toggle",e)}),[v,j]),e.jsxs("div",{className:"jkl-expandable__wrapper",children:[e.jsx("div",{inert:"true",className:"jkl-expandable__focus-container",style:{height:g}}),e.jsx(h,{ref:E,"data-testid":"jkl-expand-section",className:n.clsx("jkl-expandable",`jkl-expandable--${o}`),open:"details"===i?S||f:void 0,"data-visible-content":S||f,...p,children:e.jsx(a.ExpanderContext.Provider,{value:{open:S,onToggle:()=>{m||j((e=>!e))},onTransitionEnd:v,onTransitionStart:e=>{e&&v(!0)},setExpanderHeight:b},children:l})})]})})),{Content:r.ExpandablePanelContent});exports.ExpandablePanel=s;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("../../../clsx-E3yX_9sL.cjs"),t=require("react"),a=require("./context.cjs"),r=require("./ExpandablePanelContent.cjs"),s=Object.assign(t.forwardRef((function(r,s){const{children:l,as:i="details",variant:o="fill",open:c,defaultOpen:d,onOpenChange:u,className:p,...x}=r,[j,f]=t.useState(d||!1),[v,g]=t.useState(!1),[b,E]=t.useState(0),h=t.useRef();t.useImperativeHandle(s,(()=>h.current),[h]);const m=i,S=typeof c<"u",k=S?c:j;t.useEffect((()=>{null==u||u(k)}),[k,u]);return t.useEffect((()=>{const e=e=>{f("open"===e.newState)},n=h.current;return null==n||n.addEventListener("toggle",e),()=>null==n?void 0:n.removeEventListener("toggle",e)}),[g,f]),e.jsxs("div",{className:"jkl-expandable__wrapper",children:[e.jsx("div",{inert:"true",className:"jkl-expandable__focus-container",style:{height:b}}),e.jsx(m,{ref:h,"data-testid":"jkl-expand-section",className:n.clsx("jkl-expandable",`jkl-expandable--${o}`,p),open:"details"===i?k||v:void 0,"data-visible-content":k||v,...x,children:e.jsx(a.ExpanderContext.Provider,{value:{open:k,onToggle:()=>{S||f((e=>!e))},onTransitionEnd:g,onTransitionStart:e=>{e&&g(!0)},setExpanderHeight:E},children:l})})]})})),{Content:r.ExpandablePanelContent});exports.ExpandablePanel=s;
2
2
  //# sourceMappingURL=ExpandablePanel.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpandablePanel.cjs","sources":["../../../../src/components/expander/ExpandablePanel.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { useEffect, useImperativeHandle, useRef, useState } from \"react\";\nimport { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport { ExpanderContext } from \"./context.js\";\nimport { ExpandablePanelContent } from \"./ExpandablePanelContent.js\";\nimport { ExpandablePanelComponent, ExpandablePanelProps } from \"./types.js\";\n\nexport const ExpandablePanel = Object.assign(\n React.forwardRef(function ExpandablePanel<\n ElementType extends React.ElementType = \"details\",\n >(\n props: ExpandablePanelProps<ElementType>,\n ref?: PolymorphicRef<ElementType>,\n ) {\n const {\n children,\n as = \"details\",\n variant = \"fill\",\n open: controlledOpen,\n defaultOpen,\n onOpenChange,\n ...rest\n } = props;\n\n const [uncontrolledOpen, setUncontrolledOpen] = useState(\n defaultOpen || false,\n );\n const [contentIsVisible, setContentIsVisible] = useState(false);\n const [expanderHeight, setExpanderHeight] = useState(0);\n\n const internalRef = useRef<HTMLDetailsElement>();\n useImperativeHandle(ref, () => internalRef.current, [internalRef]);\n\n const El = as;\n const isControlled = typeof controlledOpen !== \"undefined\";\n const isOpen = isControlled ? controlledOpen : uncontrolledOpen;\n\n useEffect(() => {\n onOpenChange?.(isOpen);\n }, [isOpen, onOpenChange]);\n\n const setVisibleIfOpening = (isOpening: boolean) => {\n if (isOpening) {\n setContentIsVisible(true);\n }\n };\n\n const syncUncontrolledState = () => {\n if (isControlled) {\n return;\n }\n setUncontrolledOpen((previousValue) => !previousValue);\n };\n\n useEffect(() => {\n const callback = (e: ToggleEvent & { newState: string }) => {\n setUncontrolledOpen(e.newState === \"open\");\n };\n\n const element = internalRef.current;\n\n element?.addEventListener(\"toggle\", callback as EventListener);\n\n return () =>\n element?.removeEventListener(\n \"toggle\",\n callback as EventListener,\n );\n }, [setContentIsVisible, setUncontrolledOpen]);\n\n return (\n <div className=\"jkl-expandable__wrapper\">\n <div\n // React typings don't include inert for some reason,\n // but destructuring lets us calm down the TS compiler\n {...{ inert: \"true\" }}\n className=\"jkl-expandable__focus-container\"\n style={{ height: expanderHeight }}\n ></div>\n <El\n ref={internalRef}\n data-testid={\"jkl-expand-section\"}\n className={clsx(\n \"jkl-expandable\",\n `jkl-expandable--${variant}`,\n )}\n open={\n /* for the animation to work in Safari we must ensure that\n * the element is open *before* the transition starts */\n as === \"details\"\n ? isOpen || contentIsVisible\n : undefined\n }\n /* this attribute is used for styling purposes */\n data-visible-content={isOpen || contentIsVisible}\n {...rest}\n >\n <ExpanderContext.Provider\n value={{\n open: isOpen,\n onToggle: syncUncontrolledState,\n onTransitionEnd: setContentIsVisible,\n onTransitionStart: setVisibleIfOpening,\n setExpanderHeight,\n }}\n >\n {children}\n </ExpanderContext.Provider>\n </El>\n </div>\n );\n }),\n { Content: ExpandablePanelContent },\n) as ExpandablePanelComponent;\n"],"names":["ExpandablePanel","Object","assign","React","forwardRef","props","ref","children","as","variant","open","controlledOpen","defaultOpen","onOpenChange","rest","uncontrolledOpen","setUncontrolledOpen","useState","contentIsVisible","setContentIsVisible","expanderHeight","setExpanderHeight","internalRef","useRef","useImperativeHandle","current","El","isControlled","isOpen","useEffect","callback","e","newState","element","addEventListener","removeEventListener","jsxs","className","jsx","inert","style","height","clsx","ExpanderContext","Provider","value","onToggle","previousValue","onTransitionEnd","onTransitionStart","isOpening","Content","ExpandablePanelContent"],"mappings":"qPAOaA,EAAkBC,OAAOC,OAClCC,EAAMC,YAAW,SAGbC,EACAC,GAEM,MACFC,SAAAA,EACAC,GAAAA,EAAK,UACLC,QAAAA,EAAU,OACVC,KAAMC,EACNC,YAAAA,EACAC,aAAAA,KACGC,GACHT,GAEGU,EAAkBC,GAAuBC,EAAAA,SAC5CL,IAAe,IAEZM,EAAkBC,GAAuBF,EAAAA,UAAS,IAClDG,EAAgBC,GAAqBJ,EAAAA,SAAS,GAE/CK,EAAcC,EAAAA,SACpBC,EAAAA,oBAAoBlB,GAAK,IAAMgB,EAAYG,SAAS,CAACH,IAErD,MAAMI,EAAKlB,EACLmB,SAAsBhB,EAAmB,IACzCiB,EAASD,EAAehB,EAAiBI,EAE/Cc,EAAAA,WAAU,KACN,MAAAhB,GAAAA,EAAee,EAAAA,GAChB,CAACA,EAAQf,IAeZgB,OAAAA,EAAAA,WAAU,KACA,MAAAC,EAAYC,IACMf,EAAe,SAAfe,EAAEC,SAAmB,EAGvCC,EAAUX,EAAYG,QAEnB,OAAA,MAAAQ,GAAAA,EAAAC,iBAAiB,SAAUJ,GAE7B,IACH,MAAAG,OAAA,EAAAA,EAASE,oBACL,SACAL,EAAAA,GAET,CAACX,EAAqBH,IAGrBoB,EAAAA,KAAC,MAAI,CAAAC,UAAU,0BACX9B,SAAA,CAAA+B,EAAAA,IAAC,MAAA,CAGSC,MAAO,OACbF,UAAU,kCACVG,MAAO,CAAEC,OAAQrB,KAErBkB,EAAAA,IAACZ,EAAA,CACGpB,IAAKgB,EACL,cAAa,qBACbe,UAAWK,EAAAA,KACP,iBACA,mBAAmBjC,KAEvBC,KAGW,YAAPF,EACMoB,GAAUV,OACV,EAGV,uBAAsBU,GAAUV,KAC5BJ,EAEJP,SAAA+B,EAAAA,IAACK,EAAAA,gBAAgBC,SAAhB,CACGC,MAAO,CACHnC,KAAMkB,EACNkB,SArDU,KACtBnB,GAGgBX,GAAC+B,IAAmBA,GAAa,EAkDrCC,gBAAiB7B,EACjB8B,kBA7DSC,IACrBA,GACA/B,GAAoB,EAAI,EA4DZE,kBAAAA,GAGHd,SAAAA,QAGb,IAGR,CAAE4C,QAASC,EAAuBA"}
1
+ {"version":3,"file":"ExpandablePanel.cjs","sources":["../../../../src/components/expander/ExpandablePanel.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { useEffect, useImperativeHandle, useRef, useState } from \"react\";\nimport { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport { ExpanderContext } from \"./context.js\";\nimport { ExpandablePanelContent } from \"./ExpandablePanelContent.js\";\nimport { ExpandablePanelComponent, ExpandablePanelProps } from \"./types.js\";\n\nexport const ExpandablePanel = Object.assign(\n React.forwardRef(function ExpandablePanel<\n ElementType extends React.ElementType = \"details\",\n >(\n props: ExpandablePanelProps<ElementType>,\n ref?: PolymorphicRef<ElementType>,\n ) {\n const {\n children,\n as = \"details\",\n variant = \"fill\",\n open: controlledOpen,\n defaultOpen,\n onOpenChange,\n className,\n ...rest\n } = props;\n\n const [uncontrolledOpen, setUncontrolledOpen] = useState(\n defaultOpen || false,\n );\n const [contentIsVisible, setContentIsVisible] = useState(false);\n const [expanderHeight, setExpanderHeight] = useState(0);\n\n const internalRef = useRef<HTMLDetailsElement>();\n useImperativeHandle(ref, () => internalRef.current, [internalRef]);\n\n const El = as;\n const isControlled = typeof controlledOpen !== \"undefined\";\n const isOpen = isControlled ? controlledOpen : uncontrolledOpen;\n\n useEffect(() => {\n onOpenChange?.(isOpen);\n }, [isOpen, onOpenChange]);\n\n const setVisibleIfOpening = (isOpening: boolean) => {\n if (isOpening) {\n setContentIsVisible(true);\n }\n };\n\n const syncUncontrolledState = () => {\n if (isControlled) {\n return;\n }\n setUncontrolledOpen((previousValue) => !previousValue);\n };\n\n useEffect(() => {\n const callback = (e: ToggleEvent & { newState: string }) => {\n setUncontrolledOpen(e.newState === \"open\");\n };\n\n const element = internalRef.current;\n\n element?.addEventListener(\"toggle\", callback as EventListener);\n\n return () =>\n element?.removeEventListener(\n \"toggle\",\n callback as EventListener,\n );\n }, [setContentIsVisible, setUncontrolledOpen]);\n\n return (\n <div className=\"jkl-expandable__wrapper\">\n <div\n // React typings don't include inert for some reason,\n // but destructuring lets us calm down the TS compiler\n {...{ inert: \"true\" }}\n className=\"jkl-expandable__focus-container\"\n style={{ height: expanderHeight }}\n ></div>\n <El\n ref={internalRef}\n data-testid={\"jkl-expand-section\"}\n className={clsx(\n \"jkl-expandable\",\n `jkl-expandable--${variant}`,\n className,\n )}\n open={\n /* for the animation to work in Safari we must ensure that\n * the element is open *before* the transition starts */\n as === \"details\"\n ? isOpen || contentIsVisible\n : undefined\n }\n /* this attribute is used for styling purposes */\n data-visible-content={isOpen || contentIsVisible}\n {...rest}\n >\n <ExpanderContext.Provider\n value={{\n open: isOpen,\n onToggle: syncUncontrolledState,\n onTransitionEnd: setContentIsVisible,\n onTransitionStart: setVisibleIfOpening,\n setExpanderHeight,\n }}\n >\n {children}\n </ExpanderContext.Provider>\n </El>\n </div>\n );\n }),\n { Content: ExpandablePanelContent },\n) as ExpandablePanelComponent;\n"],"names":["ExpandablePanel","Object","assign","React","forwardRef","props","ref","children","as","variant","open","controlledOpen","defaultOpen","onOpenChange","className","rest","uncontrolledOpen","setUncontrolledOpen","useState","contentIsVisible","setContentIsVisible","expanderHeight","setExpanderHeight","internalRef","useRef","useImperativeHandle","current","El","isControlled","isOpen","useEffect","callback","e","newState","element","addEventListener","removeEventListener","jsxs","jsx","inert","style","height","clsx","ExpanderContext","Provider","value","onToggle","previousValue","onTransitionEnd","onTransitionStart","isOpening","Content","ExpandablePanelContent"],"mappings":"qPAOaA,EAAkBC,OAAOC,OAClCC,EAAMC,YAAW,SAGbC,EACAC,GAEM,MACFC,SAAAA,EACAC,GAAAA,EAAK,UACLC,QAAAA,EAAU,OACVC,KAAMC,EACNC,YAAAA,EACAC,aAAAA,EACAC,UAAAA,KACGC,GACHV,GAEGW,EAAkBC,GAAuBC,EAAAA,SAC5CN,IAAe,IAEZO,EAAkBC,GAAuBF,EAAAA,UAAS,IAClDG,EAAgBC,GAAqBJ,EAAAA,SAAS,GAE/CK,EAAcC,EAAAA,SACpBC,EAAAA,oBAAoBnB,GAAK,IAAMiB,EAAYG,SAAS,CAACH,IAErD,MAAMI,EAAKnB,EACLoB,SAAsBjB,EAAmB,IACzCkB,EAASD,EAAejB,EAAiBK,EAE/Cc,EAAAA,WAAU,KACN,MAAAjB,GAAAA,EAAegB,EAAAA,GAChB,CAACA,EAAQhB,IAeZiB,OAAAA,EAAAA,WAAU,KACA,MAAAC,EAAYC,IACMf,EAAe,SAAfe,EAAEC,SAAmB,EAGvCC,EAAUX,EAAYG,QAEnB,OAAA,MAAAQ,GAAAA,EAAAC,iBAAiB,SAAUJ,GAE7B,IACH,MAAAG,OAAAA,EAAAA,EAASE,oBACL,SACAL,EACJ,GACL,CAACX,EAAqBH,IAGrBoB,EAAAA,KAAC,MAAI,CAAAvB,UAAU,0BACXP,SAAA,CAAA+B,EAAAA,IAAC,MAAA,CAGSC,MAAO,OACbzB,UAAU,kCACV0B,MAAO,CAAEC,OAAQpB,KAErBiB,EAAAA,IAACX,EAAA,CACGrB,IAAKiB,EACL,cAAa,qBACbT,UAAW4B,EAAAA,KACP,iBACA,mBAAmBjC,IACnBK,GAEJJ,KAGW,YAAPF,EACMqB,GAAUV,OACV,EAGV,uBAAsBU,GAAUV,KAC5BJ,EAEJR,SAAA+B,EAAAA,IAACK,EAAAA,gBAAgBC,SAAhB,CACGC,MAAO,CACHnC,KAAMmB,EACNiB,SAtDU,KACtBlB,GAGgBX,GAAC8B,IAAmBA,GAAa,EAmDrCC,gBAAiB5B,EACjB6B,kBA9DSC,IACrBA,GACA9B,GAAoB,EAAI,EA6DZE,kBAAAA,GAGHf,SAAAA,QAGb,IAGR,CAAE4C,QAASC,EAAuBA"}
@@ -1,2 +1,2 @@
1
- import{jsxs as e,jsx as n}from"react/jsx-runtime";import{c as t}from"../../../clsx-BeLtu-UY.js";import a,{useState as s,useRef as r,useImperativeHandle as o,useEffect as l}from"react";import{ExpanderContext as i}from"./context.js";import{ExpandablePanelContent as d}from"./ExpandablePanelContent.js";const p=Object.assign(a.forwardRef((function(a,d){const{children:p,as:c="details",variant:u="fill",open:x,defaultOpen:f,onOpenChange:m,...j}=a,[v,g]=s(f||!1),[b,E]=s(!1),[h,k]=s(0),C=r();o(d,(()=>C.current),[C]);const P=c,_=typeof x<"u",w=_?x:v;l((()=>{null==m||m(w)}),[w,m]);return l((()=>{const e=e=>{g("open"===e.newState)},n=C.current;return null==n||n.addEventListener("toggle",e),()=>null==n?void 0:n.removeEventListener("toggle",e)}),[E,g]),e("div",{className:"jkl-expandable__wrapper",children:[n("div",{inert:"true",className:"jkl-expandable__focus-container",style:{height:h}}),n(P,{ref:C,"data-testid":"jkl-expand-section",className:t("jkl-expandable",`jkl-expandable--${u}`),open:"details"===c?w||b:void 0,"data-visible-content":w||b,...j,children:n(i.Provider,{value:{open:w,onToggle:()=>{_||g((e=>!e))},onTransitionEnd:E,onTransitionStart:e=>{e&&E(!0)},setExpanderHeight:k},children:p})})]})})),{Content:d});export{p as ExpandablePanel};
1
+ import{jsxs as e,jsx as n}from"react/jsx-runtime";import{c as a}from"../../../clsx-BeLtu-UY.js";import t,{useState as s,useRef as r,useImperativeHandle as o,useEffect as l}from"react";import{ExpanderContext as i}from"./context.js";import{ExpandablePanelContent as d}from"./ExpandablePanelContent.js";const c=Object.assign(t.forwardRef((function(t,d){const{children:c,as:p="details",variant:u="fill",open:m,defaultOpen:x,onOpenChange:f,className:j,...v}=t,[g,b]=s(x||!1),[E,h]=s(!1),[k,C]=s(0),N=r();o(d,(()=>N.current),[N]);const P=p,_=typeof m<"u",w=_?m:g;l((()=>{null==f||f(w)}),[w,f]);return l((()=>{const e=e=>{b("open"===e.newState)},n=N.current;return null==n||n.addEventListener("toggle",e),()=>null==n?void 0:n.removeEventListener("toggle",e)}),[h,b]),e("div",{className:"jkl-expandable__wrapper",children:[n("div",{inert:"true",className:"jkl-expandable__focus-container",style:{height:k}}),n(P,{ref:N,"data-testid":"jkl-expand-section",className:a("jkl-expandable",`jkl-expandable--${u}`,j),open:"details"===p?w||E:void 0,"data-visible-content":w||E,...v,children:n(i.Provider,{value:{open:w,onToggle:()=>{_||b((e=>!e))},onTransitionEnd:h,onTransitionStart:e=>{e&&h(!0)},setExpanderHeight:C},children:c})})]})})),{Content:d});export{c as ExpandablePanel};
2
2
  //# sourceMappingURL=ExpandablePanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpandablePanel.js","sources":["../../../../src/components/expander/ExpandablePanel.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { useEffect, useImperativeHandle, useRef, useState } from \"react\";\nimport { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport { ExpanderContext } from \"./context.js\";\nimport { ExpandablePanelContent } from \"./ExpandablePanelContent.js\";\nimport { ExpandablePanelComponent, ExpandablePanelProps } from \"./types.js\";\n\nexport const ExpandablePanel = Object.assign(\n React.forwardRef(function ExpandablePanel<\n ElementType extends React.ElementType = \"details\",\n >(\n props: ExpandablePanelProps<ElementType>,\n ref?: PolymorphicRef<ElementType>,\n ) {\n const {\n children,\n as = \"details\",\n variant = \"fill\",\n open: controlledOpen,\n defaultOpen,\n onOpenChange,\n ...rest\n } = props;\n\n const [uncontrolledOpen, setUncontrolledOpen] = useState(\n defaultOpen || false,\n );\n const [contentIsVisible, setContentIsVisible] = useState(false);\n const [expanderHeight, setExpanderHeight] = useState(0);\n\n const internalRef = useRef<HTMLDetailsElement>();\n useImperativeHandle(ref, () => internalRef.current, [internalRef]);\n\n const El = as;\n const isControlled = typeof controlledOpen !== \"undefined\";\n const isOpen = isControlled ? controlledOpen : uncontrolledOpen;\n\n useEffect(() => {\n onOpenChange?.(isOpen);\n }, [isOpen, onOpenChange]);\n\n const setVisibleIfOpening = (isOpening: boolean) => {\n if (isOpening) {\n setContentIsVisible(true);\n }\n };\n\n const syncUncontrolledState = () => {\n if (isControlled) {\n return;\n }\n setUncontrolledOpen((previousValue) => !previousValue);\n };\n\n useEffect(() => {\n const callback = (e: ToggleEvent & { newState: string }) => {\n setUncontrolledOpen(e.newState === \"open\");\n };\n\n const element = internalRef.current;\n\n element?.addEventListener(\"toggle\", callback as EventListener);\n\n return () =>\n element?.removeEventListener(\n \"toggle\",\n callback as EventListener,\n );\n }, [setContentIsVisible, setUncontrolledOpen]);\n\n return (\n <div className=\"jkl-expandable__wrapper\">\n <div\n // React typings don't include inert for some reason,\n // but destructuring lets us calm down the TS compiler\n {...{ inert: \"true\" }}\n className=\"jkl-expandable__focus-container\"\n style={{ height: expanderHeight }}\n ></div>\n <El\n ref={internalRef}\n data-testid={\"jkl-expand-section\"}\n className={clsx(\n \"jkl-expandable\",\n `jkl-expandable--${variant}`,\n )}\n open={\n /* for the animation to work in Safari we must ensure that\n * the element is open *before* the transition starts */\n as === \"details\"\n ? isOpen || contentIsVisible\n : undefined\n }\n /* this attribute is used for styling purposes */\n data-visible-content={isOpen || contentIsVisible}\n {...rest}\n >\n <ExpanderContext.Provider\n value={{\n open: isOpen,\n onToggle: syncUncontrolledState,\n onTransitionEnd: setContentIsVisible,\n onTransitionStart: setVisibleIfOpening,\n setExpanderHeight,\n }}\n >\n {children}\n </ExpanderContext.Provider>\n </El>\n </div>\n );\n }),\n { Content: ExpandablePanelContent },\n) as ExpandablePanelComponent;\n"],"names":["ExpandablePanel","Object","assign","React","forwardRef","props","ref","children","as","variant","open","controlledOpen","defaultOpen","onOpenChange","rest","uncontrolledOpen","setUncontrolledOpen","useState","contentIsVisible","setContentIsVisible","expanderHeight","setExpanderHeight","internalRef","useRef","useImperativeHandle","current","El","isControlled","isOpen","useEffect","callback","e","newState","element","addEventListener","removeEventListener","jsxs","className","jsx","inert","style","height","clsx","ExpanderContext","Provider","value","onToggle","previousValue","onTransitionEnd","onTransitionStart","isOpening","Content","ExpandablePanelContent"],"mappings":"4SAOO,MAAMA,EAAkBC,OAAOC,OAClCC,EAAMC,YAAW,SAGbC,EACAC,GAEM,MACFC,SAAAA,EACAC,GAAAA,EAAK,UACLC,QAAAA,EAAU,OACVC,KAAMC,EACNC,YAAAA,EACAC,aAAAA,KACGC,GACHT,GAEGU,EAAkBC,GAAuBC,EAC5CL,IAAe,IAEZM,EAAkBC,GAAuBF,GAAS,IAClDG,EAAgBC,GAAqBJ,EAAS,GAE/CK,EAAcC,IACpBC,EAAoBlB,GAAK,IAAMgB,EAAYG,SAAS,CAACH,IAE/CI,MAAAA,EAAKlB,EACLmB,SAAsBhB,EAAmB,IACzCiB,EAASD,EAAehB,EAAiBI,EAE/Cc,GAAU,KACN,MAAAhB,GAAAA,EAAee,EAAAA,GAChB,CAACA,EAAQf,IAeZ,OAAAgB,GAAU,KACAC,MAAAA,EAAYC,IACMf,EAAe,SAAfe,EAAEC,SAAmB,EAGvCC,EAAUX,EAAYG,QAEnBQ,OAAA,MAAAA,GAAAA,EAAAC,iBAAiB,SAAUJ,GAE7B,IACH,MAAAG,OAAA,EAAAA,EAASE,oBACL,SACAL,EAAA,GAET,CAACX,EAAqBH,IAGrBoB,EAAC,MAAI,CAAAC,UAAU,0BACX9B,SAAA,CAAA+B,EAAC,MAAA,CAGSC,MAAO,OACbF,UAAU,kCACVG,MAAO,CAAEC,OAAQrB,KAErBkB,EAACZ,EAAA,CACGpB,IAAKgB,EACL,cAAa,qBACbe,UAAWK,EACP,iBACA,mBAAmBjC,KAEvBC,KAGW,YAAPF,EACMoB,GAAUV,OACV,EAGV,uBAAsBU,GAAUV,KAC5BJ,EAEJP,SAAA+B,EAACK,EAAgBC,SAAhB,CACGC,MAAO,CACHnC,KAAMkB,EACNkB,SArDU,KACtBnB,GAGgBX,GAAC+B,IAAmBA,GAAa,EAkDrCC,gBAAiB7B,EACjB8B,kBA7DSC,IACrBA,GACA/B,GAAoB,EAAI,EA4DZE,kBAAAA,GAGHd,SAAAA,QAGb,IAGR,CAAE4C,QAASC"}
1
+ {"version":3,"file":"ExpandablePanel.js","sources":["../../../../src/components/expander/ExpandablePanel.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { useEffect, useImperativeHandle, useRef, useState } from \"react\";\nimport { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport { ExpanderContext } from \"./context.js\";\nimport { ExpandablePanelContent } from \"./ExpandablePanelContent.js\";\nimport { ExpandablePanelComponent, ExpandablePanelProps } from \"./types.js\";\n\nexport const ExpandablePanel = Object.assign(\n React.forwardRef(function ExpandablePanel<\n ElementType extends React.ElementType = \"details\",\n >(\n props: ExpandablePanelProps<ElementType>,\n ref?: PolymorphicRef<ElementType>,\n ) {\n const {\n children,\n as = \"details\",\n variant = \"fill\",\n open: controlledOpen,\n defaultOpen,\n onOpenChange,\n className,\n ...rest\n } = props;\n\n const [uncontrolledOpen, setUncontrolledOpen] = useState(\n defaultOpen || false,\n );\n const [contentIsVisible, setContentIsVisible] = useState(false);\n const [expanderHeight, setExpanderHeight] = useState(0);\n\n const internalRef = useRef<HTMLDetailsElement>();\n useImperativeHandle(ref, () => internalRef.current, [internalRef]);\n\n const El = as;\n const isControlled = typeof controlledOpen !== \"undefined\";\n const isOpen = isControlled ? controlledOpen : uncontrolledOpen;\n\n useEffect(() => {\n onOpenChange?.(isOpen);\n }, [isOpen, onOpenChange]);\n\n const setVisibleIfOpening = (isOpening: boolean) => {\n if (isOpening) {\n setContentIsVisible(true);\n }\n };\n\n const syncUncontrolledState = () => {\n if (isControlled) {\n return;\n }\n setUncontrolledOpen((previousValue) => !previousValue);\n };\n\n useEffect(() => {\n const callback = (e: ToggleEvent & { newState: string }) => {\n setUncontrolledOpen(e.newState === \"open\");\n };\n\n const element = internalRef.current;\n\n element?.addEventListener(\"toggle\", callback as EventListener);\n\n return () =>\n element?.removeEventListener(\n \"toggle\",\n callback as EventListener,\n );\n }, [setContentIsVisible, setUncontrolledOpen]);\n\n return (\n <div className=\"jkl-expandable__wrapper\">\n <div\n // React typings don't include inert for some reason,\n // but destructuring lets us calm down the TS compiler\n {...{ inert: \"true\" }}\n className=\"jkl-expandable__focus-container\"\n style={{ height: expanderHeight }}\n ></div>\n <El\n ref={internalRef}\n data-testid={\"jkl-expand-section\"}\n className={clsx(\n \"jkl-expandable\",\n `jkl-expandable--${variant}`,\n className,\n )}\n open={\n /* for the animation to work in Safari we must ensure that\n * the element is open *before* the transition starts */\n as === \"details\"\n ? isOpen || contentIsVisible\n : undefined\n }\n /* this attribute is used for styling purposes */\n data-visible-content={isOpen || contentIsVisible}\n {...rest}\n >\n <ExpanderContext.Provider\n value={{\n open: isOpen,\n onToggle: syncUncontrolledState,\n onTransitionEnd: setContentIsVisible,\n onTransitionStart: setVisibleIfOpening,\n setExpanderHeight,\n }}\n >\n {children}\n </ExpanderContext.Provider>\n </El>\n </div>\n );\n }),\n { Content: ExpandablePanelContent },\n) as ExpandablePanelComponent;\n"],"names":["ExpandablePanel","Object","assign","React","forwardRef","props","ref","children","as","variant","open","controlledOpen","defaultOpen","onOpenChange","className","rest","uncontrolledOpen","setUncontrolledOpen","useState","contentIsVisible","setContentIsVisible","expanderHeight","setExpanderHeight","internalRef","useRef","useImperativeHandle","current","El","isControlled","isOpen","useEffect","callback","e","newState","element","addEventListener","removeEventListener","jsxs","jsx","inert","style","height","clsx","ExpanderContext","Provider","value","onToggle","previousValue","onTransitionEnd","onTransitionStart","isOpening","Content","ExpandablePanelContent"],"mappings":"4SAOO,MAAMA,EAAkBC,OAAOC,OAClCC,EAAMC,YAAW,SAGbC,EACAC,GAEM,MACFC,SAAAA,EACAC,GAAAA,EAAK,UACLC,QAAAA,EAAU,OACVC,KAAMC,EACNC,YAAAA,EACAC,aAAAA,EACAC,UAAAA,KACGC,GACHV,GAEGW,EAAkBC,GAAuBC,EAC5CN,IAAe,IAEZO,EAAkBC,GAAuBF,GAAS,IAClDG,EAAgBC,GAAqBJ,EAAS,GAE/CK,EAAcC,IACpBC,EAAoBnB,GAAK,IAAMiB,EAAYG,SAAS,CAACH,IAE/CI,MAAAA,EAAKnB,EACLoB,SAAsBjB,EAAmB,IACzCkB,EAASD,EAAejB,EAAiBK,EAE/Cc,GAAU,KACN,MAAAjB,GAAAA,EAAegB,EAAAA,GAChB,CAACA,EAAQhB,IAeZ,OAAAiB,GAAU,KACAC,MAAAA,EAAYC,IACMf,EAAe,SAAfe,EAAEC,SAAmB,EAGvCC,EAAUX,EAAYG,QAEnBQ,OAAA,MAAAA,GAAAA,EAAAC,iBAAiB,SAAUJ,GAE7B,IACH,MAAAG,OAAA,EAAAA,EAASE,oBACL,SACAL,EAAA,GAET,CAACX,EAAqBH,IAGrBoB,EAAC,MAAI,CAAAvB,UAAU,0BACXP,SAAA,CAAA+B,EAAC,MAAA,CAGSC,MAAO,OACbzB,UAAU,kCACV0B,MAAO,CAAEC,OAAQpB,KAErBiB,EAACX,EAAA,CACGrB,IAAKiB,EACL,cAAa,qBACbT,UAAW4B,EACP,iBACA,mBAAmBjC,IACnBK,GAEJJ,KAGW,YAAPF,EACMqB,GAAUV,OACV,EAGV,uBAAsBU,GAAUV,KAC5BJ,EAEJR,SAAA+B,EAACK,EAAgBC,SAAhB,CACGC,MAAO,CACHnC,KAAMmB,EACNiB,SAtDU,KACtBlB,GAGgBX,GAAC8B,IAAmBA,GAAa,EAmDrCC,gBAAiB5B,EACjB6B,kBA9DSC,IACrBA,GACA9B,GAAoB,EAAI,EA6DZE,kBAAAA,GAGHf,SAAAA,QAGb,IAGR,CAAE4C,QAASC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fremtind/jokul",
3
- "version": "0.40.0",
3
+ "version": "0.40.2",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -603,5 +603,5 @@
603
603
  "@babel/preset-react"
604
604
  ]
605
605
  },
606
- "gitHead": "8acbd98262aa0f0054c81f26566d597cd4673a0f"
606
+ "gitHead": "cb2a4a3afec120f88aa5cf58e8862aea29f1da6d"
607
607
  }
@@ -9,8 +9,7 @@
9
9
  --jkl-button-padding-text: calc(var(--jkl-unit-10) * 3);
10
10
  --jkl-button-padding-icon: calc(var(--jkl-unit-10) * 2);
11
11
  --jkl-button-padding-icon-button: 0.5rem;
12
- --jkl-button-padding-tertiary-inline: calc(var(--jkl-unit-10) * 0.5);
13
- --jkl-button-padding-ghost-inline: 0.5rem;
12
+ --jkl-button-teritary-padding-icon: calc(var(--jkl-unit-10) * 0.5);
14
13
  --jkl-button-font-size: 1.125rem;
15
14
  --jkl-button-line-height: 1.75rem;
16
15
  }
@@ -29,7 +28,7 @@
29
28
  --jkl-button-padding-text: calc(var(--jkl-unit-10) * 1.5);
30
29
  --jkl-button-padding-icon: 0.5rem;
31
30
  --jkl-button-padding-icon-button: calc(var(--jkl-unit-10) * 0.5);
32
- --jkl-button-padding-tertiary-inline: calc(var(--jkl-unit-10) * 0.25);
31
+ --jkl-button-teritary-padding-icon: calc(var(--jkl-unit-10) * 0.25);
33
32
  --jkl-button-padding-ghost-inline: calc(var(--jkl-unit-10) * 0.5);
34
33
  --jkl-button-font-size: 1rem;
35
34
  --jkl-button-line-height: 1.5rem;
@@ -134,43 +133,55 @@
134
133
  width: 1rem;
135
134
  height: 1rem;
136
135
  }
137
- html[data-touchnavigation] .jkl-button.jkl-button--pressed::before {
138
- animation: cubic-bezier(0.6, 0.2, 0.35, 1) 250ms jkl-tertiary-flash-u3mqo3i;
136
+ .jkl-button::after {
137
+ content: "";
138
+ opacity: 0;
139
+ position: absolute;
140
+ inset: 0;
141
+ border-radius: inherit;
142
+ background-color: var(--text-color);
143
+ transition-timing-function: ease;
144
+ transition-duration: 150ms;
145
+ transition-property: opacity;
139
146
  }
140
- :not([data-touchnavigation]) .jkl-button--primary:hover, :not([data-touchnavigation]) .jkl-button--secondary:hover, :not([data-touchnavigation]) .jkl-button--tertiary:hover {
141
- scale: 1.05;
142
- transform-origin: center;
147
+ .jkl-button:hover::after {
148
+ opacity: 0.15;
143
149
  }
144
- .jkl-button--primary, .jkl-button--secondary {
150
+ html[data-touchnavigation] .jkl-button.jkl-button--pressed::before {
151
+ animation: cubic-bezier(0.6, 0.2, 0.35, 1) 250ms jkl-tertiary-flash-ukungg8;
152
+ }
153
+ .jkl-button--primary, .jkl-button--secondary, .jkl-button--ghost {
145
154
  --border-radius: 999px;
146
155
  }
147
156
  .jkl-button--primary {
148
157
  --background-color: var(--jkl-color-background-action);
149
158
  --text-color: var(--jkl-color-text-on-action);
150
159
  }
160
+ .jkl-button--secondary {
161
+ border: var(--border-width) solid var(--text-color);
162
+ }
151
163
  .jkl-button--secondary::after {
152
164
  content: "";
153
165
  position: absolute;
154
166
  inset: 0;
155
- border-radius: var(--border-radius);
156
- border: var(--border-width) solid var(--text-color);
157
167
  }
158
- .jkl-button--tertiary, .jkl-button--tertiary:has(.jkl-icon:first-child), .jkl-button--tertiary:has(.jkl-icon:last-child) {
159
- padding-inline: var(--jkl-button-padding-tertiary-inline);
168
+ .jkl-button--tertiary {
169
+ border-bottom: var(--border-width) solid var(--text-color);
170
+ padding-inline: var(--jkl-button-teritary-padding-icon);
160
171
  }
161
- .jkl-button--tertiary::after, .jkl-button--tertiary:has(.jkl-icon:first-child)::after, .jkl-button--tertiary:has(.jkl-icon:last-child)::after {
172
+ .jkl-button--tertiary::after {
162
173
  content: "";
163
174
  position: absolute;
164
175
  inset: 0;
165
176
  border-radius: var(--border-radius);
166
- border-bottom: var(--border-width) solid var(--text-color);
167
177
  }
168
- .jkl-button--tertiary:hover, .jkl-button--tertiary:focus-visible, .jkl-button--tertiary:has(.jkl-icon:first-child):hover, .jkl-button--tertiary:has(.jkl-icon:first-child):focus-visible, .jkl-button--tertiary:has(.jkl-icon:last-child):hover, .jkl-button--tertiary:has(.jkl-icon:last-child):focus-visible {
169
- --border-width: 0.125rem;
178
+ .jkl-button--tertiary:has(.jkl-icon:first-child) {
179
+ padding-inline: var(--jkl-button-teritary-padding-icon) calc(var(--jkl-button-teritary-padding-icon) * 2);
180
+ }
181
+ .jkl-button--tertiary:has(.jkl-icon:last-child) {
182
+ padding-inline: calc(var(--jkl-button-teritary-padding-icon) * 2) var(--jkl-button-teritary-padding-icon);
170
183
  }
171
184
  .jkl-button--ghost, .jkl-button--ghost:has(.jkl-icon:first-child), .jkl-button--ghost:has(.jkl-icon:last-child) {
172
- padding-inline: var(--jkl-button-padding-ghost-inline);
173
- border-radius: 0.25rem;
174
185
  transition-timing-function: ease;
175
186
  transition-duration: 150ms;
176
187
  transition-property: background-color;
@@ -179,7 +190,7 @@ html[data-touchnavigation] .jkl-button.jkl-button--pressed::before {
179
190
  --background-color: var(--jkl-color-background-interactive-hover);
180
191
  }
181
192
 
182
- @keyframes jkl-tertiary-flash-u3mqo3i {
193
+ @keyframes jkl-tertiary-flash-ukungg8 {
183
194
  0% {
184
195
  opacity: 0.5;
185
196
  scale: 1;
@@ -1 +1 @@
1
- :root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-button-padding-block:0.5rem;--jkl-button-padding-text:calc(var(--jkl-unit-10)*3);--jkl-button-padding-icon:calc(var(--jkl-unit-10)*2);--jkl-button-padding-icon-button:0.5rem;--jkl-button-padding-tertiary-inline:calc(var(--jkl-unit-10)*0.5);--jkl-button-padding-ghost-inline:0.5rem;--jkl-button-font-size:1.125rem;--jkl-button-line-height:1.75rem}@media (min-width:680px){:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-button-font-size:1.25rem;--jkl-button-line-height:2rem}}[data-density=compact],[data-layout-density=compact]{--jkl-button-padding-block:calc(var(--jkl-unit-10)*0.5);--jkl-button-padding-text:calc(var(--jkl-unit-10)*1.5);--jkl-button-padding-icon:0.5rem;--jkl-button-padding-icon-button:calc(var(--jkl-unit-10)*0.5);--jkl-button-padding-tertiary-inline:calc(var(--jkl-unit-10)*0.25);--jkl-button-padding-ghost-inline:calc(var(--jkl-unit-10)*0.5);--jkl-button-font-size:1rem;--jkl-button-line-height:1.5rem}@media (min-width:680px){[data-density=compact],[data-layout-density=compact]{--jkl-button-font-size:1rem;--jkl-button-line-height:1.5rem;--jkl-button-icon-weight:500}}.jkl-button{--jkl-icon-weight:var(--jkl-button-icon-weight,initial);--text-color:var(--jkl-color-text-default);--background-color:#0000;--border-radius:0;--border-width:0.0625rem;background-color:var(--background-color);border:unset;color:var(--text-color);cursor:pointer;display:inline-block;font-size:var(--jkl-button-font-size);font-weight:700;line-height:var(--jkl-button-line-height);text-decoration:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;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:.15s;transition-property:scale;transition-timing-function:ease}.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:calc(var(--jkl-unit-10)*.25);pointer-events:none;transition-duration:.25s;transition-property:translate;transition-timing-function:ease;width:100%}.jkl-button__loader{left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transition-duration:.25s;transition-property:opacity,translate;transition-timing-function:ease;translate:-50% 350%}.jkl-button__text{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.jkl-button[data-loading=true] .jkl-button__label{translate:0 -120%}.jkl-button[data-loading=true] .jkl-button__loader{opacity:1;translate:-50% -50%}.jkl-button:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-button:before{background-color:var(--text-color);border-radius:9999px;content:"";display:block;height:1rem;left:var(--jkl-touch-xcoord,50%);opacity:0;pointer-events:none;position:absolute;top:var(--jkl-touch-ycoord,50%);transform-origin:center;translate:-100%,-100%;width:1rem}html[data-touchnavigation] .jkl-button.jkl-button--pressed:before{animation:jkl-tertiary-flash-u3mqo3i .25s cubic-bezier(.6,.2,.35,1)}:not([data-touchnavigation]) .jkl-button--primary:hover,:not([data-touchnavigation]) .jkl-button--secondary:hover,:not([data-touchnavigation]) .jkl-button--tertiary:hover{scale:1.05;transform-origin:center}.jkl-button--primary,.jkl-button--secondary{--border-radius:999px}.jkl-button--primary{--background-color:var(--jkl-color-background-action);--text-color:var(--jkl-color-text-on-action)}.jkl-button--secondary:after{border:var(--border-width) solid var(--text-color);border-radius:var(--border-radius);content:"";inset:0;position:absolute}.jkl-button--tertiary,.jkl-button--tertiary:has(.jkl-icon:first-child),.jkl-button--tertiary:has(.jkl-icon:last-child){padding-inline:var(--jkl-button-padding-tertiary-inline)}.jkl-button--tertiary:after,.jkl-button--tertiary:has(.jkl-icon:first-child):after,.jkl-button--tertiary:has(.jkl-icon:last-child):after{border-bottom:var(--border-width) solid var(--text-color);border-radius:var(--border-radius);content:"";inset:0;position:absolute}.jkl-button--tertiary:focus-visible,.jkl-button--tertiary:has(.jkl-icon:first-child):focus-visible,.jkl-button--tertiary:has(.jkl-icon:first-child):hover,.jkl-button--tertiary:has(.jkl-icon:last-child):focus-visible,.jkl-button--tertiary:has(.jkl-icon:last-child):hover,.jkl-button--tertiary:hover{--border-width:0.125rem}.jkl-button--ghost,.jkl-button--ghost:has(.jkl-icon:first-child),.jkl-button--ghost:has(.jkl-icon:last-child){border-radius:.25rem;padding-inline:var(--jkl-button-padding-ghost-inline);transition-duration:.15s;transition-property:background-color;transition-timing-function:ease}.jkl-button--ghost:has(.jkl-icon:first-child):hover,.jkl-button--ghost:has(.jkl-icon:last-child):hover,.jkl-button--ghost:hover{--background-color:var(--jkl-color-background-interactive-hover)}@keyframes jkl-tertiary-flash-u3mqo3i{0%{opacity:.5;scale:1}to{opacity:0;scale:8}}
1
+ :root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-button-padding-block:0.5rem;--jkl-button-padding-text:calc(var(--jkl-unit-10)*3);--jkl-button-padding-icon:calc(var(--jkl-unit-10)*2);--jkl-button-padding-icon-button:0.5rem;--jkl-button-teritary-padding-icon:calc(var(--jkl-unit-10)*0.5);--jkl-button-font-size:1.125rem;--jkl-button-line-height:1.75rem}@media (min-width:680px){:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-button-font-size:1.25rem;--jkl-button-line-height:2rem}}[data-density=compact],[data-layout-density=compact]{--jkl-button-padding-block:calc(var(--jkl-unit-10)*0.5);--jkl-button-padding-text:calc(var(--jkl-unit-10)*1.5);--jkl-button-padding-icon:0.5rem;--jkl-button-padding-icon-button:calc(var(--jkl-unit-10)*0.5);--jkl-button-teritary-padding-icon:calc(var(--jkl-unit-10)*0.25);--jkl-button-padding-ghost-inline:calc(var(--jkl-unit-10)*0.5);--jkl-button-font-size:1rem;--jkl-button-line-height:1.5rem}@media (min-width:680px){[data-density=compact],[data-layout-density=compact]{--jkl-button-font-size:1rem;--jkl-button-line-height:1.5rem;--jkl-button-icon-weight:500}}.jkl-button{--jkl-icon-weight:var(--jkl-button-icon-weight,initial);--text-color:var(--jkl-color-text-default);--background-color:#0000;--border-radius:0;--border-width:0.0625rem;background-color:var(--background-color);border:unset;color:var(--text-color);cursor:pointer;display:inline-block;font-size:var(--jkl-button-font-size);font-weight:700;line-height:var(--jkl-button-line-height);text-decoration:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;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:.15s;transition-property:scale;transition-timing-function:ease}.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:calc(var(--jkl-unit-10)*.25);pointer-events:none;transition-duration:.25s;transition-property:translate;transition-timing-function:ease;width:100%}.jkl-button__loader{left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transition-duration:.25s;transition-property:opacity,translate;transition-timing-function:ease;translate:-50% 350%}.jkl-button__text{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.jkl-button[data-loading=true] .jkl-button__label{translate:0 -120%}.jkl-button[data-loading=true] .jkl-button__loader{opacity:1;translate:-50% -50%}.jkl-button:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-button:before{border-radius:9999px;display:block;height:1rem;left:var(--jkl-touch-xcoord,50%);pointer-events:none;top:var(--jkl-touch-ycoord,50%);transform-origin:center;translate:-100%,-100%;width:1rem}.jkl-button:after,.jkl-button:before{background-color:var(--text-color);content:"";opacity:0;position:absolute}.jkl-button:after{border-radius:inherit;inset:0;transition-duration:.15s;transition-property:opacity;transition-timing-function:ease}.jkl-button:hover:after{opacity:.15}html[data-touchnavigation] .jkl-button.jkl-button--pressed:before{animation:jkl-tertiary-flash-ukungg8 .25s cubic-bezier(.6,.2,.35,1)}.jkl-button--ghost,.jkl-button--primary,.jkl-button--secondary{--border-radius:999px}.jkl-button--primary{--background-color:var(--jkl-color-background-action);--text-color:var(--jkl-color-text-on-action)}.jkl-button--secondary{border:var(--border-width) solid var(--text-color)}.jkl-button--secondary:after{content:"";inset:0;position:absolute}.jkl-button--tertiary{border-bottom:var(--border-width) solid var(--text-color);padding-inline:var(--jkl-button-teritary-padding-icon)}.jkl-button--tertiary:after{border-radius:var(--border-radius);content:"";inset:0;position:absolute}.jkl-button--tertiary:has(.jkl-icon:first-child){padding-inline:var(--jkl-button-teritary-padding-icon) calc(var(--jkl-button-teritary-padding-icon)*2)}.jkl-button--tertiary:has(.jkl-icon:last-child){padding-inline:calc(var(--jkl-button-teritary-padding-icon)*2) var(--jkl-button-teritary-padding-icon)}.jkl-button--ghost,.jkl-button--ghost:has(.jkl-icon:first-child),.jkl-button--ghost:has(.jkl-icon:last-child){transition-duration:.15s;transition-property:background-color;transition-timing-function:ease}.jkl-button--ghost:has(.jkl-icon:first-child):hover,.jkl-button--ghost:has(.jkl-icon:last-child):hover,.jkl-button--ghost:hover{--background-color:var(--jkl-color-background-interactive-hover)}@keyframes jkl-tertiary-flash-ukungg8{0%{opacity:.5;scale:1}to{opacity:0;scale:8}}
@@ -9,8 +9,7 @@ $_flash-animation-name: jkl-tertiary-flash-#{string.unique-id()};
9
9
  --jkl-button-padding-text: #{jkl.$unit-30};
10
10
  --jkl-button-padding-icon: #{jkl.$unit-20};
11
11
  --jkl-button-padding-icon-button: #{jkl.$unit-10};
12
- --jkl-button-padding-tertiary-inline: #{jkl.$unit-05};
13
- --jkl-button-padding-ghost-inline: #{jkl.$unit-10};
12
+ --jkl-button-teritary-padding-icon: #{jkl.$unit-05};
14
13
  --jkl-button-font-size: #{jkl.$typography-body-small-font-size};
15
14
  --jkl-button-line-height: #{jkl.$typography-body-small-line-height};
16
15
 
@@ -25,7 +24,7 @@ $_flash-animation-name: jkl-tertiary-flash-#{string.unique-id()};
25
24
  --jkl-button-padding-text: #{jkl.$unit-15};
26
25
  --jkl-button-padding-icon: #{jkl.$unit-10};
27
26
  --jkl-button-padding-icon-button: #{jkl.$unit-05};
28
- --jkl-button-padding-tertiary-inline: #{jkl.$unit-02};
27
+ --jkl-button-teritary-padding-icon: #{jkl.$unit-02};
29
28
  --jkl-button-padding-ghost-inline: #{jkl.$unit-05};
30
29
  --jkl-button-font-size: #{jkl.$typography-small-small-font-size};
31
30
  --jkl-button-line-height: #{jkl.$typography-small-small-line-height};
@@ -143,6 +142,22 @@ $_flash-animation-name: jkl-tertiary-flash-#{string.unique-id()};
143
142
  height: jkl.rem(16px);
144
143
  }
145
144
 
145
+ &::after {
146
+ content: "";
147
+ opacity: 0;
148
+ position: absolute;
149
+ inset: 0;
150
+ border-radius: inherit;
151
+ background-color: var(--text-color);
152
+ @include jkl.motion("standard", "productive", opacity);
153
+ }
154
+
155
+ &:hover {
156
+ &::after {
157
+ opacity: 0.15;
158
+ }
159
+ }
160
+
146
161
  html[data-touchnavigation] &.jkl-button--pressed::before {
147
162
  animation: jkl.easing("focus") jkl.timing("expressive")
148
163
  $_flash-animation-name;
@@ -150,15 +165,7 @@ $_flash-animation-name: jkl-tertiary-flash-#{string.unique-id()};
150
165
 
151
166
  &--primary,
152
167
  &--secondary,
153
- &--tertiary {
154
- :not([data-touchnavigation]) &:hover {
155
- scale: 1.05;
156
- transform-origin: center;
157
- }
158
- }
159
-
160
- &--primary,
161
- &--secondary {
168
+ &--ghost {
162
169
  --border-radius: 999px;
163
170
  }
164
171
 
@@ -168,40 +175,42 @@ $_flash-animation-name: jkl-tertiary-flash-#{string.unique-id()};
168
175
  }
169
176
 
170
177
  &--secondary {
178
+ border: var(--border-width) solid var(--text-color);
179
+
171
180
  &::after {
172
181
  content: "";
173
182
  position: absolute;
174
183
  inset: 0;
175
- border-radius: var(--border-radius);
176
- border: var(--border-width) solid var(--text-color);
177
184
  }
178
185
  }
179
186
 
180
- &--tertiary,
181
- &--tertiary:has(.jkl-icon:first-child),
182
- &--tertiary:has(.jkl-icon:last-child) {
183
- padding-inline: var(--jkl-button-padding-tertiary-inline);
187
+ &--tertiary {
188
+ border-bottom: var(--border-width) solid var(--text-color);
189
+ padding-inline: var(--jkl-button-teritary-padding-icon);
184
190
 
185
191
  &::after {
186
192
  content: "";
187
193
  position: absolute;
188
194
  inset: 0;
189
195
  border-radius: var(--border-radius);
190
- border-bottom: var(--border-width) solid var(--text-color);
191
196
  }
192
197
 
193
- &:hover,
194
- &:focus-visible {
195
- --border-width: #{jkl.rem(2px)};
198
+ &:has(.jkl-icon:first-child) {
199
+ padding-inline: var(--jkl-button-teritary-padding-icon) calc(
200
+ var(--jkl-button-teritary-padding-icon) * 2
201
+ );
202
+ }
203
+
204
+ &:has(.jkl-icon:last-child) {
205
+ padding-inline: calc(
206
+ var(--jkl-button-teritary-padding-icon) * 2
207
+ ) var(--jkl-button-teritary-padding-icon);
196
208
  }
197
209
  }
198
210
 
199
211
  &--ghost,
200
212
  &--ghost:has(.jkl-icon:first-child),
201
213
  &--ghost:has(.jkl-icon:last-child) {
202
- padding-inline: var(--jkl-button-padding-ghost-inline);
203
- border-radius: jkl.rem(4px);
204
-
205
214
  @include jkl.motion("standard", "productive", background-color);
206
215
 
207
216
  &:hover {
@@ -32,7 +32,7 @@
32
32
  --jkl-checkbox-line-height: 1.5rem;
33
33
  }
34
34
 
35
- @keyframes jkl-checkbox-checked-u536km6 {
35
+ @keyframes jkl-checkbox-checked-uy546rb {
36
36
  0% {
37
37
  width: 0;
38
38
  height: 0;
@@ -46,7 +46,7 @@
46
46
  height: 58%;
47
47
  }
48
48
  }
49
- @keyframes jkl-checkbox-indeterminate-u536kmy {
49
+ @keyframes jkl-checkbox-indeterminate-uy546rt {
50
50
  0% {
51
51
  width: 0;
52
52
  }
@@ -74,11 +74,11 @@
74
74
  top: -6px;
75
75
  }
76
76
  .jkl-checkbox__input:checked + .jkl-checkbox__label .jkl-checkbox__check-mark::after {
77
- animation: jkl-checkbox-checked-u536km6 150ms ease-in-out forwards;
77
+ animation: jkl-checkbox-checked-uy546rb 150ms ease-in-out forwards;
78
78
  opacity: 1;
79
79
  }
80
80
  .jkl-checkbox__input:indeterminate:not(:checked) + .jkl-checkbox__label .jkl-checkbox__indeterminate-mark::after {
81
- animation: jkl-checkbox-indeterminate-u536kmy 150ms ease-in-out forwards;
81
+ animation: jkl-checkbox-indeterminate-uy546rt 150ms ease-in-out forwards;
82
82
  opacity: 1;
83
83
  }
84
84
  .jkl-checkbox__input:focus-visible + .jkl-checkbox__label {
@@ -1 +1 @@
1
- :root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-checkbox-font-size:var(--jkl-body-font-size);--jkl-checkbox-line-height:var(--jkl-body-line-height);--jkl-checkbox-font-weight:var(--jkl-body-font-weight);--jkl-checkbox-height:3rem;--jkl-checkbox-box-size:1.5rem;--jkl-checkbox-line-height:2rem}@media (width >= 0) and (max-width:679px){:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-checkbox-height:2.5rem;--jkl-checkbox-box-size:1.5rem;--jkl-checkbox-line-height:1.75rem}}[data-density=compact],[data-layout-density=compact]{--jkl-checkbox-font-size:var(--jkl-small-font-size);--jkl-checkbox-line-height:var(--jkl-small-line-height);--jkl-checkbox-font-weight:var(--jkl-small-font-weight);--jkl-checkbox-height:1.75rem;--jkl-checkbox-box-size:1.125rem;--jkl-checkbox-line-height:1.5rem}@keyframes jkl-checkbox-checked-u536km6{0%{height:0;width:0}40%{height:0;width:18%}to{height:58%;width:18%}}@keyframes jkl-checkbox-indeterminate-u536kmy{0%{width:0}to{width:66%}}.jkl-checkbox{--box-color:var(--jkl-color-border-action);--check-color:var(--jkl-color-border-action);--text-color:var(--jkl-color-text-default);--background-color:#0000;color:var(--text-color);display:flex;flex-wrap:wrap;font-size:var(--jkl-checkbox-font-size);font-weight:var(--jkl-checkbox-font-weight);line-height:var(--jkl-checkbox-line-height);min-height:var(--jkl-checkbox-height);position:relative}.jkl-checkbox__input{opacity:0;position:absolute;top:-6px}.jkl-checkbox__input:checked+.jkl-checkbox__label .jkl-checkbox__check-mark:after{animation:jkl-checkbox-checked-u536km6 .15s ease-in-out forwards;opacity:1}.jkl-checkbox__input:indeterminate:not(:checked)+.jkl-checkbox__label .jkl-checkbox__indeterminate-mark:after{animation:jkl-checkbox-indeterminate-u536kmy .15s ease-in-out forwards;opacity:1}.jkl-checkbox__input:focus-visible+.jkl-checkbox__label{color:var(--jkl-checkbox-focus-color)}.jkl-checkbox__input:focus-visible+.jkl-checkbox__label>.jkl-checkbox__mark{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-checkbox__input:disabled+.jkl-checkbox__label{color:var(--jkl-checkbox-disabled-color)}.jkl-checkbox__input:active{--background-color:var(--jkl-color-background-input-focus)}.jkl-checkbox__label{cursor:pointer;display:flex;flex-shrink:0;max-width:100%;min-width:0}.jkl-checkbox__label:active .jkl-checkbox__mark,.jkl-checkbox__label:hover .jkl-checkbox__mark{outline:1px solid var(--box-color)}.jkl-checkbox__text{margin:calc((var(--jkl-checkbox-height) - var(--jkl-checkbox-line-height))*.5) 0;transition-duration:.15s;transition-property:color;transition-timing-function:ease;translate:0 .0625rem}.jkl-checkbox__mark{box-sizing:border-box;height:var(--jkl-checkbox-box-size);margin-block:calc((var(--jkl-checkbox-height) - var(--jkl-checkbox-box-size))*.5);position:relative;width:var(--jkl-checkbox-box-size);-webkit-margin-end:var(--jkl-unit-10);align-self:flex-start;background-color:var(--background-color);border:1px solid;border-color:var(--box-color);border-radius:0;flex-shrink:0;margin-inline-end:var(--jkl-unit-10);outline:none;transition-duration:.15s;transition-property:background-color;transition-timing-function:ease}@media screen and (forced-colors:active){.jkl-checkbox__mark{border:1px solid ButtonText;outline:revert}}.jkl-checkbox__check-mark:after{border-bottom:.125rem solid var(--check-color);border-left-width:.125rem;border-left:0 solid var(--check-color);border-right:.125rem solid var(--check-color);border-top-width:.125rem;border-top:0 solid var(--check-color);bottom:42%;content:"";display:block;height:58%;left:18%;opacity:0;position:absolute;transform:rotate(45deg);transform-origin:bottom left;transition-duration:.15s;transition-property:opacity,border-color;transition-timing-function:ease;width:18%}@media screen and (forced-colors:active){.jkl-checkbox__check-mark:after{border-color:ButtonText}}.jkl-checkbox__indeterminate-mark:after{--width:66%;--thickness:0.125rem;border-bottom:solid var(--thickness) var(--check-color);bottom:calc(50% - var(--thickness)/2);content:"";display:block;left:calc((100% - var(--width))/2);opacity:0;position:absolute;transition-duration:.15s;transition-property:opacity,border-color;transition-timing-function:ease;width:var(--width)}@media screen and (forced-colors:active){.jkl-checkbox__indeterminate-mark:after{border-color:ButtonText}}.jkl-checkbox--inline{display:inline-flex}.jkl-checkbox--inline:not(:last-of-type){margin-right:calc(var(--jkl-unit-10)*3)}.jkl-checkbox--error{--background-color:var(--jkl-color-background-alert-error);--check-color:var(--jkl-color-text-on-alert)}
1
+ :root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-checkbox-font-size:var(--jkl-body-font-size);--jkl-checkbox-line-height:var(--jkl-body-line-height);--jkl-checkbox-font-weight:var(--jkl-body-font-weight);--jkl-checkbox-height:3rem;--jkl-checkbox-box-size:1.5rem;--jkl-checkbox-line-height:2rem}@media (width >= 0) and (max-width:679px){:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-checkbox-height:2.5rem;--jkl-checkbox-box-size:1.5rem;--jkl-checkbox-line-height:1.75rem}}[data-density=compact],[data-layout-density=compact]{--jkl-checkbox-font-size:var(--jkl-small-font-size);--jkl-checkbox-line-height:var(--jkl-small-line-height);--jkl-checkbox-font-weight:var(--jkl-small-font-weight);--jkl-checkbox-height:1.75rem;--jkl-checkbox-box-size:1.125rem;--jkl-checkbox-line-height:1.5rem}@keyframes jkl-checkbox-checked-uy546rb{0%{height:0;width:0}40%{height:0;width:18%}to{height:58%;width:18%}}@keyframes jkl-checkbox-indeterminate-uy546rt{0%{width:0}to{width:66%}}.jkl-checkbox{--box-color:var(--jkl-color-border-action);--check-color:var(--jkl-color-border-action);--text-color:var(--jkl-color-text-default);--background-color:#0000;color:var(--text-color);display:flex;flex-wrap:wrap;font-size:var(--jkl-checkbox-font-size);font-weight:var(--jkl-checkbox-font-weight);line-height:var(--jkl-checkbox-line-height);min-height:var(--jkl-checkbox-height);position:relative}.jkl-checkbox__input{opacity:0;position:absolute;top:-6px}.jkl-checkbox__input:checked+.jkl-checkbox__label .jkl-checkbox__check-mark:after{animation:jkl-checkbox-checked-uy546rb .15s ease-in-out forwards;opacity:1}.jkl-checkbox__input:indeterminate:not(:checked)+.jkl-checkbox__label .jkl-checkbox__indeterminate-mark:after{animation:jkl-checkbox-indeterminate-uy546rt .15s ease-in-out forwards;opacity:1}.jkl-checkbox__input:focus-visible+.jkl-checkbox__label{color:var(--jkl-checkbox-focus-color)}.jkl-checkbox__input:focus-visible+.jkl-checkbox__label>.jkl-checkbox__mark{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-checkbox__input:disabled+.jkl-checkbox__label{color:var(--jkl-checkbox-disabled-color)}.jkl-checkbox__input:active{--background-color:var(--jkl-color-background-input-focus)}.jkl-checkbox__label{cursor:pointer;display:flex;flex-shrink:0;max-width:100%;min-width:0}.jkl-checkbox__label:active .jkl-checkbox__mark,.jkl-checkbox__label:hover .jkl-checkbox__mark{outline:1px solid var(--box-color)}.jkl-checkbox__text{margin:calc((var(--jkl-checkbox-height) - var(--jkl-checkbox-line-height))*.5) 0;transition-duration:.15s;transition-property:color;transition-timing-function:ease;translate:0 .0625rem}.jkl-checkbox__mark{box-sizing:border-box;height:var(--jkl-checkbox-box-size);margin-block:calc((var(--jkl-checkbox-height) - var(--jkl-checkbox-box-size))*.5);position:relative;width:var(--jkl-checkbox-box-size);-webkit-margin-end:var(--jkl-unit-10);align-self:flex-start;background-color:var(--background-color);border:1px solid;border-color:var(--box-color);border-radius:0;flex-shrink:0;margin-inline-end:var(--jkl-unit-10);outline:none;transition-duration:.15s;transition-property:background-color;transition-timing-function:ease}@media screen and (forced-colors:active){.jkl-checkbox__mark{border:1px solid ButtonText;outline:revert}}.jkl-checkbox__check-mark:after{border-bottom:.125rem solid var(--check-color);border-left-width:.125rem;border-left:0 solid var(--check-color);border-right:.125rem solid var(--check-color);border-top-width:.125rem;border-top:0 solid var(--check-color);bottom:42%;content:"";display:block;height:58%;left:18%;opacity:0;position:absolute;transform:rotate(45deg);transform-origin:bottom left;transition-duration:.15s;transition-property:opacity,border-color;transition-timing-function:ease;width:18%}@media screen and (forced-colors:active){.jkl-checkbox__check-mark:after{border-color:ButtonText}}.jkl-checkbox__indeterminate-mark:after{--width:66%;--thickness:0.125rem;border-bottom:solid var(--thickness) var(--check-color);bottom:calc(50% - var(--thickness)/2);content:"";display:block;left:calc((100% - var(--width))/2);opacity:0;position:absolute;transition-duration:.15s;transition-property:opacity,border-color;transition-timing-function:ease;width:var(--width)}@media screen and (forced-colors:active){.jkl-checkbox__indeterminate-mark:after{border-color:ButtonText}}.jkl-checkbox--inline{display:inline-flex}.jkl-checkbox--inline:not(:last-of-type){margin-right:calc(var(--jkl-unit-10)*3)}.jkl-checkbox--error{--background-color:var(--jkl-color-background-alert-error);--check-color:var(--jkl-color-text-on-alert)}
@@ -30,6 +30,10 @@
30
30
  .jkl-expandable__wrapper {
31
31
  --border-radius: 0.25rem;
32
32
  --outline-offset: 3px;
33
+ --border-top-left-radius: 0;
34
+ --border-top-right-radius: 0;
35
+ --border-bottom-left-radius: 0;
36
+ --border-bottom-right-radius: 0;
33
37
  position: relative;
34
38
  }
35
39
  .jkl-expandable__wrapper + .jkl-expandable__wrapper .jkl-expandable--stroke {
@@ -1 +1 @@
1
- .jkl-expandable{background-color:var(--jkl-color-background-container-low);border-radius:var(--border-radius);box-sizing:border-box;overflow:hidden;width:100%}.jkl-expandable__content[data-expanded=true]{height:auto}.jkl-expandable__content[data-expanded=false]{height:0}.jkl-expandable[data-visible-content=true] .jkl-expander{border-bottom:1px solid #0000}.jkl-expandable__content-wrapper{padding:1rem}.jkl-expandable--stroke{background-color:initial;border:1px solid var(--jkl-color-border-separator);border-radius:0;border-radius:var(--border-top-left-radius) var(--border-top-right-radius) var(--border-bottom-right-radius) var(--border-bottom-left-radius)}.jkl-expandable__wrapper{--border-radius:0.25rem;--outline-offset:3px;position:relative}.jkl-expandable__wrapper+.jkl-expandable__wrapper .jkl-expandable--stroke{border-top:none}.jkl-expandable__wrapper:first-child{--border-top-left-radius:var(--border-radius);--border-top-right-radius:var(--border-radius)}.jkl-expandable__wrapper:last-child{--border-bottom-left-radius:var(--border-radius);--border-bottom-right-radius:var(--border-radius)}.jkl-expandable__wrapper:has(.jkl-expander:focus-visible):has(.jkl-expandable--stroke){--outline-offset:-1px}.jkl-expandable__wrapper:has(.jkl-expander:focus-visible) .jkl-expandable__focus-container{outline:3px solid var(--jkl-color-border-action);outline-offset:3px;outline-offset:var(--outline-offset)}.jkl-expandable__wrapper:has(:focus-visible):first-child:last-child{--outline-offset:3px}.jkl-expandable__focus-container{border-radius:var(--border-radius);inset:0;position:absolute}.jkl-expander{align-items:center;-webkit-appearance:none;appearance:none;background:none;border:none;box-sizing:border-box;color:var(--jkl-color);cursor:pointer;display:flex;gap:.5rem;list-style:none;padding:1rem;text-align:left;width:100%}.jkl-expander::-webkit-details-marker{display:none}.jkl-expander__label{flex-grow:1}.jkl-expander__chevron{text-align:right;transform:rotate(0turn);transition-property:transform;-webkit-user-select:none;user-select:none}.jkl-expander--open .jkl-expander__label{--jkl-icon-weight:500;font-weight:700;letter-spacing:-.014em}.jkl-expander--open .jkl-expander__chevron{transform:rotate(-.5turn);transition-duration:.1s;transition-timing-function:ease}@media (hover:hover){.jkl-expander:hover{background-color:var(--jkl-color-background-interactive-hover)}}.jkl-expander{border-style:none}.jkl-expander,.jkl-expander:active,.jkl-expander:focus,.jkl-expander:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-expander{border-style:revert}.jkl-expander,.jkl-expander:active,.jkl-expander:focus,.jkl-expander:hover{outline:revert;outline-style:revert}}
1
+ .jkl-expandable{background-color:var(--jkl-color-background-container-low);border-radius:var(--border-radius);box-sizing:border-box;overflow:hidden;width:100%}.jkl-expandable__content[data-expanded=true]{height:auto}.jkl-expandable__content[data-expanded=false]{height:0}.jkl-expandable[data-visible-content=true] .jkl-expander{border-bottom:1px solid #0000}.jkl-expandable__content-wrapper{padding:1rem}.jkl-expandable--stroke{background-color:initial;border:1px solid var(--jkl-color-border-separator);border-radius:0;border-radius:var(--border-top-left-radius) var(--border-top-right-radius) var(--border-bottom-right-radius) var(--border-bottom-left-radius)}.jkl-expandable__wrapper{--border-radius:0.25rem;--outline-offset:3px;--border-top-left-radius:0;--border-top-right-radius:0;--border-bottom-left-radius:0;--border-bottom-right-radius:0;position:relative}.jkl-expandable__wrapper+.jkl-expandable__wrapper .jkl-expandable--stroke{border-top:none}.jkl-expandable__wrapper:first-child{--border-top-left-radius:var(--border-radius);--border-top-right-radius:var(--border-radius)}.jkl-expandable__wrapper:last-child{--border-bottom-left-radius:var(--border-radius);--border-bottom-right-radius:var(--border-radius)}.jkl-expandable__wrapper:has(.jkl-expander:focus-visible):has(.jkl-expandable--stroke){--outline-offset:-1px}.jkl-expandable__wrapper:has(.jkl-expander:focus-visible) .jkl-expandable__focus-container{outline:3px solid var(--jkl-color-border-action);outline-offset:3px;outline-offset:var(--outline-offset)}.jkl-expandable__wrapper:has(:focus-visible):first-child:last-child{--outline-offset:3px}.jkl-expandable__focus-container{border-radius:var(--border-radius);inset:0;position:absolute}.jkl-expander{align-items:center;-webkit-appearance:none;appearance:none;background:none;border:none;box-sizing:border-box;color:var(--jkl-color);cursor:pointer;display:flex;gap:.5rem;list-style:none;padding:1rem;text-align:left;width:100%}.jkl-expander::-webkit-details-marker{display:none}.jkl-expander__label{flex-grow:1}.jkl-expander__chevron{text-align:right;transform:rotate(0turn);transition-property:transform;-webkit-user-select:none;user-select:none}.jkl-expander--open .jkl-expander__label{--jkl-icon-weight:500;font-weight:700;letter-spacing:-.014em}.jkl-expander--open .jkl-expander__chevron{transform:rotate(-.5turn);transition-duration:.1s;transition-timing-function:ease}@media (hover:hover){.jkl-expander:hover{background-color:var(--jkl-color-background-interactive-hover)}}.jkl-expander{border-style:none}.jkl-expander,.jkl-expander:active,.jkl-expander:focus,.jkl-expander:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-expander{border-style:revert}.jkl-expander,.jkl-expander:active,.jkl-expander:focus,.jkl-expander:hover{outline:revert;outline-style:revert}}
@@ -36,6 +36,10 @@
36
36
  &__wrapper {
37
37
  --border-radius: #{jkl.rem(4px)};
38
38
  --outline-offset: 3px;
39
+ --border-top-left-radius: 0;
40
+ --border-top-right-radius: 0;
41
+ --border-bottom-left-radius: 0;
42
+ --border-bottom-right-radius: 0;
39
43
 
40
44
  position: relative;
41
45
 
@@ -2,7 +2,7 @@
2
2
  * Do not edit directly
3
3
  * Generated on Wed, 18 Dec 2024 12:25:37 GMT
4
4
  */
5
- @keyframes jkl-show-u0pc4ve {
5
+ @keyframes jkl-show-u6o7lzg {
6
6
  from {
7
7
  transform: translate3d(0, 0.5rem, 0);
8
8
  opacity: 0;
@@ -37,7 +37,7 @@
37
37
  }
38
38
  }
39
39
  .jkl-feedback__fade-in {
40
- animation: jkl-show-u0pc4ve 0.25s ease-out;
40
+ animation: jkl-show-u6o7lzg 0.25s ease-out;
41
41
  }
42
42
  .jkl-feedback__buttons {
43
43
  display: flex;
@@ -1 +1 @@
1
- @keyframes jkl-show-u0pc4ve{0%{opacity:0;transform:translate3d(0,.5rem,0)}}.jkl-feedback{max-width:34.375rem}.jkl-feedback__submit-wrapper{transition-duration:.25s;transition-property:height;transition-timing-function:ease;width:100%}.jkl-feedback__submit-wrapper--hidden{display:none}.jkl-feedback__step-counter{color:var(--jkl-color-text-subdued);font-size:1.125rem;font-weight:400;line-height:1.75rem;margin-bottom:calc(var(--jkl-unit-10)*2);--jkl-icon-weight:300}@media (min-width:680px){.jkl-feedback__step-counter{font-size:1.25rem;font-weight:400;line-height:2rem;--jkl-icon-weight:300}}.jkl-feedback__fade-in{animation:jkl-show-u0pc4ve .25s ease-out}.jkl-feedback__buttons{display:flex}.jkl-feedback-smileys{display:flex;flex-wrap:nowrap;gap:.75rem;justify-content:space-between;margin-top:.5rem;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:.15s;transition-property:transform,color;transition-timing-function:ease;width:2.5rem}@media screen and (forced-colors:active){.jkl-feedback-smiley-option,.jkl-feedback-smiley-option path,.jkl-feedback-smiley-option svg{stroke:ButtonFace;fill:ButtonText}}.jkl-feedback-smiley-option:after,.jkl-feedback-smiley-option:before{border-radius:50%;content:"";opacity:0;position:absolute;transition-duration:.15s;transition-property:opacity;transition-timing-function:ease}.jkl-feedback-smiley-option:after{box-shadow:0 0 0 .125rem currentColor;inset:-.125rem -.125rem -.125rem -.125rem}.jkl-feedback-smiley-option:before{box-shadow:0 .125rem 1.875rem #0000001a;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)}html:not([data-mousenavigation]):not([data-touchnavigation]) input:focus+.jkl-feedback-smiley-option:after,input:checked+.jkl-feedback-smiley-option:before{opacity:1}
1
+ @keyframes jkl-show-u6o7lzg{0%{opacity:0;transform:translate3d(0,.5rem,0)}}.jkl-feedback{max-width:34.375rem}.jkl-feedback__submit-wrapper{transition-duration:.25s;transition-property:height;transition-timing-function:ease;width:100%}.jkl-feedback__submit-wrapper--hidden{display:none}.jkl-feedback__step-counter{color:var(--jkl-color-text-subdued);font-size:1.125rem;font-weight:400;line-height:1.75rem;margin-bottom:calc(var(--jkl-unit-10)*2);--jkl-icon-weight:300}@media (min-width:680px){.jkl-feedback__step-counter{font-size:1.25rem;font-weight:400;line-height:2rem;--jkl-icon-weight:300}}.jkl-feedback__fade-in{animation:jkl-show-u6o7lzg .25s ease-out}.jkl-feedback__buttons{display:flex}.jkl-feedback-smileys{display:flex;flex-wrap:nowrap;gap:.75rem;justify-content:space-between;margin-top:.5rem;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:.15s;transition-property:transform,color;transition-timing-function:ease;width:2.5rem}@media screen and (forced-colors:active){.jkl-feedback-smiley-option,.jkl-feedback-smiley-option path,.jkl-feedback-smiley-option svg{stroke:ButtonFace;fill:ButtonText}}.jkl-feedback-smiley-option:after,.jkl-feedback-smiley-option:before{border-radius:50%;content:"";opacity:0;position:absolute;transition-duration:.15s;transition-property:opacity;transition-timing-function:ease}.jkl-feedback-smiley-option:after{box-shadow:0 0 0 .125rem currentColor;inset:-.125rem -.125rem -.125rem -.125rem}.jkl-feedback-smiley-option:before{box-shadow:0 .125rem 1.875rem #0000001a;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)}html:not([data-mousenavigation]):not([data-touchnavigation]) input:focus+.jkl-feedback-smiley-option:after,input:checked+.jkl-feedback-smiley-option:before{opacity:1}
@@ -78,7 +78,7 @@
78
78
  --color: var(--jkl-color-text-default);
79
79
  }
80
80
  .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 {
81
- animation: 400ms cubic-bezier(0, 0, 0.3, 1) 250ms jkl-support-icon-entrance-u3ghnzf forwards;
81
+ animation: 400ms cubic-bezier(0, 0, 0.3, 1) 250ms jkl-support-icon-entrance-uvckt9a forwards;
82
82
  }
83
83
  .jkl-form-support-label--sr-only {
84
84
  border: 0 !important;
@@ -153,7 +153,7 @@
153
153
  white-space: nowrap !important; /* 3 */
154
154
  }
155
155
 
156
- @keyframes jkl-support-icon-entrance-u3ghnzf {
156
+ @keyframes jkl-support-icon-entrance-uvckt9a {
157
157
  0% {
158
158
  margin-right: 0;
159
159
  opacity: 0;
@@ -1 +1 @@
1
- .jkl-field-group{border-style:none}.jkl-field-group,.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}.jkl-field-group,.jkl-field-group:active,.jkl-field-group:focus,.jkl-field-group:hover{outline:revert;outline-style:revert}}.jkl-dormant-form-support-label{display:none;opacity:0;pointer-events:none}:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-form-support-label-font-size:var(--jkl-small-font-size);--jkl-form-support-label-line-height:var(--jkl-small-line-height);--jkl-form-support-label-font-weight:var(--jkl-small-font-weight);--jkl-form-support-label-margin:0.5rem 0 0;--jkl-form-support-label-icon-size:1.25rem;--jkl-form-support-label-icon-margin:0 -1.25rem -0.375rem 0}[data-density=compact],[data-layout-density=compact]{--jkl-form-support-label-icon-size:1.375rem;--jkl-form-support-label-icon-margin:0 -1.375rem -0.3125rem 0}.jkl-form-support-label{--color:var(--jkl-color-text-subdued);color:var(--color);display:flex;font-size:var(--jkl-form-support-label-font-size);font-weight:var(--jkl-form-support-label-font-weight);line-height:var(--jkl-form-support-label-line-height);margin:var(--jkl-form-support-label-margin);transition-delay:.15s;transition-duration:.4s;transition-property:color;transition-timing-function:ease}.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{stroke:CanvasText;fill:Canvas}}.jkl-form-support-label--error,.jkl-form-support-label--success,.jkl-form-support-label--warning{--color:var(--jkl-color-text-default)}.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:jkl-support-icon-entrance-u3ghnzf .4s cubic-bezier(0,0,.3,1) .25s 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}:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-label-small-margin:0 0 0.25rem 0;--jkl-label-medium-margin:0 0 0.5rem 0;--jkl-label-large-margin:0 0 1rem -0.0625rem;--jkl-label-small-font-size:var(--jkl-small-font-size);--jkl-label-small-line-height:var(--jkl-small-line-height);--jkl-label-small-font-weight:var(--jkl-small-font-weight);--jkl-label-medium-font-size:var(--jkl-body-font-size);--jkl-label-medium-line-height:var(--jkl-body-line-height);--jkl-label-medium-font-weight:var(--jkl-body-font-weight);--jkl-label-large-font-size:var(--jkl-heading-2-font-size);--jkl-label-large-line-height:var(--jkl-heading-2-line-height);--jkl-label-large-font-weight:var(--jkl-heading-2-font-weight)}[data-density=compact],[data-layout-density=compact]{--jkl-label-small-margin:0 0 0.25rem 0;--jkl-label-medium-margin:0 0 0.5rem 0;--jkl-label-large-margin:0 0 0.75rem -0.0625rem}.jkl-label{color:var(--jkl-color-text-default);display:block;margin-left:0}.jkl-label--small{font-size:var(--jkl-label-small-font-size);font-weight:var(--jkl-label-small-font-weight);line-height:var(--jkl-label-small-line-height);margin:var(--jkl-label-small-margin)}.jkl-label--medium{font-size:var(--jkl-label-medium-font-size);font-weight:var(--jkl-label-medium-font-weight);line-height:var(--jkl-label-medium-line-height);margin:var(--jkl-label-medium-margin)}.jkl-label--large{font-size:var(--jkl-label-large-font-size);font-weight:var(--jkl-label-large-font-weight);line-height:var(--jkl-label-large-line-height);margin:var(--jkl-label-large-margin)}.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}@keyframes jkl-support-icon-entrance-u3ghnzf{0%{margin-right:0;opacity:0;transform:scale(1)}30%{margin-right:.5rem}50%{opacity:1}70%{transform:scale(1.1)}85%{transform:scale(.9)}to{margin-right:.5rem;opacity:1;transform:scale(1)}}@media screen and (forced-colors:active){.jkl-text-input-action-button,.jkl-text-input-action-button path,.jkl-text-input-action-button svg{stroke:ButtonText;fill:ButtonFace}}
1
+ .jkl-field-group{border-style:none}.jkl-field-group,.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}.jkl-field-group,.jkl-field-group:active,.jkl-field-group:focus,.jkl-field-group:hover{outline:revert;outline-style:revert}}.jkl-dormant-form-support-label{display:none;opacity:0;pointer-events:none}:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-form-support-label-font-size:var(--jkl-small-font-size);--jkl-form-support-label-line-height:var(--jkl-small-line-height);--jkl-form-support-label-font-weight:var(--jkl-small-font-weight);--jkl-form-support-label-margin:0.5rem 0 0;--jkl-form-support-label-icon-size:1.25rem;--jkl-form-support-label-icon-margin:0 -1.25rem -0.375rem 0}[data-density=compact],[data-layout-density=compact]{--jkl-form-support-label-icon-size:1.375rem;--jkl-form-support-label-icon-margin:0 -1.375rem -0.3125rem 0}.jkl-form-support-label{--color:var(--jkl-color-text-subdued);color:var(--color);display:flex;font-size:var(--jkl-form-support-label-font-size);font-weight:var(--jkl-form-support-label-font-weight);line-height:var(--jkl-form-support-label-line-height);margin:var(--jkl-form-support-label-margin);transition-delay:.15s;transition-duration:.4s;transition-property:color;transition-timing-function:ease}.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{stroke:CanvasText;fill:Canvas}}.jkl-form-support-label--error,.jkl-form-support-label--success,.jkl-form-support-label--warning{--color:var(--jkl-color-text-default)}.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:jkl-support-icon-entrance-uvckt9a .4s cubic-bezier(0,0,.3,1) .25s 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}:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-label-small-margin:0 0 0.25rem 0;--jkl-label-medium-margin:0 0 0.5rem 0;--jkl-label-large-margin:0 0 1rem -0.0625rem;--jkl-label-small-font-size:var(--jkl-small-font-size);--jkl-label-small-line-height:var(--jkl-small-line-height);--jkl-label-small-font-weight:var(--jkl-small-font-weight);--jkl-label-medium-font-size:var(--jkl-body-font-size);--jkl-label-medium-line-height:var(--jkl-body-line-height);--jkl-label-medium-font-weight:var(--jkl-body-font-weight);--jkl-label-large-font-size:var(--jkl-heading-2-font-size);--jkl-label-large-line-height:var(--jkl-heading-2-line-height);--jkl-label-large-font-weight:var(--jkl-heading-2-font-weight)}[data-density=compact],[data-layout-density=compact]{--jkl-label-small-margin:0 0 0.25rem 0;--jkl-label-medium-margin:0 0 0.5rem 0;--jkl-label-large-margin:0 0 0.75rem -0.0625rem}.jkl-label{color:var(--jkl-color-text-default);display:block;margin-left:0}.jkl-label--small{font-size:var(--jkl-label-small-font-size);font-weight:var(--jkl-label-small-font-weight);line-height:var(--jkl-label-small-line-height);margin:var(--jkl-label-small-margin)}.jkl-label--medium{font-size:var(--jkl-label-medium-font-size);font-weight:var(--jkl-label-medium-font-weight);line-height:var(--jkl-label-medium-line-height);margin:var(--jkl-label-medium-margin)}.jkl-label--large{font-size:var(--jkl-label-large-font-size);font-weight:var(--jkl-label-large-font-weight);line-height:var(--jkl-label-large-line-height);margin:var(--jkl-label-large-margin)}.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}@keyframes jkl-support-icon-entrance-uvckt9a{0%{margin-right:0;opacity:0;transform:scale(1)}30%{margin-right:.5rem}50%{opacity:1}70%{transform:scale(1.1)}85%{transform:scale(.9)}to{margin-right:.5rem;opacity:1;transform:scale(1)}}@media screen and (forced-colors:active){.jkl-text-input-action-button,.jkl-text-input-action-button path,.jkl-text-input-action-button svg{stroke:ButtonText;fill:ButtonFace}}
@@ -62,7 +62,7 @@
62
62
  --outer-border-thickness: 0.125rem;
63
63
  }
64
64
 
65
- @keyframes jkl-checkbox-checked-u7qquz9 {
65
+ @keyframes jkl-checkbox-checked-up0bncj {
66
66
  0% {
67
67
  width: 0;
68
68
  height: 0;
@@ -125,7 +125,7 @@
125
125
  }
126
126
  }
127
127
  .jkl-checkbox-panel:has(:checked) .jkl-checkbox-panel__decorator::after {
128
- animation: jkl-checkbox-checked-u7qquz9 150ms ease-in-out forwards;
128
+ animation: jkl-checkbox-checked-up0bncj 150ms ease-in-out forwards;
129
129
  opacity: 1;
130
130
  }
131
131
  .jkl-checkbox-panel:has([aria-invalid=true]) {
@@ -1 +1 @@
1
- .jkl-input-panel{--outer-border-color:var(--jkl-color-border-input);--outer-border-thickness:0.0625rem;--background-color:#0000;background-color:var(--background-color);border-radius:4px;box-shadow:inset 0 0 0 var(--outer-border-thickness) var(--outer-border-color);cursor:pointer;padding-left:1rem}.jkl-input-panel__input{opacity:0;position:absolute;top:-6px}.jkl-input-panel__label{align-items:center;cursor:pointer;display:grid;gap:.5rem;grid-template-columns:-webkit-min-content fit-content(30%) 1fr;grid-template-columns:min-content fit-content(30%) 1fr}.jkl-input-panel__main-label{padding-block:1.5rem}.jkl-input-panel__extra-label{align-self:stretch;margin-left:1rem;margin-right:1rem}.jkl-input-panel__extra-label>:first-child{padding-right:1rem}.jkl-input-panel__extra-label--text{align-items:center;display:flex;height:100%}.jkl-input-panel__content{cursor:default;height:0;overflow:hidden;padding-right:1.5rem}.jkl-input-panel:has([aria-expanded=true]) .jkl-input-panel__content,.jkl-input-panel__content[data-alwaysopen=true]{height:auto;padding-bottom:24px}.jkl-input-panel:has(:focus-visible){outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-input-panel:has(:checked){--background-color:var(--jkl-color-background-container-high)}.jkl-input-panel:hover{--outer-border-color:var(--jkl-color-border-separator-hover);--outer-border-thickness:0.125rem}@keyframes jkl-checkbox-checked-u7qquz9{0%{height:0;width:0}40%{height:0;width:18%}to{height:58%;width:18%}}.jkl-checkbox-panel{--checkbox-background-color:#0000;--checkbox-box-color:var(--jkl-color-border-action);--checkbox-check-color:var(--jkl-color-border-action)}.jkl-checkbox-panel__decorator{background-color:var(--checkbox-background-color);border:1px solid;border-color:var(--checkbox-box-color);border-radius:0;box-sizing:border-box;height:var(--jkl-checkbox-box-size);outline:none;position:relative;transition-duration:.15s;transition-property:background-color;transition-timing-function:ease;width:var(--jkl-checkbox-box-size)}@media screen and (forced-colors:active){.jkl-checkbox-panel__decorator{border:1px solid ButtonText;outline:revert}}.jkl-checkbox-panel__decorator:after{border-bottom:.125rem solid var(--checkbox-check-color);border-left-width:.125rem;border-left:0 solid var(--checkbox-check-color);border-right:.125rem solid var(--checkbox-check-color);border-top-width:.125rem;border-top:0 solid var(--checkbox-check-color);bottom:42%;content:"";display:block;height:58%;left:18%;opacity:0;position:absolute;transform:rotate(45deg);transform-origin:bottom left;transition-duration:.15s;transition-property:opacity,border-color;transition-timing-function:ease;width:18%}@media screen and (forced-colors:active){.jkl-checkbox-panel__decorator:after{border-color:ButtonText}}.jkl-checkbox-panel:has(:checked) .jkl-checkbox-panel__decorator:after{animation:jkl-checkbox-checked-u7qquz9 .15s ease-in-out forwards;opacity:1}.jkl-checkbox-panel:has([aria-invalid=true]){--checkbox-background-color:var(--jkl-color-background-alert-error);--checkbox-check-color:var(--jkl-color-text-on-alert)}
1
+ .jkl-input-panel{--outer-border-color:var(--jkl-color-border-input);--outer-border-thickness:0.0625rem;--background-color:#0000;background-color:var(--background-color);border-radius:4px;box-shadow:inset 0 0 0 var(--outer-border-thickness) var(--outer-border-color);cursor:pointer;padding-left:1rem}.jkl-input-panel__input{opacity:0;position:absolute;top:-6px}.jkl-input-panel__label{align-items:center;cursor:pointer;display:grid;gap:.5rem;grid-template-columns:-webkit-min-content fit-content(30%) 1fr;grid-template-columns:min-content fit-content(30%) 1fr}.jkl-input-panel__main-label{padding-block:1.5rem}.jkl-input-panel__extra-label{align-self:stretch;margin-left:1rem;margin-right:1rem}.jkl-input-panel__extra-label>:first-child{padding-right:1rem}.jkl-input-panel__extra-label--text{align-items:center;display:flex;height:100%}.jkl-input-panel__content{cursor:default;height:0;overflow:hidden;padding-right:1.5rem}.jkl-input-panel:has([aria-expanded=true]) .jkl-input-panel__content,.jkl-input-panel__content[data-alwaysopen=true]{height:auto;padding-bottom:24px}.jkl-input-panel:has(:focus-visible){outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-input-panel:has(:checked){--background-color:var(--jkl-color-background-container-high)}.jkl-input-panel:hover{--outer-border-color:var(--jkl-color-border-separator-hover);--outer-border-thickness:0.125rem}@keyframes jkl-checkbox-checked-up0bncj{0%{height:0;width:0}40%{height:0;width:18%}to{height:58%;width:18%}}.jkl-checkbox-panel{--checkbox-background-color:#0000;--checkbox-box-color:var(--jkl-color-border-action);--checkbox-check-color:var(--jkl-color-border-action)}.jkl-checkbox-panel__decorator{background-color:var(--checkbox-background-color);border:1px solid;border-color:var(--checkbox-box-color);border-radius:0;box-sizing:border-box;height:var(--jkl-checkbox-box-size);outline:none;position:relative;transition-duration:.15s;transition-property:background-color;transition-timing-function:ease;width:var(--jkl-checkbox-box-size)}@media screen and (forced-colors:active){.jkl-checkbox-panel__decorator{border:1px solid ButtonText;outline:revert}}.jkl-checkbox-panel__decorator:after{border-bottom:.125rem solid var(--checkbox-check-color);border-left-width:.125rem;border-left:0 solid var(--checkbox-check-color);border-right:.125rem solid var(--checkbox-check-color);border-top-width:.125rem;border-top:0 solid var(--checkbox-check-color);bottom:42%;content:"";display:block;height:58%;left:18%;opacity:0;position:absolute;transform:rotate(45deg);transform-origin:bottom left;transition-duration:.15s;transition-property:opacity,border-color;transition-timing-function:ease;width:18%}@media screen and (forced-colors:active){.jkl-checkbox-panel__decorator:after{border-color:ButtonText}}.jkl-checkbox-panel:has(:checked) .jkl-checkbox-panel__decorator:after{animation:jkl-checkbox-checked-up0bncj .15s ease-in-out forwards;opacity:1}.jkl-checkbox-panel:has([aria-invalid=true]){--checkbox-background-color:var(--jkl-color-background-alert-error);--checkbox-check-color:var(--jkl-color-text-on-alert)}
@@ -62,7 +62,7 @@
62
62
  --outer-border-thickness: 0.125rem;
63
63
  }
64
64
 
65
- @keyframes jkl-dot-in-u2g3cqz {
65
+ @keyframes jkl-dot-in-ugqfmkt {
66
66
  0% {
67
67
  transform: scale(0.8);
68
68
  }
@@ -110,7 +110,7 @@
110
110
  }
111
111
  }
112
112
  .jkl-radio-panel__input:checked + .jkl-radio-panel__decorator::after {
113
- animation: jkl-dot-in-u2g3cqz 150ms ease;
113
+ animation: jkl-dot-in-ugqfmkt 150ms ease;
114
114
  }
115
115
  .jkl-radio-panel:has(:checked) {
116
116
  --radio-dot-color: var(--jkl-color-border-action);
@@ -1 +1 @@
1
- .jkl-input-panel{--outer-border-color:var(--jkl-color-border-input);--outer-border-thickness:0.0625rem;--background-color:#0000;background-color:var(--background-color);border-radius:4px;box-shadow:inset 0 0 0 var(--outer-border-thickness) var(--outer-border-color);cursor:pointer;padding-left:1rem}.jkl-input-panel__input{opacity:0;position:absolute;top:-6px}.jkl-input-panel__label{align-items:center;cursor:pointer;display:grid;gap:.5rem;grid-template-columns:-webkit-min-content fit-content(30%) 1fr;grid-template-columns:min-content fit-content(30%) 1fr}.jkl-input-panel__main-label{padding-block:1.5rem}.jkl-input-panel__extra-label{align-self:stretch;margin-left:1rem;margin-right:1rem}.jkl-input-panel__extra-label>:first-child{padding-right:1rem}.jkl-input-panel__extra-label--text{align-items:center;display:flex;height:100%}.jkl-input-panel__content{cursor:default;height:0;overflow:hidden;padding-right:1.5rem}.jkl-input-panel:has([aria-expanded=true]) .jkl-input-panel__content,.jkl-input-panel__content[data-alwaysopen=true]{height:auto;padding-bottom:24px}.jkl-input-panel:has(:focus-visible){outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-input-panel:has(:checked){--background-color:var(--jkl-color-background-container-high)}.jkl-input-panel:hover{--outer-border-color:var(--jkl-color-border-separator-hover);--outer-border-thickness:0.125rem}@keyframes jkl-dot-in-u2g3cqz{0%{transform:scale(.8)}to{transform:scale(1)}}.jkl-radio-panel{--radio-dot-color:#0000;--radio-ring-color:#0000}.jkl-radio-panel__decorator{background-color:var(--radio-ring-color);border:.0625rem solid var(--jkl-color-border-action);border-radius:50%;cursor:pointer;display:inline-block;height:1.5rem;position:relative;transition-duration:.15s;transition-property:background-color,outline;transition-timing-function:ease;width:1.5rem}.jkl-radio-panel__decorator:after{background-color:var(--radio-dot-color);border-radius:50%;content:"";height:1rem;left:50%;position:absolute;scale:1;top:50%;transition-duration:.15s;transition-property:transform;transition-timing-function:ease;translate:-50% -50%;width:1rem}@media screen and (forced-colors:active){.jkl-radio-panel__decorator{border:1px solid ButtonText}}.jkl-radio-panel__input:checked+.jkl-radio-panel__decorator:after{animation:jkl-dot-in-u2g3cqz .15s ease}.jkl-radio-panel:has(:checked){--radio-dot-color:var(--jkl-color-border-action)}[aria-invalid=true] .jkl-radio-panel{--radio-ring-color:var(--jkl-color-background-alert-error)}[aria-invalid=true] .jkl-radio-panel:has(:checked){--radio-dot-color:var(--jkl-color-text-on-alert)}
1
+ .jkl-input-panel{--outer-border-color:var(--jkl-color-border-input);--outer-border-thickness:0.0625rem;--background-color:#0000;background-color:var(--background-color);border-radius:4px;box-shadow:inset 0 0 0 var(--outer-border-thickness) var(--outer-border-color);cursor:pointer;padding-left:1rem}.jkl-input-panel__input{opacity:0;position:absolute;top:-6px}.jkl-input-panel__label{align-items:center;cursor:pointer;display:grid;gap:.5rem;grid-template-columns:-webkit-min-content fit-content(30%) 1fr;grid-template-columns:min-content fit-content(30%) 1fr}.jkl-input-panel__main-label{padding-block:1.5rem}.jkl-input-panel__extra-label{align-self:stretch;margin-left:1rem;margin-right:1rem}.jkl-input-panel__extra-label>:first-child{padding-right:1rem}.jkl-input-panel__extra-label--text{align-items:center;display:flex;height:100%}.jkl-input-panel__content{cursor:default;height:0;overflow:hidden;padding-right:1.5rem}.jkl-input-panel:has([aria-expanded=true]) .jkl-input-panel__content,.jkl-input-panel__content[data-alwaysopen=true]{height:auto;padding-bottom:24px}.jkl-input-panel:has(:focus-visible){outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-input-panel:has(:checked){--background-color:var(--jkl-color-background-container-high)}.jkl-input-panel:hover{--outer-border-color:var(--jkl-color-border-separator-hover);--outer-border-thickness:0.125rem}@keyframes jkl-dot-in-ugqfmkt{0%{transform:scale(.8)}to{transform:scale(1)}}.jkl-radio-panel{--radio-dot-color:#0000;--radio-ring-color:#0000}.jkl-radio-panel__decorator{background-color:var(--radio-ring-color);border:.0625rem solid var(--jkl-color-border-action);border-radius:50%;cursor:pointer;display:inline-block;height:1.5rem;position:relative;transition-duration:.15s;transition-property:background-color,outline;transition-timing-function:ease;width:1.5rem}.jkl-radio-panel__decorator:after{background-color:var(--radio-dot-color);border-radius:50%;content:"";height:1rem;left:50%;position:absolute;scale:1;top:50%;transition-duration:.15s;transition-property:transform;transition-timing-function:ease;translate:-50% -50%;width:1rem}@media screen and (forced-colors:active){.jkl-radio-panel__decorator{border:1px solid ButtonText}}.jkl-radio-panel__input:checked+.jkl-radio-panel__decorator:after{animation:jkl-dot-in-ugqfmkt .15s ease}.jkl-radio-panel:has(:checked){--radio-dot-color:var(--jkl-color-border-action)}[aria-invalid=true] .jkl-radio-panel{--radio-ring-color:var(--jkl-color-background-alert-error)}[aria-invalid=true] .jkl-radio-panel:has(:checked){--radio-dot-color:var(--jkl-color-text-on-alert)}