@helsenorge/designsystem-react 12.5.0 → 12.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/StickyNote/Triangle.tsx","../../../src/components/StickyNote/StickyNote.tsx"],"sourcesContent":["interface TriangleProps {\n type: 'default' | 'active' | 'error';\n}\n\nexport interface Palette {\n border: string;\n background: string;\n}\n\nconst Triangle: React.FC<TriangleProps> = ({ type }) => {\n const palette = ((): Palette => {\n switch (type) {\n case 'active':\n return {\n border: '#C59302',\n background: '#F5E080',\n };\n case 'error':\n return {\n border: '#C83521',\n background: '#EEC0A5',\n };\n default:\n return {\n border: '#F5E080',\n background: '#F5E080',\n };\n }\n })();\n return (\n <svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <mask id=\"path-1-inside-1_1_44\" fill=\"white\">\n <path d=\"M22 0L1.80043e-06 22L2.83099e-06 -8.97354e-07L22 0Z\" />\n </mask>\n <path d=\"M22 0L1.80043e-06 22L2.83099e-06 -8.97354e-07L22 0Z\" fill={palette.background} />\n <path\n d=\"M22 0L22.7071 0.707107L24.4142 -1L22 -1L22 0ZM1.80043e-06 22L-0.999998 22L-0.999998 24.4142L0.707109 22.7071L1.80043e-06 22ZM2.83099e-06 -8.97354e-07L2.87783e-06 -1L-0.999997 -1L-0.999997 -9.38143e-07L2.83099e-06 -8.97354e-07ZM21.2929 -0.707107L-0.707105 21.2929L0.707109 22.7071L22.7071 0.707107L21.2929 -0.707107ZM1 22L1 -8.56565e-07L-0.999997 -9.38143e-07L-0.999998 22L1 22ZM2.78414e-06 0.999999L22 1L22 -1L2.87783e-06 -1L2.78414e-06 0.999999Z\"\n fill={palette.border}\n mask=\"url(#path-1-inside-1_1_44)\"\n />\n </svg>\n );\n};\n\nexport default Triangle;\n","import React, { useLayoutEffect, useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { useHover } from '../../hooks/useHover';\nimport { usePseudoClasses } from '../../hooks/usePseudoClasses';\nimport Icon, { IconSize } from '../Icon';\nimport Triangle from './Triangle';\nimport { useUuid } from '../../hooks/useUuid';\nimport { getAriaDescribedBy } from '../../utils/accessibility';\nimport X from '../Icons/X';\n\nimport styles from './styles.module.scss';\n\nexport interface StickyNoteProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n /** Aria label for the delete/close button */\n arialabelXButton: string;\n /** Activates the error styling */\n error?: boolean;\n /** Error text to show below the note */\n errorText?: string;\n /** Error text id */\n errorTextId?: string;\n /** Text shown under the textarea */\n footerText?: string;\n /** Function run when clicking the delete/close button */\n onXButtonClick?: () => void;\n /** Function run if user clicks the component while it is disabled */\n onClickWhileDisabled?: () => void;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Timestamp shown over the textarea */\n timestamp: string;\n /** Classname for the outer wrapper */\n wrapperClassName?: string;\n}\n\nconst StickyNote: React.FC<StickyNoteProps> = (props: StickyNoteProps) => {\n const {\n wrapperClassName,\n timestamp,\n onXButtonClick,\n arialabelXButton,\n footerText,\n error,\n errorText,\n errorTextId,\n onClickWhileDisabled,\n testId,\n ...textareaProps\n } = props;\n const errorTextUuid = useUuid(errorTextId);\n const stickynoteRef = useRef<HTMLDivElement>(null);\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const { isFocused: isTextareaFocused } = usePseudoClasses<HTMLTextAreaElement>(textareaRef);\n const { isHovered } = useHover<HTMLDivElement>(stickynoteRef);\n const triangleType = error ? 'error' : isTextareaFocused ? 'active' : 'default';\n\n const handleWrapperClick = (event: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>): void => {\n if ((event.target as HTMLElement).closest('button')) {\n return;\n }\n if (textareaProps.disabled) {\n if (onClickWhileDisabled) onClickWhileDisabled();\n return;\n }\n textareaRef.current?.focus();\n };\n\n const resizeTextarea = (): void => {\n const textarea = textareaRef.current;\n if (!textarea) return;\n resizeTarget(textarea);\n };\n\n const resizeTarget = (target: HTMLTextAreaElement): void => {\n // Reset field height\n target.style.height = 'inherit';\n // Set new height\n target.style.height = `${target.scrollHeight}px`;\n };\n\n useLayoutEffect(() => {\n resizeTextarea();\n // Must run after the shadow DOM has been set up to work on microweb\n setTimeout(() => resizeTextarea(), 1000);\n }, []);\n\n const handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>): void => {\n const textarea = e.target as HTMLTextAreaElement;\n resizeTarget(textarea);\n if (textareaProps.onChange) textareaProps.onChange(e);\n };\n\n return (\n <div>\n <div\n data-testid={testId}\n ref={stickynoteRef}\n className={classNames(styles['sticky-note'], wrapperClassName, {\n [styles['sticky-note--focused']]: isTextareaFocused,\n [styles['sticky-note--hovered']]: isHovered && !isTextareaFocused && !textareaProps.disabled,\n [styles['sticky-note--error']]: error,\n })}\n onClick={handleWrapperClick}\n role=\"textbox\"\n tabIndex={-1}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n handleWrapperClick(e as React.KeyboardEvent<HTMLDivElement>);\n }\n }}\n >\n <div className={classNames(styles['sticky-note__header'])}>\n {timestamp && <span className={styles['sticky-note__header__timestamp']}>{timestamp}</span>}\n </div>\n <textarea\n ref={textareaRef}\n data-testid={`${testId}-textarea`}\n className={classNames(styles['sticky-note__textarea'], textareaProps.className)}\n {...textareaProps}\n onChange={handleChange}\n aria-describedby={getAriaDescribedBy(props, errorTextUuid)}\n />\n <button\n onClick={onXButtonClick}\n aria-label={arialabelXButton}\n data-testid=\"closeButton\"\n className={classNames(styles['sticky-note__x-button'])}\n type=\"button\"\n >\n <Icon svgIcon={X} color=\"black\" size={IconSize.XXSmall} />\n </button>\n <div className={classNames(styles['sticky-note__footer'])}>{footerText && <span>{footerText}</span>}</div>\n <div className={classNames(styles['sticky-note__triangle'])}>\n <Triangle type={triangleType} />\n </div>\n </div>\n {error && (\n <p className={styles['sticky-note__error-text']} id={errorTextId}>\n {errorText}\n </p>\n )}\n </div>\n );\n};\n\nexport default StickyNote;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/StickyNote/Close.tsx","../../../src/components/StickyNote/Triangle.tsx","../../../src/components/StickyNote/StickyNote.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { useHover } from '../../hooks/useHover';\nimport { useIsMobileBreakpoint } from '../../hooks/useIsMobileBreakpoint';\nimport { mergeRefs } from '../../utils/refs';\nimport Icon from '../Icon';\nimport X from '../Icons/X';\n\nimport styles from './styles.module.scss';\n\nexport interface CloseProps {\n /** Function is called when user clicks the button */\n onClick?: (e?: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n /** Sets the aria-label of the button */\n ariaLabel?: string;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\n/*\n Denne er kopiert fra Close-komponent. \n Det er for å kunne ha en egen lokal variant for StickyNote. \n Likt som i Figma.\n */\n\nconst Close = React.forwardRef(function ButtonForwardedRef(props: CloseProps, ref: React.ForwardedRef<HTMLButtonElement>) {\n const { testId, ariaLabel = 'Lukk', onClick } = props;\n const { hoverRef, isHovered } = useHover();\n\n const iconSize = useIsMobileBreakpoint() ? 38 : 48;\n\n const closeClasses = classNames(styles.close);\n\n return (\n <button\n ref={mergeRefs([ref, hoverRef])}\n data-testid={testId}\n className={closeClasses}\n aria-label={ariaLabel}\n onClick={onClick}\n type=\"button\"\n >\n <span className={classNames(styles['close__inner-container'])}>\n <Icon svgIcon={X} color=\"black\" size={iconSize} isHovered={isHovered} />\n </span>\n </button>\n );\n});\n\nexport default Close;\n","import React from 'react';\n\ninterface TriangleProps {\n isHover: boolean;\n isFocus: boolean;\n isActive: boolean;\n isError: boolean;\n}\n\nexport interface Palette {\n border: string;\n background: string;\n}\n\nconst Triangle: React.FC<TriangleProps> = ({ isHover, isFocus, isActive, isError }) => {\n const palette = ((): Palette => {\n const colors: Palette = {\n border: 'var(--component-stickynote-border-normal)',\n background: 'var(--component-stickynote-background-fold-normal-light)',\n };\n\n if (!isError) {\n if (isHover) {\n colors.background = 'var(--component-stickynote-background-fold-normal-medium)';\n }\n if (isFocus) {\n colors.border = 'var(--color-action-border-onlight-focus)';\n colors.background = 'var(--component-stickynote-background-fold-normal-medium)';\n }\n if (isActive) {\n colors.background = 'var(--component-stickynote-background-fold-normal-dark)';\n }\n } else {\n colors.border = 'var(--component-stickynote-border-error)';\n colors.background = 'var(--component-stickynote-background-fold-error-light)';\n if (isHover) {\n colors.background = 'var(--component-stickynote-background-fold-error-medium)';\n }\n if (isFocus) {\n colors.border = 'var(--color-action-border-onlight-focus)';\n colors.background = 'var(--component-stickynote-background-fold-error-medium)';\n }\n if (isActive) {\n colors.background = 'var(--component-stickynote-background-fold-error-dark)';\n }\n }\n return colors;\n })();\n\n let svg: React.ReactNode;\n\n if (isFocus) {\n svg = (\n <svg width=\"21\" height=\"21\" viewBox=\"0 0 21 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <mask id=\"path-1-inside-1_7753_1401\" fill=\"white\">\n <path d=\"M0.493163 20.9211L0.276366 20.9211L0.276367 0.921142L20.2764 0.921143L20.2764 1.13794L0.493163 20.9211Z\" />\n </mask>\n <path\n d=\"M0.493163 20.9211L0.276366 20.9211L0.276367 0.921142L20.2764 0.921143L20.2764 1.13794L0.493163 20.9211Z\"\n fill={palette.background}\n />\n <path\n d=\"M0.493163 20.9211L0.493163 22.9211L1.32159 22.9211L1.90738 22.3354L0.493163 20.9211ZM0.276366 20.9211L-1.72363 20.9211L-1.72363 22.9211L0.276366 22.9211L0.276366 20.9211ZM0.276367 0.921142L0.276367 -1.07886L-1.72363 -1.07886L-1.72363 0.921142L0.276367 0.921142ZM20.2764 0.921143L22.2764 0.921143L22.2764 -1.07886L20.2764 -1.07886L20.2764 0.921143ZM20.2764 1.13794L21.6906 2.55215L22.2764 1.96637L22.2764 1.13794L20.2764 1.13794ZM0.493163 20.9211L0.493163 18.9211L0.276366 18.9211L0.276366 20.9211L0.276366 22.9211L0.493163 22.9211L0.493163 20.9211ZM0.276366 20.9211L2.27637 20.9211L2.27637 0.921142L0.276367 0.921142L-1.72363 0.921142L-1.72363 20.9211L0.276366 20.9211ZM0.276367 0.921142L0.276367 2.92114L20.2764 2.92114L20.2764 0.921143L20.2764 -1.07886L0.276367 -1.07886L0.276367 0.921142ZM20.2764 0.921143L18.2764 0.921142L18.2764 1.13794L20.2764 1.13794L22.2764 1.13794L22.2764 0.921143L20.2764 0.921143ZM20.2764 1.13794L18.8622 -0.276274L-0.92105 19.5069L0.493163 20.9211L1.90738 22.3354L21.6906 2.55215L20.2764 1.13794Z\"\n fill={palette.border}\n mask=\"url(#path-1-inside-1_7753_1401)\"\n />\n </svg>\n );\n } else {\n svg = (\n <svg width=\"21\" height=\"21\" viewBox=\"0 0 21 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <mask id=\"path-1-inside-1_7717_293537\" fill=\"white\">\n <path d=\"M0.923827 20.9211L0.70703 20.9211L0.707031 0.921142L20.707 0.921143L20.707 1.13794L0.923827 20.9211Z\" />\n </mask>\n <path\n d=\"M0.923827 20.9211L0.70703 20.9211L0.707031 0.921142L20.707 0.921143L20.707 1.13794L0.923827 20.9211Z\"\n fill={palette.background}\n />\n <path\n d=\"M0.923827 20.9211L0.923827 21.9211L1.33804 21.9211L1.63093 21.6282L0.923827 20.9211ZM0.70703 20.9211L-0.29297 20.9211L-0.29297 21.9211L0.70703 21.9211L0.70703 20.9211ZM0.707031 0.921142L0.707031 -0.0788582L-0.292969 -0.0788583L-0.292969 0.921142L0.707031 0.921142ZM20.707 0.921143L21.707 0.921143L21.707 -0.0788574L20.707 -0.0788574L20.707 0.921143ZM20.707 1.13794L21.4141 1.84505L21.707 1.55215L21.707 1.13794L20.707 1.13794ZM0.923827 20.9211L0.923827 19.9211L0.70703 19.9211L0.70703 20.9211L0.70703 21.9211L0.923827 21.9211L0.923827 20.9211ZM0.70703 20.9211L1.70703 20.9211L1.70703 0.921142L0.707031 0.921142L-0.292969 0.921142L-0.29297 20.9211L0.70703 20.9211ZM0.707031 0.921142L0.707031 1.92114L20.707 1.92114L20.707 0.921143L20.707 -0.0788574L0.707031 -0.0788582L0.707031 0.921142ZM20.707 0.921143L19.707 0.921143L19.707 1.13794L20.707 1.13794L21.707 1.13794L21.707 0.921143L20.707 0.921143ZM20.707 1.13794L19.9999 0.430833L0.21672 20.214L0.923827 20.9211L1.63093 21.6282L21.4141 1.84505L20.707 1.13794Z\"\n fill={palette.border}\n mask=\"url(#path-1-inside-1_7717_293537)\"\n />\n </svg>\n );\n }\n\n return <>{svg}</>;\n};\n\nexport default Triangle;\n","import React, { useLayoutEffect, useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport Close from './Close';\nimport Triangle from './Triangle';\nimport { usePseudoClasses } from '../../hooks/usePseudoClasses';\nimport { useUuid } from '../../hooks/useUuid';\nimport { getAriaDescribedBy } from '../../utils/accessibility';\n\nimport styles from './styles.module.scss';\n\nexport interface StickyNoteProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n /** Aria label for the delete/close button */\n arialabelXButton: string;\n /** Activates the error styling */\n error?: boolean;\n /** Error text to show below the note */\n errorText?: string;\n /** Error text id */\n errorTextId?: string;\n /** Text shown under the textarea */\n footerText?: string;\n /** Function run when clicking the delete/close button */\n onXButtonClick?: () => void;\n /** Function run if user clicks the component while it is disabled */\n onClickWhileDisabled?: () => void;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Timestamp shown over the textarea */\n timestamp: string;\n /** Classname for the outer wrapper */\n wrapperClassName?: string;\n}\n\nconst StickyNote: React.FC<StickyNoteProps> = (props: StickyNoteProps) => {\n const {\n wrapperClassName,\n timestamp,\n onXButtonClick,\n arialabelXButton,\n footerText,\n error,\n errorText,\n errorTextId,\n onClickWhileDisabled,\n testId,\n ...textareaProps\n } = props;\n const errorTextUuid = useUuid(errorTextId);\n const stickynoteRef = useRef<HTMLDivElement>(null);\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const { isFocused: isTextareaFocused } = usePseudoClasses<HTMLTextAreaElement>(textareaRef);\n const { isHovered, isActive } = usePseudoClasses<HTMLDivElement>(stickynoteRef);\n\n const handleWrapperClick = (event: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>): void => {\n if ((event.target as HTMLElement).closest('button')) {\n return;\n }\n if (textareaProps.disabled) {\n if (onClickWhileDisabled) onClickWhileDisabled();\n return;\n }\n textareaRef.current?.focus();\n };\n\n const resizeTextarea = (): void => {\n const textarea = textareaRef.current;\n if (!textarea) return;\n resizeTarget(textarea);\n };\n\n const resizeTarget = (target: HTMLTextAreaElement): void => {\n // Reset field height\n target.style.height = 'inherit';\n // Set new height\n target.style.height = `${target.scrollHeight}px`;\n };\n\n useLayoutEffect(() => {\n resizeTextarea();\n // Must run after the shadow DOM has been set up to work on microweb\n setTimeout(() => resizeTextarea(), 1000);\n }, []);\n\n const handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>): void => {\n const textarea = e.target as HTMLTextAreaElement;\n resizeTarget(textarea);\n if (textareaProps.onChange) textareaProps.onChange(e);\n };\n\n return (\n <div>\n <div\n data-testid={testId}\n ref={stickynoteRef}\n className={classNames(styles['sticky-note'], wrapperClassName, {\n [styles['sticky-note--focused']]: isTextareaFocused,\n [styles['sticky-note--active']]: isActive,\n [styles['sticky-note--hovered']]: isHovered && !isTextareaFocused && !textareaProps.disabled,\n [styles['sticky-note--error']]: error,\n })}\n onClick={handleWrapperClick}\n role=\"textbox\"\n tabIndex={-1}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n handleWrapperClick(e as React.KeyboardEvent<HTMLDivElement>);\n }\n }}\n >\n <div className={classNames(styles['sticky-note__header'])}>\n {timestamp && <span className={styles['sticky-note__header__timestamp']}>{timestamp}</span>}\n </div>\n <textarea\n ref={textareaRef}\n data-testid={`${testId}-textarea`}\n className={classNames(styles['sticky-note__textarea'], textareaProps.className)}\n {...textareaProps}\n onChange={handleChange}\n aria-describedby={getAriaDescribedBy(props, errorTextUuid)}\n />\n <Close onClick={onXButtonClick} ariaLabel={arialabelXButton} testId=\"closeButton\" />\n <div className={classNames(styles['sticky-note__footer'])}>{footerText && <span>{footerText}</span>}</div>\n <div className={classNames(styles['sticky-note__triangle'])}>\n <Triangle isHover={isHovered} isActive={isActive} isFocus={isTextareaFocused} isError={!!error} />\n </div>\n </div>\n {error && (\n <p className={styles['sticky-note__error-text']} id={errorTextId}>\n {errorText}\n </p>\n )}\n </div>\n );\n};\n\nexport default StickyNote;\n"],"names":["React"],"mappings":";;;;;;;;;;;;AA2BA,MAAM,QAAQA,eAAM,WAAW,SAAS,mBAAmB,OAAmB,KAA4C;AACxH,QAAM,EAAE,QAAQ,YAAY,QAAQ,YAAY;AAChD,QAAM,EAAE,UAAU,UAAA,IAAc,SAAA;AAEhC,QAAM,WAAW,0BAA0B,KAAK;AAEhD,QAAM,eAAe,WAAW,OAAO,KAAK;AAE5C,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK,UAAU,CAAC,KAAK,QAAQ,CAAC;AAAA,MAC9B,eAAa;AAAA,MACb,WAAW;AAAA,MACX,cAAY;AAAA,MACZ;AAAA,MACA,MAAK;AAAA,MAEL,8BAAC,QAAA,EAAK,WAAW,WAAW,OAAO,wBAAwB,CAAC,GAC1D,UAAA,oBAAC,MAAA,EAAK,SAAS,GAAG,OAAM,SAAQ,MAAM,UAAU,WAAsB,EAAA,CACxE;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;ACnCD,MAAM,WAAoC,CAAC,EAAE,SAAS,SAAS,UAAU,cAAc;AACrF,QAAM,WAAW,MAAe;AAC9B,UAAM,SAAkB;AAAA,MACtB,QAAQ;AAAA,MACR,YAAY;AAAA,IAAA;AAGd,QAAI,CAAC,SAAS;AACZ,UAAI,SAAS;AACX,eAAO,aAAa;AAAA,MACtB;AACA,UAAI,SAAS;AACX,eAAO,SAAS;AAChB,eAAO,aAAa;AAAA,MACtB;AACA,UAAI,UAAU;AACZ,eAAO,aAAa;AAAA,MACtB;AAAA,IACF,OAAO;AACL,aAAO,SAAS;AAChB,aAAO,aAAa;AACpB,UAAI,SAAS;AACX,eAAO,aAAa;AAAA,MACtB;AACA,UAAI,SAAS;AACX,eAAO,SAAS;AAChB,eAAO,aAAa;AAAA,MACtB;AACA,UAAI,UAAU;AACZ,eAAO,aAAa;AAAA,MACtB;AAAA,IACF;AACA,WAAO;AAAA,EACT,GAAA;AAEA,MAAI;AAEJ,MAAI,SAAS;AACX,UACE,qBAAC,OAAA,EAAI,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QAAO,OAAM,8BAChE,UAAA;AAAA,MAAA,oBAAC,QAAA,EAAK,IAAG,6BAA4B,MAAK,SACxC,UAAA,oBAAC,QAAA,EAAK,GAAE,0GAAA,CAA0G,EAAA,CACpH;AAAA,MACA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM,QAAQ;AAAA,QAAA;AAAA,MAAA;AAAA,MAEhB;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM,QAAQ;AAAA,UACd,MAAK;AAAA,QAAA;AAAA,MAAA;AAAA,IACP,GACF;AAAA,EAEJ,OAAO;AACL,UACE,qBAAC,OAAA,EAAI,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QAAO,OAAM,8BAChE,UAAA;AAAA,MAAA,oBAAC,QAAA,EAAK,IAAG,+BAA8B,MAAK,SAC1C,UAAA,oBAAC,QAAA,EAAK,GAAE,uGAAA,CAAuG,EAAA,CACjH;AAAA,MACA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM,QAAQ;AAAA,QAAA;AAAA,MAAA;AAAA,MAEhB;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM,QAAQ;AAAA,UACd,MAAK;AAAA,QAAA;AAAA,MAAA;AAAA,IACP,GACF;AAAA,EAEJ;AAEA,yCAAU,UAAA,IAAA,CAAI;AAChB;ACrDA,MAAM,aAAwC,CAAC,UAA2B;AACxE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD;AACJ,QAAM,gBAAgB,QAAQ,WAAW;AACzC,QAAM,gBAAgB,OAAuB,IAAI;AACjD,QAAM,cAAc,OAA4B,IAAI;AACpD,QAAM,EAAE,WAAW,sBAAsB,iBAAsC,WAAW;AAC1F,QAAM,EAAE,WAAW,aAAa,iBAAiC,aAAa;AAE9E,QAAM,qBAAqB,CAAC,UAAwF;;AAClH,QAAK,MAAM,OAAuB,QAAQ,QAAQ,GAAG;AACnD;AAAA,IACF;AACA,QAAI,cAAc,UAAU;AAC1B,UAAI,qBAAsB,sBAAA;AAC1B;AAAA,IACF;AACA,sBAAY,YAAZ,mBAAqB;AAAA,EACvB;AAEA,QAAM,iBAAiB,MAAY;AACjC,UAAM,WAAW,YAAY;AAC7B,QAAI,CAAC,SAAU;AACf,iBAAa,QAAQ;AAAA,EACvB;AAEA,QAAM,eAAe,CAAC,WAAsC;AAE1D,WAAO,MAAM,SAAS;AAEtB,WAAO,MAAM,SAAS,GAAG,OAAO,YAAY;AAAA,EAC9C;AAEA,kBAAgB,MAAM;AACpB,mBAAA;AAEA,eAAW,MAAM,eAAA,GAAkB,GAAI;AAAA,EACzC,GAAG,CAAA,CAAE;AAEL,QAAM,eAAe,CAAC,MAAoD;AACxE,UAAM,WAAW,EAAE;AACnB,iBAAa,QAAQ;AACrB,QAAI,cAAc,SAAU,eAAc,SAAS,CAAC;AAAA,EACtD;AAEA,8BACG,OAAA,EACC,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,eAAa;AAAA,QACb,KAAK;AAAA,QACL,WAAW,WAAW,OAAO,aAAa,GAAG,kBAAkB;AAAA,UAC7D,CAAC,OAAO,sBAAsB,CAAC,GAAG;AAAA,UAClC,CAAC,OAAO,qBAAqB,CAAC,GAAG;AAAA,UACjC,CAAC,OAAO,sBAAsB,CAAC,GAAG,aAAa,CAAC,qBAAqB,CAAC,cAAc;AAAA,UACpF,CAAC,OAAO,oBAAoB,CAAC,GAAG;AAAA,QAAA,CACjC;AAAA,QACD,SAAS;AAAA,QACT,MAAK;AAAA,QACL,UAAU;AAAA,QACV,WAAW,CAAA,MAAK;AACd,cAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,+BAAmB,CAAwC;AAAA,UAC7D;AAAA,QACF;AAAA,QAEA,UAAA;AAAA,UAAA,oBAAC,OAAA,EAAI,WAAW,WAAW,OAAO,qBAAqB,CAAC,GACrD,UAAA,aAAa,oBAAC,UAAK,WAAW,OAAO,gCAAgC,GAAI,qBAAU,GACtF;AAAA,UACA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAK;AAAA,cACL,eAAa,GAAG,MAAM;AAAA,cACtB,WAAW,WAAW,OAAO,uBAAuB,GAAG,cAAc,SAAS;AAAA,cAC7E,GAAG;AAAA,cACJ,UAAU;AAAA,cACV,oBAAkB,mBAAmB,OAAO,aAAa;AAAA,YAAA;AAAA,UAAA;AAAA,8BAE1D,OAAA,EAAM,SAAS,gBAAgB,WAAW,kBAAkB,QAAO,eAAc;AAAA,UAClF,oBAAC,OAAA,EAAI,WAAW,WAAW,OAAO,qBAAqB,CAAC,GAAI,UAAA,cAAc,oBAAC,QAAA,EAAM,UAAA,WAAA,CAAW,GAAQ;AAAA,8BACnG,OAAA,EAAI,WAAW,WAAW,OAAO,uBAAuB,CAAC,GACxD,UAAA,oBAAC,YAAS,SAAS,WAAW,UAAoB,SAAS,mBAAmB,SAAS,CAAC,CAAC,OAAO,EAAA,CAClG;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAED,6BACE,KAAA,EAAE,WAAW,OAAO,yBAAyB,GAAG,IAAI,aAClD,UAAA,UAAA,CACH;AAAA,EAAA,GAEJ;AAEJ;"}
@@ -1,52 +1,51 @@
1
+ @use 'sass:map';
1
2
  @use '../../scss/font-settings' as font-settings;
