@dnb/eufemia 10.4.2 → 10.5.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.
- package/CHANGELOG.md +13 -0
- package/cjs/components/anchor/style/anchor-mixins.scss +17 -23
- package/cjs/components/anchor/style/dnb-anchor.css +26 -15
- package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
- package/cjs/components/anchor/style/dnb-anchor.scss +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +40 -21
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +2 -7
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +20 -10
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.scss +4 -9
- package/cjs/components/autocomplete/Autocomplete.js +2 -2
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/cjs/components/dialog/Dialog.d.ts +1 -1
- package/cjs/components/dialog/DialogContent.d.ts +1 -1
- package/cjs/components/dialog/DialogContent.js +4 -2
- package/cjs/components/dialog/DialogContent.js.map +1 -1
- package/cjs/components/dialog/parts/DialogAction.d.ts +5 -1
- package/cjs/components/dialog/parts/DialogAction.js +3 -2
- package/cjs/components/dialog/parts/DialogAction.js.map +1 -1
- package/cjs/components/form-row/FormRow.js.map +1 -1
- package/cjs/components/form-row/style/dnb-form-row.scss +2 -2
- package/cjs/components/form-set/FormSet.js.map +1 -1
- package/cjs/components/height-animation/HeightAnimation.d.ts +1 -1
- package/cjs/components/height-animation/HeightAnimation.js.map +1 -1
- package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
- package/cjs/components/icon/lib/SvgComparison.js.map +1 -1
- package/cjs/components/input/style/dnb-input.scss +1 -1
- package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/cjs/components/input-masked/TextMask.js.map +1 -1
- package/cjs/components/modal/Modal.js +0 -2
- package/cjs/components/modal/Modal.js.map +1 -1
- package/cjs/components/modal/bodyScrollLock.js.map +1 -1
- package/cjs/components/number-format/NumberUtils.js.map +1 -1
- package/cjs/components/number-format/style/dnb-number-format.css +0 -7
- package/cjs/components/number-format/style/dnb-number-format.scss +0 -1
- package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
- package/cjs/components/radio/Radio.js.map +1 -1
- package/cjs/components/section/style/themes/dnb-section-theme-ui.css +14 -7
- package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
- package/cjs/components/slider/hooks/useSliderEvents.js.map +1 -1
- package/cjs/components/slider/types.d.ts +1 -1
- package/cjs/components/slider/types.js.map +1 -1
- package/cjs/components/space/SpacingHelper.js.map +1 -1
- package/cjs/components/table/TableAccordion.js.map +1 -1
- package/cjs/components/table/TableTr.js.map +1 -1
- package/cjs/components/textarea/Textarea.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/cjs/components/tooltip/TooltipContainer.js.map +1 -1
- package/cjs/components/upload/Upload.js +2 -2
- package/cjs/components/upload/Upload.js.map +1 -1
- package/cjs/components/upload/useUpload.d.ts +1 -1
- package/cjs/components/upload/useUpload.js +2 -2
- package/cjs/components/upload/useUpload.js.map +1 -1
- package/cjs/elements/blockquote/Blockquote.d.ts +1 -1
- package/cjs/elements/blockquote/Blockquote.js.map +1 -1
- package/cjs/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +0 -2
- package/cjs/extensions/payment-card/utils/Types.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/VisibilityByTheme.d.ts +1 -1
- package/cjs/shared/VisibilityByTheme.js.map +1 -1
- package/cjs/shared/helpers.d.ts +2 -2
- package/cjs/shared/helpers.js.map +1 -1
- package/cjs/style/dnb-ui-components.css +26 -22
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +17 -11
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +60 -39
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +0 -7
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +80 -50
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +0 -7
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +17 -11
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +60 -39
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +17 -11
- package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +23 -11
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/anchor/style/anchor-mixins.scss +17 -23
- package/components/anchor/style/dnb-anchor.css +26 -15
- package/components/anchor/style/dnb-anchor.min.css +1 -1
- package/components/anchor/style/dnb-anchor.scss +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +40 -21
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +2 -7
- package/components/anchor/style/themes/dnb-anchor-theme-ui.css +20 -10
- package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-ui.scss +4 -9
- package/components/autocomplete/Autocomplete.js +2 -2
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/components/dialog/Dialog.d.ts +1 -1
- package/components/dialog/DialogContent.d.ts +1 -1
- package/components/dialog/DialogContent.js +4 -2
- package/components/dialog/DialogContent.js.map +1 -1
- package/components/dialog/parts/DialogAction.d.ts +5 -1
- package/components/dialog/parts/DialogAction.js +3 -2
- package/components/dialog/parts/DialogAction.js.map +1 -1
- package/components/form-row/FormRow.js.map +1 -1
- package/components/form-row/style/dnb-form-row.scss +2 -2
- package/components/form-set/FormSet.js.map +1 -1
- package/components/height-animation/HeightAnimation.d.ts +1 -1
- package/components/height-animation/HeightAnimation.js.map +1 -1
- package/components/height-animation/useHeightAnimation.js.map +1 -1
- package/components/icon/lib/SvgComparison.js.map +1 -1
- package/components/input/style/dnb-input.scss +1 -1
- package/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/components/input-masked/TextMask.js.map +1 -1
- package/components/modal/Modal.js +0 -2
- package/components/modal/Modal.js.map +1 -1
- package/components/modal/bodyScrollLock.js.map +1 -1
- package/components/number-format/NumberUtils.js.map +1 -1
- package/components/number-format/style/dnb-number-format.css +0 -7
- package/components/number-format/style/dnb-number-format.scss +0 -1
- package/components/pagination/PaginationInfinity.js.map +1 -1
- package/components/radio/Radio.js.map +1 -1
- package/components/section/style/themes/dnb-section-theme-ui.css +14 -7
- package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
- package/components/slider/hooks/useSliderEvents.js.map +1 -1
- package/components/slider/types.d.ts +1 -1
- package/components/slider/types.js.map +1 -1
- package/components/space/SpacingHelper.js.map +1 -1
- package/components/table/TableAccordion.js.map +1 -1
- package/components/table/TableTr.js.map +1 -1
- package/components/textarea/Textarea.js.map +1 -1
- package/components/toggle-button/ToggleButton.js.map +1 -1
- package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/components/tooltip/TooltipContainer.js.map +1 -1
- package/components/upload/Upload.js +2 -2
- package/components/upload/Upload.js.map +1 -1
- package/components/upload/useUpload.d.ts +1 -1
- package/components/upload/useUpload.js +2 -2
- package/components/upload/useUpload.js.map +1 -1
- package/elements/blockquote/Blockquote.d.ts +1 -1
- package/elements/blockquote/Blockquote.js.map +1 -1
- package/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +0 -2
- package/es/components/anchor/style/anchor-mixins.scss +17 -23
- package/es/components/anchor/style/dnb-anchor.css +26 -15
- package/es/components/anchor/style/dnb-anchor.min.css +1 -1
- package/es/components/anchor/style/dnb-anchor.scss +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +40 -21
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +2 -7
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +20 -10
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.scss +4 -9
- package/es/components/autocomplete/Autocomplete.js +2 -2
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/es/components/dialog/Dialog.d.ts +1 -1
- package/es/components/dialog/DialogContent.d.ts +1 -1
- package/es/components/dialog/DialogContent.js +4 -2
- package/es/components/dialog/DialogContent.js.map +1 -1
- package/es/components/dialog/parts/DialogAction.d.ts +5 -1
- package/es/components/dialog/parts/DialogAction.js +3 -2
- package/es/components/dialog/parts/DialogAction.js.map +1 -1
- package/es/components/form-row/FormRow.js.map +1 -1
- package/es/components/form-row/style/dnb-form-row.scss +2 -2
- package/es/components/form-set/FormSet.js.map +1 -1
- package/es/components/height-animation/HeightAnimation.d.ts +1 -1
- package/es/components/height-animation/HeightAnimation.js.map +1 -1
- package/es/components/height-animation/useHeightAnimation.js.map +1 -1
- package/es/components/icon/lib/SvgComparison.js.map +1 -1
- package/es/components/input/style/dnb-input.scss +1 -1
- package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/es/components/input-masked/TextMask.js.map +1 -1
- package/es/components/modal/Modal.js +0 -2
- package/es/components/modal/Modal.js.map +1 -1
- package/es/components/modal/bodyScrollLock.js.map +1 -1
- package/es/components/number-format/NumberUtils.js.map +1 -1
- package/es/components/number-format/style/dnb-number-format.css +0 -7
- package/es/components/number-format/style/dnb-number-format.scss +0 -1
- package/es/components/pagination/PaginationInfinity.js.map +1 -1
- package/es/components/radio/Radio.js.map +1 -1
- package/es/components/section/style/themes/dnb-section-theme-ui.css +14 -7
- package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
- package/es/components/slider/hooks/useSliderEvents.js.map +1 -1
- package/es/components/slider/types.d.ts +1 -1
- package/es/components/slider/types.js.map +1 -1
- package/es/components/space/SpacingHelper.js.map +1 -1
- package/es/components/table/TableAccordion.js.map +1 -1
- package/es/components/table/TableTr.js.map +1 -1
- package/es/components/textarea/Textarea.js.map +1 -1
- package/es/components/toggle-button/ToggleButton.js.map +1 -1
- package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/components/tooltip/TooltipContainer.js.map +1 -1
- package/es/components/upload/Upload.js +2 -2
- package/es/components/upload/Upload.js.map +1 -1
- package/es/components/upload/useUpload.d.ts +1 -1
- package/es/components/upload/useUpload.js +2 -2
- package/es/components/upload/useUpload.js.map +1 -1
- package/es/elements/blockquote/Blockquote.d.ts +1 -1
- package/es/elements/blockquote/Blockquote.js.map +1 -1
- package/es/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +0 -2
- package/es/extensions/payment-card/utils/Types.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/VisibilityByTheme.d.ts +1 -1
- package/es/shared/VisibilityByTheme.js.map +1 -1
- package/es/shared/helpers.d.ts +2 -2
- package/es/shared/helpers.js.map +1 -1
- package/es/style/dnb-ui-components.css +26 -22
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +17 -11
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +60 -39
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +0 -7
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +80 -50
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +0 -7
- package/es/style/themes/theme-ui/ui-theme-basis.css +17 -11
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +60 -39
- package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-elements.css +17 -11
- package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +23 -11
- package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +1 -1
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/payment-card/utils/Types.js.map +1 -1
- package/fragments/drawer-list/DrawerList.js.map +1 -1
- package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/VisibilityByTheme.d.ts +1 -1
- package/shared/VisibilityByTheme.js.map +1 -1
- package/shared/helpers.d.ts +2 -2
- package/shared/helpers.js.map +1 -1
- package/style/dnb-ui-components.css +26 -22
- package/style/dnb-ui-components.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +17 -11
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +60 -39
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +0 -7
- package/style/themes/theme-sbanken/sbanken-theme-components.css +80 -50
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +0 -7
- package/style/themes/theme-ui/ui-theme-basis.css +17 -11
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +60 -39
- package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-elements.css +17 -11
- package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +23 -11
- package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +1 -1
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Eufemia.js","names":["version","exports","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.js"],"sourcesContent":["export const version = '10.
|
|
1
|
+
{"version":3,"file":"Eufemia.js","names":["version","exports","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.js"],"sourcesContent":["export const version = '10.5.0'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.5.0'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":";;;;;;;AAAO,MAAMA,OAAO,GAAG,QAAQ;AAAAC,OAAA,CAAAD,OAAA,GAAAA,OAAA;AAExB,SAASE,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIJ,OAAOA,CAAA,EAAG;QACZ,OAAO,QAAQ;MACjB;IACF;IAEAG,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisibilityByTheme.js","names":["_useTheme","_interopRequireDefault","require","obj","__esModule","default","VisibilityByTheme","_ref","children","visible","hidden","theme","useTheme","visibleList","Array","isArray","hiddenList","some","match","themeItem","name","matchObject","Object","keys","every","key"],"sources":["../../../src/shared/VisibilityByTheme.tsx"],"sourcesContent":["import React from 'react'\nimport useTheme from './useTheme'\nimport type { ThemeNames, ThemeProps } from './Theme'\n\ntype VisibilityByThemeProps = {\n /**\n * A valid theme name or object.\n * Will pass children on a match.\n */\n visible?: ThemeParams\n\n /**\n * A valid theme name or object.\n * Will omit passing children on a match.\n * NB: \"visible\" takes
|
|
1
|
+
{"version":3,"file":"VisibilityByTheme.js","names":["_useTheme","_interopRequireDefault","require","obj","__esModule","default","VisibilityByTheme","_ref","children","visible","hidden","theme","useTheme","visibleList","Array","isArray","hiddenList","some","match","themeItem","name","matchObject","Object","keys","every","key"],"sources":["../../../src/shared/VisibilityByTheme.tsx"],"sourcesContent":["import React from 'react'\nimport useTheme from './useTheme'\nimport type { ThemeNames, ThemeProps } from './Theme'\n\ntype VisibilityByThemeProps = {\n /**\n * A valid theme name or object.\n * Will pass children on a match.\n */\n visible?: ThemeParams\n\n /**\n * A valid theme name or object.\n * Will omit passing children on a match.\n * NB: \"visible\" takes presence over \"hidden\"\n */\n hidden?: ThemeParams\n\n /**\n * Any kind of a React Node that should render on a match.\n */\n children: React.ReactNode\n}\n\ntype ThemeItem = ThemeNames | ThemeProps\ntype ThemeParams = ThemeItem | Array<ThemeItem>\n\nexport default function VisibilityByTheme({\n children,\n visible,\n hidden,\n}: VisibilityByThemeProps) {\n const theme = useTheme()\n\n const visibleList = Array.isArray(visible) ? visible : [visible]\n const hiddenList = Array.isArray(hidden) ? hidden : [hidden]\n\n if (visible) {\n if (!visibleList.some(match(theme))) {\n return null\n }\n } else if (hidden) {\n if (hiddenList.some(match(theme))) {\n return null\n }\n }\n\n return children as JSX.Element\n\n function match(theme: ThemeProps) {\n return (themeItem: ThemeItem) => {\n return typeof themeItem === 'string'\n ? theme.name === themeItem\n : matchObject(theme, themeItem)\n }\n }\n\n function matchObject(theme: ThemeProps, themeItem: ThemeItem) {\n return Object.keys(themeItem).every((key) => {\n return theme[key] === themeItem[key]\n })\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAiC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AA0BlB,SAASG,iBAAiBA,CAAAC,IAAA,EAId;EAAA,IAJe;IACxCC,QAAQ;IACRC,OAAO;IACPC;EACsB,CAAC,GAAAH,IAAA;EACvB,MAAMI,KAAK,GAAG,IAAAC,iBAAQ,EAAC,CAAC;EAExB,MAAMC,WAAW,GAAGC,KAAK,CAACC,OAAO,CAACN,OAAO,CAAC,GAAGA,OAAO,GAAG,CAACA,OAAO,CAAC;EAChE,MAAMO,UAAU,GAAGF,KAAK,CAACC,OAAO,CAACL,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC;EAE5D,IAAID,OAAO,EAAE;IACX,IAAI,CAACI,WAAW,CAACI,IAAI,CAACC,KAAK,CAACP,KAAK,CAAC,CAAC,EAAE;MACnC,OAAO,IAAI;IACb;EACF,CAAC,MAAM,IAAID,MAAM,EAAE;IACjB,IAAIM,UAAU,CAACC,IAAI,CAACC,KAAK,CAACP,KAAK,CAAC,CAAC,EAAE;MACjC,OAAO,IAAI;IACb;EACF;EAEA,OAAOH,QAAQ;EAEf,SAASU,KAAKA,CAACP,KAAiB,EAAE;IAChC,OAAQQ,SAAoB,IAAK;MAC/B,OAAO,OAAOA,SAAS,KAAK,QAAQ,GAChCR,KAAK,CAACS,IAAI,KAAKD,SAAS,GACxBE,WAAW,CAACV,KAAK,EAAEQ,SAAS,CAAC;IACnC,CAAC;EACH;EAEA,SAASE,WAAWA,CAACV,KAAiB,EAAEQ,SAAoB,EAAE;IAC5D,OAAOG,MAAM,CAACC,IAAI,CAACJ,SAAS,CAAC,CAACK,KAAK,CAAEC,GAAG,IAAK;MAC3C,OAAOd,KAAK,CAACc,GAAG,CAAC,KAAKN,SAAS,CAACM,GAAG,CAAC;IACtC,CAAC,CAAC;EACJ;AACF"}
|
package/cjs/shared/helpers.d.ts
CHANGED
|
@@ -16,11 +16,11 @@ export function scrollToLocationHashId({ offset, delay, onCompletion, }?: {
|
|
|
16
16
|
* leading edge, instead of the trailing.
|
|
17
17
|
*
|
|
18
18
|
* @param {function} func The function to execute
|
|
19
|
-
* @param {number} wait The time (milliseconds) before the first given function
|
|
19
|
+
* @param {number} wait The time (milliseconds) before the first given function executes, if the returned one, not got called
|
|
20
20
|
* @param {object} options The options object
|
|
21
21
|
* @property {boolean} immediate If true, the function will execute immediately. Defaults to false
|
|
22
22
|
* @property {instance} instance Defines the instance "this" to use on the executed function
|
|
23
|
-
* @returns The function to
|
|
23
|
+
* @returns The function to invalidate the execution
|
|
24
24
|
*/
|
|
25
25
|
export function debounce(func: Function, wait?: number, { immediate, instance }?: object): {
|
|
26
26
|
(...args: any[]): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":["PLATFORM_MAC","exports","PLATFORM_WIN","PLATFORM_ANDROID","PLATFORM_LINUX","PLATFORM_IOS","IS_EDGE","IS_IOS","IS_SAFARI","IS_WIN","IS_MAC","IS_ANDROID","IS_LINUX","isMac","_navigator","navigator","RegExp","test","platform","isWin","_navigator2","isAndroid","_navigator3","userAgent","isLinux","_navigator4","isiOS","_navigator5","isSafari","_navigator6","_navigator7","isEdge","_navigator8","pageFocusElements","setPageFocusElement","selectorOrElement","key","arguments","length","undefined","applyPageFocus","selector","callback","element","document","querySelector","HTMLElement","role","getAttribute","list","isInteractive","includes","String","nodeName","toLowerCase","hasTabIndex","hasAttribute","hasNoFocus","classList","contains","setAttribute","add","focus","onBlur","removeAttribute","remove","addEventListener","once","e","warn","getOffsetTop","elem","offsetTop","isNaN","offsetParent","getOffsetLeft","offsetLeft","scrollToLocationHashId","offset","delay","onCompletion","window","location","_timeout","id","hash","replace","handleScroll","runScroll","totalOffset","top","IntersectionObserver","intersectionObserver","entries","entry","isIntersecting","unobserve","observe","scrollTo","behavior","scrollTop","clearTimeout","setTimeout","getElementById","readyState","debounce","func","wait","immediate","instance","timeout","recall","cancel","executedFunction","_len","args","Array","_key","inst","later","apply","callNow","insertElementBeforeSelection","selection","getSelection","range","getRangeAt","cloneRange","insertNode","addRange","getSelectedText","toString","hasSelectedText","getSelectedElement","rangeCount","startContainer","parentNode","copyToClipboard","string","_navigator9","resetSelection","removeAllRanges","copyFallback","createElement","value","contentEditable","readOnly","style","position","body","appendChild","success","execCommand","removeChild","clipboard","writeText","newTry","process","env","NODE_ENV","console","log","isBrowser","_len2","params","_key2","styles","join"],"sources":["../../../src/shared/helpers.js"],"sourcesContent":["/**\n * Global helpers\n *\n * NB: Do not import other deps in this file.\n * Just to have things clean and one directional.\n */\n\nexport const PLATFORM_MAC = 'Mac|iPad|iPhone|iPod'\nexport const PLATFORM_WIN = 'Win'\nexport const PLATFORM_ANDROID = 'Android'\nexport const PLATFORM_LINUX = 'Linux'\nexport const PLATFORM_IOS = 'iOS|iPhone|iPad|iPod'\n\nexport let IS_EDGE = false\nexport let IS_IOS = false\nexport let IS_SAFARI = false\nexport let IS_WIN = false\nexport let IS_MAC = false\nexport let IS_ANDROID = false\nexport let IS_LINUX = false\n\nexport const isMac = () =>\n (IS_MAC =\n typeof navigator !== 'undefined' &&\n new RegExp(PLATFORM_MAC, 'i').test(navigator?.platform))\n\nexport const isWin = () =>\n (IS_WIN =\n typeof navigator !== 'undefined' &&\n new RegExp(PLATFORM_WIN, 'i').test(navigator?.platform))\n\nexport const isAndroid = () =>\n (IS_ANDROID =\n typeof navigator !== 'undefined' &&\n new RegExp(PLATFORM_ANDROID, 'i').test(navigator?.userAgent))\n\nexport const isLinux = () =>\n (IS_LINUX =\n typeof navigator !== 'undefined' &&\n new RegExp(PLATFORM_LINUX, 'i').test(navigator?.platform))\n\nexport const isiOS = () =>\n (IS_IOS =\n typeof navigator !== 'undefined' &&\n new RegExp(PLATFORM_IOS, 'i').test(navigator?.platform))\n\nexport const isSafari = () =>\n (IS_SAFARI =\n typeof navigator !== 'undefined' &&\n /safari/i.test(navigator?.userAgent) &&\n !/chrome/i.test(navigator?.userAgent))\n\nexport const isEdge = () =>\n (IS_EDGE =\n typeof navigator !== 'undefined' && /edge/i.test(navigator?.userAgent))\n\nisEdge()\nisiOS()\nisSafari()\nisWin()\nisAndroid()\nisMac()\nisLinux()\n\nconst pageFocusElements = {}\nexport function setPageFocusElement(selectorOrElement, key = 'default') {\n return (pageFocusElements[key] = selectorOrElement)\n}\n\nexport function applyPageFocus(selector = 'default', callback = null) {\n try {\n let element = /^[.#]/.test(selector)\n ? selector\n : pageFocusElements[selector]\n if (typeof element === 'string' && typeof document !== 'undefined') {\n element = document.querySelector(element)\n } else if (!element && typeof document !== 'undefined') {\n element = document.querySelector('.dnb-no-focus')\n }\n\n if (!(element instanceof HTMLElement)) {\n return // stop here\n }\n\n const role = element.getAttribute('role')\n const list = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'label',\n 'menu',\n ]\n const isInteractive =\n list.includes(String(element.nodeName).toLowerCase()) ||\n list.includes(String(role).toLowerCase())\n const hasTabIndex = element.hasAttribute('tabindex')\n const hasNoFocus = element.classList.contains('dnb-no-focus')\n\n if (!isInteractive) {\n if (!hasTabIndex) {\n element.setAttribute('tabindex', '-1')\n }\n if (!hasNoFocus) {\n element.classList.add('dnb-no-focus')\n }\n }\n\n element.focus()\n\n const onBlur = () => {\n if (!isInteractive) {\n if (!hasTabIndex) {\n element.removeAttribute('tabindex')\n }\n if (!hasNoFocus) {\n element.classList.remove('dnb-no-focus')\n }\n }\n }\n element.addEventListener('blur', onBlur, { once: true })\n\n if (typeof callback === 'function') {\n callback(element)\n }\n } catch (e) {\n warn('Error on applyPageFocus:', e)\n }\n}\n\nexport function getOffsetTop(elem) {\n let offsetTop = 0\n if (elem) {\n do {\n if (!isNaN(elem.offsetTop)) {\n offsetTop += elem.offsetTop\n }\n } while ((elem = elem.offsetParent))\n }\n return offsetTop\n}\n\nexport function getOffsetLeft(elem) {\n let offsetLeft = 0\n if (elem) {\n do {\n if (!isNaN(elem.offsetLeft)) {\n offsetLeft += elem.offsetLeft\n }\n } while ((elem = elem.offsetParent))\n }\n return offsetLeft\n}\n\nexport function scrollToLocationHashId({\n offset = 0,\n delay = null,\n onCompletion = null,\n} = {}) {\n if (\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n window.location\n ) {\n try {\n let _timeout\n const id = String(window.location.hash).replace('#', '')\n if (id.length > 0) {\n const handleScroll = () => {\n const runScroll = () => {\n const totalOffset = getOffsetTop(elem)\n\n if (totalOffset <= 0) {\n return // stop here\n }\n\n const top = totalOffset - offset\n\n try {\n if (typeof IntersectionObserver !== 'undefined') {\n const intersectionObserver = new IntersectionObserver(\n (entries) => {\n const [entry] = entries\n if (entry.isIntersecting) {\n intersectionObserver.unobserve(elem)\n if (typeof onCompletion === 'function') {\n onCompletion(elem)\n }\n }\n }\n )\n // start observing\n intersectionObserver.observe(elem)\n }\n\n if (window.scrollTo) {\n window.scrollTo({\n top,\n behavior: 'smooth',\n })\n } else {\n window.scrollTop = top\n }\n } catch (e) {\n warn('Error on scrollToLocationHashId:', e)\n }\n }\n\n if (delay > 0) {\n clearTimeout(_timeout)\n _timeout = setTimeout(runScroll, delay) // to make sure we run our scrollTo after the native anchor\n } else {\n runScroll()\n }\n }\n\n const elem = document.getElementById(id)\n if (elem instanceof HTMLElement) {\n window.addEventListener('beforeunload', () =>\n clearTimeout(_timeout)\n )\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', handleScroll)\n } else {\n handleScroll()\n }\n }\n\n return elem\n }\n } catch (e) {\n warn('Error on scrollToLocationHashId:', e)\n }\n }\n}\n\n/**\n * More or less classical debounce function\n *\n * Calling this function will return a new function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing.\n *\n * @param {function} func The function to execute\n * @param {number} wait The time (milliseconds) before the first given function executres, if the retuned one, not got called\n * @param {object} options The options object\n * @property {boolean} immediate If true, the function will execute immediately. Defaults to false\n * @property {instance} instance Defines the instance \"this\" to use on the executed function\n * @returns The function to invlaidate the execution\n */\nexport function debounce(\n func,\n wait = 250,\n { immediate = false, instance = null } = {}\n) {\n let timeout\n let recall\n\n const cancel = () => clearTimeout(timeout)\n\n // This is the function that is actually executed when\n // the DOM event is triggered.\n function executedFunction(...args) {\n // Store the instance of this and any\n // parameters passed to executedFunction\n let inst = this\n\n // console.log('instance', instance)\n\n if (typeof recall === 'function') {\n recall()\n }\n\n // The function to be called after\n // the debounce time has elapsed\n const later = () => {\n // null timeout to indicate the debounce ended\n timeout = null\n\n // Call function now if you did not on the leading end\n if (!immediate) {\n recall = func.apply(instance || inst, args)\n }\n }\n\n // Determine if you should call the function\n // on the leading or trail end\n const callNow = immediate && !timeout\n\n // This will reset the waiting every function execution.\n // This is the step that prevents the function from\n // being executed because it will never reach the\n // inside of the previous setTimeout\n clearTimeout(timeout)\n\n // Restart the debounce waiting period.\n // setTimeout returns a truthy value (it differs in web vs node)\n timeout = setTimeout(later, wait)\n\n // Call immediately if you're dong a leading\n // end execution\n if (callNow) {\n recall = func.apply(instance || inst, args)\n }\n\n return recall\n }\n\n executedFunction.cancel = cancel\n\n return executedFunction\n}\n\nexport function insertElementBeforeSelection(elem) {\n try {\n const selection = window.getSelection()\n const range = selection.getRangeAt(0)\n range.cloneRange().insertNode(elem)\n selection.addRange(range) // Restore the original selection - this is a Safari fix!\n\n // For now I (Tobias) could not find any reason for supporting document.selection as well\n // const range = document.selection.createRange()\n // range.collapse(true)\n // range.pasteHTML(elem.outerHTML)\n } catch (e) {\n //\n }\n}\n\nexport function getSelectedText() {\n try {\n return window.getSelection().toString()\n\n // For now I (Tobias) could not find any reason for supporting document.selection as well\n // return document.selection.createRange().text\n } catch (e) {\n //\n }\n return ''\n}\n\nexport function hasSelectedText() {\n return getSelectedText().length > 0\n}\n\nexport function getSelectedElement() {\n try {\n const selection = window.getSelection()\n if (selection.rangeCount > 0) {\n let elem = selection.getRangeAt(0).startContainer\n if (elem && typeof elem === 'object') {\n elem = elem.parentNode\n }\n return elem\n }\n\n // For now I (Tobias) could not find any reason for supporting document.selection as well\n // return document.selection.createRange().parentElement()\n } catch (e) {\n //\n }\n\n return null\n}\n\nexport async function copyToClipboard(string) {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return false\n }\n\n // get the selection range\n const selection = window.getSelection()\n const range =\n selection.rangeCount > 0 // Check if there is any content selected previously\n ? selection.getRangeAt(0) // Store selection if found\n : false // Mark as false to know no selection existed before\n\n const resetSelection = () => {\n try {\n // If a selection existed before copying\n selection.removeAllRanges() // Unselect everything on the HTML document\n selection.addRange(range) // Restore the original selection\n } catch (e) {\n //\n }\n }\n\n const copyFallback = () => {\n try {\n // create the focusable element\n const elem = document.createElement('textarea')\n elem.value = String(string)\n elem.contentEditable = true\n elem.readOnly = false\n elem.style.position = 'fixed'\n elem.style.top = '-1000px'\n document.body.appendChild(elem)\n\n // iOS helper\n // But right now, we do not use that\n // if (IS_IOS) {\n // const newRange = document.createRange()\n // newRange.selectNodeContents(elem)\n // const sel = window.getSelection()\n // sel.removeAllRanges()\n // sel.addRange(newRange)\n // elem.setSelectionRange(0, 999999)\n // } else {\n // elem.select()\n // }\n\n // NB: copy only works as a result of a user action (e.g. click events)\n const success = document.execCommand('copy')\n\n // Cleanup\n document.body.removeChild(elem)\n\n resetSelection()\n\n if (success) {\n return true\n }\n } catch (e) {\n return e\n }\n\n return `Could not copy! Unknown reason. ${string}`\n }\n\n let success\n\n if (typeof navigator !== 'undefined' && navigator?.clipboard) {\n try {\n await navigator.clipboard.writeText(String(string))\n success = true\n resetSelection()\n } catch (e) {\n success = e\n const newTry = copyFallback()\n if (newTry === true) {\n success = newTry\n }\n }\n } else {\n // use the fallback as the primary, because we get\n success = copyFallback()\n }\n\n return success\n}\n\n/**\n * Uses console.log to warn about Eufemia usage issues\n *\n * It uses log instead of warn,\n * because of the stack track some browser do add\n * which takes a lot of visual space in the console\n *\n * @param {...any} params Send in what ever you would\n */\nexport const warn = (...params) => {\n if (\n typeof process !== 'undefined' &&\n process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n typeof console.log === 'function'\n ) {\n const isBrowser =\n typeof window !== 'undefined' && process.env.NODE_ENV !== 'test'\n\n if (isBrowser) {\n const styles = [\n `padding: 0.125rem 0.5rem ${IS_SAFARI ? '' : '0'}`,\n 'font-weight: bold',\n 'color: #00343E',\n 'background: #A5E1D2',\n ].join(';')\n console.log('%cEufemia', styles, ...params)\n } else {\n console.log(\n // How to generate it: JSON.stringify(chalk.reset.bold.hex('#00343E').bgHex('#A5E1D2')('Eufemia'))\n '\\u001b[0m\\u001b[1m\\u001b[38;5;23m\\u001b[48;5;152mEufemia\\u001b[49m\\u001b[39m\\u001b[22m\\u001b[0m',\n ...params\n )\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["PLATFORM_MAC","exports","PLATFORM_WIN","PLATFORM_ANDROID","PLATFORM_LINUX","PLATFORM_IOS","IS_EDGE","IS_IOS","IS_SAFARI","IS_WIN","IS_MAC","IS_ANDROID","IS_LINUX","isMac","_navigator","navigator","RegExp","test","platform","isWin","_navigator2","isAndroid","_navigator3","userAgent","isLinux","_navigator4","isiOS","_navigator5","isSafari","_navigator6","_navigator7","isEdge","_navigator8","pageFocusElements","setPageFocusElement","selectorOrElement","key","arguments","length","undefined","applyPageFocus","selector","callback","element","document","querySelector","HTMLElement","role","getAttribute","list","isInteractive","includes","String","nodeName","toLowerCase","hasTabIndex","hasAttribute","hasNoFocus","classList","contains","setAttribute","add","focus","onBlur","removeAttribute","remove","addEventListener","once","e","warn","getOffsetTop","elem","offsetTop","isNaN","offsetParent","getOffsetLeft","offsetLeft","scrollToLocationHashId","offset","delay","onCompletion","window","location","_timeout","id","hash","replace","handleScroll","runScroll","totalOffset","top","IntersectionObserver","intersectionObserver","entries","entry","isIntersecting","unobserve","observe","scrollTo","behavior","scrollTop","clearTimeout","setTimeout","getElementById","readyState","debounce","func","wait","immediate","instance","timeout","recall","cancel","executedFunction","_len","args","Array","_key","inst","later","apply","callNow","insertElementBeforeSelection","selection","getSelection","range","getRangeAt","cloneRange","insertNode","addRange","getSelectedText","toString","hasSelectedText","getSelectedElement","rangeCount","startContainer","parentNode","copyToClipboard","string","_navigator9","resetSelection","removeAllRanges","copyFallback","createElement","value","contentEditable","readOnly","style","position","body","appendChild","success","execCommand","removeChild","clipboard","writeText","newTry","process","env","NODE_ENV","console","log","isBrowser","_len2","params","_key2","styles","join"],"sources":["../../../src/shared/helpers.js"],"sourcesContent":["/**\n * Global helpers\n *\n * NB: Do not import other deps in this file.\n * Just to have things clean and one directional.\n */\n\nexport const PLATFORM_MAC = 'Mac|iPad|iPhone|iPod'\nexport const PLATFORM_WIN = 'Win'\nexport const PLATFORM_ANDROID = 'Android'\nexport const PLATFORM_LINUX = 'Linux'\nexport const PLATFORM_IOS = 'iOS|iPhone|iPad|iPod'\n\nexport let IS_EDGE = false\nexport let IS_IOS = false\nexport let IS_SAFARI = false\nexport let IS_WIN = false\nexport let IS_MAC = false\nexport let IS_ANDROID = false\nexport let IS_LINUX = false\n\nexport const isMac = () =>\n (IS_MAC =\n typeof navigator !== 'undefined' &&\n new RegExp(PLATFORM_MAC, 'i').test(navigator?.platform))\n\nexport const isWin = () =>\n (IS_WIN =\n typeof navigator !== 'undefined' &&\n new RegExp(PLATFORM_WIN, 'i').test(navigator?.platform))\n\nexport const isAndroid = () =>\n (IS_ANDROID =\n typeof navigator !== 'undefined' &&\n new RegExp(PLATFORM_ANDROID, 'i').test(navigator?.userAgent))\n\nexport const isLinux = () =>\n (IS_LINUX =\n typeof navigator !== 'undefined' &&\n new RegExp(PLATFORM_LINUX, 'i').test(navigator?.platform))\n\nexport const isiOS = () =>\n (IS_IOS =\n typeof navigator !== 'undefined' &&\n new RegExp(PLATFORM_IOS, 'i').test(navigator?.platform))\n\nexport const isSafari = () =>\n (IS_SAFARI =\n typeof navigator !== 'undefined' &&\n /safari/i.test(navigator?.userAgent) &&\n !/chrome/i.test(navigator?.userAgent))\n\nexport const isEdge = () =>\n (IS_EDGE =\n typeof navigator !== 'undefined' && /edge/i.test(navigator?.userAgent))\n\nisEdge()\nisiOS()\nisSafari()\nisWin()\nisAndroid()\nisMac()\nisLinux()\n\nconst pageFocusElements = {}\nexport function setPageFocusElement(selectorOrElement, key = 'default') {\n return (pageFocusElements[key] = selectorOrElement)\n}\n\nexport function applyPageFocus(selector = 'default', callback = null) {\n try {\n let element = /^[.#]/.test(selector)\n ? selector\n : pageFocusElements[selector]\n if (typeof element === 'string' && typeof document !== 'undefined') {\n element = document.querySelector(element)\n } else if (!element && typeof document !== 'undefined') {\n element = document.querySelector('.dnb-no-focus')\n }\n\n if (!(element instanceof HTMLElement)) {\n return // stop here\n }\n\n const role = element.getAttribute('role')\n const list = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'label',\n 'menu',\n ]\n const isInteractive =\n list.includes(String(element.nodeName).toLowerCase()) ||\n list.includes(String(role).toLowerCase())\n const hasTabIndex = element.hasAttribute('tabindex')\n const hasNoFocus = element.classList.contains('dnb-no-focus')\n\n if (!isInteractive) {\n if (!hasTabIndex) {\n element.setAttribute('tabindex', '-1')\n }\n if (!hasNoFocus) {\n element.classList.add('dnb-no-focus')\n }\n }\n\n element.focus()\n\n const onBlur = () => {\n if (!isInteractive) {\n if (!hasTabIndex) {\n element.removeAttribute('tabindex')\n }\n if (!hasNoFocus) {\n element.classList.remove('dnb-no-focus')\n }\n }\n }\n element.addEventListener('blur', onBlur, { once: true })\n\n if (typeof callback === 'function') {\n callback(element)\n }\n } catch (e) {\n warn('Error on applyPageFocus:', e)\n }\n}\n\nexport function getOffsetTop(elem) {\n let offsetTop = 0\n if (elem) {\n do {\n if (!isNaN(elem.offsetTop)) {\n offsetTop += elem.offsetTop\n }\n } while ((elem = elem.offsetParent))\n }\n return offsetTop\n}\n\nexport function getOffsetLeft(elem) {\n let offsetLeft = 0\n if (elem) {\n do {\n if (!isNaN(elem.offsetLeft)) {\n offsetLeft += elem.offsetLeft\n }\n } while ((elem = elem.offsetParent))\n }\n return offsetLeft\n}\n\nexport function scrollToLocationHashId({\n offset = 0,\n delay = null,\n onCompletion = null,\n} = {}) {\n if (\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n window.location\n ) {\n try {\n let _timeout\n const id = String(window.location.hash).replace('#', '')\n if (id.length > 0) {\n const handleScroll = () => {\n const runScroll = () => {\n const totalOffset = getOffsetTop(elem)\n\n if (totalOffset <= 0) {\n return // stop here\n }\n\n const top = totalOffset - offset\n\n try {\n if (typeof IntersectionObserver !== 'undefined') {\n const intersectionObserver = new IntersectionObserver(\n (entries) => {\n const [entry] = entries\n if (entry.isIntersecting) {\n intersectionObserver.unobserve(elem)\n if (typeof onCompletion === 'function') {\n onCompletion(elem)\n }\n }\n }\n )\n // start observing\n intersectionObserver.observe(elem)\n }\n\n if (window.scrollTo) {\n window.scrollTo({\n top,\n behavior: 'smooth',\n })\n } else {\n window.scrollTop = top\n }\n } catch (e) {\n warn('Error on scrollToLocationHashId:', e)\n }\n }\n\n if (delay > 0) {\n clearTimeout(_timeout)\n _timeout = setTimeout(runScroll, delay) // to make sure we run our scrollTo after the native anchor\n } else {\n runScroll()\n }\n }\n\n const elem = document.getElementById(id)\n if (elem instanceof HTMLElement) {\n window.addEventListener('beforeunload', () =>\n clearTimeout(_timeout)\n )\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', handleScroll)\n } else {\n handleScroll()\n }\n }\n\n return elem\n }\n } catch (e) {\n warn('Error on scrollToLocationHashId:', e)\n }\n }\n}\n\n/**\n * More or less classical debounce function\n *\n * Calling this function will return a new function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing.\n *\n * @param {function} func The function to execute\n * @param {number} wait The time (milliseconds) before the first given function executes, if the returned one, not got called\n * @param {object} options The options object\n * @property {boolean} immediate If true, the function will execute immediately. Defaults to false\n * @property {instance} instance Defines the instance \"this\" to use on the executed function\n * @returns The function to invalidate the execution\n */\nexport function debounce(\n func,\n wait = 250,\n { immediate = false, instance = null } = {}\n) {\n let timeout\n let recall\n\n const cancel = () => clearTimeout(timeout)\n\n // This is the function that is actually executed when\n // the DOM event is triggered.\n function executedFunction(...args) {\n // Store the instance of this and any\n // parameters passed to executedFunction\n let inst = this\n\n // console.log('instance', instance)\n\n if (typeof recall === 'function') {\n recall()\n }\n\n // The function to be called after\n // the debounce time has elapsed\n const later = () => {\n // null timeout to indicate the debounce ended\n timeout = null\n\n // Call function now if you did not on the leading end\n if (!immediate) {\n recall = func.apply(instance || inst, args)\n }\n }\n\n // Determine if you should call the function\n // on the leading or trail end\n const callNow = immediate && !timeout\n\n // This will reset the waiting every function execution.\n // This is the step that prevents the function from\n // being executed because it will never reach the\n // inside of the previous setTimeout\n clearTimeout(timeout)\n\n // Restart the debounce waiting period.\n // setTimeout returns a truthy value (it differs in web vs node)\n timeout = setTimeout(later, wait)\n\n // Call immediately if you're dong a leading\n // end execution\n if (callNow) {\n recall = func.apply(instance || inst, args)\n }\n\n return recall\n }\n\n executedFunction.cancel = cancel\n\n return executedFunction\n}\n\nexport function insertElementBeforeSelection(elem) {\n try {\n const selection = window.getSelection()\n const range = selection.getRangeAt(0)\n range.cloneRange().insertNode(elem)\n selection.addRange(range) // Restore the original selection - this is a Safari fix!\n\n // For now I (Tobias) could not find any reason for supporting document.selection as well\n // const range = document.selection.createRange()\n // range.collapse(true)\n // range.pasteHTML(elem.outerHTML)\n } catch (e) {\n //\n }\n}\n\nexport function getSelectedText() {\n try {\n return window.getSelection().toString()\n\n // For now I (Tobias) could not find any reason for supporting document.selection as well\n // return document.selection.createRange().text\n } catch (e) {\n //\n }\n return ''\n}\n\nexport function hasSelectedText() {\n return getSelectedText().length > 0\n}\n\nexport function getSelectedElement() {\n try {\n const selection = window.getSelection()\n if (selection.rangeCount > 0) {\n let elem = selection.getRangeAt(0).startContainer\n if (elem && typeof elem === 'object') {\n elem = elem.parentNode\n }\n return elem\n }\n\n // For now I (Tobias) could not find any reason for supporting document.selection as well\n // return document.selection.createRange().parentElement()\n } catch (e) {\n //\n }\n\n return null\n}\n\nexport async function copyToClipboard(string) {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return false\n }\n\n // get the selection range\n const selection = window.getSelection()\n const range =\n selection.rangeCount > 0 // Check if there is any content selected previously\n ? selection.getRangeAt(0) // Store selection if found\n : false // Mark as false to know no selection existed before\n\n const resetSelection = () => {\n try {\n // If a selection existed before copying\n selection.removeAllRanges() // Unselect everything on the HTML document\n selection.addRange(range) // Restore the original selection\n } catch (e) {\n //\n }\n }\n\n const copyFallback = () => {\n try {\n // create the focusable element\n const elem = document.createElement('textarea')\n elem.value = String(string)\n elem.contentEditable = true\n elem.readOnly = false\n elem.style.position = 'fixed'\n elem.style.top = '-1000px'\n document.body.appendChild(elem)\n\n // iOS helper\n // But right now, we do not use that\n // if (IS_IOS) {\n // const newRange = document.createRange()\n // newRange.selectNodeContents(elem)\n // const sel = window.getSelection()\n // sel.removeAllRanges()\n // sel.addRange(newRange)\n // elem.setSelectionRange(0, 999999)\n // } else {\n // elem.select()\n // }\n\n // NB: copy only works as a result of a user action (e.g. click events)\n const success = document.execCommand('copy')\n\n // Cleanup\n document.body.removeChild(elem)\n\n resetSelection()\n\n if (success) {\n return true\n }\n } catch (e) {\n return e\n }\n\n return `Could not copy! Unknown reason. ${string}`\n }\n\n let success\n\n if (typeof navigator !== 'undefined' && navigator?.clipboard) {\n try {\n await navigator.clipboard.writeText(String(string))\n success = true\n resetSelection()\n } catch (e) {\n success = e\n const newTry = copyFallback()\n if (newTry === true) {\n success = newTry\n }\n }\n } else {\n // use the fallback as the primary, because we get\n success = copyFallback()\n }\n\n return success\n}\n\n/**\n * Uses console.log to warn about Eufemia usage issues\n *\n * It uses log instead of warn,\n * because of the stack track some browser do add\n * which takes a lot of visual space in the console\n *\n * @param {...any} params Send in what ever you would\n */\nexport const warn = (...params) => {\n if (\n typeof process !== 'undefined' &&\n process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n typeof console.log === 'function'\n ) {\n const isBrowser =\n typeof window !== 'undefined' && process.env.NODE_ENV !== 'test'\n\n if (isBrowser) {\n const styles = [\n `padding: 0.125rem 0.5rem ${IS_SAFARI ? '' : '0'}`,\n 'font-weight: bold',\n 'color: #00343E',\n 'background: #A5E1D2',\n ].join(';')\n console.log('%cEufemia', styles, ...params)\n } else {\n console.log(\n // How to generate it: JSON.stringify(chalk.reset.bold.hex('#00343E').bgHex('#A5E1D2')('Eufemia'))\n '\\u001b[0m\\u001b[1m\\u001b[38;5;23m\\u001b[48;5;152mEufemia\\u001b[49m\\u001b[39m\\u001b[22m\\u001b[0m',\n ...params\n )\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -643,27 +643,36 @@ sup .dnb-anchor, sub .dnb-anchor {
|
|
|
643
643
|
.dnb-p .dnb-anchor, .dnb-lead .dnb-anchor, .dnb-h--xx-large .dnb-anchor, .dnb-h--x-large .dnb-anchor, .dnb-h--large .dnb-anchor, .dnb-h--medium .dnb-anchor, .dnb-h--basis .dnb-anchor, .dnb-h--small .dnb-anchor, .dnb-h--x-small .dnb-anchor {
|
|
644
644
|
font-size: inherit;
|
|
645
645
|
}
|
|
646
|
-
.dnb-anchor
|
|
646
|
+
.dnb-anchor.focus-visible {
|
|
647
|
+
background-color: transparent;
|
|
648
|
+
transition: none;
|
|
647
649
|
outline: none;
|
|
650
|
+
--border-color: var(--focus-ring-color);
|
|
651
|
+
--border-width: var(--focus-ring-width);
|
|
652
|
+
box-shadow: 0 0 0 var(--border-width) var(--border-color);
|
|
653
|
+
border-color: transparent;
|
|
648
654
|
border-radius: 0.25em;
|
|
649
655
|
}
|
|
650
|
-
.dnb-anchor:focus
|
|
656
|
+
.dnb-anchor:focus-visible {
|
|
651
657
|
background-color: transparent;
|
|
652
658
|
transition: none;
|
|
653
|
-
|
|
654
|
-
.dnb-anchor:focus:not(:active), .dnb-section .dnb-anchor:focus:not(:active).dnb-anchor {
|
|
655
|
-
text-decoration: none;
|
|
656
|
-
}
|
|
657
|
-
html[data-whatinput=keyboard] .dnb-anchor:focus {
|
|
659
|
+
outline: none;
|
|
658
660
|
--border-color: var(--focus-ring-color);
|
|
659
661
|
--border-width: var(--focus-ring-width);
|
|
660
662
|
box-shadow: 0 0 0 var(--border-width) var(--border-color);
|
|
661
663
|
border-color: transparent;
|
|
664
|
+
border-radius: 0.25em;
|
|
665
|
+
}
|
|
666
|
+
.dnb-anchor.focus-visible, .dnb-section .dnb-anchor.focus-visible.dnb-anchor {
|
|
667
|
+
text-decoration: none;
|
|
668
|
+
}
|
|
669
|
+
.dnb-anchor:focus-visible, .dnb-section .dnb-anchor:focus-visible.dnb-anchor {
|
|
670
|
+
text-decoration: none;
|
|
662
671
|
}
|
|
663
|
-
.dnb-anchor:hover
|
|
672
|
+
.dnb-anchor:hover {
|
|
664
673
|
border-radius: 0.25em;
|
|
665
674
|
}
|
|
666
|
-
.dnb-anchor:hover, .dnb-section .dnb-anchor:hover.dnb-anchor
|
|
675
|
+
.dnb-anchor:hover, .dnb-section .dnb-anchor:hover.dnb-anchor {
|
|
667
676
|
text-decoration: none;
|
|
668
677
|
}
|
|
669
678
|
.dnb-anchor:active {
|
|
@@ -720,6 +729,8 @@ html[data-whatinput=keyboard] .dnb-anchor:focus {
|
|
|
720
729
|
}
|
|
721
730
|
|
|
722
731
|
.dnb-anchor--focus {
|
|
732
|
+
background-color: transparent;
|
|
733
|
+
transition: none;
|
|
723
734
|
outline: none;
|
|
724
735
|
--border-color: var(--focus-ring-color);
|
|
725
736
|
--border-width: var(--focus-ring-width);
|
|
@@ -727,11 +738,7 @@ html[data-whatinput=keyboard] .dnb-anchor:focus {
|
|
|
727
738
|
border-color: transparent;
|
|
728
739
|
border-radius: 0.25em;
|
|
729
740
|
}
|
|
730
|
-
.dnb-anchor--focus
|
|
731
|
-
background-color: transparent;
|
|
732
|
-
transition: none;
|
|
733
|
-
}
|
|
734
|
-
.dnb-anchor--focus:not(:active), .dnb-section .dnb-anchor--focus:not(:active).dnb-anchor {
|
|
741
|
+
.dnb-anchor--focus, .dnb-section .dnb-anchor--focus.dnb-anchor {
|
|
735
742
|
text-decoration: none;
|
|
736
743
|
}
|
|
737
744
|
|
|
@@ -756,7 +763,11 @@ html[data-whatinput=keyboard] .dnb-anchor:focus {
|
|
|
756
763
|
background-color: transparent;
|
|
757
764
|
}
|
|
758
765
|
|
|
759
|
-
.dnb-anchor--no-radius, .dnb-anchor--no-radius:hover, .dnb-anchor--no-radius:active, .dnb-anchor--no-radius
|
|
766
|
+
.dnb-anchor--no-radius, .dnb-anchor--no-radius:hover, .dnb-anchor--no-radius:active, .dnb-anchor--no-radius.focus-visible {
|
|
767
|
+
border-radius: 0;
|
|
768
|
+
}
|
|
769
|
+
|
|
770
|
+
.dnb-anchor--no-radius, .dnb-anchor--no-radius:hover, .dnb-anchor--no-radius:active, .dnb-anchor--no-radius:focus-visible {
|
|
760
771
|
border-radius: 0;
|
|
761
772
|
}
|
|
762
773
|
|
|
@@ -4101,13 +4112,6 @@ html[data-visual-test] .dnb-modal__overlay, .dnb-modal__overlay--no-animation {
|
|
|
4101
4112
|
/*
|
|
4102
4113
|
* Utilities
|
|
4103
4114
|
*/
|
|
4104
|
-
/*
|
|
4105
|
-
* Anchor mixins
|
|
4106
|
-
*
|
|
4107
|
-
*/
|
|
4108
|
-
/*
|
|
4109
|
-
* Utilities
|
|
4110
|
-
*/
|
|
4111
4115
|
.dnb-number-format {
|
|
4112
4116
|
display: inline-block;
|
|
4113
4117
|
position: relative;
|