@fremtind/jokul 1.6.0 → 1.6.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.
- package/build/build-stats.html +1 -1
- package/build/cjs/components/toast/Toast.cjs +1 -1
- package/build/cjs/components/toast/Toast.cjs.map +1 -1
- package/build/es/components/toast/Toast.js +1 -1
- package/build/es/components/toast/Toast.js.map +1 -1
- package/package.json +1 -1
- package/styles/components/checkbox/checkbox.css +4 -4
- package/styles/components/checkbox/checkbox.min.css +1 -1
- package/styles/components/checkbox-panel/checkbox-panel.css +190 -5
- package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -3
- package/styles/components/checkbox-panel/checkbox-panel.scss +3 -5
- package/styles/components/countdown/countdown.css +2 -2
- package/styles/components/countdown/countdown.min.css +1 -1
- package/styles/components/feedback/feedback.css +2 -2
- package/styles/components/feedback/feedback.min.css +1 -1
- package/styles/components/file-input/file-input.css +11 -11
- package/styles/components/file-input/file-input.min.css +1 -1
- package/styles/components/input-group/input-group.css +2 -2
- package/styles/components/input-group/input-group.min.css +1 -1
- package/styles/components/loader/loader.css +6 -6
- package/styles/components/loader/loader.min.css +1 -1
- package/styles/components/loader/skeleton-loader.css +5 -5
- package/styles/components/loader/skeleton-loader.min.css +1 -1
- package/styles/components/message/message.css +2 -2
- package/styles/components/message/message.min.css +1 -1
- package/styles/components/progress-bar/progress-bar.css +1 -1
- package/styles/components/progress-bar/progress-bar.min.css +1 -1
- package/styles/components/radio-button/radio-button.css +2 -2
- package/styles/components/radio-button/radio-button.min.css +1 -1
- package/styles/components/radio-panel/radio-panel.css +2 -2
- package/styles/components/radio-panel/radio-panel.min.css +1 -1
- package/styles/components/segmented-control/segmented-control.css +4 -4
- package/styles/components/segmented-control/segmented-control.min.css +1 -1
- package/styles/components/system-message/system-message.css +2 -2
- package/styles/components/system-message/system-message.min.css +1 -1
- package/styles/components/toast/toast.css +4 -4
- package/styles/components/toast/toast.min.css +1 -1
- package/styles/styles.css +37 -39
- package/styles/styles.min.css +1 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),s=require("@react-aria/toast"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),s=require("@react-aria/toast"),e=require("../../../clsx-E3yX_9sL.cjs"),o=require("react"),n=require("../../hooks/useBrowserPreferences/useBrowserPreferences.cjs"),a=require("../button/Button.cjs"),r=require("../countdown/Countdown.cjs"),i=require("../icon-button/IconButton.cjs"),c=require("../icon/icons/CloseIcon.cjs"),l=require("../icon/icons/ErrorIcon.cjs"),u=require("../icon/icons/InfoIcon.cjs"),j=require("../icon/icons/SuccessIcon.cjs"),m=require("../icon/icons/WarningIcon.cjs"),d=s=>{switch(s){case"error":return t.jsx(l.ErrorIcon,{className:"jkl-toast__icon"});case"info":return t.jsx(u.InfoIcon,{className:"jkl-toast__icon"});case"success":return t.jsx(j.SuccessIcon,{className:"jkl-toast__icon"});case"warning":return t.jsx(m.WarningIcon,{className:"jkl-toast__icon"});default:return null}};exports.Toast=function({className:l,state:u,...j}){const m=o.useRef(null),{toastProps:k,titleProps:f}=s.useToast(j,u,m),[x,_]=o.useState(!1),v="string"==typeof j.toast.content?j.toast.content:j.toast.content.content,g="string"==typeof j.toast.content?void 0:j.toast.content.title,p=null==j.toast.timer?.timerId,{prefersReducedMotion:I}=n.useBrowserPreferences();return o.useEffect((()=>{const t=setTimeout((()=>{_(!0)}),0);return()=>clearTimeout(t)}),[]),o.useEffect((()=>{I&&"exiting"===j.toast.animation&&u.remove(j.toast.key)}),[I,j.toast.animation,j.toast.key,u]),t.jsxs("div",{...k,ref:m,className:e.clsx("jkl-toast",{"jkl-toast--info":"info"===j.toast.variant,"jkl-toast--error":"error"===j.toast.variant,"jkl-toast--warning":"warning"===j.toast.variant,"jkl-toast--success":"success"===j.toast.variant},l),"data-animation":j.toast.animation,onAnimationEnd:()=>{"exiting"===j.toast.animation&&u.remove(j.toast.key)},children:[t.jsx("span",{className:"jkl-toast__progress",children:j.toast.timeout?t.jsx(r.Countdown,{from:j.toast.timeout,isPaused:p,onAnimationEnd:t=>{t.stopPropagation()}}):null}),d(j.toast.variant),t.jsxs("div",{...f,className:"jkl-toast__content","aria-live":"assertive",children:[g&&t.jsx("p",{className:"jkl-toast__title",children:x&&g}),t.jsx("p",{className:"jkl-toast__message",children:x&&v}),j.toast.action&&t.jsx("div",{className:"jkl-toast__action",children:t.jsx(a.Button,{variant:"secondary",density:"compact",onClick:j.toast.action.onClick,children:j.toast.action.label})})]}),t.jsx(i.IconButton,{"data-theme":j.toast.variant?"light":void 0,"aria-label":"Lukk varsel",className:"jkl-toast__dismiss-button",onClick:()=>{u.close(j.toast.key)},children:t.jsx(c.CloseIcon,{})})]})};
|
|
2
2
|
//# sourceMappingURL=Toast.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.cjs","sources":["../../../../src/components/toast/Toast.tsx"],"sourcesContent":["import { type AriaToastProps, useToast } from \"@react-aria/toast\";\nimport type { QueuedToast, ToastState } from \"@react-stately/toast\";\nimport clsx from \"clsx\";\nimport React, { useEffect, useRef } from \"react\";\nimport { useBrowserPreferences } from \"../../hooks/useBrowserPreferences/useBrowserPreferences.js\";\nimport { Button } from \"../button/Button.js\";\nimport { Countdown } from \"../countdown/Countdown.js\";\nimport { IconButton } from \"../icon-button/IconButton.js\";\nimport { CloseIcon } from \"../icon/icons/CloseIcon.js\";\nimport { ErrorIcon } from \"../icon/icons/ErrorIcon.js\";\nimport { InfoIcon } from \"../icon/icons/InfoIcon.js\";\nimport { SuccessIcon } from \"../icon/icons/SuccessIcon.js\";\nimport { WarningIcon } from \"../icon/icons/WarningIcon.js\";\nimport type { ToastContent, ToastOptions } from \"./types.js\";\n\nexport interface ToastProps<T extends ToastContent> extends AriaToastProps<T> {\n className?: string;\n state: ToastState<T>;\n toast: QueuedToast<T> & ToastOptions;\n}\n\nconst getIcon = (messageType?: \"error\" | \"info\" | \"success\" | \"warning\") => {\n switch (messageType) {\n case \"error\":\n return <ErrorIcon className=\"jkl-toast__icon\" />;\n case \"info\":\n return <InfoIcon className=\"jkl-toast__icon\" />;\n case \"success\":\n return <SuccessIcon className=\"jkl-toast__icon\" />;\n case \"warning\":\n return <WarningIcon className=\"jkl-toast__icon\" />;\n default:\n return null;\n }\n};\n\nexport function Toast<T extends ToastContent>({\n className,\n state,\n ...props\n}: ToastProps<T>) {\n const ref = useRef(null);\n const { toastProps, titleProps } = useToast(props, state, ref);\n\n const content =\n typeof props.toast.content === \"string\"\n ? props.toast.content\n : props.toast.content.content;\n const title =\n typeof props.toast.content === \"string\"\n ? undefined\n : props.toast.content.title;\n\n // @ts-ignore Proxy for å sjekke om timeren er pauset: https://github.com/adobe/react-spectrum/blob/b1545c0d225b12672fb6a4e7b787268591d66b90/packages/%40react-stately/toast/src/useToastState.ts#L222\n const isPaused = props.toast.timer?.timerId == null;\n\n const { prefersReducedMotion } = useBrowserPreferences();\n\n useEffect(() => {\n if (prefersReducedMotion && props.toast.animation === \"exiting\") {\n // If user has prefers-reduced-motion the exit animation won't run and our\n // onAnimationEnd callback won't be invoked. In this case, remove the toast\n // manually.\n state.remove(props.toast.key);\n }\n }, [prefersReducedMotion, props.toast.animation, props.toast.key, state]);\n\n return (\n <div\n {...toastProps}\n ref={ref}\n className={clsx(\n \"jkl-toast\",\n {\n \"jkl-toast--info\": props.toast.variant === \"info\",\n \"jkl-toast--error\": props.toast.variant === \"error\",\n \"jkl-toast--warning\": props.toast.variant === \"warning\",\n \"jkl-toast--success\": props.toast.variant === \"success\",\n },\n className,\n )}\n data-animation={props.toast.animation}\n onAnimationEnd={() => {\n // Remove the toast when the exiting animation completes.\n if (props.toast.animation === \"exiting\") {\n state.remove(props.toast.key);\n }\n }}\n >\n <span className=\"jkl-toast__progress\">\n {props.toast.timeout ? (\n <Countdown\n from={props.toast.timeout}\n isPaused={isPaused}\n onAnimationEnd={(e) => {\n // Avoid triggering the toast's onAnimationEnd handler so we still get our exit animation\n e.stopPropagation();\n }}\n />\n ) : null}\n </span>\n {getIcon(props.toast.variant)}\n <div
|
|
1
|
+
{"version":3,"file":"Toast.cjs","sources":["../../../../src/components/toast/Toast.tsx"],"sourcesContent":["import { type AriaToastProps, useToast } from \"@react-aria/toast\";\nimport type { QueuedToast, ToastState } from \"@react-stately/toast\";\nimport clsx from \"clsx\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { useBrowserPreferences } from \"../../hooks/useBrowserPreferences/useBrowserPreferences.js\";\nimport { Button } from \"../button/Button.js\";\nimport { Countdown } from \"../countdown/Countdown.js\";\nimport { IconButton } from \"../icon-button/IconButton.js\";\nimport { CloseIcon } from \"../icon/icons/CloseIcon.js\";\nimport { ErrorIcon } from \"../icon/icons/ErrorIcon.js\";\nimport { InfoIcon } from \"../icon/icons/InfoIcon.js\";\nimport { SuccessIcon } from \"../icon/icons/SuccessIcon.js\";\nimport { WarningIcon } from \"../icon/icons/WarningIcon.js\";\nimport type { ToastContent, ToastOptions } from \"./types.js\";\n\nexport interface ToastProps<T extends ToastContent> extends AriaToastProps<T> {\n className?: string;\n state: ToastState<T>;\n toast: QueuedToast<T> & ToastOptions;\n}\n\nconst getIcon = (messageType?: \"error\" | \"info\" | \"success\" | \"warning\") => {\n switch (messageType) {\n case \"error\":\n return <ErrorIcon className=\"jkl-toast__icon\" />;\n case \"info\":\n return <InfoIcon className=\"jkl-toast__icon\" />;\n case \"success\":\n return <SuccessIcon className=\"jkl-toast__icon\" />;\n case \"warning\":\n return <WarningIcon className=\"jkl-toast__icon\" />;\n default:\n return null;\n }\n};\n\nexport function Toast<T extends ToastContent>({\n className,\n state,\n ...props\n}: ToastProps<T>) {\n const ref = useRef(null);\n const { toastProps, titleProps } = useToast(props, state, ref);\n const [announceReady, setAnnounceReady] = useState(false);\n\n const content =\n typeof props.toast.content === \"string\"\n ? props.toast.content\n : props.toast.content.content;\n const title =\n typeof props.toast.content === \"string\"\n ? undefined\n : props.toast.content.title;\n\n // @ts-ignore Proxy for å sjekke om timeren er pauset: https://github.com/adobe/react-spectrum/blob/b1545c0d225b12672fb6a4e7b787268591d66b90/packages/%40react-stately/toast/src/useToastState.ts#L222\n const isPaused = props.toast.timer?.timerId == null;\n\n const { prefersReducedMotion } = useBrowserPreferences();\n\n useEffect(() => {\n // Delay the update to the next event loop so the toast has time to render before being announced to screen readers\n const timeout = setTimeout(() => {\n setAnnounceReady(true);\n }, 0);\n\n return () => clearTimeout(timeout);\n }, []);\n\n useEffect(() => {\n if (prefersReducedMotion && props.toast.animation === \"exiting\") {\n // If user has prefers-reduced-motion the exit animation won't run and our\n // onAnimationEnd callback won't be invoked. In this case, remove the toast\n // manually.\n state.remove(props.toast.key);\n }\n }, [prefersReducedMotion, props.toast.animation, props.toast.key, state]);\n\n return (\n <div\n {...toastProps}\n ref={ref}\n className={clsx(\n \"jkl-toast\",\n {\n \"jkl-toast--info\": props.toast.variant === \"info\",\n \"jkl-toast--error\": props.toast.variant === \"error\",\n \"jkl-toast--warning\": props.toast.variant === \"warning\",\n \"jkl-toast--success\": props.toast.variant === \"success\",\n },\n className,\n )}\n data-animation={props.toast.animation}\n onAnimationEnd={() => {\n // Remove the toast when the exiting animation completes.\n if (props.toast.animation === \"exiting\") {\n state.remove(props.toast.key);\n }\n }}\n >\n <span className=\"jkl-toast__progress\">\n {props.toast.timeout ? (\n <Countdown\n from={props.toast.timeout}\n isPaused={isPaused}\n onAnimationEnd={(e) => {\n // Avoid triggering the toast's onAnimationEnd handler so we still get our exit animation\n e.stopPropagation();\n }}\n />\n ) : null}\n </span>\n {getIcon(props.toast.variant)}\n <div\n {...titleProps}\n className=\"jkl-toast__content\"\n aria-live=\"assertive\"\n >\n {title && (\n <p className=\"jkl-toast__title\">{announceReady && title}</p>\n )}\n <p className=\"jkl-toast__message\">{announceReady && content}</p>\n {props.toast.action && (\n <div className=\"jkl-toast__action\">\n <Button\n variant=\"secondary\"\n density=\"compact\"\n onClick={props.toast.action.onClick}\n >\n {props.toast.action.label}\n </Button>\n </div>\n )}\n </div>\n <IconButton\n data-theme={!props.toast.variant ? undefined : \"light\"}\n aria-label=\"Lukk varsel\"\n className=\"jkl-toast__dismiss-button\"\n onClick={() => {\n state.close(props.toast.key);\n }}\n >\n <CloseIcon />\n </IconButton>\n </div>\n );\n}\n"],"names":["getIcon","messageType","jsx","ErrorIcon","className","InfoIcon","SuccessIcon","WarningIcon","state","props","ref","useRef","toastProps","titleProps","useToast","announceReady","setAnnounceReady","useState","content","toast","title","isPaused","timer","timerId","prefersReducedMotion","useBrowserPreferences","useEffect","timeout","setTimeout","clearTimeout","animation","remove","key","jsxs","clsx","variant","onAnimationEnd","children","Countdown","from","e","stopPropagation","action","Button","density","onClick","label","IconButton","close","CloseIcon"],"mappings":"6lBAqBMA,EAAWC,IACb,OAAQA,GACJ,IAAK,QACM,OAAAC,EAAAA,IAACC,EAAUA,UAAA,CAAAC,UAAU,oBAChC,IAAK,OACM,OAAAF,EAAAA,IAACG,EAASA,SAAA,CAAAD,UAAU,oBAC/B,IAAK,UACM,OAAAF,EAAAA,IAACI,EAAYA,YAAA,CAAAF,UAAU,oBAClC,IAAK,UACM,OAAAF,EAAAA,IAACK,EAAYA,YAAA,CAAAH,UAAU,oBAClC,QACW,OAAA,KAAA,gBAIZ,UACHA,UAAAA,EACAI,MAAAA,KACGC,IAEG,MAAAC,EAAMC,SAAO,OACXC,WAAAA,EAAYC,WAAAA,GAAeC,EAASA,SAAAL,EAAOD,EAAOE,IACnDK,EAAeC,GAAoBC,EAAAA,UAAS,GAE7CC,EAC6B,iBAAxBT,EAAMU,MAAMD,QACbT,EAAMU,MAAMD,QACZT,EAAMU,MAAMD,QAAQA,QACxBE,EAC6B,iBAAxBX,EAAMU,MAAMD,aACb,EACAT,EAAMU,MAAMD,QAAQE,MAGxBC,EAAyC,MAA9BZ,EAAMU,MAAMG,OAAOC,SAE5BC,qBAAAA,GAAyBC,0BAEjCC,OAAAA,EAAAA,WAAU,KAEA,MAAAC,EAAUC,YAAW,KACvBZ,GAAiB,EAAI,GACtB,GAEI,MAAA,IAAMa,aAAaF,EAAO,GAClC,IAEHD,EAAAA,WAAU,KACFF,GAAkD,YAA1Bf,EAAMU,MAAMW,WAI9BtB,EAAAuB,OAAOtB,EAAMU,MAAMa,IAAG,GAEjC,CAACR,EAAsBf,EAAMU,MAAMW,UAAWrB,EAAMU,MAAMa,IAAKxB,IAG9DyB,EAAAA,KAAC,MAAA,IACOrB,EACJF,IAAAA,EACAN,UAAW8B,EAAAA,KACP,YACA,CACI,kBAA2C,SAAxBzB,EAAMU,MAAMgB,QAC/B,mBAA4C,UAAxB1B,EAAMU,MAAMgB,QAChC,qBAA8C,YAAxB1B,EAAMU,MAAMgB,QAClC,qBAA8C,YAAxB1B,EAAMU,MAAMgB,SAEtC/B,GAEJ,iBAAgBK,EAAMU,MAAMW,UAC5BM,eAAgB,KAEkB,YAA1B3B,EAAMU,MAAMW,WACNtB,EAAAuB,OAAOtB,EAAMU,MAAMa,IAAG,EAIpCK,SAAA,CAAAnC,MAAC,OAAK,CAAAE,UAAU,sBACXiC,SAAA5B,EAAMU,MAAMQ,QACTzB,EAAAA,IAACoC,EAAAA,UAAA,CACGC,KAAM9B,EAAMU,MAAMQ,QAClBN,SAAAA,EACAe,eAAiBI,IAEbA,EAAEC,iBAAgB,IAG1B,OAEPzC,EAAQS,EAAMU,MAAMgB,SACrBF,EAAAA,KAAC,MAAA,IACOpB,EACJT,UAAU,qBACV,YAAU,YAETiC,SAAA,CAAAjB,GACIlB,EAAAA,IAAA,IAAA,CAAEE,UAAU,mBAAoBiC,YAAiBjB,IAErDlB,EAAAA,IAAA,IAAA,CAAEE,UAAU,qBAAsBiC,YAAiBnB,IACnDT,EAAMU,MAAMuB,QACRxC,EAAAA,IAAA,MAAA,CAAIE,UAAU,oBACXiC,SAAAnC,EAAAA,IAACyC,EAAAA,OAAA,CACGR,QAAQ,YACRS,QAAQ,UACRC,QAASpC,EAAMU,MAAMuB,OAAOG,QAE3BR,SAAA5B,EAAMU,MAAMuB,OAAOI,aAKpC5C,EAAAA,IAAC6C,EAAAA,WAAA,CACG,aAAatC,EAAMU,MAAMgB,QAAsB,aAAZ,EACnC,aAAW,cACX/B,UAAU,4BACVyC,QAAS,KACCrC,EAAAwC,MAAMvC,EAAMU,MAAMa,IAAG,EAG/BK,eAACY,EAAAA,UAAU,CAAA,OAI3B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as t,jsx as o}from"react/jsx-runtime";import{useToast as s}from"@react-aria/toast";import{c as a}from"../../../clsx-BeLtu-UY.js";import{useRef as n,useEffect as
|
|
1
|
+
import{jsxs as t,jsx as o}from"react/jsx-runtime";import{useToast as s}from"@react-aria/toast";import{c as a}from"../../../clsx-BeLtu-UY.js";import{useRef as n,useState as e,useEffect as r}from"react";import{useBrowserPreferences as i}from"../../hooks/useBrowserPreferences/useBrowserPreferences.js";import{Button as c}from"../button/Button.js";import{Countdown as l}from"../countdown/Countdown.js";import{IconButton as m}from"../icon-button/IconButton.js";import{CloseIcon as u}from"../icon/icons/CloseIcon.js";import{ErrorIcon as f}from"../icon/icons/ErrorIcon.js";import{InfoIcon as d}from"../icon/icons/InfoIcon.js";import{SuccessIcon as j}from"../icon/icons/SuccessIcon.js";import{WarningIcon as p}from"../icon/icons/WarningIcon.js";const k=t=>{switch(t){case"error":return o(f,{className:"jkl-toast__icon"});case"info":return o(d,{className:"jkl-toast__icon"});case"success":return o(j,{className:"jkl-toast__icon"});case"warning":return o(p,{className:"jkl-toast__icon"});default:return null}};function _({className:f,state:d,...j}){const p=n(null),{toastProps:_,titleProps:v}=s(j,d,p),[I,g]=e(!1),h="string"==typeof j.toast.content?j.toast.content:j.toast.content.content,N="string"==typeof j.toast.content?void 0:j.toast.content.title,w=null==j.toast.timer?.timerId,{prefersReducedMotion:y}=i();return r((()=>{const t=setTimeout((()=>{g(!0)}),0);return()=>clearTimeout(t)}),[]),r((()=>{y&&"exiting"===j.toast.animation&&d.remove(j.toast.key)}),[y,j.toast.animation,j.toast.key,d]),t("div",{..._,ref:p,className:a("jkl-toast",{"jkl-toast--info":"info"===j.toast.variant,"jkl-toast--error":"error"===j.toast.variant,"jkl-toast--warning":"warning"===j.toast.variant,"jkl-toast--success":"success"===j.toast.variant},f),"data-animation":j.toast.animation,onAnimationEnd:()=>{"exiting"===j.toast.animation&&d.remove(j.toast.key)},children:[o("span",{className:"jkl-toast__progress",children:j.toast.timeout?o(l,{from:j.toast.timeout,isPaused:w,onAnimationEnd:t=>{t.stopPropagation()}}):null}),k(j.toast.variant),t("div",{...v,className:"jkl-toast__content","aria-live":"assertive",children:[N&&o("p",{className:"jkl-toast__title",children:I&&N}),o("p",{className:"jkl-toast__message",children:I&&h}),j.toast.action&&o("div",{className:"jkl-toast__action",children:o(c,{variant:"secondary",density:"compact",onClick:j.toast.action.onClick,children:j.toast.action.label})})]}),o(m,{"data-theme":j.toast.variant?"light":void 0,"aria-label":"Lukk varsel",className:"jkl-toast__dismiss-button",onClick:()=>{d.close(j.toast.key)},children:o(u,{})})]})}export{_ as Toast};
|
|
2
2
|
//# sourceMappingURL=Toast.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.js","sources":["../../../../src/components/toast/Toast.tsx"],"sourcesContent":["import { type AriaToastProps, useToast } from \"@react-aria/toast\";\nimport type { QueuedToast, ToastState } from \"@react-stately/toast\";\nimport clsx from \"clsx\";\nimport React, { useEffect, useRef } from \"react\";\nimport { useBrowserPreferences } from \"../../hooks/useBrowserPreferences/useBrowserPreferences.js\";\nimport { Button } from \"../button/Button.js\";\nimport { Countdown } from \"../countdown/Countdown.js\";\nimport { IconButton } from \"../icon-button/IconButton.js\";\nimport { CloseIcon } from \"../icon/icons/CloseIcon.js\";\nimport { ErrorIcon } from \"../icon/icons/ErrorIcon.js\";\nimport { InfoIcon } from \"../icon/icons/InfoIcon.js\";\nimport { SuccessIcon } from \"../icon/icons/SuccessIcon.js\";\nimport { WarningIcon } from \"../icon/icons/WarningIcon.js\";\nimport type { ToastContent, ToastOptions } from \"./types.js\";\n\nexport interface ToastProps<T extends ToastContent> extends AriaToastProps<T> {\n className?: string;\n state: ToastState<T>;\n toast: QueuedToast<T> & ToastOptions;\n}\n\nconst getIcon = (messageType?: \"error\" | \"info\" | \"success\" | \"warning\") => {\n switch (messageType) {\n case \"error\":\n return <ErrorIcon className=\"jkl-toast__icon\" />;\n case \"info\":\n return <InfoIcon className=\"jkl-toast__icon\" />;\n case \"success\":\n return <SuccessIcon className=\"jkl-toast__icon\" />;\n case \"warning\":\n return <WarningIcon className=\"jkl-toast__icon\" />;\n default:\n return null;\n }\n};\n\nexport function Toast<T extends ToastContent>({\n className,\n state,\n ...props\n}: ToastProps<T>) {\n const ref = useRef(null);\n const { toastProps, titleProps } = useToast(props, state, ref);\n\n const content =\n typeof props.toast.content === \"string\"\n ? props.toast.content\n : props.toast.content.content;\n const title =\n typeof props.toast.content === \"string\"\n ? undefined\n : props.toast.content.title;\n\n // @ts-ignore Proxy for å sjekke om timeren er pauset: https://github.com/adobe/react-spectrum/blob/b1545c0d225b12672fb6a4e7b787268591d66b90/packages/%40react-stately/toast/src/useToastState.ts#L222\n const isPaused = props.toast.timer?.timerId == null;\n\n const { prefersReducedMotion } = useBrowserPreferences();\n\n useEffect(() => {\n if (prefersReducedMotion && props.toast.animation === \"exiting\") {\n // If user has prefers-reduced-motion the exit animation won't run and our\n // onAnimationEnd callback won't be invoked. In this case, remove the toast\n // manually.\n state.remove(props.toast.key);\n }\n }, [prefersReducedMotion, props.toast.animation, props.toast.key, state]);\n\n return (\n <div\n {...toastProps}\n ref={ref}\n className={clsx(\n \"jkl-toast\",\n {\n \"jkl-toast--info\": props.toast.variant === \"info\",\n \"jkl-toast--error\": props.toast.variant === \"error\",\n \"jkl-toast--warning\": props.toast.variant === \"warning\",\n \"jkl-toast--success\": props.toast.variant === \"success\",\n },\n className,\n )}\n data-animation={props.toast.animation}\n onAnimationEnd={() => {\n // Remove the toast when the exiting animation completes.\n if (props.toast.animation === \"exiting\") {\n state.remove(props.toast.key);\n }\n }}\n >\n <span className=\"jkl-toast__progress\">\n {props.toast.timeout ? (\n <Countdown\n from={props.toast.timeout}\n isPaused={isPaused}\n onAnimationEnd={(e) => {\n // Avoid triggering the toast's onAnimationEnd handler so we still get our exit animation\n e.stopPropagation();\n }}\n />\n ) : null}\n </span>\n {getIcon(props.toast.variant)}\n <div
|
|
1
|
+
{"version":3,"file":"Toast.js","sources":["../../../../src/components/toast/Toast.tsx"],"sourcesContent":["import { type AriaToastProps, useToast } from \"@react-aria/toast\";\nimport type { QueuedToast, ToastState } from \"@react-stately/toast\";\nimport clsx from \"clsx\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { useBrowserPreferences } from \"../../hooks/useBrowserPreferences/useBrowserPreferences.js\";\nimport { Button } from \"../button/Button.js\";\nimport { Countdown } from \"../countdown/Countdown.js\";\nimport { IconButton } from \"../icon-button/IconButton.js\";\nimport { CloseIcon } from \"../icon/icons/CloseIcon.js\";\nimport { ErrorIcon } from \"../icon/icons/ErrorIcon.js\";\nimport { InfoIcon } from \"../icon/icons/InfoIcon.js\";\nimport { SuccessIcon } from \"../icon/icons/SuccessIcon.js\";\nimport { WarningIcon } from \"../icon/icons/WarningIcon.js\";\nimport type { ToastContent, ToastOptions } from \"./types.js\";\n\nexport interface ToastProps<T extends ToastContent> extends AriaToastProps<T> {\n className?: string;\n state: ToastState<T>;\n toast: QueuedToast<T> & ToastOptions;\n}\n\nconst getIcon = (messageType?: \"error\" | \"info\" | \"success\" | \"warning\") => {\n switch (messageType) {\n case \"error\":\n return <ErrorIcon className=\"jkl-toast__icon\" />;\n case \"info\":\n return <InfoIcon className=\"jkl-toast__icon\" />;\n case \"success\":\n return <SuccessIcon className=\"jkl-toast__icon\" />;\n case \"warning\":\n return <WarningIcon className=\"jkl-toast__icon\" />;\n default:\n return null;\n }\n};\n\nexport function Toast<T extends ToastContent>({\n className,\n state,\n ...props\n}: ToastProps<T>) {\n const ref = useRef(null);\n const { toastProps, titleProps } = useToast(props, state, ref);\n const [announceReady, setAnnounceReady] = useState(false);\n\n const content =\n typeof props.toast.content === \"string\"\n ? props.toast.content\n : props.toast.content.content;\n const title =\n typeof props.toast.content === \"string\"\n ? undefined\n : props.toast.content.title;\n\n // @ts-ignore Proxy for å sjekke om timeren er pauset: https://github.com/adobe/react-spectrum/blob/b1545c0d225b12672fb6a4e7b787268591d66b90/packages/%40react-stately/toast/src/useToastState.ts#L222\n const isPaused = props.toast.timer?.timerId == null;\n\n const { prefersReducedMotion } = useBrowserPreferences();\n\n useEffect(() => {\n // Delay the update to the next event loop so the toast has time to render before being announced to screen readers\n const timeout = setTimeout(() => {\n setAnnounceReady(true);\n }, 0);\n\n return () => clearTimeout(timeout);\n }, []);\n\n useEffect(() => {\n if (prefersReducedMotion && props.toast.animation === \"exiting\") {\n // If user has prefers-reduced-motion the exit animation won't run and our\n // onAnimationEnd callback won't be invoked. In this case, remove the toast\n // manually.\n state.remove(props.toast.key);\n }\n }, [prefersReducedMotion, props.toast.animation, props.toast.key, state]);\n\n return (\n <div\n {...toastProps}\n ref={ref}\n className={clsx(\n \"jkl-toast\",\n {\n \"jkl-toast--info\": props.toast.variant === \"info\",\n \"jkl-toast--error\": props.toast.variant === \"error\",\n \"jkl-toast--warning\": props.toast.variant === \"warning\",\n \"jkl-toast--success\": props.toast.variant === \"success\",\n },\n className,\n )}\n data-animation={props.toast.animation}\n onAnimationEnd={() => {\n // Remove the toast when the exiting animation completes.\n if (props.toast.animation === \"exiting\") {\n state.remove(props.toast.key);\n }\n }}\n >\n <span className=\"jkl-toast__progress\">\n {props.toast.timeout ? (\n <Countdown\n from={props.toast.timeout}\n isPaused={isPaused}\n onAnimationEnd={(e) => {\n // Avoid triggering the toast's onAnimationEnd handler so we still get our exit animation\n e.stopPropagation();\n }}\n />\n ) : null}\n </span>\n {getIcon(props.toast.variant)}\n <div\n {...titleProps}\n className=\"jkl-toast__content\"\n aria-live=\"assertive\"\n >\n {title && (\n <p className=\"jkl-toast__title\">{announceReady && title}</p>\n )}\n <p className=\"jkl-toast__message\">{announceReady && content}</p>\n {props.toast.action && (\n <div className=\"jkl-toast__action\">\n <Button\n variant=\"secondary\"\n density=\"compact\"\n onClick={props.toast.action.onClick}\n >\n {props.toast.action.label}\n </Button>\n </div>\n )}\n </div>\n <IconButton\n data-theme={!props.toast.variant ? undefined : \"light\"}\n aria-label=\"Lukk varsel\"\n className=\"jkl-toast__dismiss-button\"\n onClick={() => {\n state.close(props.toast.key);\n }}\n >\n <CloseIcon />\n </IconButton>\n </div>\n );\n}\n"],"names":["getIcon","messageType","jsx","ErrorIcon","className","InfoIcon","SuccessIcon","WarningIcon","Toast","state","props","ref","useRef","toastProps","titleProps","useToast","announceReady","setAnnounceReady","useState","content","toast","title","isPaused","timer","timerId","prefersReducedMotion","useBrowserPreferences","useEffect","timeout","setTimeout","clearTimeout","animation","remove","key","jsxs","clsx","variant","onAnimationEnd","children","Countdown","from","e","stopPropagation","action","Button","density","onClick","label","IconButton","close","CloseIcon"],"mappings":"kuBAqBA,MAAMA,EAAWC,IACb,OAAQA,GACJ,IAAK,QACM,OAAAC,EAACC,EAAU,CAAAC,UAAU,oBAChC,IAAK,OACM,OAAAF,EAACG,EAAS,CAAAD,UAAU,oBAC/B,IAAK,UACM,OAAAF,EAACI,EAAY,CAAAF,UAAU,oBAClC,IAAK,UACM,OAAAF,EAACK,EAAY,CAAAH,UAAU,oBAClC,QACW,OAAA,KAAA,EAIZ,SAASI,GACZJ,UAAAA,EACAK,MAAAA,KACGC,IAEGC,MAAAA,EAAMC,EAAO,OACXC,WAAAA,EAAYC,WAAAA,GAAeC,EAASL,EAAOD,EAAOE,IACnDK,EAAeC,GAAoBC,GAAS,GAE7CC,EAC6B,iBAAxBT,EAAMU,MAAMD,QACbT,EAAMU,MAAMD,QACZT,EAAMU,MAAMD,QAAQA,QACxBE,EAC6B,iBAAxBX,EAAMU,MAAMD,aACb,EACAT,EAAMU,MAAMD,QAAQE,MAGxBC,EAAyC,MAA9BZ,EAAMU,MAAMG,OAAOC,SAE5BC,qBAAAA,GAAyBC,IAEjC,OAAAC,GAAU,KAEAC,MAAAA,EAAUC,YAAW,KACvBZ,GAAiB,EAAI,GACtB,GAEI,MAAA,IAAMa,aAAaF,EAAO,GAClC,IAEHD,GAAU,KACFF,GAAkD,YAA1Bf,EAAMU,MAAMW,WAI9BtB,EAAAuB,OAAOtB,EAAMU,MAAMa,IAAG,GAEjC,CAACR,EAAsBf,EAAMU,MAAMW,UAAWrB,EAAMU,MAAMa,IAAKxB,IAG9DyB,EAAC,MAAA,IACOrB,EACJF,IAAAA,EACAP,UAAW+B,EACP,YACA,CACI,kBAA2C,SAAxBzB,EAAMU,MAAMgB,QAC/B,mBAA4C,UAAxB1B,EAAMU,MAAMgB,QAChC,qBAA8C,YAAxB1B,EAAMU,MAAMgB,QAClC,qBAA8C,YAAxB1B,EAAMU,MAAMgB,SAEtChC,GAEJ,iBAAgBM,EAAMU,MAAMW,UAC5BM,eAAgB,KAEkB,YAA1B3B,EAAMU,MAAMW,WACNtB,EAAAuB,OAAOtB,EAAMU,MAAMa,IAAG,EAIpCK,SAAA,CAAApC,EAAC,OAAK,CAAAE,UAAU,sBACXkC,SAAA5B,EAAMU,MAAMQ,QACT1B,EAACqC,EAAA,CACGC,KAAM9B,EAAMU,MAAMQ,QAClBN,SAAAA,EACAe,eAAiBI,IAEbA,EAAEC,iBAAgB,IAG1B,OAEP1C,EAAQU,EAAMU,MAAMgB,SACrBF,EAAC,MAAA,IACOpB,EACJV,UAAU,qBACV,YAAU,YAETkC,SAAA,CAAAjB,GACInB,EAAA,IAAA,CAAEE,UAAU,mBAAoBkC,YAAiBjB,IAErDnB,EAAA,IAAA,CAAEE,UAAU,qBAAsBkC,YAAiBnB,IACnDT,EAAMU,MAAMuB,QACRzC,EAAA,MAAA,CAAIE,UAAU,oBACXkC,SAAApC,EAAC0C,EAAA,CACGR,QAAQ,YACRS,QAAQ,UACRC,QAASpC,EAAMU,MAAMuB,OAAOG,QAE3BR,SAAA5B,EAAMU,MAAMuB,OAAOI,aAKpC7C,EAAC8C,EAAA,CACG,aAAatC,EAAMU,MAAMgB,QAAsB,aAAZ,EACnC,aAAW,cACXhC,UAAU,4BACV0C,QAAS,KACCrC,EAAAwC,MAAMvC,EAAMU,MAAMa,IAAG,EAG/BK,WAACY,EAAU,CAAA,OAI3B"}
|
package/package.json
CHANGED
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
--jkl-checkbox-box-size: 1.125rem;
|
|
34
34
|
--jkl-checkbox-line-height: 1.5rem;
|
|
35
35
|
}
|
|
36
|
-
@keyframes jkl-checkbox-checked-
|
|
36
|
+
@keyframes jkl-checkbox-checked-uekru4o {
|
|
37
37
|
0% {
|
|
38
38
|
width: 0;
|
|
39
39
|
height: 0;
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
height: 58%;
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
@keyframes jkl-checkbox-indeterminate-
|
|
50
|
+
@keyframes jkl-checkbox-indeterminate-uekru5o {
|
|
51
51
|
0% {
|
|
52
52
|
width: 0;
|
|
53
53
|
}
|
|
@@ -76,11 +76,11 @@
|
|
|
76
76
|
left: calc(-0.5 * var(--jkl-checkbox-box-size));
|
|
77
77
|
}
|
|
78
78
|
.jkl-checkbox__input:checked + .jkl-checkbox__label .jkl-checkbox__check-mark::after {
|
|
79
|
-
animation: jkl-checkbox-checked-
|
|
79
|
+
animation: jkl-checkbox-checked-uekru4o 150ms ease-in-out forwards;
|
|
80
80
|
opacity: 1;
|
|
81
81
|
}
|
|
82
82
|
.jkl-checkbox__input:indeterminate:not(:checked) + .jkl-checkbox__label .jkl-checkbox__indeterminate-mark::after {
|
|
83
|
-
animation: jkl-checkbox-indeterminate-
|
|
83
|
+
animation: jkl-checkbox-indeterminate-uekru5o 150ms ease-in-out forwards;
|
|
84
84
|
opacity: 1;
|
|
85
85
|
}
|
|
86
86
|
.jkl-checkbox__input:focus-visible + .jkl-checkbox__label {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer jokul.components{: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-
|
|
1
|
+
@layer jokul.components{: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-uekru4o{0%{height:0;width:0}40%{height:0;width:18%}to{height:58%;width:18%}}@keyframes jkl-checkbox-indeterminate-uekru5o{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{left:calc(var(--jkl-checkbox-box-size)*-.5);opacity:0;position:absolute;top:var(--jkl-checkbox-box-size)}.jkl-checkbox__input:checked+.jkl-checkbox__label .jkl-checkbox__check-mark:after{animation:jkl-checkbox-checked-uekru4o .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-uekru5o .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)}}
|
|
@@ -64,7 +64,194 @@
|
|
|
64
64
|
--outer-border-thickness: 0.125rem;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
@
|
|
67
|
+
@layer jokul.components {
|
|
68
|
+
:root,
|
|
69
|
+
[data-layout-density=comfortable],
|
|
70
|
+
[data-density=comfortable] {
|
|
71
|
+
--jkl-checkbox-font-size: var(--jkl-body-font-size);
|
|
72
|
+
--jkl-checkbox-line-height: var(--jkl-body-line-height);
|
|
73
|
+
--jkl-checkbox-font-weight: var(--jkl-body-font-weight);
|
|
74
|
+
--jkl-checkbox-height: 3rem;
|
|
75
|
+
--jkl-checkbox-box-size: 1.5rem;
|
|
76
|
+
--jkl-checkbox-line-height: 2rem;
|
|
77
|
+
}
|
|
78
|
+
@media (width >= 0) and (max-width: 679px) {
|
|
79
|
+
:root,
|
|
80
|
+
[data-layout-density=comfortable],
|
|
81
|
+
[data-density=comfortable] {
|
|
82
|
+
--jkl-checkbox-height: 2.5rem;
|
|
83
|
+
--jkl-checkbox-box-size: 1.5rem;
|
|
84
|
+
--jkl-checkbox-line-height: 1.75rem;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
[data-layout-density=compact],
|
|
88
|
+
[data-density=compact] {
|
|
89
|
+
--jkl-checkbox-font-size: var(--jkl-small-font-size);
|
|
90
|
+
--jkl-checkbox-line-height: var(--jkl-small-line-height);
|
|
91
|
+
--jkl-checkbox-font-weight: var(--jkl-small-font-weight);
|
|
92
|
+
--jkl-checkbox-height: 1.75rem;
|
|
93
|
+
--jkl-checkbox-box-size: 1.125rem;
|
|
94
|
+
--jkl-checkbox-line-height: 1.5rem;
|
|
95
|
+
}
|
|
96
|
+
@keyframes jkl-checkbox-checked-u1tunz9 {
|
|
97
|
+
0% {
|
|
98
|
+
width: 0;
|
|
99
|
+
height: 0;
|
|
100
|
+
}
|
|
101
|
+
40% {
|
|
102
|
+
width: 18%;
|
|
103
|
+
height: 0;
|
|
104
|
+
}
|
|
105
|
+
100% {
|
|
106
|
+
width: 18%;
|
|
107
|
+
height: 58%;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
@keyframes jkl-checkbox-indeterminate-u1tunza {
|
|
111
|
+
0% {
|
|
112
|
+
width: 0;
|
|
113
|
+
}
|
|
114
|
+
100% {
|
|
115
|
+
width: 66%;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
.jkl-checkbox {
|
|
119
|
+
--box-color: var(--jkl-color-border-action);
|
|
120
|
+
--check-color: var(--jkl-color-border-action);
|
|
121
|
+
--text-color: var(--jkl-color-text-default);
|
|
122
|
+
--background-color: transparent;
|
|
123
|
+
font-size: var(--jkl-checkbox-font-size);
|
|
124
|
+
line-height: var(--jkl-checkbox-line-height);
|
|
125
|
+
font-weight: var(--jkl-checkbox-font-weight);
|
|
126
|
+
display: flex;
|
|
127
|
+
flex-wrap: wrap;
|
|
128
|
+
min-height: var(--jkl-checkbox-height);
|
|
129
|
+
color: var(--text-color);
|
|
130
|
+
position: relative;
|
|
131
|
+
}
|
|
132
|
+
.jkl-checkbox__input {
|
|
133
|
+
position: absolute;
|
|
134
|
+
opacity: 0;
|
|
135
|
+
top: var(--jkl-checkbox-box-size);
|
|
136
|
+
left: calc(-0.5 * var(--jkl-checkbox-box-size));
|
|
137
|
+
}
|
|
138
|
+
.jkl-checkbox__input:checked + .jkl-checkbox__label .jkl-checkbox__check-mark::after {
|
|
139
|
+
animation: jkl-checkbox-checked-u1tunz9 150ms ease-in-out forwards;
|
|
140
|
+
opacity: 1;
|
|
141
|
+
}
|
|
142
|
+
.jkl-checkbox__input:indeterminate:not(:checked) + .jkl-checkbox__label .jkl-checkbox__indeterminate-mark::after {
|
|
143
|
+
animation: jkl-checkbox-indeterminate-u1tunza 150ms ease-in-out forwards;
|
|
144
|
+
opacity: 1;
|
|
145
|
+
}
|
|
146
|
+
.jkl-checkbox__input:focus-visible + .jkl-checkbox__label {
|
|
147
|
+
color: var(--jkl-checkbox-focus-color);
|
|
148
|
+
}
|
|
149
|
+
.jkl-checkbox__input:focus-visible + .jkl-checkbox__label > .jkl-checkbox__mark {
|
|
150
|
+
outline: 3px solid var(--jkl-color-border-action);
|
|
151
|
+
outline-offset: 3px;
|
|
152
|
+
}
|
|
153
|
+
.jkl-checkbox__input:disabled + .jkl-checkbox__label {
|
|
154
|
+
color: var(--jkl-checkbox-disabled-color);
|
|
155
|
+
}
|
|
156
|
+
.jkl-checkbox__input:active {
|
|
157
|
+
--background-color: var(--jkl-color-background-input-focus);
|
|
158
|
+
}
|
|
159
|
+
.jkl-checkbox__label {
|
|
160
|
+
display: flex;
|
|
161
|
+
min-width: 0;
|
|
162
|
+
max-width: 100%;
|
|
163
|
+
cursor: pointer;
|
|
164
|
+
flex-shrink: 0;
|
|
165
|
+
}
|
|
166
|
+
.jkl-checkbox__label:hover .jkl-checkbox__mark, .jkl-checkbox__label:active .jkl-checkbox__mark {
|
|
167
|
+
outline: 1px solid var(--box-color);
|
|
168
|
+
}
|
|
169
|
+
.jkl-checkbox__text {
|
|
170
|
+
margin: calc((var(--jkl-checkbox-height) - var(--jkl-checkbox-line-height)) * 0.5) 0;
|
|
171
|
+
translate: 0 0.0625rem;
|
|
172
|
+
transition-timing-function: ease;
|
|
173
|
+
transition-duration: 150ms;
|
|
174
|
+
transition-property: color;
|
|
175
|
+
}
|
|
176
|
+
.jkl-checkbox__mark {
|
|
177
|
+
box-sizing: border-box;
|
|
178
|
+
position: relative;
|
|
179
|
+
height: var(--jkl-checkbox-box-size);
|
|
180
|
+
width: var(--jkl-checkbox-box-size);
|
|
181
|
+
margin-block: calc((var(--jkl-checkbox-height) - var(--jkl-checkbox-box-size)) * 0.5);
|
|
182
|
+
margin-inline-end: var(--jkl-unit-10);
|
|
183
|
+
align-self: flex-start;
|
|
184
|
+
flex-shrink: 0;
|
|
185
|
+
outline: none;
|
|
186
|
+
border-radius: 0;
|
|
187
|
+
border: 1px solid;
|
|
188
|
+
border-color: var(--box-color);
|
|
189
|
+
background-color: var(--background-color);
|
|
190
|
+
transition-timing-function: ease;
|
|
191
|
+
transition-duration: 150ms;
|
|
192
|
+
transition-property: background-color;
|
|
193
|
+
}
|
|
194
|
+
@media screen and (forced-colors: active) {
|
|
195
|
+
.jkl-checkbox__mark {
|
|
196
|
+
outline: revert;
|
|
197
|
+
border: 1px solid ButtonText;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
.jkl-checkbox__check-mark::after {
|
|
201
|
+
content: "";
|
|
202
|
+
position: absolute;
|
|
203
|
+
transform-origin: bottom left;
|
|
204
|
+
bottom: 42%;
|
|
205
|
+
left: 18%;
|
|
206
|
+
display: block;
|
|
207
|
+
width: 18%;
|
|
208
|
+
height: 58%;
|
|
209
|
+
transform: rotate(45deg);
|
|
210
|
+
border: solid 0.125rem var(--check-color);
|
|
211
|
+
border-left-width: 0;
|
|
212
|
+
border-top-width: 0;
|
|
213
|
+
opacity: 0;
|
|
214
|
+
transition-timing-function: ease;
|
|
215
|
+
transition-duration: 150ms;
|
|
216
|
+
transition-property: opacity, border-color;
|
|
217
|
+
}
|
|
218
|
+
@media screen and (forced-colors: active) {
|
|
219
|
+
.jkl-checkbox__check-mark::after {
|
|
220
|
+
border-color: ButtonText;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
.jkl-checkbox__indeterminate-mark::after {
|
|
224
|
+
--width: 66%;
|
|
225
|
+
--thickness: 0.125rem;
|
|
226
|
+
content: "";
|
|
227
|
+
position: absolute;
|
|
228
|
+
bottom: calc(50% - var(--thickness) / 2);
|
|
229
|
+
left: calc((100% - var(--width)) / 2);
|
|
230
|
+
display: block;
|
|
231
|
+
width: var(--width);
|
|
232
|
+
border-bottom: solid var(--thickness) var(--check-color);
|
|
233
|
+
opacity: 0;
|
|
234
|
+
transition-timing-function: ease;
|
|
235
|
+
transition-duration: 150ms;
|
|
236
|
+
transition-property: opacity, border-color;
|
|
237
|
+
}
|
|
238
|
+
@media screen and (forced-colors: active) {
|
|
239
|
+
.jkl-checkbox__indeterminate-mark::after {
|
|
240
|
+
border-color: ButtonText;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
.jkl-checkbox--inline {
|
|
244
|
+
display: inline-flex;
|
|
245
|
+
}
|
|
246
|
+
.jkl-checkbox--inline:not(:last-of-type) {
|
|
247
|
+
margin-right: calc(var(--jkl-unit-10) * 3);
|
|
248
|
+
}
|
|
249
|
+
.jkl-checkbox--error {
|
|
250
|
+
--background-color: var(--jkl-color-background-alert-error);
|
|
251
|
+
--check-color: var(--jkl-color-text-on-alert);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
@keyframes jkl-checkbox-checked-u1tunzj {
|
|
68
255
|
0% {
|
|
69
256
|
width: 0;
|
|
70
257
|
height: 0;
|
|
@@ -128,13 +315,11 @@
|
|
|
128
315
|
}
|
|
129
316
|
}
|
|
130
317
|
.jkl-checkbox-panel:has(:checked) .jkl-checkbox-panel__decorator::after {
|
|
131
|
-
animation: jkl-checkbox-checked-
|
|
318
|
+
animation: jkl-checkbox-checked-u1tunzj 150ms ease-in-out forwards;
|
|
132
319
|
opacity: 1;
|
|
133
320
|
}
|
|
134
321
|
.jkl-checkbox-panel:has([aria-invalid=true]) {
|
|
135
|
-
--checkbox-background-color: var(
|
|
136
|
-
--jkl-color-background-alert-error
|
|
137
|
-
);
|
|
322
|
+
--checkbox-background-color: var(--jkl-color-background-alert-error);
|
|
138
323
|
--checkbox-check-color: var(--jkl-color-text-on-alert);
|
|
139
324
|
}
|
|
140
325
|
}
|
|
@@ -1,3 +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-
|
|
2
|
-
--jkl-color-background-alert-error
|
|
3
|
-
);--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}@layer jokul.components{: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-u1tunz9{0%{height:0;width:0}40%{height:0;width:18%}to{height:58%;width:18%}}@keyframes jkl-checkbox-indeterminate-u1tunza{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{left:calc(var(--jkl-checkbox-box-size)*-.5);opacity:0;position:absolute;top:var(--jkl-checkbox-box-size)}.jkl-checkbox__input:checked+.jkl-checkbox__label .jkl-checkbox__check-mark:after{animation:jkl-checkbox-checked-u1tunz9 .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-u1tunza .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)}}@keyframes jkl-checkbox-checked-u1tunzj{0%{height:0;width:0}40%{height:0;width:18%}to{height:58%;width:18%}}@layer jokul.components{.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-u1tunzj .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,6 +1,7 @@
|
|
|
1
1
|
@use "../../core/jkl" as jkl;
|
|
2
2
|
@use "sass:string";
|
|
3
3
|
@use "../../shared/input-panel/shared";
|
|
4
|
+
@use "../checkbox/checkbox.scss";
|
|
4
5
|
|
|
5
6
|
$_checkbox-checked-animation-name: jkl-checkbox-checked-#{string.unique-id()};
|
|
6
7
|
|
|
@@ -78,16 +79,13 @@ $_checkbox-checked-animation-name: jkl-checkbox-checked-#{string.unique-id()};
|
|
|
78
79
|
|
|
79
80
|
&:has(:checked) &__decorator {
|
|
80
81
|
&::after {
|
|
81
|
-
animation: $_checkbox-checked-animation-name
|
|
82
|
-
jkl.timing("productive") ease-in-out forwards;
|
|
82
|
+
animation: $_checkbox-checked-animation-name jkl.timing("productive") ease-in-out forwards;
|
|
83
83
|
opacity: 1;
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
&:has([aria-invalid="true"]) {
|
|
88
|
-
--checkbox-background-color: var(
|
|
89
|
-
--jkl-color-background-alert-error
|
|
90
|
-
);
|
|
88
|
+
--checkbox-background-color: var(--jkl-color-background-alert-error);
|
|
91
89
|
--checkbox-check-color: var(--jkl-color-text-on-alert);
|
|
92
90
|
}
|
|
93
91
|
}
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
.jkl-countdown__tracker {
|
|
32
|
-
animation: jkl-downcount-
|
|
32
|
+
animation: jkl-downcount-uxrjvbs var(--duration) linear forwards;
|
|
33
33
|
animation-play-state: var(--play-state, running);
|
|
34
34
|
}
|
|
35
|
-
@keyframes jkl-downcount-
|
|
35
|
+
@keyframes jkl-downcount-uxrjvbs {
|
|
36
36
|
from {
|
|
37
37
|
width: 100%;
|
|
38
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer jokul.components{.jkl-countdown{--track-color:var(--jkl-color-border-separator);--bar-color:var(--jkl-color-border-input-focus);--bar-height:0.25rem;background-color:var(--track-color);border-radius:6.25rem;height:var(--bar-height);overflow:hidden;width:100%}.jkl-countdown__tracker{background-color:var(--bar-color);display:block;height:var(--bar-height)}@media screen and (forced-colors:active){.jkl-countdown{background-color:Canvas}.jkl-countdown__tracker{background-color:CanvasText}}.jkl-countdown__tracker{animation:jkl-downcount-
|
|
1
|
+
@layer jokul.components{.jkl-countdown{--track-color:var(--jkl-color-border-separator);--bar-color:var(--jkl-color-border-input-focus);--bar-height:0.25rem;background-color:var(--track-color);border-radius:6.25rem;height:var(--bar-height);overflow:hidden;width:100%}.jkl-countdown__tracker{background-color:var(--bar-color);display:block;height:var(--bar-height)}@media screen and (forced-colors:active){.jkl-countdown{background-color:Canvas}.jkl-countdown__tracker{background-color:CanvasText}}.jkl-countdown__tracker{animation:jkl-downcount-uxrjvbs var(--duration) linear forwards;animation-play-state:var(--play-state,running)}@keyframes jkl-downcount-uxrjvbs{0%{width:100%}to{width:0}}}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
/**
|
|
5
5
|
* Do not edit directly, this file was auto-generated.
|
|
6
6
|
*/
|
|
7
|
-
@keyframes jkl-show-
|
|
7
|
+
@keyframes jkl-show-u98nwg3 {
|
|
8
8
|
from {
|
|
9
9
|
transform: translate3d(0, 0.5rem, 0);
|
|
10
10
|
opacity: 0;
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
.jkl-feedback__fade-in {
|
|
42
|
-
animation: jkl-show-
|
|
42
|
+
animation: jkl-show-u98nwg3 0.25s ease-out;
|
|
43
43
|
}
|
|
44
44
|
.jkl-feedback__buttons {
|
|
45
45
|
display: flex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@keyframes jkl-show-
|
|
1
|
+
@keyframes jkl-show-u98nwg3{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-u98nwg3 .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}
|
|
@@ -375,15 +375,15 @@
|
|
|
375
375
|
animation: 2500ms linear infinite;
|
|
376
376
|
}
|
|
377
377
|
.jkl-loader__dot--left {
|
|
378
|
-
animation-name: jkl-loader-left-spin-
|
|
378
|
+
animation-name: jkl-loader-left-spin-uxqj5vd;
|
|
379
379
|
margin-right: 1.71em;
|
|
380
380
|
}
|
|
381
381
|
.jkl-loader__dot--middle {
|
|
382
|
-
animation-name: jkl-loader-middle-spin-
|
|
382
|
+
animation-name: jkl-loader-middle-spin-uxqj5vo;
|
|
383
383
|
margin-right: 1.9em;
|
|
384
384
|
}
|
|
385
385
|
.jkl-loader__dot--right {
|
|
386
|
-
animation-name: jkl-loader-right-spin-
|
|
386
|
+
animation-name: jkl-loader-right-spin-uxqj5vs;
|
|
387
387
|
}
|
|
388
388
|
@media screen and (forced-colors: active) {
|
|
389
389
|
.jkl-loader__dot {
|
|
@@ -410,7 +410,7 @@
|
|
|
410
410
|
.jkl-loader--small > .jkl-loader__dot--middle {
|
|
411
411
|
margin-right: 0.3em;
|
|
412
412
|
}
|
|
413
|
-
@keyframes jkl-loader-left-spin-
|
|
413
|
+
@keyframes jkl-loader-left-spin-uxqj5vd {
|
|
414
414
|
0% {
|
|
415
415
|
transform: rotate(0) scale(0);
|
|
416
416
|
}
|
|
@@ -424,7 +424,7 @@
|
|
|
424
424
|
transform: rotate(180deg) scale(0);
|
|
425
425
|
}
|
|
426
426
|
}
|
|
427
|
-
@keyframes jkl-loader-middle-spin-
|
|
427
|
+
@keyframes jkl-loader-middle-spin-uxqj5vo {
|
|
428
428
|
0% {
|
|
429
429
|
transform: rotate(20deg) scale(0);
|
|
430
430
|
}
|
|
@@ -441,7 +441,7 @@
|
|
|
441
441
|
transform: rotate(200deg) scale(0);
|
|
442
442
|
}
|
|
443
443
|
}
|
|
444
|
-
@keyframes jkl-loader-right-spin-
|
|
444
|
+
@keyframes jkl-loader-right-spin-uxqj5vs {
|
|
445
445
|
0% {
|
|
446
446
|
transform: rotate(40deg) scale(0);
|
|
447
447
|
}
|
|
@@ -489,7 +489,7 @@
|
|
|
489
489
|
bottom: 0;
|
|
490
490
|
width: 12.5rem;
|
|
491
491
|
background: linear-gradient(89.17deg, rgba(249, 249, 249, 0) 0.8%, var(--jkl-skeleton-sweeper-color) 50.09%, rgba(249, 249, 249, 0) 96.31%);
|
|
492
|
-
animation: var(--jkl-skeleton-sweep-duration) ease infinite jkl-sweep-
|
|
492
|
+
animation: var(--jkl-skeleton-sweep-duration) ease infinite jkl-sweep-uxqj5w0;
|
|
493
493
|
}
|
|
494
494
|
@media (width >= 0) and (max-width: 679px) {
|
|
495
495
|
.jkl-skeleton-animation {
|
|
@@ -519,7 +519,7 @@
|
|
|
519
519
|
@media screen and (forced-colors: active) {
|
|
520
520
|
.jkl-skeleton-element {
|
|
521
521
|
border: 1px solid CanvasText;
|
|
522
|
-
animation: 2s ease infinite jkl-blink-
|
|
522
|
+
animation: 2s ease infinite jkl-blink-uxqj5wz;
|
|
523
523
|
}
|
|
524
524
|
}
|
|
525
525
|
.jkl-skeleton-input {
|
|
@@ -573,10 +573,10 @@
|
|
|
573
573
|
}
|
|
574
574
|
@media screen and (forced-colors: active) {
|
|
575
575
|
.jkl-skeleton-table {
|
|
576
|
-
animation: 2s ease-in-out infinite jkl-blink-
|
|
576
|
+
animation: 2s ease-in-out infinite jkl-blink-uxqj5wz;
|
|
577
577
|
}
|
|
578
578
|
}
|
|
579
|
-
@keyframes jkl-sweep-
|
|
579
|
+
@keyframes jkl-sweep-uxqj5w0 {
|
|
580
580
|
0% {
|
|
581
581
|
transform: translateX(calc(0vw - 200px));
|
|
582
582
|
}
|
|
@@ -584,7 +584,7 @@
|
|
|
584
584
|
transform: translateX(calc(100vw + 400px));
|
|
585
585
|
}
|
|
586
586
|
}
|
|
587
|
-
@keyframes jkl-blink-
|
|
587
|
+
@keyframes jkl-blink-uxqj5wz {
|
|
588
588
|
0% {
|
|
589
589
|
opacity: 1;
|
|
590
590
|
}
|