3
+ @use '../../scss/font-mixins' as fonts;
4
+ @use '../../scss/breakpoints' as breakpoints;
2
5
  @import '../../scss/supernova/styles/colors.css';
3
6
 
4
7
  .sticky-note {
8
+ $sticky-note: &;
9
+
5
10
  position: relative;
6
- background-color: var(--core-color-banana-50);
11
+ background-color: var(--component-stickynote-background-normal-light);
7
12
  width: 100%;
8
- border: var(--core-color-banana-300) 1px solid;
13
+ max-width: 32rem;
14
+ border: var(--component-stickynote-border-normal) 1px solid;
9
15
  padding: 12px;
10
16
  overflow: hidden;
11
17
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
12
18
 
13
19
  &--focused {
14
- background-color: var(--core-color-banana-50);
15
- border-color: var(--core-color-banana-600);
20
+ box-shadow: inset 0 0 0 1px var(--color-action-border-onlight-focus);
21
+ border-color: var(--color-action-border-onlight-focus);
22
+ background-color: var(--component-stickynote-background-normal-medium);
16
23
  }
17
24
 
18
25
  &--hovered {
19
- background-color: var(--core-color-banana-100);
20
- border: var(--core-color-banana-100) 1px solid;
26
+ background-color: var(--component-stickynote-background-normal-medium);
21
27
  }
22
28
 
23
- &--error {
24
- background-color: var(--core-color-cherry-50);
25
- border: var(--core-color-cherry-300) 1px solid;
29
+ &--active {
30
+ background-color: var(--component-stickynote-background-normal-dark);
26
31
  }
27
32
 
28
- &__x-button {
29
- cursor: pointer;
30
- background-color: transparent;
31
- color: var(--color-base-text-onlight);
32
- border: 0;
33
- width: 2.75rem;
34
- height: 2.75rem;
35
- display: flex;
36
- justify-content: center;
37
- align-items: center;
38
- position: absolute;
39
- top: 2px;
40
- right: 2px;
33
+ &--error {
34
+ background-color: var(--component-stickynote-background-error-light);
35
+ border: var(--component-stickynote-border-error) 1px solid;
36
+
37
+ &#{$sticky-note}--hovered {
38
+ background-color: var(--component-stickynote-background-error-medium);
39
+ }
41
40
 
42
- &:hover {
43
- background-color: var(--core-color-banana-200); // todo: bestem farge her
44
- outline: 1px solid var(--core-color-banana-500); // todo: bestem farge her
41
+ &#{$sticky-note}--focused {
42
+ box-shadow: inset 0 0 0 1px var(--color-action-border-onlight-focus);
43
+ border-color: var(--color-action-border-onlight-focus);
44
+ background-color: var(--component-stickynote-background-error-medium);
45
45
  }
46
46
 
47
- &:focus-visible {
48
- background-color: var(--color-action-background-transparent-onlight-hoverselected);
49
- outline: 2px solid var(--color-action-border-onlight-focus);
47
+ &#{$sticky-note}--active {
48
+ background-color: var(--component-stickynote-background-error-dark);
50
49
  }
51
50
  }
52
51
 
@@ -57,8 +56,9 @@
57
56
  align-items: center;
58
57
 
59
58
  &__timestamp {
59
+ @include fonts.compact-data;
60
+
60
61
  color: var(--color-placeholder-text-onlight);
61
- font-size: 1rem;
62
62
  }
63
63
  }
64
64
 
@@ -79,9 +79,9 @@
79
79
  }
80
80
 
81
81
  &__footer {
82
+ @include fonts.image-credit;
83
+
82
84
  color: var(--color-placeholder-text-onlight);
83
- font-size: 0.75rem;
84
- font-style: italic;
85
85
  }
86
86
 
87
87
  &__triangle {
@@ -93,9 +93,81 @@
93
93
  }
94
94
 
95
95
  &__error-text {
96
+ @include fonts.sublabel-subdued;
97
+
96
98
  color: var(--color-notification-status-error);
97
- line-height: 1.875rem;
98
- font-size: font-settings.$font-size-sm;
99
- margin-top: 0.75rem;
99
+ margin-top: 0.5rem;
100
+ }
101
+ }
102
+
103
+ $desktop-size: 3rem;
104
+ $mobile-inner-size: 2.375rem;
105
+ $mobile-outer-size: 2.75rem;
106
+
107
+ .close {
108
+ display: flex;
109
+ align-items: center;
110
+ justify-content: center;
111
+ position: absolute;
112
+ top: 2px;
113
+ right: 2px;
114
+ height: $mobile-outer-size;
115
+ width: $mobile-outer-size;
116
+ padding: 0;
117
+ border: 0;
118
+ background-color: transparent;
119
+ cursor: pointer;
120
+
121
+ &:focus-visible {
122
+ outline: none;
123
+ }
124
+
125
+ @media (min-width: map.get(breakpoints.$grid-breakpoints, md)) {
126
+ height: $desktop-size;
127
+ width: $desktop-size;
128
+ }
129
+
130
+ &--small {
131
+ height: $mobile-outer-size;
132
+ width: $mobile-outer-size;
133
+ }
134
+
135
+ &__inner-container {
136
+ width: $mobile-inner-size;
137
+ height: $mobile-inner-size;
138
+
139
+ @media (min-width: map.get(breakpoints.$grid-breakpoints, md)) {
140
+ height: $desktop-size;
141
+ width: $desktop-size;
142
+ }
143
+
144
+ &--small {
145
+ width: $mobile-inner-size;
146
+ height: $mobile-inner-size;
147
+ }
148
+
149
+ :hover > & {
150
+ background-color: var(--component-stickynote-background-transparent-onlight-hover);
151
+ }
152
+
153
+ :active > & {
154
+ background-color: var(--component-stickynote-background-transparent-onlight-active);
155
+ }
156
+
157
+ :focus-visible > & {
158
+ outline: 3px solid var(--color-action-border-onlight-focus);
159
+ border-radius: 0;
160
+ border: 0;
161
+ }
162
+
163
+ &--error {
164
+ :hover > & {
165
+ background-color: var(--component-stickynote-background-transparent-error-hover);
166
+ }
167
+
168
+ :active > & {
169
+ background-color: var(--component-stickynote-background-transparent-error-active);
170
+ }
171
+ }
100
172
  }
101
173
  }
@@ -1,4 +1,9 @@
1
1
  export type Styles = {
2
+ close: string;
3
+ 'close__inner-container': string;
4
+ 'close__inner-container--error': string;
5
+ 'close__inner-container--small': string;
6
+ 'close--small': string;
2
7
  'sticky-note': string;
3
8
  'sticky-note__error-text': string;
4
9
  'sticky-note__footer': string;
@@ -6,7 +11,7 @@ export type Styles = {
6
11
  'sticky-note__header__timestamp': string;
7
12
  'sticky-note__textarea': string;
8
13
  'sticky-note__triangle': string;
9
- 'sticky-note__x-button': string;
14
+ 'sticky-note--active': string;
10
15
  'sticky-note--error': string;
11
16
  'sticky-note--focused': string;
12
17
  'sticky-note--hovered': string;
package/constants.d.ts CHANGED
@@ -70,6 +70,7 @@ export declare enum AnalyticsId {
70
70
  ExpanderListExpander = "expander-list-expander",
71
71
  EyebrowHeader = "eyebrow-header",
72
72
  FavoriteButton = "favorite-button",
73
+ FormFieldTag = "form-field-tag",
73
74
  FormGroup = "form-group",
74
75
  FormLayout = "form-layout",
75
76
  HelpBubble = "help-bubble",
package/constants.js CHANGED
@@ -48,6 +48,7 @@ var AnalyticsId = /* @__PURE__ */ ((AnalyticsId2) => {
48
48
  AnalyticsId2["ExpanderListExpander"] = "expander-list-expander";
49
49
  AnalyticsId2["EyebrowHeader"] = "eyebrow-header";
50
50
  AnalyticsId2["FavoriteButton"] = "favorite-button";
51
+ AnalyticsId2["FormFieldTag"] = "form-field-tag";
51
52
  AnalyticsId2["FormGroup"] = "form-group";
52
53
  AnalyticsId2["FormLayout"] = "form-layout";
53
54
  AnalyticsId2["HelpBubble"] = "help-bubble";
package/constants.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../src/constants.ts"],"sourcesContent":["export enum IconSize {\n XXSmall = 24,\n XSmall = 38,\n Small = 48,\n Medium = 64,\n Large = 80,\n XLarge = 130,\n}\n\nexport enum ZIndex {\n OverlayScreen = 1300000,\n PopOver = 11000,\n LightBoxButtons = 1000,\n}\n\nexport const AVERAGE_CHARACTER_WIDTH_PX = 12;\n\nexport interface HTMLButtonProps {\n autoFocus?: boolean;\n disabled?: boolean;\n form?: string;\n formAction?: string;\n formEncType?: string;\n formMethod?: string;\n formNoValidate?: boolean;\n formTarget?: string;\n name?: string;\n type?: 'submit' | 'reset' | 'button' | string;\n value?: string | string[] | number;\n id?: string;\n}\n\nexport type AnchorTarget = '_self' | '_blank' | '_parent' | '_top';\n\nexport interface HTMLAnchorProps {\n download?: string;\n href?: string;\n hrefLang?: string;\n media?: string;\n ping?: string;\n rel?: AnchorTarget;\n target?: string;\n referrerPolicy?:\n | ''\n | 'same-origin'\n | 'no-referrer'\n | 'no-referrer-when-downgrade'\n | 'origin'\n | 'origin-when-cross-origin'\n | 'strict-origin'\n | 'strict-origin-when-cross-origin'\n | 'unsafe-url';\n}\n\nexport type ButtonVariant = 'secondary' | 'tertiary' | string | undefined | null;\n\nexport enum FormOnColor {\n onwhite = 'onwhite',\n ongrey = 'ongrey',\n onblueberry = 'onblueberry',\n ondark = 'ondark',\n oninvalid = 'oninvalid',\n}\n\nexport enum FormSize {\n medium = 'medium',\n large = 'large',\n}\n\nexport enum AnalyticsId {\n AnchorLink = 'anchor-link',\n ArticleTeaser = 'article-teaser',\n Avatar = 'avatar',\n Badge = 'badge',\n Button = 'button',\n Checkbox = 'checkbox',\n Chip = 'chip',\n Close = 'close',\n DictionaryTrigger = 'dictionary-trigger',\n Drawer = 'Drawer',\n Dropdown = 'dropdown',\n Duolist = 'duolist',\n EmptyState = 'empty-state',\n Expander = 'expander',\n ExpanderHierarchy = 'expander-hierarchy',\n ExpanderHierarchyExpander = 'expander-hierarchy-expander',\n ExpanderList = 'expander-list',\n ExpanderListExpander = 'expander-list-expander',\n EyebrowHeader = 'eyebrow-header',\n FavoriteButton = 'favorite-button',\n FormGroup = 'form-group',\n FormLayout = 'form-layout',\n HelpBubble = 'help-bubble',\n HelpDrawer = 'help-drawer',\n HelpExpanderInline = 'help-expander-inline',\n HelpExpanderStandalone = 'help-expander-standalone',\n HelpTooltip = 'help-tooltip',\n HelpTriggerIcon = 'help-trigger-icon',\n HelpTriggerInline = 'help-trigger-inline',\n HelpTriggerStandalone = 'help-trigger-standalone',\n HighlightPanel = 'highlight-panel',\n Icon = 'icon',\n Illustration = 'Illustration',\n InfoTeaser = 'info-teaser',\n Input = 'input',\n Label = 'label',\n Link = 'link',\n LinkList = 'link-list',\n List = 'list',\n Loader = 'loader',\n Logo = 'logo',\n Modal = 'modal',\n NotificationPanel = 'notification-panel',\n PanelOld = 'panel',\n PanelList = 'panel-list',\n PopMenu = 'pop-menu',\n PopOver = 'pop-over',\n Portal = 'portal',\n PromoPanel = 'promo-panel',\n RadioButton = 'radio-button',\n Select = 'select',\n SharingStatus = 'sharing-status',\n Slider = 'slider',\n Spacer = 'spacer',\n StatusDot = 'status-dot',\n Step = 'step',\n StepButtons = 'step-buttons',\n Stepper = 'stepper',\n Sublabel = 'sublabel',\n Table = 'table',\n Tag = 'tag',\n TagList = 'tag-list',\n Textarea = 'textarea',\n Tile = 'tile',\n Title = 'title',\n Toggle = 'toggle',\n Validation = 'validation',\n}\n\nexport enum KeyboardEventKey {\n Enter = 'Enter',\n Escape = 'Escape',\n ArrowDown = 'ArrowDown',\n ArrowUp = 'ArrowUp',\n ArrowRight = 'ArrowRight',\n ArrowLeft = 'ArrowLeft',\n Home = 'Home',\n End = 'End',\n Space = ' ',\n Tab = 'Tab',\n}\n\nexport enum LanguageLocales {\n NORWEGIAN = 'nb-NO',\n NORWEGIAN_NYNORSK = 'nn-NO',\n ENGLISH = 'en-GB',\n SAMI_NORTHERN = 'se-NO',\n}\n"],"names":["IconSize","ZIndex","FormOnColor","FormSize","AnalyticsId","KeyboardEventKey","LanguageLocales"],"mappings":"AAAO,IAAK,6BAAAA,cAAL;AACLA,YAAAA,UAAA,aAAU,EAAA,IAAV;AACAA,YAAAA,UAAA,YAAS,EAAA,IAAT;AACAA,YAAAA,UAAA,WAAQ,EAAA,IAAR;AACAA,YAAAA,UAAA,YAAS,EAAA,IAAT;AACAA,YAAAA,UAAA,WAAQ,EAAA,IAAR;AACAA,YAAAA,UAAA,YAAS,GAAA,IAAT;AANU,SAAAA;AAAA,GAAA,YAAA,CAAA,CAAA;AASL,IAAK,2BAAAC,YAAL;AACLA,UAAAA,QAAA,mBAAgB,IAAA,IAAhB;AACAA,UAAAA,QAAA,aAAU,IAAA,IAAV;AACAA,UAAAA,QAAA,qBAAkB,GAAA,IAAlB;AAHU,SAAAA;AAAA,GAAA,UAAA,CAAA,CAAA;AAML,MAAM,6BAA6B;AAyCnC,IAAK,gCAAAC,iBAAL;AACLA,eAAA,SAAA,IAAU;AACVA,eAAA,QAAA,IAAS;AACTA,eAAA,aAAA,IAAc;AACdA,eAAA,QAAA,IAAS;AACTA,eAAA,WAAA,IAAY;AALF,SAAAA;AAAA,GAAA,eAAA,CAAA,CAAA;AAQL,IAAK,6BAAAC,cAAL;AACLA,YAAA,QAAA,IAAS;AACTA,YAAA,OAAA,IAAQ;AAFE,SAAAA;AAAA,GAAA,YAAA,CAAA,CAAA;AAKL,IAAK,gCAAAC,iBAAL;AACLA,eAAA,YAAA,IAAa;AACbA,eAAA,eAAA,IAAgB;AAChBA,eAAA,QAAA,IAAS;AACTA,eAAA,OAAA,IAAQ;AACRA,eAAA,QAAA,IAAS;AACTA,eAAA,UAAA,IAAW;AACXA,eAAA,MAAA,IAAO;AACPA,eAAA,OAAA,IAAQ;AACRA,eAAA,mBAAA,IAAoB;AACpBA,eAAA,QAAA,IAAS;AACTA,eAAA,UAAA,IAAW;AACXA,eAAA,SAAA,IAAU;AACVA,eAAA,YAAA,IAAa;AACbA,eAAA,UAAA,IAAW;AACXA,eAAA,mBAAA,IAAoB;AACpBA,eAAA,2BAAA,IAA4B;AAC5BA,eAAA,cAAA,IAAe;AACfA,eAAA,sBAAA,IAAuB;AACvBA,eAAA,eAAA,IAAgB;AAChBA,eAAA,gBAAA,IAAiB;AACjBA,eAAA,WAAA,IAAY;AACZA,eAAA,YAAA,IAAa;AACbA,eAAA,YAAA,IAAa;AACbA,eAAA,YAAA,IAAa;AACbA,eAAA,oBAAA,IAAqB;AACrBA,eAAA,wBAAA,IAAyB;AACzBA,eAAA,aAAA,IAAc;AACdA,eAAA,iBAAA,IAAkB;AAClBA,eAAA,mBAAA,IAAoB;AACpBA,eAAA,uBAAA,IAAwB;AACxBA,eAAA,gBAAA,IAAiB;AACjBA,eAAA,MAAA,IAAO;AACPA,eAAA,cAAA,IAAe;AACfA,eAAA,YAAA,IAAa;AACbA,eAAA,OAAA,IAAQ;AACRA,eAAA,OAAA,IAAQ;AACRA,eAAA,MAAA,IAAO;AACPA,eAAA,UAAA,IAAW;AACXA,eAAA,MAAA,IAAO;AACPA,eAAA,QAAA,IAAS;AACTA,eAAA,MAAA,IAAO;AACPA,eAAA,OAAA,IAAQ;AACRA,eAAA,mBAAA,IAAoB;AACpBA,eAAA,UAAA,IAAW;AACXA,eAAA,WAAA,IAAY;AACZA,eAAA,SAAA,IAAU;AACVA,eAAA,SAAA,IAAU;AACVA,eAAA,QAAA,IAAS;AACTA,eAAA,YAAA,IAAa;AACbA,eAAA,aAAA,IAAc;AACdA,eAAA,QAAA,IAAS;AACTA,eAAA,eAAA,IAAgB;AAChBA,eAAA,QAAA,IAAS;AACTA,eAAA,QAAA,IAAS;AACTA,eAAA,WAAA,IAAY;AACZA,eAAA,MAAA,IAAO;AACPA,eAAA,aAAA,IAAc;AACdA,eAAA,SAAA,IAAU;AACVA,eAAA,UAAA,IAAW;AACXA,eAAA,OAAA,IAAQ;AACRA,eAAA,KAAA,IAAM;AACNA,eAAA,SAAA,IAAU;AACVA,eAAA,UAAA,IAAW;AACXA,eAAA,MAAA,IAAO;AACPA,eAAA,OAAA,IAAQ;AACRA,eAAA,QAAA,IAAS;AACTA,eAAA,YAAA,IAAa;AAnEH,SAAAA;AAAA,GAAA,eAAA,CAAA,CAAA;AAsEL,IAAK,qCAAAC,sBAAL;AACLA,oBAAA,OAAA,IAAQ;AACRA,oBAAA,QAAA,IAAS;AACTA,oBAAA,WAAA,IAAY;AACZA,oBAAA,SAAA,IAAU;AACVA,oBAAA,YAAA,IAAa;AACbA,oBAAA,WAAA,IAAY;AACZA,oBAAA,MAAA,IAAO;AACPA,oBAAA,KAAA,IAAM;AACNA,oBAAA,OAAA,IAAQ;AACRA,oBAAA,KAAA,IAAM;AAVI,SAAAA;AAAA,GAAA,oBAAA,CAAA,CAAA;AAaL,IAAK,oCAAAC,qBAAL;AACLA,mBAAA,WAAA,IAAY;AACZA,mBAAA,mBAAA,IAAoB;AACpBA,mBAAA,SAAA,IAAU;AACVA,mBAAA,eAAA,IAAgB;AAJN,SAAAA;AAAA,GAAA,mBAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"constants.js","sources":["../src/constants.ts"],"sourcesContent":["export enum IconSize {\n XXSmall = 24,\n XSmall = 38,\n Small = 48,\n Medium = 64,\n Large = 80,\n XLarge = 130,\n}\n\nexport enum ZIndex {\n OverlayScreen = 1300000,\n PopOver = 11000,\n LightBoxButtons = 1000,\n}\n\nexport const AVERAGE_CHARACTER_WIDTH_PX = 12;\n\nexport interface HTMLButtonProps {\n autoFocus?: boolean;\n disabled?: boolean;\n form?: string;\n formAction?: string;\n formEncType?: string;\n formMethod?: string;\n formNoValidate?: boolean;\n formTarget?: string;\n name?: string;\n type?: 'submit' | 'reset' | 'button' | string;\n value?: string | string[] | number;\n id?: string;\n}\n\nexport type AnchorTarget = '_self' | '_blank' | '_parent' | '_top';\n\nexport interface HTMLAnchorProps {\n download?: string;\n href?: string;\n hrefLang?: string;\n media?: string;\n ping?: string;\n rel?: AnchorTarget;\n target?: string;\n referrerPolicy?:\n | ''\n | 'same-origin'\n | 'no-referrer'\n | 'no-referrer-when-downgrade'\n | 'origin'\n | 'origin-when-cross-origin'\n | 'strict-origin'\n | 'strict-origin-when-cross-origin'\n | 'unsafe-url';\n}\n\nexport type ButtonVariant = 'secondary' | 'tertiary' | string | undefined | null;\n\nexport enum FormOnColor {\n onwhite = 'onwhite',\n ongrey = 'ongrey',\n onblueberry = 'onblueberry',\n ondark = 'ondark',\n oninvalid = 'oninvalid',\n}\n\nexport enum FormSize {\n medium = 'medium',\n large = 'large',\n}\n\nexport enum AnalyticsId {\n AnchorLink = 'anchor-link',\n ArticleTeaser = 'article-teaser',\n Avatar = 'avatar',\n Badge = 'badge',\n Button = 'button',\n Checkbox = 'checkbox',\n Chip = 'chip',\n Close = 'close',\n DictionaryTrigger = 'dictionary-trigger',\n Drawer = 'Drawer',\n Dropdown = 'dropdown',\n Duolist = 'duolist',\n EmptyState = 'empty-state',\n Expander = 'expander',\n ExpanderHierarchy = 'expander-hierarchy',\n ExpanderHierarchyExpander = 'expander-hierarchy-expander',\n ExpanderList = 'expander-list',\n ExpanderListExpander = 'expander-list-expander',\n EyebrowHeader = 'eyebrow-header',\n FavoriteButton = 'favorite-button',\n FormFieldTag = 'form-field-tag',\n FormGroup = 'form-group',\n FormLayout = 'form-layout',\n HelpBubble = 'help-bubble',\n HelpDrawer = 'help-drawer',\n HelpExpanderInline = 'help-expander-inline',\n HelpExpanderStandalone = 'help-expander-standalone',\n HelpTooltip = 'help-tooltip',\n HelpTriggerIcon = 'help-trigger-icon',\n HelpTriggerInline = 'help-trigger-inline',\n HelpTriggerStandalone = 'help-trigger-standalone',\n HighlightPanel = 'highlight-panel',\n Icon = 'icon',\n Illustration = 'Illustration',\n InfoTeaser = 'info-teaser',\n Input = 'input',\n Label = 'label',\n Link = 'link',\n LinkList = 'link-list',\n List = 'list',\n Loader = 'loader',\n Logo = 'logo',\n Modal = 'modal',\n NotificationPanel = 'notification-panel',\n PanelOld = 'panel',\n PanelList = 'panel-list',\n PopMenu = 'pop-menu',\n PopOver = 'pop-over',\n Portal = 'portal',\n PromoPanel = 'promo-panel',\n RadioButton = 'radio-button',\n Select = 'select',\n SharingStatus = 'sharing-status',\n Slider = 'slider',\n Spacer = 'spacer',\n StatusDot = 'status-dot',\n Step = 'step',\n StepButtons = 'step-buttons',\n Stepper = 'stepper',\n Sublabel = 'sublabel',\n Table = 'table',\n Tag = 'tag',\n TagList = 'tag-list',\n Textarea = 'textarea',\n Tile = 'tile',\n Title = 'title',\n Toggle = 'toggle',\n Validation = 'validation',\n}\n\nexport enum KeyboardEventKey {\n Enter = 'Enter',\n Escape = 'Escape',\n ArrowDown = 'ArrowDown',\n ArrowUp = 'ArrowUp',\n ArrowRight = 'ArrowRight',\n ArrowLeft = 'ArrowLeft',\n Home = 'Home',\n End = 'End',\n Space = ' ',\n Tab = 'Tab',\n}\n\nexport enum LanguageLocales {\n NORWEGIAN = 'nb-NO',\n NORWEGIAN_NYNORSK = 'nn-NO',\n ENGLISH = 'en-GB',\n SAMI_NORTHERN = 'se-NO',\n}\n"],"names":["IconSize","ZIndex","FormOnColor","FormSize","AnalyticsId","KeyboardEventKey","LanguageLocales"],"mappings":"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"}
@@ -8,93 +8,8 @@
8
8
  */
9
9
 
10
10
  :root {
11
- --core-color-black: #000000;
12
- --core-color-white: #ffffff;
13
- --core-color-blueberry-50: #e4f7f9;
14
- --core-color-neutral-500: #989693;
15
- --core-color-neutral-700: #62625f;
16
- --color-action-text-ondark: #ffffff;
17
-
18
- /* Hoverfarge for bakgrunn på interaktive elementer - onLight */
19
- --color-action-background-transparent-onlight-hover: #126f8721;
20
-
21
- /* Hoverfarge for bakgrunn på interaktive elementer - onLight selected */
22
- --color-action-background-transparent-onlight-hoverselected: #126f872b;
23
- --color-notification-background-info: #e4f7f9;
24
- --color-notification-background-error: #fff2ea;
25
- --color-destructive-graphics-normal: #c83521;
26
- --color-base-text-onlight: #000000;
27
- --color-action-background-ondark: #ffffff;
28
- --color-action-border-ondark: #ffffff;
29
- --color-action-border-ondark-focus: #ffffff;
30
- --color-action-graphics-ondark: #ffffff;
31
- --color-base-text-ondark: #ffffff;
32
- --color-base-background-neutral: #f5f3f3;
33
- --color-base-background-white: #ffffff;
34
- --color-base-graphics-ondark: #ffffff;
35
- --color-disabled-text-ondark: #ffffff;
36
- --color-action-border-onlight: #188097;
37
- --color-action-border-onlight-hover: #08667c;
38
- --color-action-border-onlight-focus: #000000;
39
- --color-action-text-onlight: #126f87;
40
- --color-action-text-onlight-hover: #08667c;
41
11
  --color-action-graphics-onlight: #188097;
42
12
  --color-action-graphics-onlight-hover: #126f87;
43
- --color-action-graphics-ondark-hover: #e4f7f9;
44
- --color-action-background-ondark-hover: #e4f7f9;
45
- --color-action-background-ondark-selected: #cae7ed;
46
- --color-action-background-ondark-hoverselected: #afdae3;
47
- --color-action-background-onlight: #188097;
48
- --color-action-background-onlight-hover: #08667c;
49
- --color-notification-background-warning: #fdf8df;
50
- --color-notification-background-success: #e6f8ee;
51
- --color-notification-border-info: #08667c;
52
- --color-notification-border-error: #a31f0e;
53
- --color-notification-border-warning: #ab7c00;
54
- --color-notification-border-success: #078141;
55
- --color-notification-graphics-info: #08667c;
56
- --color-notification-graphics-error: #a31f0e;
57
- --color-notification-graphics-warning: #ab7c00;
58
- --color-notification-graphics-success: #078141;
59
- --color-notification-status-warning: #ebc840;
60
- --color-notification-status-success: #099150;
61
- --color-destructive-graphics-hover: #b62e1c;
62
- --color-destructive-text-normal: #b62e1c;
63
- --color-destructive-text-hover: #a31f0e;
64
- --color-disabled-background: #d6d4d3;
65
- --color-disabled-text: #62625f;
66
- --color-disabled-border: #7d7c79;
67
- --color-disabled-graphics: #62625f;
68
- --color-disabled-border-ondark: #d6d4d3;
69
- --color-disabled-graphics-ondark: #d6d4d3;
70
- --color-base-background-blueberry: #e4f7f9;
71
- --color-base-background-cherry: #fff2ea;
72
- --color-base-background-dark-blueberry: #188097;
73
- --color-base-background-dark-cherry: #c83521;
74
- --color-base-graphics-onlight: #000000;
75
- --color-base-border-ondark: #d6d4d3;
76
- --color-base-border-onlight: #7d7c79;
77
- --color-base-border-onlight-emphasized: #62625f;
78
- --color-help-background-normal: #f4ecfe;
79
- --color-help-graphics-normal: #5b22a6;
80
- --color-help-border-normal: #5b22a6;
81
- --core-color-blueberry-100: #cae7ed;
82
- --core-color-blueberry-200: #afdae3;
83
- --core-color-blueberry-300: #7abecc;
84
- --core-color-blueberry-400: #58aabb;
85
- --core-color-blueberry-500: #188097;
86
- --core-color-blueberry-600: #126f87;
87
- --core-color-blueberry-700: #08667c;
88
- --core-color-blueberry-800: #06596c;
89
- --core-color-blueberry-900: #084350;
90
- --core-color-neutral-50: #f5f3f3;
91
- --core-color-neutral-100: #eae7e7;
92
- --core-color-neutral-200: #d6d4d3;
93
- --core-color-neutral-300: #bdbab9;
94
- --core-color-neutral-400: #aaa8a6;
95
- --core-color-neutral-600: #7d7c79;
96
- --core-color-neutral-800: #474745;
97
- --core-color-neutral-900: #2b2c2b;
98
13
  --core-color-banana-50: #fdf8df;
99
14
  --core-color-banana-100: #fcf2bf;
100
15
  --core-color-banana-200: #f9ea9f;
@@ -105,6 +20,16 @@
105
20
  --core-color-banana-700: #ab7c00;
106
21
  --core-color-banana-800: #916500;
107
22
  --core-color-banana-900: #764f00;
23
+ --core-color-blueberry-50: #e4f7f9;
24
+ --core-color-blueberry-100: #cae7ed;
25
+ --core-color-blueberry-200: #afdae3;
26
+ --core-color-blueberry-300: #7abecc;
27
+ --core-color-blueberry-400: #58aabb;
28
+ --core-color-blueberry-500: #188097;
29
+ --core-color-blueberry-600: #126f87;
30
+ --core-color-blueberry-700: #08667c;
31
+ --core-color-blueberry-800: #06596c;
32
+ --core-color-blueberry-900: #084350;
108
33
  --core-color-cherry-50: #fff2ea;
109
34
  --core-color-cherry-100: #f7e1d2;
110
35
  --core-color-cherry-200: #eec0a5;
@@ -125,6 +50,16 @@
125
50
  --core-color-kiwi-700: #0ca161;
126
51
  --core-color-kiwi-800: #099150;
127
52
  --core-color-kiwi-900: #078141;
53
+ --core-color-neutral-50: #f5f3f3;
54
+ --core-color-neutral-100: #eae7e7;
55
+ --core-color-neutral-200: #d6d4d3;
56
+ --core-color-neutral-300: #bdbab9;
57
+ --core-color-neutral-400: #aaa8a6;
58
+ --core-color-neutral-500: #989693;
59
+ --core-color-neutral-600: #7d7c79;
60
+ --core-color-neutral-700: #62625f;
61
+ --core-color-neutral-800: #474745;
62
+ --core-color-neutral-900: #2b2c2b;
128
63
  --core-color-plum-50: #f4ecfe;
129
64
  --core-color-plum-100: #e5d5fb;
130
65
  --core-color-plum-200: #cfb1f6;
@@ -135,8 +70,84 @@
135
70
  --core-color-plum-700: #5c27a1;
136
71
  --core-color-plum-800: #4c1b8c;
137
72
  --core-color-plum-900: #3c1471;
73
+ --core-color-black: #000000;
74
+ --core-color-white: #ffffff;
75
+ --color-action-border-ondark: #ffffff;
76
+ --color-action-text-ondark: #ffffff;
77
+ --color-action-graphics-ondark: #ffffff;
78
+ --color-notification-background-info: #e4f7f9;
79
+ --color-notification-background-error: #fff2ea;
80
+ --color-notification-background-warning: #fdf8df;
81
+ --color-notification-background-success: #e6f8ee;
82
+ --color-notification-border-info: #08667c;
83
+ --color-notification-border-error: #a31f0e;
84
+ --color-notification-border-warning: #ab7c00;
85
+ --color-notification-border-success: #078141;
86
+ --color-notification-graphics-info: #08667c;
87
+ --color-notification-graphics-error: #a31f0e;
88
+ --color-notification-graphics-warning: #ab7c00;
89
+ --color-notification-graphics-success: #078141;
90
+ --color-notification-status-info: #188097;
91
+ --color-notification-status-error: #c83521;
92
+ --color-notification-status-warning: #ebc840;
93
+ --color-notification-status-success: #099150;
94
+ --color-disabled-background: #d6d4d3;
95
+ --color-disabled-text: #62625f;
96
+ --color-disabled-border: #7d7c79;
138
97
  --color-destructive-background-emphasized: #f7e1d2;
139
98
  --color-destructive-background-normal: #fff2ea;
99
+ --color-destructive-graphics-normal: #c83521;
100
+ --color-destructive-graphics-hover: #b62e1c;
101
+ --color-destructive-text-normal: #b62e1c;
102
+ --color-destructive-text-hover: #a31f0e;
103
+ --color-help-background-normal: #f4ecfe;
104
+ --color-help-graphics-normal: #5c27a1;
105
+ --color-help-border-normal: #5c27a1;
106
+ --color-disabled-graphics: #62625f;
107
+ --color-destructive-border-normal: #c83521;
108
+ --color-action-border-ondark-hover: #e4f7f9;
109
+ --color-action-graphics-ondark-hover: #e4f7f9;
110
+
111
+ /* Hoverfarge for bakgrunn på interaktive elementer - onLight */
112
+ --color-action-background-transparent-onlight-hover: #126f8721;
113
+
114
+ /* Hoverfarge for bakgrunn på interaktive elementer - onLight selected */
115
+ --color-action-background-transparent-onlight-hoverselected: #126f872b;
116
+ --color-action-border-ondark-focus: #ffffff;
117
+ --color-disabled-border-ondark: #d6d4d3;
118
+ --color-disabled-graphics-ondark: #d6d4d3;
119
+ --color-disabled-text-ondark: #ffffff;
120
+ --color-action-text-onlight: #126f87;
121
+ --color-action-text-onlight-hover: #08667c;
122
+ --color-action-border-onlight: #188097;
123
+ --color-action-border-onlight-hover: #08667c;
124
+ --color-action-border-onlight-focus: #000000;
125
+ --color-action-background-ondark: #ffffff;
126
+ --color-action-background-ondark-hover: #e4f7f9;
127
+ --color-action-background-ondark-selected: #cae7ed;
128
+ --color-action-background-ondark-hoverselected: #afdae3;
129
+ --color-action-background-onlight: #188097;
130
+ --color-action-background-onlight-hover: #08667c;
131
+
132
+ /* Hoverfarge for bakgrunn på interaktive elementer - onDark */
133
+ --color-action-background-transparent-ondark-hover: #00000026;
134
+
135
+ /* Hoverfarge for bakgrunn på interaktive elementer - onDark selected */
136
+ --color-action-background-transparent-ondark-hoverselected: #000000bf;
137
+ --color-base-background-blueberry: #e4f7f9;
138
+ --color-base-background-cherry: #fff2ea;
139
+ --color-base-background-neutral: #f5f3f3;
140
+ --color-base-background-white: #ffffff;
141
+ --color-base-background-dark-blueberry: #188097;
142
+ --color-base-background-dark-cherry: #c83521;
143
+ --color-base-background-dark-neutral: #2b2c2b;
144
+ --color-base-text-onlight: #000000;
145
+ --color-base-text-ondark: #ffffff;
146
+ --color-base-border-ondark: #d6d4d3;
147
+ --color-base-border-onlight: #7d7c79;
148
+ --color-base-border-onlight-emphasized: #62625f;
149
+ --color-base-graphics-onlight: #000000;
150
+ --color-base-graphics-ondark: #ffffff;
140
151
  --brandcolor-white: #ffffff;
141
152
  --brandcolor-black: #000000;
142
153
  --brandcolor-neutral-verylight: #f5f3f3;
@@ -156,17 +167,6 @@
156
167
  --brandcolor-cherry-medium: #c83521;
157
168
  --brandcolor-cherry-mediumdark: #b62e1c;
158
169
  --brandcolor-cherry-dark: #a31f0e;
159
- --color-notification-status-info: #188097;
160
- --color-notification-status-error: #c83521;
161
- --color-destructive-border-normal: #c83521;
162
- --color-action-border-ondark-hover: #e4f7f9;
163
-
164
- /* Hoverfarge for bakgrunn på interaktive elementer - onDark */
165
- --color-action-background-transparent-ondark-hover: #00000026;
166
-
167
- /* Hoverfarge for bakgrunn på interaktive elementer - onDark selected */
168
- --color-action-background-transparent-ondark-hoverselected: #000000bf;
169
- --color-base-background-dark-neutral: #2b2c2b;
170
170
 
171
171
  /* Placeholdertext in input- and textarea-controls */
172
172
  --color-placeholder-text-onlight: #62625f;
@@ -177,10 +177,10 @@
177
177
 
178
178
  /* In a few cases where coloured text is required to stress the semantics of an information notification text */
179
179
  --color-notification-text-info: #08667c;
180
- --color-notification-text-warning: #916500;
181
180
 
182
181
  /* In a few cases where coloured text is required to stress the semantics of an error notification text */
183
182
  --color-notification-text-error: #a31f0e;
183
+ --color-notification-text-warning: #916500;
184
184
  --color-notification-text-success: #078141;
185
185
  --color-base-border-neutral-emphasized: #bdbab9;
186
186
  --color-notification-status-draft: #7d7c79;
@@ -193,9 +193,47 @@
193
193
 
194
194
  /* Background outside of modal and bottomsheet to mask inactive screen-area */
195
195
  --color-shadow-pagemask: #2c2b2cb8;
196
- --color-help-border-subtle-wcag: #9153e2;
196
+ --color-help-border-subtle-wcag: #9862df;
197
197
  --color-help-graphics-dark: #4c1b8c;
198
198
  --color-help-border-dark: #4c1b8c;
199
199
  --color-help-graphics-verydark: #3c1471;
200
200
  --color-help-border-verydark: #3c1471;
201
+ --color-action-background-onlight-active: #06596c;
202
+ --color-action-background-like-transparent-but-opaque-onlight-hover: #e0ecef;
203
+ --color-action-background-like-transparent-but-opaque-onlight-hoverselected: #d7e7eb;
204
+ --color-action-background-stroke-onlight: #126f87;
205
+ --component-stickynote-background-normal-light: #fdf8df;
206
+ --component-stickynote-background-normal-medium: #fcf2bf;
207
+ --component-stickynote-background-normal-dark: #f9ea9f;
208
+ --component-stickynote-border-normal: #916500;
209
+ --component-stickynote-border-error: #d56147;
210
+ --component-stickynote-background-error-dark: #eec0a5;
211
+ --component-stickynote-background-error-medium: #f7e1d2;
212
+ --component-stickynote-background-error-light: #fff2ea;
213
+ --color-base-text-onlight-subdued: #000000;
214
+ --component-stickynote-background-fold-error-dark: #e39376;
215
+ --component-stickynote-background-fold-error-light: #f7e1d2;
216
+ --component-stickynote-background-fold-error-medium: #eec0a5;
217
+ --component-stickynote-background-fold-normal-light: #fcf2bf;
218
+ --component-stickynote-background-fold-normal-medium: #f9ea9f;
219
+ --component-stickynote-background-fold-normal-dark: #ebc840;
220
+ --component-stickynote-background-transparent-onlight-hover: #ebc84021;
221
+ --component-stickynote-background-transparent-onlight-active: #ebc8404d;
222
+ --component-stickynote-background-transparent-error-hover: #d5614721;
223
+ --component-stickynote-background-transparent-error-active: #d5614740;
224
+ --component-listelements-background-neutral-light: #f5f3f3;
225
+ --component-listelements-background-neutral-medium: #eae7e7;
226
+ --component-listelements-background-neutral-dark: #d6d4d3;
227
+ --component-listelements-border-neutral-light: #eae7e7;
228
+ --component-listelements-background-blueberry-light: #e4f7f9;
229
+ --component-listelements-background-blueberry-medium: #cae7ed;
230
+ --component-listelements-border-blueberry-light: #cae7ed;
231
+ --component-listelements-background-blueberry-dark: #afdae3;
232
+ --component-listelements-border-blueberry-normal: #188097;
233
+ --component-listelements-background-cherry-light: #fff2ea;
234
+ --component-listelements-background-cherry-medium: #f7e1d2;
235
+ --component-listelements-border-cherry-light: #f7e1d2;
236
+ --component-listelements-background-cherry-dark: #eec0a5;
237
+ --component-listelements-border-cherry-normal: #d56147;
238
+ --component-listelements-border-neutral-normal: #7d7c79;
201
239
  }
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "url": "git+https://github.com/helsenorge/designsystem.git"
8
8
  },
9
9
  "homepage": "https://helsenorge.design",
10
- "version": "12.5.0",
10
+ "version": "12.7.0",
11
11
  "author": "Helsenorge",
12
12
  "license": "MIT",
13
13
  "dependencies": {
@@ -0,0 +1,8 @@
1
+ declare const _default: {
2
+ "allRequired": "Alle felt må fylles ut",
3
+ "requiredField": "Må fylles ut",
4
+ "optional": "Valgfritt"
5
+ }
6
+ ;
7
+
8
+ export default _default;