@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":"ToggleButton.js","names":["React","PropTypes","classnames","keycode","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","AlignmentHelper","includeValidProps","spacingPropTypes","createSpacingClasses","Radio","Checkbox","Button","FormLabel","FormStatus","ToggleButtonGroup","ToggleButtonGroupContext","Context","Suffix","ToggleButton","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","context","_defineProperty","event","onClickHandler","readOnly","preventDefault","persist","multiselect","value","setState","callOnChange","_refButton","current","_ref","focus","e","onChange","_id","id","createRef","name","values","Array","isArray","includes","setContext","tmp","render","createElement","Consumer","contextProps","defaultProps","translation","FormRow","status","status_state","status_props","status_no_animation","globalStatus","suffix","label","label_direction","label_sr_only","text","title","className","class","_className","disabled","skeleton","variant","left_component","icon","icon_size","icon_position","propValue","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","contextValue","contextValues","showStatus","mainParams","buttonParams","_objectSpread","String","componentParams","element","undefined","role","type","leftComponent","_extends","for_id","sr_only","show","text_id","no_animation","_AlignmentHelper","custom_content","ref","onClick","onKeyDown","onKeyDownHandler","onKeyUp","onKeyUpHandler","attributes","test","process","env","NODE_ENV","propTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","array"],"sources":["../../../../src/components/toggle-button/ToggleButton.js"],"sourcesContent":["/**\n * Web ToggleButton Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { includeValidProps } from '../form-row/FormRowHelpers'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport Radio from '../radio/Radio'\nimport Checkbox from '../checkbox/Checkbox'\nimport Button from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport ToggleButtonGroup from './ToggleButtonGroup'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The toggle-button component is our enhancement of the classic toggle-button button.\n */\nexport default class ToggleButton extends React.PureComponent {\n static Group = ToggleButtonGroup\n\n static contextType = ToggleButtonGroupContext\n\n static propTypes = {\n text: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n // group: PropTypes.string,\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n icon_size: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n text: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n checked: undefined,\n variant: null,\n left_component: null,\n disabled: null,\n skeleton: null,\n id: null,\n // group: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: '',\n icon: null,\n icon_position: 'right',\n icon_size: null,\n attributes: null,\n readOnly: false,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = ToggleButton.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props, context) {\n super(props)\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._refButton = React.createRef()\n\n this.state = {\n _listenForPropChanges: true,\n }\n\n // set the startup checked values from context, if they exists\n if (context.name && typeof props.value !== 'undefined') {\n if (typeof context.value !== 'undefined') {\n this.state.checked = context.value === props.value\n this.state._listenForPropChanges = false\n } else if (context.values && Array.isArray(context.values)) {\n this.state.checked = context.values.includes(props.value)\n this.state._listenForPropChanges = false\n\n // make sure we update the context\n // with a possible custom set \"checked\" state\n } else if (ToggleButton.parseChecked(props.checked)) {\n if (context.setContext) {\n if (context.multiselect) {\n context.setContext((tmp) => {\n return {\n values:\n // in case we have set before a new context (other component)\n // we fill combine theese arrays\n tmp && Array.isArray(tmp.values)\n ? [...tmp.values, props.value]\n : [props.value],\n }\n })\n } else {\n context.setContext({\n value: props.value,\n })\n }\n }\n }\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onKeyUpHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onClickHandler = ({ event }) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n event.persist()\n\n // only select a value once\n if (\n !isTrue(this.context.multiselect) &&\n this.props.value === this.context.value\n ) {\n return\n }\n\n // else we change the checked state\n const checked = !this.state.checked\n this.setState({\n checked,\n _listenForPropChanges: false,\n })\n this.callOnChange({ checked, event })\n\n if (this._refButton.current && checked) {\n // simulate focus for firefox and safari\n // so we can get rid of the hover ring after click\n try {\n this._refButton.current._ref.current.focus()\n } catch (e) {\n warn(e)\n }\n }\n }\n\n callOnChange = ({ checked, event }) => {\n const { value } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n event,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n checked,\n value,\n event,\n })\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n this.context\n )\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n contextProps,\n context.translation.ToggleButton,\n includeValidProps(context.FormRow),\n context.ToggleButton\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label,\n label_direction,\n label_sr_only,\n text,\n title,\n readOnly,\n className,\n class: _className,\n disabled,\n skeleton,\n variant,\n left_component,\n icon,\n icon_size,\n icon_position,\n value: propValue,\n\n id: _id, // eslint-disable-line\n // group: _group, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children,\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n\n if (\n !isTrue(this.context.multiselect) &&\n typeof this.context.value !== 'undefined'\n ) {\n const contextValue = this.context.value\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = propValue === contextValue\n }\n } else if (\n isTrue(this.context.multiselect) &&\n typeof this.context.values !== 'undefined'\n ) {\n const contextValues = this.context.values\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = contextValues.includes(propValue)\n }\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-toggle-button',\n status && `dnb-toggle-button__status--${status_state}`,\n checked && `dnb-toggle-button--checked`,\n label_direction && `dnb-toggle-button--${label_direction}`,\n createSpacingClasses(props),\n className,\n _className\n ),\n }\n\n // to remove spacing props\n validateDOMAttributes(this.props, rest)\n\n const buttonParams = {\n id,\n disabled,\n skeleton,\n text: text || children,\n title,\n icon,\n icon_size,\n icon_position,\n 'aria-pressed': String(checked || false),\n ...rest,\n }\n\n const componentParams = {\n checked,\n disabled,\n element: 'span',\n 'data-checked': String(checked || false),\n 'aria-checked': undefined,\n role: undefined,\n type: undefined,\n name: null,\n title: null,\n }\n\n if (status) {\n // do not send along the message, but only the status states\n if (status_state === 'info') {\n componentParams.status_state = 'info'\n } else {\n componentParams.status = 'error'\n }\n }\n\n if (showStatus || suffix) {\n buttonParams['aria-describedby'] = combineDescribedBy(\n buttonParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n buttonParams['aria-readonly'] = buttonParams.readOnly = true\n }\n\n let leftComponent = null\n switch (variant) {\n case 'radio':\n leftComponent = (\n <Radio id={`${id}-radio`} {...componentParams} />\n )\n break\n\n case 'checkbox':\n leftComponent = (\n <Checkbox id={`${id}-checkbox`} {...componentParams} />\n )\n break\n\n case 'default':\n default:\n leftComponent = left_component\n break\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n label_direction={label_direction}\n sr_only={label_sr_only}\n />\n )}\n <span className=\"dnb-toggle-button__inner\">\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button__shell\">\n <AlignmentHelper />\n\n <Button\n variant=\"secondary\"\n className=\"dnb-toggle-button__button\"\n custom_content={\n leftComponent && (\n <span className=\"dnb-toggle-button__component\">\n {leftComponent}\n </span>\n )\n }\n {...buttonParams}\n ref={this._refButton}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n onKeyUp={this.onKeyUpHandler}\n />\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }}\n </Context.Consumer>\n )\n }\n}\n"],"mappings":";;;;;;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,SAAS;AAC7B,SACEC,IAAI,EACJC,MAAM,EACNC,YAAY,EACZC,sCAAsC,EACtCC,qBAAqB,EACrBC,cAAc,EACdC,kBAAkB,EAClBC,0BAA0B,QACrB,+BAA+B;AACtC,OAAOC,eAAe,MAAM,8BAA8B;AAC1D,SAASC,iBAAiB,QAAQ,4BAA4B;AAC9D,SACEC,gBAAgB,EAChBC,oBAAoB,QACf,wBAAwB;AAE/B,OAAOC,KAAK,MAAM,gBAAgB;AAClC,OAAOC,QAAQ,MAAM,sBAAsB;AAC3C,OAAOC,MAAM,MAAM,kBAAkB;AACrC,OAAOC,SAAS,MAAM,yBAAyB;AAC/C,OAAOC,UAAU,MAAM,2BAA2B;AAClD,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,wBAAwB,MAAM,4BAA4B;AACjE,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,OAAOC,MAAM,MAAM,6BAA6B;AAKhD,eAAe,MAAMC,YAAY,SAASzB,KAAK,CAAC0B,aAAa,CAAC;EAyG5D,OAAOC,wBAAwBA,CAACC,KAAK,EAAEC,KAAK,EAAE;IAC5C,IAAIA,KAAK,CAACC,qBAAqB,EAAE;MAC/B,IAAIF,KAAK,CAACG,OAAO,KAAKF,KAAK,CAACG,QAAQ,EAAE;QACpCH,KAAK,CAACE,OAAO,GAAGN,YAAY,CAACQ,YAAY,CAACL,KAAK,CAACG,OAAO,CAAC;MAC1D;IACF;IACAF,KAAK,CAACC,qBAAqB,GAAG,IAAI;IAElC,IAAID,KAAK,CAACE,OAAO,KAAKF,KAAK,CAACK,SAAS,EAAE;MACrCvB,0BAA0B,CAAC;QAAEiB;MAAM,CAAC,EAAE,iBAAiB,EAAE;QACvDG,OAAO,EAAEF,KAAK,CAACE;MACjB,CAAC,CAAC;IACJ;IAEAF,KAAK,CAACG,QAAQ,GAAGJ,KAAK,CAACG,OAAO;IAC9BF,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACE,OAAO;IAE/B,OAAOF,KAAK;EACd;EAEAM,WAAWA,CAACP,KAAK,EAAEQ,OAAO,EAAE;IAC1B,KAAK,CAACR,KAAK,CAAC;IAAAS,eAAA,2BA0CMC,KAAK,IAAK;MAC5B,QAAQnC,OAAO,CAACmC,KAAK,CAAC;QACpB,KAAK,OAAO;UACV,IAAI,CAACC,cAAc,CAAC;YAAED;UAAM,CAAC,CAAC;UAC9B;MACJ;IACF,CAAC;IAAAD,eAAA,yBAEiBC,KAAK,IAAK;MAC1B,QAAQnC,OAAO,CAACmC,KAAK,CAAC;QACpB,KAAK,OAAO;UACV,IAAI,CAACC,cAAc,CAAC;YAAED;UAAM,CAAC,CAAC;UAC9B;MACJ;IACF,CAAC;IAAAD,eAAA,yBAEgB,CAAC;MAAEC;IAAM,CAAC,KAAK;MAC9B,IAAIjC,MAAM,CAAC,IAAI,CAACuB,KAAK,CAACY,QAAQ,CAAC,EAAE;QAC/B,OAAOF,KAAK,CAACG,cAAc,CAAC,CAAC;MAC/B;MACAH,KAAK,CAACI,OAAO,CAAC,CAAC;MAGf,IACE,CAACrC,MAAM,CAAC,IAAI,CAAC+B,OAAO,CAACO,WAAW,CAAC,IACjC,IAAI,CAACf,KAAK,CAACgB,KAAK,KAAK,IAAI,CAACR,OAAO,CAACQ,KAAK,EACvC;QACA;MACF;MAGA,MAAMb,OAAO,GAAG,CAAC,IAAI,CAACF,KAAK,CAACE,OAAO;MACnC,IAAI,CAACc,QAAQ,CAAC;QACZd,OAAO;QACPD,qBAAqB,EAAE;MACzB,CAAC,CAAC;MACF,IAAI,CAACgB,YAAY,CAAC;QAAEf,OAAO;QAAEO;MAAM,CAAC,CAAC;MAErC,IAAI,IAAI,CAACS,UAAU,CAACC,OAAO,IAAIjB,OAAO,EAAE;QAGtC,IAAI;UACF,IAAI,CAACgB,UAAU,CAACC,OAAO,CAACC,IAAI,CAACD,OAAO,CAACE,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,OAAOC,CAAC,EAAE;UACV/C,IAAI,CAAC+C,CAAC,CAAC;QACT;MACF;IACF,CAAC;IAAAd,eAAA,uBAEc,CAAC;MAAEN,OAAO;MAAEO;IAAM,CAAC,KAAK;MACrC,MAAM;QAAEM;MAAM,CAAC,GAAG,IAAI,CAAChB,KAAK;MAC5B,IAAI,IAAI,CAACQ,OAAO,CAACgB,QAAQ,EAAE;QACzB,IAAI,CAAChB,OAAO,CAACgB,QAAQ,CAAC;UACpBR,KAAK;UACLN;QACF,CAAC,CAAC;MACJ;MACA3B,0BAA0B,CAAC,IAAI,EAAE,WAAW,EAAE;QAC5CoB,OAAO;QACPa,KAAK;QACLN;MACF,CAAC,CAAC;IACJ,CAAC;IAvGC,IAAI,CAACe,GAAG,GAAGzB,KAAK,CAAC0B,EAAE,IAAIhD,YAAY,CAAC,CAAC;IACrC,IAAI,CAACyC,UAAU,GAAG/C,KAAK,CAACuD,SAAS,CAAC,CAAC;IAEnC,IAAI,CAAC1B,KAAK,GAAG;MACXC,qBAAqB,EAAE;IACzB,CAAC;IAGD,IAAIM,OAAO,CAACoB,IAAI,IAAI,OAAO5B,KAAK,CAACgB,KAAK,KAAK,WAAW,EAAE;MACtD,IAAI,OAAOR,OAAO,CAACQ,KAAK,KAAK,WAAW,EAAE;QACxC,IAAI,CAACf,KAAK,CAACE,OAAO,GAAGK,OAAO,CAACQ,KAAK,KAAKhB,KAAK,CAACgB,KAAK;QAClD,IAAI,CAACf,KAAK,CAACC,qBAAqB,GAAG,KAAK;MAC1C,CAAC,MAAM,IAAIM,OAAO,CAACqB,MAAM,IAAIC,KAAK,CAACC,OAAO,CAACvB,OAAO,CAACqB,MAAM,CAAC,EAAE;QAC1D,IAAI,CAAC5B,KAAK,CAACE,OAAO,GAAGK,OAAO,CAACqB,MAAM,CAACG,QAAQ,CAAChC,KAAK,CAACgB,KAAK,CAAC;QACzD,IAAI,CAACf,KAAK,CAACC,qBAAqB,GAAG,KAAK;MAI1C,CAAC,MAAM,IAAIL,YAAY,CAACQ,YAAY,CAACL,KAAK,CAACG,OAAO,CAAC,EAAE;QACnD,IAAIK,OAAO,CAACyB,UAAU,EAAE;UACtB,IAAIzB,OAAO,CAACO,WAAW,EAAE;YACvBP,OAAO,CAACyB,UAAU,CAAEC,GAAG,IAAK;cAC1B,OAAO;gBACLL,MAAM,EAGJK,GAAG,IAAIJ,KAAK,CAACC,OAAO,CAACG,GAAG,CAACL,MAAM,CAAC,GAC5B,CAAC,GAAGK,GAAG,CAACL,MAAM,EAAE7B,KAAK,CAACgB,KAAK,CAAC,GAC5B,CAAChB,KAAK,CAACgB,KAAK;cACpB,CAAC;YACH,CAAC,CAAC;UACJ,CAAC,MAAM;YACLR,OAAO,CAACyB,UAAU,CAAC;cACjBjB,KAAK,EAAEhB,KAAK,CAACgB;YACf,CAAC,CAAC;UACJ;QACF;MACF;IACF;EACF;EAkEAmB,MAAMA,CAAA,EAAG;IACP,OACE/D,KAAA,CAAAgE,aAAA,CAACzC,OAAO,CAAC0C,QAAQ,QACb7B,OAAO,IAAK;MAEZ,MAAM8B,YAAY,GAAG3D,sCAAsC,CACzD,IAAI,CAACqB,KAAK,EACVH,YAAY,CAAC0C,YAAY,EACzB,IAAI,CAAC/B,OACP,CAAC;MAGD,MAAMR,KAAK,GAAGrB,sCAAsC,CAClD,IAAI,CAACqB,KAAK,EACVH,YAAY,CAAC0C,YAAY,EACzBD,YAAY,EACZ9B,OAAO,CAACgC,WAAW,CAAC3C,YAAY,EAChCZ,iBAAiB,CAACuB,OAAO,CAACiC,OAAO,CAAC,EAClCjC,OAAO,CAACX,YACV,CAAC;MAED,MAAM;UACJ6C,MAAM;UACNC,YAAY;UACZC,YAAY;UACZC,mBAAmB;UACnBC,YAAY;UACZC,MAAM;UACNC,KAAK;UACLC,eAAe;UACfC,aAAa;UACbC,IAAI;UACJC,KAAK;UACLxC,QAAQ;UACRyC,SAAS;UACTC,KAAK,EAAEC,UAAU;UACjBC,QAAQ;UACRC,QAAQ;UACRC,OAAO;UACPC,cAAc;UACdC,IAAI;UACJC,SAAS;UACTC,aAAa;UACb9C,KAAK,EAAE+C,SAAS;UAEhBrC,EAAE,EAAED,GAAG;UAEPtB,OAAO,EAAEC,QAAQ;UACjB4D,QAAQ;UACRC,SAAS;UACTC;QAGF,CAAC,GAAGlE,KAAK;QADJmE,IAAI,GAAAC,wBAAA,CACLpE,KAAK,EAAAqE,SAAA;MAET,IAAI;QAAElE;MAAQ,CAAC,GAAG,IAAI,CAACF,KAAK;MAE5B,IACE,CAACxB,MAAM,CAAC,IAAI,CAAC+B,OAAO,CAACO,WAAW,CAAC,IACjC,OAAO,IAAI,CAACP,OAAO,CAACQ,KAAK,KAAK,WAAW,EACzC;QACA,MAAMsD,YAAY,GAAG,IAAI,CAAC9D,OAAO,CAACQ,KAAK;QACvC,IACE,OAAO+C,SAAS,KAAK,QAAQ,IAC7B,OAAOA,SAAS,KAAK,QAAQ,EAC7B;UACA5D,OAAO,GAAG4D,SAAS,KAAKO,YAAY;QACtC;MACF,CAAC,MAAM,IACL7F,MAAM,CAAC,IAAI,CAAC+B,OAAO,CAACO,WAAW,CAAC,IAChC,OAAO,IAAI,CAACP,OAAO,CAACqB,MAAM,KAAK,WAAW,EAC1C;QACA,MAAM0C,aAAa,GAAG,IAAI,CAAC/D,OAAO,CAACqB,MAAM;QACzC,IACE,OAAOkC,SAAS,KAAK,QAAQ,IAC7B,OAAOA,SAAS,KAAK,QAAQ,EAC7B;UACA5D,OAAO,GAAGoE,aAAa,CAACvC,QAAQ,CAAC+B,SAAS,CAAC;QAC7C;MACF;MAEA,MAAMrC,EAAE,GAAG,IAAI,CAACD,GAAG;MACnB,MAAM+C,UAAU,GAAG3F,cAAc,CAAC6D,MAAM,CAAC;MAEzC,MAAM+B,UAAU,GAAG;QACjBpB,SAAS,EAAE/E,UAAU,CACnB,mBAAmB,EAInBa,oBAAoB,CAACa,KAAK,CAAC,EAC3BqD,SAAS,EACTE,UAAU,EALVb,MAAM,IAAK,8BAA6BC,YAAa,EAAC,EACtDxC,OAAO,IAAK,4BAA2B,EACvC8C,eAAe,IAAK,sBAAqBA,eAAgB,EAI3D;MACF,CAAC;MAGDrE,qBAAqB,CAAC,IAAI,CAACoB,KAAK,EAAEmE,IAAI,CAAC;MAEvC,MAAMO,YAAY,GAAAC,aAAA;QAChBjD,EAAE;QACF8B,QAAQ;QACRC,QAAQ;QACRN,IAAI,EAAEA,IAAI,IAAIa,QAAQ;QACtBZ,KAAK;QACLQ,IAAI;QACJC,SAAS;QACTC,aAAa;QACb,cAAc,EAAEc,MAAM,CAACzE,OAAO,IAAI,KAAK;MAAC,GACrCgE,IAAI,CACR;MAED,MAAMU,eAAe,GAAG;QACtB1E,OAAO;QACPqD,QAAQ;QACRsB,OAAO,EAAE,MAAM;QACf,cAAc,EAAEF,MAAM,CAACzE,OAAO,IAAI,KAAK,CAAC;QACxC,cAAc,EAAE4E,SAAS;QACzBC,IAAI,EAAED,SAAS;QACfE,IAAI,EAAEF,SAAS;QACfnD,IAAI,EAAE,IAAI;QACVwB,KAAK,EAAE;MACT,CAAC;MAED,IAAIV,MAAM,EAAE;QAEV,IAAIC,YAAY,KAAK,MAAM,EAAE;UAC3BkC,eAAe,CAAClC,YAAY,GAAG,MAAM;QACvC,CAAC,MAAM;UACLkC,eAAe,CAACnC,MAAM,GAAG,OAAO;QAClC;MACF;MAEA,IAAI8B,UAAU,IAAIzB,MAAM,EAAE;QACxB2B,YAAY,CAAC,kBAAkB,CAAC,GAAG5F,kBAAkB,CACnD4F,YAAY,EACZF,UAAU,GAAG9C,EAAE,GAAG,SAAS,GAAG,IAAI,EAClCqB,MAAM,GAAGrB,EAAE,GAAG,SAAS,GAAG,IAC5B,CAAC;MACH;MACA,IAAId,QAAQ,EAAE;QACZ8D,YAAY,CAAC,eAAe,CAAC,GAAGA,YAAY,CAAC9D,QAAQ,GAAG,IAAI;MAC9D;MAEA,IAAIsE,aAAa,GAAG,IAAI;MACxB,QAAQxB,OAAO;QACb,KAAK,OAAO;UACVwB,aAAa,GACX9G,KAAA,CAAAgE,aAAA,CAAChD,KAAK,EAAA+F,QAAA;YAACzD,EAAE,EAAG,GAAEA,EAAG;UAAQ,GAAKmD,eAAe,CAAG,CACjD;UACD;QAEF,KAAK,UAAU;UACbK,aAAa,GACX9G,KAAA,CAAAgE,aAAA,CAAC/C,QAAQ,EAAA8F,QAAA;YAACzD,EAAE,EAAG,GAAEA,EAAG;UAAW,GAAKmD,eAAe,CAAG,CACvD;UACD;QAEF,KAAK,SAAS;QACd;UACEK,aAAa,GAAGvB,cAAc;UAC9B;MACJ;MAEA,OACEvF,KAAA,CAAAgE,aAAA,SAAUqC,UAAU,EACjBzB,KAAK,IACJ5E,KAAA,CAAAgE,aAAA,CAAC7C,SAAS;QACRmC,EAAE,EAAEA,EAAE,GAAG,QAAS;QAClB0D,MAAM,EAAE1D,EAAG;QACXyB,IAAI,EAAEH,KAAM;QACZQ,QAAQ,EAAEA,QAAS;QACnBC,QAAQ,EAAEA,QAAS;QACnBR,eAAe,EAAEA,eAAgB;QACjCoC,OAAO,EAAEnC;MAAc,CACxB,CACF,EACD9E,KAAA,CAAAgE,aAAA;QAAMiB,SAAS,EAAC;MAA0B,GACxCjF,KAAA,CAAAgE,aAAA,CAAC5C,UAAU,EAAA2F,QAAA;QACTG,IAAI,EAAEd,UAAW;QACjB9C,EAAE,EAAEA,EAAE,GAAG,cAAe;QACxBoB,YAAY,EAAEA,YAAa;QAC3BE,KAAK,EAAEA,KAAM;QACbuC,OAAO,EAAE7D,EAAE,GAAG,SAAU;QACxByB,IAAI,EAAET,MAAO;QACbzC,KAAK,EAAE0C,YAAa;QACpB6C,YAAY,EAAE3C,mBAAoB;QAClCY,QAAQ,EAAEA;MAAS,GACfb,YAAY,CACjB,CAAC,EAEFxE,KAAA,CAAAgE,aAAA;QAAMiB,SAAS,EAAC;MAA0B,GAAAoC,gBAAA,KAAAA,gBAAA,GACxCrH,KAAA,CAAAgE,aAAA,CAACpD,eAAe,MAAE,CAAC,GAEnBZ,KAAA,CAAAgE,aAAA,CAAC9C,MAAM,EAAA6F,QAAA;QACLzB,OAAO,EAAC,WAAW;QACnBL,SAAS,EAAC,2BAA2B;QACrCqC,cAAc,EACZR,aAAa,IACX9G,KAAA,CAAAgE,aAAA;UAAMiB,SAAS,EAAC;QAA8B,GAC3C6B,aACG;MAET,GACGR,YAAY;QAChBiB,GAAG,EAAE,IAAI,CAACxE,UAAW;QACrByE,OAAO,EAAE,IAAI,CAACjF,cAAe;QAC7BkF,SAAS,EAAE,IAAI,CAACC,gBAAiB;QACjCC,OAAO,EAAE,IAAI,CAACC;MAAe,EAC9B,CAAC,EAEDjD,MAAM,IACL3E,KAAA,CAAAgE,aAAA,CAACxC,MAAM;QACLyD,SAAS,EAAC,2BAA2B;QACrC3B,EAAE,EAAEA,EAAE,GAAG,SAAU;QACnBlB,OAAO,EAAER;MAAM,GAEd+C,MACK,CAEN,CACF,CACF,CAAC;IAEX,CACgB,CAAC;EAEvB;AACF;AAACtC,eAAA,CA5coBZ,YAAY,WAChBJ,iBAAiB;AAAAgB,eAAA,CADbZ,YAAY,iBAGVH,wBAAwB;AAAAe,eAAA,CAH1BZ,YAAY,kBAqET;EACpBsD,IAAI,EAAE,IAAI;EACVH,KAAK,EAAE,IAAI;EACXC,eAAe,EAAE,IAAI;EACrBC,aAAa,EAAE,IAAI;EACnBE,KAAK,EAAE,IAAI;EACXjD,OAAO,EAAE4E,SAAS;EAClBrB,OAAO,EAAE,IAAI;EACbC,cAAc,EAAE,IAAI;EACpBH,QAAQ,EAAE,IAAI;EACdC,QAAQ,EAAE,IAAI;EACd/B,EAAE,EAAE,IAAI;EAERgB,MAAM,EAAE,IAAI;EACZC,YAAY,EAAE,OAAO;EACrBC,YAAY,EAAE,IAAI;EAClBC,mBAAmB,EAAE,IAAI;EACzBC,YAAY,EAAE,IAAI;EAClBC,MAAM,EAAE,IAAI;EACZ/B,KAAK,EAAE,EAAE;EACT4C,IAAI,EAAE,IAAI;EACVE,aAAa,EAAE,OAAO;EACtBD,SAAS,EAAE,IAAI;EACfoC,UAAU,EAAE,IAAI;EAChBrF,QAAQ,EAAE,KAAK;EACf0C,KAAK,EAAE,IAAI;EAEXD,SAAS,EAAE,IAAI;EACfW,QAAQ,EAAE,IAAI;EAEdC,SAAS,EAAE,IAAI;EACfC,eAAe,EAAE;AACnB,CAAC;AAAAzD,eAAA,CArGkBZ,YAAY,kBAuGRI,KAAK,IAAK,SAAS,CAACiG,IAAI,CAACtB,MAAM,CAAC3E,KAAK,CAAC,CAAC;AAAAkG,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAvG3CxG,YAAY,CAKxByG,SAAS,GAAA3B,aAAA,CAAAA,aAAA;EACdxB,IAAI,EAAE9E,SAAS,CAACkI,MAAM;EACtBvD,KAAK,EAAE3E,SAAS,CAACmI,SAAS,CAAC,CACzBnI,SAAS,CAACkI,MAAM,EAChBlI,SAAS,CAACoI,IAAI,EACdpI,SAAS,CAACqI,IAAI,CACf,CAAC;EACFzD,eAAe,EAAE5E,SAAS,CAACsI,KAAK,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;EAC5DzD,aAAa,EAAE7E,SAAS,CAACmI,SAAS,CAAC,CAACnI,SAAS,CAACkI,MAAM,EAAElI,SAAS,CAACuI,IAAI,CAAC,CAAC;EACtExD,KAAK,EAAE/E,SAAS,CAACkI,MAAM;EACvBpG,OAAO,EAAE9B,SAAS,CAACmI,SAAS,CAAC,CAACnI,SAAS,CAACkI,MAAM,EAAElI,SAAS,CAACuI,IAAI,CAAC,CAAC;EAChElD,OAAO,EAAErF,SAAS,CAACsI,KAAK,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;EAC1DhD,cAAc,EAAEtF,SAAS,CAACqI,IAAI;EAC9BlD,QAAQ,EAAEnF,SAAS,CAACmI,SAAS,CAAC,CAACnI,SAAS,CAACkI,MAAM,EAAElI,SAAS,CAACuI,IAAI,CAAC,CAAC;EACjEnD,QAAQ,EAAEpF,SAAS,CAACmI,SAAS,CAAC,CAACnI,SAAS,CAACkI,MAAM,EAAElI,SAAS,CAACuI,IAAI,CAAC,CAAC;EACjElF,EAAE,EAAErD,SAAS,CAACkI,MAAM;EAEpB7D,MAAM,EAAErE,SAAS,CAACmI,SAAS,CAAC,CAC1BnI,SAAS,CAACkI,MAAM,EAChBlI,SAAS,CAACuI,IAAI,EACdvI,SAAS,CAACoI,IAAI,EACdpI,SAAS,CAACqI,IAAI,CACf,CAAC;EACF/D,YAAY,EAAEtE,SAAS,CAACkI,MAAM;EAC9B3D,YAAY,EAAEvE,SAAS,CAACwI,MAAM;EAC9BhE,mBAAmB,EAAExE,SAAS,CAACmI,SAAS,CAAC,CACvCnI,SAAS,CAACkI,MAAM,EAChBlI,SAAS,CAACuI,IAAI,CACf,CAAC;EACF9D,YAAY,EAAEzE,SAAS,CAACyI,KAAK,CAAC;IAC5BpF,EAAE,EAAErD,SAAS,CAACkI,MAAM;IACpBQ,OAAO,EAAE1I,SAAS,CAACmI,SAAS,CAAC,CAACnI,SAAS,CAACkI,MAAM,EAAElI,SAAS,CAACqI,IAAI,CAAC;EACjE,CAAC,CAAC;EACF3D,MAAM,EAAE1E,SAAS,CAACmI,SAAS,CAAC,CAC1BnI,SAAS,CAACkI,MAAM,EAChBlI,SAAS,CAACoI,IAAI,EACdpI,SAAS,CAACqI,IAAI,CACf,CAAC;EACF1F,KAAK,EAAE3C,SAAS,CAACmI,SAAS,CAAC,CACzBnI,SAAS,CAACkI,MAAM,EAChBlI,SAAS,CAAC2I,MAAM,EAChB3I,SAAS,CAACwI,MAAM,EAChBxI,SAAS,CAAC4I,KAAK,CAChB,CAAC;EACFrD,IAAI,EAAEvF,SAAS,CAACmI,SAAS,CAAC,CACxBnI,SAAS,CAACkI,MAAM,EAChBlI,SAAS,CAACqI,IAAI,EACdrI,SAAS,CAACoI,IAAI,CACf,CAAC;EACF3C,aAAa,EAAEzF,SAAS,CAACsI,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EACjD9C,SAAS,EAAExF,SAAS,CAACkI,MAAM;EAC3BN,UAAU,EAAE5H,SAAS,CAACmI,SAAS,CAAC,CAACnI,SAAS,CAACkI,MAAM,EAAElI,SAAS,CAACwI,MAAM,CAAC,CAAC;EACrEjG,QAAQ,EAAEvC,SAAS,CAACmI,SAAS,CAAC,CAACnI,SAAS,CAACkI,MAAM,EAAElI,SAAS,CAACuI,IAAI,CAAC;AAAC,GAE9D1H,gBAAgB;EAEnBoE,KAAK,EAAEjF,SAAS,CAACkI,MAAM;EACvBlD,SAAS,EAAEhF,SAAS,CAACkI,MAAM;EAC3BvC,QAAQ,EAAE3F,SAAS,CAACmI,SAAS,CAAC,CAACnI,SAAS,CAACkI,MAAM,EAAElI,SAAS,CAACoI,IAAI,CAAC,CAAC;EAEjExC,SAAS,EAAE5F,SAAS,CAACoI,IAAI;EACzBvC,eAAe,EAAE7F,SAAS,CAACoI;AAAI"}
|
|
1
|
+
{"version":3,"file":"ToggleButton.js","names":["React","PropTypes","classnames","keycode","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","AlignmentHelper","includeValidProps","spacingPropTypes","createSpacingClasses","Radio","Checkbox","Button","FormLabel","FormStatus","ToggleButtonGroup","ToggleButtonGroupContext","Context","Suffix","ToggleButton","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","context","_defineProperty","event","onClickHandler","readOnly","preventDefault","persist","multiselect","value","setState","callOnChange","_refButton","current","_ref","focus","e","onChange","_id","id","createRef","name","values","Array","isArray","includes","setContext","tmp","render","createElement","Consumer","contextProps","defaultProps","translation","FormRow","status","status_state","status_props","status_no_animation","globalStatus","suffix","label","label_direction","label_sr_only","text","title","className","class","_className","disabled","skeleton","variant","left_component","icon","icon_size","icon_position","propValue","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","contextValue","contextValues","showStatus","mainParams","buttonParams","_objectSpread","String","componentParams","element","undefined","role","type","leftComponent","_extends","for_id","sr_only","show","text_id","no_animation","_AlignmentHelper","custom_content","ref","onClick","onKeyDown","onKeyDownHandler","onKeyUp","onKeyUpHandler","attributes","test","process","env","NODE_ENV","propTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","array"],"sources":["../../../../src/components/toggle-button/ToggleButton.js"],"sourcesContent":["/**\n * Web ToggleButton Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { includeValidProps } from '../form-row/FormRowHelpers'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport Radio from '../radio/Radio'\nimport Checkbox from '../checkbox/Checkbox'\nimport Button from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport ToggleButtonGroup from './ToggleButtonGroup'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The toggle-button component is our enhancement of the classic toggle-button button.\n */\nexport default class ToggleButton extends React.PureComponent {\n static Group = ToggleButtonGroup\n\n static contextType = ToggleButtonGroupContext\n\n static propTypes = {\n text: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n // group: PropTypes.string,\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n icon_size: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n text: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n checked: undefined,\n variant: null,\n left_component: null,\n disabled: null,\n skeleton: null,\n id: null,\n // group: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: '',\n icon: null,\n icon_position: 'right',\n icon_size: null,\n attributes: null,\n readOnly: false,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = ToggleButton.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props, context) {\n super(props)\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._refButton = React.createRef()\n\n this.state = {\n _listenForPropChanges: true,\n }\n\n // set the startup checked values from context, if they exists\n if (context.name && typeof props.value !== 'undefined') {\n if (typeof context.value !== 'undefined') {\n this.state.checked = context.value === props.value\n this.state._listenForPropChanges = false\n } else if (context.values && Array.isArray(context.values)) {\n this.state.checked = context.values.includes(props.value)\n this.state._listenForPropChanges = false\n\n // make sure we update the context\n // with a possible custom set \"checked\" state\n } else if (ToggleButton.parseChecked(props.checked)) {\n if (context.setContext) {\n if (context.multiselect) {\n context.setContext((tmp) => {\n return {\n values:\n // in case we have set before a new context (other component)\n // we fill combine these arrays\n tmp && Array.isArray(tmp.values)\n ? [...tmp.values, props.value]\n : [props.value],\n }\n })\n } else {\n context.setContext({\n value: props.value,\n })\n }\n }\n }\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onKeyUpHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onClickHandler = ({ event }) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n event.persist()\n\n // only select a value once\n if (\n !isTrue(this.context.multiselect) &&\n this.props.value === this.context.value\n ) {\n return\n }\n\n // else we change the checked state\n const checked = !this.state.checked\n this.setState({\n checked,\n _listenForPropChanges: false,\n })\n this.callOnChange({ checked, event })\n\n if (this._refButton.current && checked) {\n // simulate focus for firefox and safari\n // so we can get rid of the hover ring after click\n try {\n this._refButton.current._ref.current.focus()\n } catch (e) {\n warn(e)\n }\n }\n }\n\n callOnChange = ({ checked, event }) => {\n const { value } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n event,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n checked,\n value,\n event,\n })\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n this.context\n )\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n contextProps,\n context.translation.ToggleButton,\n includeValidProps(context.FormRow),\n context.ToggleButton\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label,\n label_direction,\n label_sr_only,\n text,\n title,\n readOnly,\n className,\n class: _className,\n disabled,\n skeleton,\n variant,\n left_component,\n icon,\n icon_size,\n icon_position,\n value: propValue,\n\n id: _id, // eslint-disable-line\n // group: _group, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children,\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n\n if (\n !isTrue(this.context.multiselect) &&\n typeof this.context.value !== 'undefined'\n ) {\n const contextValue = this.context.value\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = propValue === contextValue\n }\n } else if (\n isTrue(this.context.multiselect) &&\n typeof this.context.values !== 'undefined'\n ) {\n const contextValues = this.context.values\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = contextValues.includes(propValue)\n }\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-toggle-button',\n status && `dnb-toggle-button__status--${status_state}`,\n checked && `dnb-toggle-button--checked`,\n label_direction && `dnb-toggle-button--${label_direction}`,\n createSpacingClasses(props),\n className,\n _className\n ),\n }\n\n // to remove spacing props\n validateDOMAttributes(this.props, rest)\n\n const buttonParams = {\n id,\n disabled,\n skeleton,\n text: text || children,\n title,\n icon,\n icon_size,\n icon_position,\n 'aria-pressed': String(checked || false),\n ...rest,\n }\n\n const componentParams = {\n checked,\n disabled,\n element: 'span',\n 'data-checked': String(checked || false),\n 'aria-checked': undefined,\n role: undefined,\n type: undefined,\n name: null,\n title: null,\n }\n\n if (status) {\n // do not send along the message, but only the status states\n if (status_state === 'info') {\n componentParams.status_state = 'info'\n } else {\n componentParams.status = 'error'\n }\n }\n\n if (showStatus || suffix) {\n buttonParams['aria-describedby'] = combineDescribedBy(\n buttonParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n buttonParams['aria-readonly'] = buttonParams.readOnly = true\n }\n\n let leftComponent = null\n switch (variant) {\n case 'radio':\n leftComponent = (\n <Radio id={`${id}-radio`} {...componentParams} />\n )\n break\n\n case 'checkbox':\n leftComponent = (\n <Checkbox id={`${id}-checkbox`} {...componentParams} />\n )\n break\n\n case 'default':\n default:\n leftComponent = left_component\n break\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n label_direction={label_direction}\n sr_only={label_sr_only}\n />\n )}\n <span className=\"dnb-toggle-button__inner\">\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button__shell\">\n <AlignmentHelper />\n\n <Button\n variant=\"secondary\"\n className=\"dnb-toggle-button__button\"\n custom_content={\n leftComponent && (\n <span className=\"dnb-toggle-button__component\">\n {leftComponent}\n </span>\n )\n }\n {...buttonParams}\n ref={this._refButton}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n onKeyUp={this.onKeyUpHandler}\n />\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }}\n </Context.Consumer>\n )\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleButtonGroup.js","names":["React","PropTypes","classnames","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","combineLabelledBy","dispatchCustomElementEvent","spacingPropTypes","createSpacingClasses","AlignmentHelper","FormRow","FormStatus","Context","Suffix","ToggleButtonGroupContext","includeValidProps","ToggleButtonGroup","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","value","values","getValues","JSON","parse","constructor","_defineProperty","event","multiselect","includes","push","splice","indexOf","setState","_refInput","createRef","_id","id","_name","name","render","defaultProps","context","getTranslation","ToggleButton","status","status_state","status_props","status_no_animation","globalStatus","suffix","label_direction","label_sr_only","vertical","layout_direction","label","variant","left_component","no_fieldset","disabled","skeleton","className","class","_className","_value","_values","children","on_change","rest","_objectWithoutProperties","_excluded","showStatus","classes","params","_objectSpread","setContext","_tmp","onChange","onChangeHandler","formRowParams","label_id","direction","skipContentWrapperIfNested","createElement","Provider","_AlignmentHelper","_extends","role","show","text_id","text","no_animation","title","undefined","attributes","process","env","NODE_ENV","propTypes","oneOfType","string","func","node","oneOf","bool","object","shape","message","number","array"],"sources":["../../../../src/components/toggle-button/ToggleButtonGroup.js"],"sourcesContent":["/**\n * Web ToggleButtonGroup Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n combineLabelledBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport FormRow from '../form-row/FormRow'\nimport FormStatus from '../form-status/FormStatus'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport { includeValidProps } from '../form-row/FormRowHelpers'\n\nexport default class ToggleButtonGroup extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.string,\n multiselect: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n no_fieldset: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n name: PropTypes.string,\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n vertical: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n layout_direction: PropTypes.oneOf(['column', 'row']),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n values: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n\n on_change: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n multiselect: null,\n variant: null,\n left_component: null,\n no_fieldset: null,\n disabled: null,\n skeleton: null,\n id: null,\n name: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n vertical: null,\n layout_direction: 'row',\n value: undefined,\n values: undefined,\n attributes: null,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (\n typeof props.value !== 'undefined' &&\n props.value !== state.value\n ) {\n state.value = props.value\n }\n if (\n typeof props.values !== 'undefined' &&\n props.values !== state.values\n ) {\n state.values = ToggleButtonGroup.getValues(props)\n }\n }\n state._listenForPropChanges = true\n\n return state\n }\n\n static getValues(props) {\n if (typeof props.values === 'string' && props.values[0] === '[') {\n return JSON.parse(props.values)\n }\n return props.values\n }\n\n constructor(props) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._name = props.name || makeUniqueId() // cause we need an id anyway\n this.state = {\n // do not set the value here, else get true in this check } else if (context.values && Array.isArray(context.values)) {\n _listenForPropChanges: true,\n }\n }\n\n onChangeHandler = ({ value, event }) => {\n const { multiselect } = this.props\n const values = this.state.values || []\n\n if (isTrue(multiselect)) {\n if (!values.includes(value)) {\n values.push(value)\n } else {\n values.splice(values.indexOf(value), 1)\n }\n }\n\n this.setState({\n value,\n values,\n _listenForPropChanges: false,\n })\n\n dispatchCustomElementEvent(this, 'on_change', {\n value,\n values,\n event,\n })\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButtonGroup.defaultProps,\n this.context.getTranslation(this.props).ToggleButton,\n includeValidProps(this.context.FormRow),\n this.context.ToggleButtonGroup\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label_direction,\n label_sr_only,\n vertical,\n layout_direction,\n label,\n variant,\n left_component,\n no_fieldset,\n disabled,\n skeleton,\n className,\n class: _className,\n\n multiselect,\n id: _id, // eslint-disable-line\n name: _name, // eslint-disable-line\n value: _value, // eslint-disable-line\n values: _values, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n\n ...rest\n } = props\n\n const { value, values } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const classes = classnames(\n 'dnb-toggle-button-group',\n status && `dnb-toggle-button-group__status--${status_state}`,\n !label && 'dnb-toggle-button-group--no-label',\n `dnb-toggle-button-group--${layout_direction}`,\n // (isTrue(vertical) || label_direction === 'vertical') &&\n // `dnb-toggle-button-group--vertical`,\n (isTrue(vertical) || label_direction) &&\n `dnb-form-row--${\n isTrue(vertical) ? 'vertical' : label_direction\n }-label`, // <-- has label\n 'dnb-form-component',\n createSpacingClasses(props),\n className,\n _className\n )\n\n const params = {\n ...rest,\n }\n\n if (showStatus || suffix) {\n params['aria-describedby'] = combineDescribedBy(\n params,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (label) {\n params['aria-labelledby'] = combineLabelledBy(params, id + '-label')\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n const context = {\n name: this._name,\n value,\n values,\n multiselect: isTrue(multiselect),\n variant,\n left_component,\n disabled,\n skeleton,\n setContext: (context) => {\n // also look for a fuctions, we we are able to fill old values\n // this is used in the \"constructor\" inside the ToggleButton.js component\n if (typeof context === 'function') {\n context = context(this._tmp)\n }\n this._tmp = { ...this._tmp, ...context }\n this.setState({\n ...context,\n _listenForPropChanges: false,\n })\n },\n onChange: this.onChangeHandler,\n }\n\n const formRowParams = {\n id,\n label,\n label_id: id + '-label', // send the id along, so the FormRow component can use it\n label_direction,\n label_sr_only,\n direction: label_direction,\n vertical,\n disabled,\n skeleton,\n no_fieldset,\n skipContentWrapperIfNested: true,\n // status,\n // status_state\n }\n\n return (\n <ToggleButtonGroupContext.Provider value={context}>\n <div className={classes}>\n <AlignmentHelper />\n <FormRow {...formRowParams}>\n <span\n id={id}\n className=\"dnb-toggle-button-group__shell\"\n role=\"group\"\n {...params}\n >\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button-group__children\">\n {children}\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button-group__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </FormRow>\n </div>\n </ToggleButtonGroupContext.Provider>\n )\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToggleButtonGroup.js","names":["React","PropTypes","classnames","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","combineLabelledBy","dispatchCustomElementEvent","spacingPropTypes","createSpacingClasses","AlignmentHelper","FormRow","FormStatus","Context","Suffix","ToggleButtonGroupContext","includeValidProps","ToggleButtonGroup","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","value","values","getValues","JSON","parse","constructor","_defineProperty","event","multiselect","includes","push","splice","indexOf","setState","_refInput","createRef","_id","id","_name","name","render","defaultProps","context","getTranslation","ToggleButton","status","status_state","status_props","status_no_animation","globalStatus","suffix","label_direction","label_sr_only","vertical","layout_direction","label","variant","left_component","no_fieldset","disabled","skeleton","className","class","_className","_value","_values","children","on_change","rest","_objectWithoutProperties","_excluded","showStatus","classes","params","_objectSpread","setContext","_tmp","onChange","onChangeHandler","formRowParams","label_id","direction","skipContentWrapperIfNested","createElement","Provider","_AlignmentHelper","_extends","role","show","text_id","text","no_animation","title","undefined","attributes","process","env","NODE_ENV","propTypes","oneOfType","string","func","node","oneOf","bool","object","shape","message","number","array"],"sources":["../../../../src/components/toggle-button/ToggleButtonGroup.js"],"sourcesContent":["/**\n * Web ToggleButtonGroup Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n combineLabelledBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport FormRow from '../form-row/FormRow'\nimport FormStatus from '../form-status/FormStatus'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport { includeValidProps } from '../form-row/FormRowHelpers'\n\nexport default class ToggleButtonGroup extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.string,\n multiselect: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n no_fieldset: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n name: PropTypes.string,\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n vertical: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n layout_direction: PropTypes.oneOf(['column', 'row']),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n values: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n\n on_change: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n multiselect: null,\n variant: null,\n left_component: null,\n no_fieldset: null,\n disabled: null,\n skeleton: null,\n id: null,\n name: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n vertical: null,\n layout_direction: 'row',\n value: undefined,\n values: undefined,\n attributes: null,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (\n typeof props.value !== 'undefined' &&\n props.value !== state.value\n ) {\n state.value = props.value\n }\n if (\n typeof props.values !== 'undefined' &&\n props.values !== state.values\n ) {\n state.values = ToggleButtonGroup.getValues(props)\n }\n }\n state._listenForPropChanges = true\n\n return state\n }\n\n static getValues(props) {\n if (typeof props.values === 'string' && props.values[0] === '[') {\n return JSON.parse(props.values)\n }\n return props.values\n }\n\n constructor(props) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._name = props.name || makeUniqueId() // cause we need an id anyway\n this.state = {\n // do not set the value here, else get true in this check } else if (context.values && Array.isArray(context.values)) {\n _listenForPropChanges: true,\n }\n }\n\n onChangeHandler = ({ value, event }) => {\n const { multiselect } = this.props\n const values = this.state.values || []\n\n if (isTrue(multiselect)) {\n if (!values.includes(value)) {\n values.push(value)\n } else {\n values.splice(values.indexOf(value), 1)\n }\n }\n\n this.setState({\n value,\n values,\n _listenForPropChanges: false,\n })\n\n dispatchCustomElementEvent(this, 'on_change', {\n value,\n values,\n event,\n })\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButtonGroup.defaultProps,\n this.context.getTranslation(this.props).ToggleButton,\n includeValidProps(this.context.FormRow),\n this.context.ToggleButtonGroup\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label_direction,\n label_sr_only,\n vertical,\n layout_direction,\n label,\n variant,\n left_component,\n no_fieldset,\n disabled,\n skeleton,\n className,\n class: _className,\n\n multiselect,\n id: _id, // eslint-disable-line\n name: _name, // eslint-disable-line\n value: _value, // eslint-disable-line\n values: _values, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n\n ...rest\n } = props\n\n const { value, values } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const classes = classnames(\n 'dnb-toggle-button-group',\n status && `dnb-toggle-button-group__status--${status_state}`,\n !label && 'dnb-toggle-button-group--no-label',\n `dnb-toggle-button-group--${layout_direction}`,\n // (isTrue(vertical) || label_direction === 'vertical') &&\n // `dnb-toggle-button-group--vertical`,\n (isTrue(vertical) || label_direction) &&\n `dnb-form-row--${\n isTrue(vertical) ? 'vertical' : label_direction\n }-label`, // <-- has label\n 'dnb-form-component',\n createSpacingClasses(props),\n className,\n _className\n )\n\n const params = {\n ...rest,\n }\n\n if (showStatus || suffix) {\n params['aria-describedby'] = combineDescribedBy(\n params,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (label) {\n params['aria-labelledby'] = combineLabelledBy(params, id + '-label')\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n const context = {\n name: this._name,\n value,\n values,\n multiselect: isTrue(multiselect),\n variant,\n left_component,\n disabled,\n skeleton,\n setContext: (context) => {\n // also look for a function, where we are able to fill old values\n // this is used in the \"constructor\" inside the ToggleButton.js component\n if (typeof context === 'function') {\n context = context(this._tmp)\n }\n this._tmp = { ...this._tmp, ...context }\n this.setState({\n ...context,\n _listenForPropChanges: false,\n })\n },\n onChange: this.onChangeHandler,\n }\n\n const formRowParams = {\n id,\n label,\n label_id: id + '-label', // send the id along, so the FormRow component can use it\n label_direction,\n label_sr_only,\n direction: label_direction,\n vertical,\n disabled,\n skeleton,\n no_fieldset,\n skipContentWrapperIfNested: true,\n // status,\n // status_state\n }\n\n return (\n <ToggleButtonGroupContext.Provider value={context}>\n <div className={classes}>\n <AlignmentHelper />\n <FormRow {...formRowParams}>\n <span\n id={id}\n className=\"dnb-toggle-button-group__shell\"\n role=\"group\"\n {...params}\n >\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button-group__children\">\n {children}\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button-group__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </FormRow>\n </div>\n </ToggleButtonGroupContext.Provider>\n )\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipContainer.js","names":["React","isTrue","getOffsetLeft","getOffsetTop","classnames","TooltipContainer","props","internalId","active","attributes","arrow","position","align","hideDelay","fixedPosition","noAnimation","skipPortal","useHover","children","targetElement","target","style","setStyle","useState","hover","setHover","isActive","wasActive","makeActive","renewStyles","forceRerender","getBodySize","elementRef","useRef","offset","debounceTimeout","resizeObserver","document","width","height","body","getBoundingClientRect","clearTimers","clearTimeout","current","useLayoutEffect","addPositionObserver","ResizeObserver","setTimeout","observe","e","removePositionObserver","_resizeObserver$curre","disconnect","offsetLeft","offsetTop","element","window","alignOffset","elementWidth","offsetWidth","elementHeight","offsetHeight","rect","targetBodySize","scrollY","undefined","pageYOffset","scrollX","pageXOffset","top","useMouseWhen","mousePos","left","widthBased","_objectSpread","topHorizontal","leftVertical","stylesFromPosition","right","bottom","stylesFromArrow","rightOffset","parseFloat","String","innerWidth","handleMouseEnter","handleMouseLeave","handlePropagation","stopPropagation","createElement","_extends","role","ref","onMouseEnter","onMouseLeave","onMouseMove","onMouseDown","onTouchStart","className","id"],"sources":["../../../../src/components/tooltip/TooltipContainer.tsx"],"sourcesContent":["/**\n * Web Tooltip Component\n *\n */\n\nimport React from 'react'\nimport { isTrue } from '../../shared/component-helper'\nimport { getOffsetLeft, getOffsetTop } from '../../shared/helpers'\nimport classnames from 'classnames'\nimport { TooltipProps } from './types'\n\ntype TooltipContainerProps = {\n targetElement: HTMLElement\n style?: React.CSSProperties\n useHover?: boolean\n internalId?: string\n attributes?: Record<string, unknown> & { style: React.CSSProperties }\n}\n\nexport default function TooltipContainer(\n props: TooltipProps & TooltipContainerProps\n) {\n const {\n internalId,\n active,\n attributes,\n arrow,\n position,\n align,\n hideDelay,\n fixedPosition,\n noAnimation,\n skipPortal,\n useHover,\n children,\n targetElement: target,\n } = props\n\n const [style, setStyle] = React.useState(null)\n const [hover, setHover] = React.useState(false)\n const isActive = isTrue(active) || hover\n const [wasActive, makeActive] = React.useState(false)\n const [renewStyles, forceRerender] = React.useState(getBodySize)\n\n const elementRef = React.useRef<HTMLSpanElement>(null)\n const offset = React.useRef(16)\n const debounceTimeout = React.useRef<NodeJS.Timeout>()\n const resizeObserver = React.useRef<ResizeObserver>(null)\n\n function getBodySize() {\n if (!isActive || typeof document === 'undefined') {\n return 0 // stop here\n }\n\n const { width, height } = document.body.getBoundingClientRect()\n\n return width + height\n }\n\n const clearTimers = () => {\n clearTimeout(debounceTimeout.current)\n }\n\n React.useLayoutEffect(() => {\n const addPositionObserver = () => {\n if (resizeObserver.current || typeof document === 'undefined') {\n return // stop here\n }\n\n try {\n resizeObserver.current = new ResizeObserver(() => {\n clearTimers()\n debounceTimeout.current = setTimeout(\n () => forceRerender(getBodySize()),\n 100\n )\n })\n\n resizeObserver.current.observe(document.body)\n } catch (e) {\n //\n }\n }\n const removePositionObserver = () => {\n clearTimers()\n resizeObserver.current?.disconnect()\n }\n\n if (isActive) {\n makeActive(true)\n addPositionObserver()\n } else {\n removePositionObserver()\n }\n\n return removePositionObserver\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isActive])\n\n const offsetLeft = React.useRef(0)\n const offsetTop = React.useRef(0)\n\n React.useLayoutEffect(() => {\n if (!isActive) {\n /**\n * This \"resets\" the position between elements,\n * when not active. Else it will always first show on the older position.\n */\n if (wasActive) {\n clearTimeout(debounceTimeout.current)\n debounceTimeout.current = setTimeout(\n () => setStyle(null),\n hideDelay\n )\n }\n return // stop here\n }\n\n const element = elementRef?.current\n\n if (\n typeof window === 'undefined' ||\n !element ||\n !target?.getBoundingClientRect\n ) {\n return // stop here\n }\n\n let alignOffset = 0\n\n const elementWidth = element.offsetWidth\n const elementHeight = element.offsetHeight\n const rect = target.getBoundingClientRect()\n const targetBodySize = {\n width: target.offsetWidth,\n height: target.offsetHeight,\n }\n\n // fix for svg\n if (!target.offsetHeight) {\n targetBodySize.width = rect.width\n targetBodySize.height = rect.height\n }\n\n if (skipPortal && (!offsetLeft.current || !offsetTop.current)) {\n offsetLeft.current = getOffsetLeft(element) - offset.current\n offsetTop.current = getOffsetTop(element) - offset.current\n }\n\n const scrollY =\n window.scrollY !== undefined ? window.scrollY : window.pageYOffset\n const scrollX =\n window.scrollX !== undefined ? window.scrollX : window.pageXOffset\n const top =\n (isTrue(fixedPosition) ? 0 : scrollY) + rect.top - offsetTop.current\n\n // Use Mouse position when target is too wide\n const useMouseWhen = targetBodySize.width > 400\n const mousePos =\n getOffsetLeft(target) +\n rect.left / 2 +\n (element ? element.offsetWidth : 0)\n const widthBased = scrollX + rect.left\n const left =\n (useMouseWhen && mousePos < targetBodySize.width\n ? mousePos\n : widthBased) - offsetLeft.current\n\n const style = { ...props.style }\n\n if (align === 'left') {\n alignOffset = -targetBodySize.width / 2\n } else if (align === 'right') {\n alignOffset = targetBodySize.width / 2\n }\n\n const topHorizontal =\n top + targetBodySize.height / 2 - elementHeight / 2\n const leftVertical =\n left - elementWidth / 2 + targetBodySize.width / 2 + alignOffset\n\n const stylesFromPosition = {\n left: () => {\n style.top = topHorizontal\n style.left = left - elementWidth - offset.current\n },\n right: () => {\n style.top = topHorizontal\n style.left = left + targetBodySize.width + offset.current\n },\n top: () => {\n style.left = leftVertical\n style.top = top - elementHeight - offset.current\n },\n bottom: () => {\n style.left = leftVertical\n style.top = top + targetBodySize.height + offset.current\n },\n }\n\n const stylesFromArrow = {\n left: () => {\n style.left =\n left + targetBodySize.width / 2 - offset.current + alignOffset\n },\n right: () => {\n style.left =\n left -\n elementWidth +\n targetBodySize.width / 2 +\n offset.current +\n alignOffset\n },\n top: () => {\n style.top = top + targetBodySize.height / 2 - offset.current\n },\n bottom: () => {\n style.top =\n top + targetBodySize.height / 2 - elementHeight + offset.current\n },\n }\n\n if (stylesFromPosition[position]) {\n stylesFromPosition[position]()\n } else if (stylesFromArrow[arrow]) {\n stylesFromArrow[arrow]()\n }\n\n const rightOffset =\n parseFloat(String(style.left)) + elementWidth - window.innerWidth\n if (rightOffset > 0) {\n style.left = window.innerWidth - elementWidth\n }\n\n if (parseFloat(String(style.left)) < 0) {\n style.left = 0\n }\n if (parseFloat(String(style.top)) < 0) {\n style.top = 0\n }\n\n setStyle(style)\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [active, arrow, position, children, renewStyles])\n\n const handleMouseEnter = () => {\n if (isTrue(active) && useHover !== false) {\n setHover(true)\n }\n }\n\n const handleMouseLeave = () => {\n if (useHover !== false) {\n setHover(false)\n }\n }\n\n /**\n * By stopping propagation, we allow the user to select text when Toolip is used in the Slider component\n */\n const handlePropagation = (e: React.SyntheticEvent) =>\n e.stopPropagation()\n\n return (\n <span\n role=\"tooltip\"\n aria-hidden={target ? true : undefined} // make sure SR does not find it in the DOM, because we use \"aria-describedby\" for that\n ref={elementRef}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onMouseMove={handlePropagation}\n onMouseDown={handlePropagation}\n onTouchStart={handlePropagation}\n {...attributes}\n className={classnames(\n attributes?.className,\n isTrue(noAnimation) && 'dnb-tooltip--no-animation',\n isTrue(fixedPosition) && 'dnb-tooltip--fixed',\n isActive && 'dnb-tooltip--active',\n !isActive && wasActive && 'dnb-tooltip--hide'\n )}\n style={{ ...style, ...attributes.style }}\n >\n {arrow && (\n <span\n className={classnames(\n 'dnb-tooltip__arrow',\n `dnb-tooltip__arrow__arrow--${arrow}`,\n `dnb-tooltip__arrow__position--${position}`\n )}\n />\n )}\n\n <span id={internalId} className=\"dnb-tooltip__content\">\n {children}\n </span>\n </span>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TooltipContainer.js","names":["React","isTrue","getOffsetLeft","getOffsetTop","classnames","TooltipContainer","props","internalId","active","attributes","arrow","position","align","hideDelay","fixedPosition","noAnimation","skipPortal","useHover","children","targetElement","target","style","setStyle","useState","hover","setHover","isActive","wasActive","makeActive","renewStyles","forceRerender","getBodySize","elementRef","useRef","offset","debounceTimeout","resizeObserver","document","width","height","body","getBoundingClientRect","clearTimers","clearTimeout","current","useLayoutEffect","addPositionObserver","ResizeObserver","setTimeout","observe","e","removePositionObserver","_resizeObserver$curre","disconnect","offsetLeft","offsetTop","element","window","alignOffset","elementWidth","offsetWidth","elementHeight","offsetHeight","rect","targetBodySize","scrollY","undefined","pageYOffset","scrollX","pageXOffset","top","useMouseWhen","mousePos","left","widthBased","_objectSpread","topHorizontal","leftVertical","stylesFromPosition","right","bottom","stylesFromArrow","rightOffset","parseFloat","String","innerWidth","handleMouseEnter","handleMouseLeave","handlePropagation","stopPropagation","createElement","_extends","role","ref","onMouseEnter","onMouseLeave","onMouseMove","onMouseDown","onTouchStart","className","id"],"sources":["../../../../src/components/tooltip/TooltipContainer.tsx"],"sourcesContent":["/**\n * Web Tooltip Component\n *\n */\n\nimport React from 'react'\nimport { isTrue } from '../../shared/component-helper'\nimport { getOffsetLeft, getOffsetTop } from '../../shared/helpers'\nimport classnames from 'classnames'\nimport { TooltipProps } from './types'\n\ntype TooltipContainerProps = {\n targetElement: HTMLElement\n style?: React.CSSProperties\n useHover?: boolean\n internalId?: string\n attributes?: Record<string, unknown> & { style: React.CSSProperties }\n}\n\nexport default function TooltipContainer(\n props: TooltipProps & TooltipContainerProps\n) {\n const {\n internalId,\n active,\n attributes,\n arrow,\n position,\n align,\n hideDelay,\n fixedPosition,\n noAnimation,\n skipPortal,\n useHover,\n children,\n targetElement: target,\n } = props\n\n const [style, setStyle] = React.useState(null)\n const [hover, setHover] = React.useState(false)\n const isActive = isTrue(active) || hover\n const [wasActive, makeActive] = React.useState(false)\n const [renewStyles, forceRerender] = React.useState(getBodySize)\n\n const elementRef = React.useRef<HTMLSpanElement>(null)\n const offset = React.useRef(16)\n const debounceTimeout = React.useRef<NodeJS.Timeout>()\n const resizeObserver = React.useRef<ResizeObserver>(null)\n\n function getBodySize() {\n if (!isActive || typeof document === 'undefined') {\n return 0 // stop here\n }\n\n const { width, height } = document.body.getBoundingClientRect()\n\n return width + height\n }\n\n const clearTimers = () => {\n clearTimeout(debounceTimeout.current)\n }\n\n React.useLayoutEffect(() => {\n const addPositionObserver = () => {\n if (resizeObserver.current || typeof document === 'undefined') {\n return // stop here\n }\n\n try {\n resizeObserver.current = new ResizeObserver(() => {\n clearTimers()\n debounceTimeout.current = setTimeout(\n () => forceRerender(getBodySize()),\n 100\n )\n })\n\n resizeObserver.current.observe(document.body)\n } catch (e) {\n //\n }\n }\n const removePositionObserver = () => {\n clearTimers()\n resizeObserver.current?.disconnect()\n }\n\n if (isActive) {\n makeActive(true)\n addPositionObserver()\n } else {\n removePositionObserver()\n }\n\n return removePositionObserver\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isActive])\n\n const offsetLeft = React.useRef(0)\n const offsetTop = React.useRef(0)\n\n React.useLayoutEffect(() => {\n if (!isActive) {\n /**\n * This \"resets\" the position between elements,\n * when not active. Else it will always first show on the older position.\n */\n if (wasActive) {\n clearTimeout(debounceTimeout.current)\n debounceTimeout.current = setTimeout(\n () => setStyle(null),\n hideDelay\n )\n }\n return // stop here\n }\n\n const element = elementRef?.current\n\n if (\n typeof window === 'undefined' ||\n !element ||\n !target?.getBoundingClientRect\n ) {\n return // stop here\n }\n\n let alignOffset = 0\n\n const elementWidth = element.offsetWidth\n const elementHeight = element.offsetHeight\n const rect = target.getBoundingClientRect()\n const targetBodySize = {\n width: target.offsetWidth,\n height: target.offsetHeight,\n }\n\n // fix for svg\n if (!target.offsetHeight) {\n targetBodySize.width = rect.width\n targetBodySize.height = rect.height\n }\n\n if (skipPortal && (!offsetLeft.current || !offsetTop.current)) {\n offsetLeft.current = getOffsetLeft(element) - offset.current\n offsetTop.current = getOffsetTop(element) - offset.current\n }\n\n const scrollY =\n window.scrollY !== undefined ? window.scrollY : window.pageYOffset\n const scrollX =\n window.scrollX !== undefined ? window.scrollX : window.pageXOffset\n const top =\n (isTrue(fixedPosition) ? 0 : scrollY) + rect.top - offsetTop.current\n\n // Use Mouse position when target is too wide\n const useMouseWhen = targetBodySize.width > 400\n const mousePos =\n getOffsetLeft(target) +\n rect.left / 2 +\n (element ? element.offsetWidth : 0)\n const widthBased = scrollX + rect.left\n const left =\n (useMouseWhen && mousePos < targetBodySize.width\n ? mousePos\n : widthBased) - offsetLeft.current\n\n const style = { ...props.style }\n\n if (align === 'left') {\n alignOffset = -targetBodySize.width / 2\n } else if (align === 'right') {\n alignOffset = targetBodySize.width / 2\n }\n\n const topHorizontal =\n top + targetBodySize.height / 2 - elementHeight / 2\n const leftVertical =\n left - elementWidth / 2 + targetBodySize.width / 2 + alignOffset\n\n const stylesFromPosition = {\n left: () => {\n style.top = topHorizontal\n style.left = left - elementWidth - offset.current\n },\n right: () => {\n style.top = topHorizontal\n style.left = left + targetBodySize.width + offset.current\n },\n top: () => {\n style.left = leftVertical\n style.top = top - elementHeight - offset.current\n },\n bottom: () => {\n style.left = leftVertical\n style.top = top + targetBodySize.height + offset.current\n },\n }\n\n const stylesFromArrow = {\n left: () => {\n style.left =\n left + targetBodySize.width / 2 - offset.current + alignOffset\n },\n right: () => {\n style.left =\n left -\n elementWidth +\n targetBodySize.width / 2 +\n offset.current +\n alignOffset\n },\n top: () => {\n style.top = top + targetBodySize.height / 2 - offset.current\n },\n bottom: () => {\n style.top =\n top + targetBodySize.height / 2 - elementHeight + offset.current\n },\n }\n\n if (stylesFromPosition[position]) {\n stylesFromPosition[position]()\n } else if (stylesFromArrow[arrow]) {\n stylesFromArrow[arrow]()\n }\n\n const rightOffset =\n parseFloat(String(style.left)) + elementWidth - window.innerWidth\n if (rightOffset > 0) {\n style.left = window.innerWidth - elementWidth\n }\n\n if (parseFloat(String(style.left)) < 0) {\n style.left = 0\n }\n if (parseFloat(String(style.top)) < 0) {\n style.top = 0\n }\n\n setStyle(style)\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [active, arrow, position, children, renewStyles])\n\n const handleMouseEnter = () => {\n if (isTrue(active) && useHover !== false) {\n setHover(true)\n }\n }\n\n const handleMouseLeave = () => {\n if (useHover !== false) {\n setHover(false)\n }\n }\n\n /**\n * By stopping propagation, we allow the user to select text when Tooltip is used in the Slider component\n */\n const handlePropagation = (e: React.SyntheticEvent) =>\n e.stopPropagation()\n\n return (\n <span\n role=\"tooltip\"\n aria-hidden={target ? true : undefined} // make sure SR does not find it in the DOM, because we use \"aria-describedby\" for that\n ref={elementRef}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onMouseMove={handlePropagation}\n onMouseDown={handlePropagation}\n onTouchStart={handlePropagation}\n {...attributes}\n className={classnames(\n attributes?.className,\n isTrue(noAnimation) && 'dnb-tooltip--no-animation',\n isTrue(fixedPosition) && 'dnb-tooltip--fixed',\n isActive && 'dnb-tooltip--active',\n !isActive && wasActive && 'dnb-tooltip--hide'\n )}\n style={{ ...style, ...attributes.style }}\n >\n {arrow && (\n <span\n className={classnames(\n 'dnb-tooltip__arrow',\n `dnb-tooltip__arrow__arrow--${arrow}`,\n `dnb-tooltip__arrow__position--${position}`\n )}\n />\n )}\n\n <span id={internalId} className=\"dnb-tooltip__content\">\n {children}\n </span>\n </span>\n )\n}\n"],"mappings":"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"}
|
|
@@ -53,7 +53,7 @@ const Upload = localProps => {
|
|
|
53
53
|
files,
|
|
54
54
|
setFiles,
|
|
55
55
|
setInternalFiles,
|
|
56
|
-
|
|
56
|
+
getExistingFile
|
|
57
57
|
} = useUpload(id);
|
|
58
58
|
const filesRef = React.useRef(files);
|
|
59
59
|
React.useEffect(() => {
|
|
@@ -75,7 +75,7 @@ const Upload = localProps => {
|
|
|
75
75
|
const {
|
|
76
76
|
file
|
|
77
77
|
} = fileItem;
|
|
78
|
-
const existingFile =
|
|
78
|
+
const existingFile = getExistingFile(file, files);
|
|
79
79
|
fileItem.exists = Boolean(existingFile);
|
|
80
80
|
fileItem.id = fileItem.exists ? existingFile.id : makeUniqueId();
|
|
81
81
|
return fileItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Upload.js","names":["React","classnames","createSpacingClasses","Provider","Context","extendPropsWithContext","makeUniqueId","UploadFileInput","useUpload","UploadDropzone","UploadContext","defaultProps","verifyFiles","UploadFileList","UploadInfo","Upload","localProps","context","useContext","extendedProps","skeleton","getTranslation","id","className","acceptedFileTypes","filesAmountLimit","fileMaxSize","onChange","onFileDelete","title","text","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","buttonText","loadingText","errorLargeFile","errorUnsupportedFile","errorAmountLimit","deleteButton","fileListAriaLabel","props","_objectWithoutProperties","_excluded","spacingClasses","files","setFiles","setInternalFiles","
|
|
1
|
+
{"version":3,"file":"Upload.js","names":["React","classnames","createSpacingClasses","Provider","Context","extendPropsWithContext","makeUniqueId","UploadFileInput","useUpload","UploadDropzone","UploadContext","defaultProps","verifyFiles","UploadFileList","UploadInfo","Upload","localProps","context","useContext","extendedProps","skeleton","getTranslation","id","className","acceptedFileTypes","filesAmountLimit","fileMaxSize","onChange","onFileDelete","title","text","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","buttonText","loadingText","errorLargeFile","errorUnsupportedFile","errorAmountLimit","deleteButton","fileListAriaLabel","props","_objectWithoutProperties","_excluded","spacingClasses","files","setFiles","setInternalFiles","getExistingFile","filesRef","useRef","useEffect","current","createElement","value","_objectSpread","onInputUpload","_extends","_UploadInfo","_UploadFileInput","_UploadFileList","newFiles","mergedFiles","map","fileItem","file","existingFile","exists","Boolean","verifiedFiles","filter","validFiles","slice"],"sources":["../../../../src/components/upload/Upload.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\n\n// Shared\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Provider from '../../shared/Provider'\nimport Context from '../../shared/Context'\nimport {\n extendPropsWithContext,\n makeUniqueId,\n} from '../../shared/component-helper'\n\n// Internal\nimport UploadFileInput from './UploadFileInput'\nimport useUpload from './useUpload'\nimport UploadDropzone from './UploadDropzone'\nimport { UploadContext, defaultProps } from './UploadContext'\nimport { verifyFiles } from './UploadVerify'\n\nimport type { UploadFile, UploadAllProps } from './types'\nimport UploadFileList from './UploadFileList'\nimport UploadInfo from './UploadInfo'\n\nexport { defaultProps }\n\nconst Upload = (localProps: UploadAllProps) => {\n const context = React.useContext(Context)\n\n const extendedProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n context.getTranslation(localProps).Upload,\n context.Upload\n )\n\n const {\n id,\n skeleton,\n className,\n acceptedFileTypes,\n filesAmountLimit,\n fileMaxSize,\n onChange,\n onFileDelete, // eslint-disable-line\n title, // eslint-disable-line\n text, // eslint-disable-line\n fileTypeDescription, // eslint-disable-line\n fileSizeDescription, // eslint-disable-line\n fileAmountDescription, // eslint-disable-line\n fileSizeContent, // eslint-disable-line\n buttonText, // eslint-disable-line\n loadingText, // eslint-disable-line\n errorLargeFile,\n errorUnsupportedFile,\n errorAmountLimit, // eslint-disable-line\n deleteButton, // eslint-disable-line\n fileListAriaLabel, // eslint-disable-line\n ...props\n } = extendedProps\n\n const spacingClasses = createSpacingClasses(props)\n\n const { files, setFiles, setInternalFiles, getExistingFile } =\n useUpload(id)\n\n const filesRef = React.useRef<UploadFile[]>(files)\n React.useEffect(() => {\n filesRef.current = files\n }) // keep our ref updated on every re-render\n\n return (\n <UploadContext.Provider\n value={{\n ...extendedProps,\n id,\n onInputUpload,\n }}\n >\n <Provider skeleton={skeleton}>\n <UploadDropzone\n className={classnames('dnb-upload', spacingClasses, className)}\n {...props}\n >\n <UploadInfo />\n\n <UploadFileInput />\n\n <UploadFileList />\n </UploadDropzone>\n </Provider>\n </UploadContext.Provider>\n )\n\n function onInputUpload(newFiles: UploadFile[]) {\n const files = filesRef.current\n const mergedFiles = [\n ...files,\n ...newFiles.map((fileItem) => {\n const { file } = fileItem\n\n const existingFile = getExistingFile(file, files)\n\n fileItem.exists = Boolean(existingFile)\n fileItem.id = fileItem.exists ? existingFile.id : makeUniqueId()\n\n return fileItem\n }),\n ]\n\n const verifiedFiles = verifyFiles(\n mergedFiles.filter(({ exists }) => !exists),\n {\n fileMaxSize,\n acceptedFileTypes,\n errorUnsupportedFile,\n errorLargeFile,\n }\n )\n\n const validFiles = [...verifiedFiles].slice(0, filesAmountLimit)\n\n setFiles(validFiles)\n setInternalFiles(mergedFiles)\n\n if (typeof onChange === 'function') {\n onChange({ files: validFiles })\n }\n\n return validFiles\n }\n}\n\nUpload.useUpload = useUpload\n\nexport default Upload\n"],"mappings":";;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AAGnC,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,OAAOC,QAAQ,MAAM,uBAAuB;AAC5C,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SACEC,sBAAsB,EACtBC,YAAY,QACP,+BAA+B;AAGtC,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,SAAS,MAAM,aAAa;AACnC,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,SAASC,aAAa,EAAEC,YAAY,QAAQ,iBAAiB;AAC7D,SAASC,WAAW,QAAQ,gBAAgB;AAG5C,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,UAAU,MAAM,cAAc;AAErC,SAASH,YAAY;AAErB,MAAMI,MAAM,GAAIC,UAA0B,IAAK;EAC7C,MAAMC,OAAO,GAAGjB,KAAK,CAACkB,UAAU,CAACd,OAAO,CAAC;EAEzC,MAAMe,aAAa,GAAGd,sBAAsB,CAC1CW,UAAU,EACVL,YAAY,EACZ;IAAES,QAAQ,EAAEH,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEG;EAAS,CAAC,EAC/BH,OAAO,CAACI,cAAc,CAACL,UAAU,CAAC,CAACD,MAAM,EACzCE,OAAO,CAACF,MACV,CAAC;EAED,MAAM;MACJO,EAAE;MACFF,QAAQ;MACRG,SAAS;MACTC,iBAAiB;MACjBC,gBAAgB;MAChBC,WAAW;MACXC,QAAQ;MACRC,YAAY;MACZC,KAAK;MACLC,IAAI;MACJC,mBAAmB;MACnBC,mBAAmB;MACnBC,qBAAqB;MACrBC,eAAe;MACfC,UAAU;MACVC,WAAW;MACXC,cAAc;MACdC,oBAAoB;MACpBC,gBAAgB;MAChBC,YAAY;MACZC;IAEF,CAAC,GAAGtB,aAAa;IADZuB,KAAK,GAAAC,wBAAA,CACNxB,aAAa,EAAAyB,SAAA;EAEjB,MAAMC,cAAc,GAAG3C,oBAAoB,CAACwC,KAAK,CAAC;EAElD,MAAM;IAAEI,KAAK;IAAEC,QAAQ;IAAEC,gBAAgB;IAAEC;EAAgB,CAAC,GAC1DzC,SAAS,CAACc,EAAE,CAAC;EAEf,MAAM4B,QAAQ,GAAGlD,KAAK,CAACmD,MAAM,CAAeL,KAAK,CAAC;EAClD9C,KAAK,CAACoD,SAAS,CAAC,MAAM;IACpBF,QAAQ,CAACG,OAAO,GAAGP,KAAK;EAC1B,CAAC,CAAC;EAEF,OACE9C,KAAA,CAAAsD,aAAA,CAAC5C,aAAa,CAACP,QAAQ;IACrBoD,KAAK,EAAAC,aAAA,CAAAA,aAAA,KACArC,aAAa;MAChBG,EAAE;MACFmC;IAAa;EACb,GAEFzD,KAAA,CAAAsD,aAAA,CAACnD,QAAQ;IAACiB,QAAQ,EAAEA;EAAS,GAC3BpB,KAAA,CAAAsD,aAAA,CAAC7C,cAAc,EAAAiD,QAAA;IACbnC,SAAS,EAAEtB,UAAU,CAAC,YAAY,EAAE4C,cAAc,EAAEtB,SAAS;EAAE,GAC3DmB,KAAK,GAAAiB,WAAA,KAAAA,WAAA,GAET3D,KAAA,CAAAsD,aAAA,CAACxC,UAAU,MAAE,CAAC,GAAA8C,gBAAA,KAAAA,gBAAA,GAEd5D,KAAA,CAAAsD,aAAA,CAAC/C,eAAe,MAAE,CAAC,GAAAsD,eAAA,KAAAA,eAAA,GAEnB7D,KAAA,CAAAsD,aAAA,CAACzC,cAAc,MAAE,CAAC,CACJ,CACR,CACY,CAAC;EAG3B,SAAS4C,aAAaA,CAACK,QAAsB,EAAE;IAC7C,MAAMhB,KAAK,GAAGI,QAAQ,CAACG,OAAO;IAC9B,MAAMU,WAAW,GAAG,CAClB,GAAGjB,KAAK,EACR,GAAGgB,QAAQ,CAACE,GAAG,CAAEC,QAAQ,IAAK;MAC5B,MAAM;QAAEC;MAAK,CAAC,GAAGD,QAAQ;MAEzB,MAAME,YAAY,GAAGlB,eAAe,CAACiB,IAAI,EAAEpB,KAAK,CAAC;MAEjDmB,QAAQ,CAACG,MAAM,GAAGC,OAAO,CAACF,YAAY,CAAC;MACvCF,QAAQ,CAAC3C,EAAE,GAAG2C,QAAQ,CAACG,MAAM,GAAGD,YAAY,CAAC7C,EAAE,GAAGhB,YAAY,CAAC,CAAC;MAEhE,OAAO2D,QAAQ;IACjB,CAAC,CAAC,CACH;IAED,MAAMK,aAAa,GAAG1D,WAAW,CAC/BmD,WAAW,CAACQ,MAAM,CAAC,CAAC;MAAEH;IAAO,CAAC,KAAK,CAACA,MAAM,CAAC,EAC3C;MACE1C,WAAW;MACXF,iBAAiB;MACjBc,oBAAoB;MACpBD;IACF,CACF,CAAC;IAED,MAAMmC,UAAU,GAAG,CAAC,GAAGF,aAAa,CAAC,CAACG,KAAK,CAAC,CAAC,EAAEhD,gBAAgB,CAAC;IAEhEsB,QAAQ,CAACyB,UAAU,CAAC;IACpBxB,gBAAgB,CAACe,WAAW,CAAC;IAE7B,IAAI,OAAOpC,QAAQ,KAAK,UAAU,EAAE;MAClCA,QAAQ,CAAC;QAAEmB,KAAK,EAAE0B;MAAW,CAAC,CAAC;IACjC;IAEA,OAAOA,UAAU;EACnB;AACF,CAAC;AAEDzD,MAAM,CAACP,SAAS,GAAGA,SAAS;AAE5B,eAAeO,MAAM"}
|
|
@@ -4,7 +4,7 @@ export type useUploadReturn = {
|
|
|
4
4
|
setFiles: (files: UploadFile[]) => void;
|
|
5
5
|
internalFiles: UploadFile[];
|
|
6
6
|
setInternalFiles: (files: UploadFile[]) => void;
|
|
7
|
-
|
|
7
|
+
getExistingFile: (file: File, fileItems?: UploadFile[]) => UploadFile;
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
10
10
|
* Use together with Upload with the same id to manage the files from outside the component.
|
|
@@ -16,7 +16,7 @@ function useUpload(id) {
|
|
|
16
16
|
};
|
|
17
17
|
const files = (data === null || data === void 0 ? void 0 : data.files) || [];
|
|
18
18
|
const internalFiles = (data === null || data === void 0 ? void 0 : data.internalFiles) || [];
|
|
19
|
-
const
|
|
19
|
+
const getExistingFile = (file, fileItems = files) => {
|
|
20
20
|
return fileItems.find(({
|
|
21
21
|
file: f
|
|
22
22
|
}) => {
|
|
@@ -28,7 +28,7 @@ function useUpload(id) {
|
|
|
28
28
|
setFiles,
|
|
29
29
|
internalFiles,
|
|
30
30
|
setInternalFiles,
|
|
31
|
-
|
|
31
|
+
getExistingFile
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
export default useUpload;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUpload.js","names":["useEventEmitter","useUpload","id","data","update","setFiles","files","setInternalFiles","internalFiles","
|
|
1
|
+
{"version":3,"file":"useUpload.js","names":["useEventEmitter","useUpload","id","data","update","setFiles","files","setInternalFiles","internalFiles","getExistingFile","file","fileItems","find","f","name","size","lastModified"],"sources":["../../../../src/components/upload/useUpload.ts"],"sourcesContent":["import { useEventEmitter } from '../../shared/component-helper'\nimport type { UploadFile } from './types'\n\nexport type useUploadReturn = {\n files: UploadFile[]\n setFiles: (files: UploadFile[]) => void\n internalFiles: UploadFile[]\n setInternalFiles: (files: UploadFile[]) => void\n getExistingFile: (file: File, fileItems?: UploadFile[]) => UploadFile\n}\n\n/**\n * Use together with Upload with the same id to manage the files from outside the component.\n */\nfunction useUpload(id: string): useUploadReturn {\n const { data, update } = useEventEmitter(id)\n\n const setFiles = (files: UploadFile[]) => {\n update({ files })\n }\n\n const setInternalFiles = (internalFiles: UploadFile[]) => {\n update({ internalFiles })\n }\n\n const files = data?.files || []\n const internalFiles = data?.internalFiles || []\n\n const getExistingFile = (\n file: File,\n fileItems: UploadFile[] = files\n ) => {\n return fileItems.find(({ file: f }) => {\n return (\n f.name === file.name &&\n f.size === file.size &&\n f.lastModified === file.lastModified\n )\n })\n }\n\n return {\n files,\n setFiles,\n internalFiles,\n setInternalFiles,\n getExistingFile,\n }\n}\n\nexport default useUpload\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,+BAA+B;AAc/D,SAASC,SAASA,CAACC,EAAU,EAAmB;EAC9C,MAAM;IAAEC,IAAI;IAAEC;EAAO,CAAC,GAAGJ,eAAe,CAACE,EAAE,CAAC;EAE5C,MAAMG,QAAQ,GAAIC,KAAmB,IAAK;IACxCF,MAAM,CAAC;MAAEE;IAAM,CAAC,CAAC;EACnB,CAAC;EAED,MAAMC,gBAAgB,GAAIC,aAA2B,IAAK;IACxDJ,MAAM,CAAC;MAAEI;IAAc,CAAC,CAAC;EAC3B,CAAC;EAED,MAAMF,KAAK,GAAG,CAAAH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEG,KAAK,KAAI,EAAE;EAC/B,MAAME,aAAa,GAAG,CAAAL,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEK,aAAa,KAAI,EAAE;EAE/C,MAAMC,eAAe,GAAGA,CACtBC,IAAU,EACVC,SAAuB,GAAGL,KAAK,KAC5B;IACH,OAAOK,SAAS,CAACC,IAAI,CAAC,CAAC;MAAEF,IAAI,EAAEG;IAAE,CAAC,KAAK;MACrC,OACEA,CAAC,CAACC,IAAI,KAAKJ,IAAI,CAACI,IAAI,IACpBD,CAAC,CAACE,IAAI,KAAKL,IAAI,CAACK,IAAI,IACpBF,CAAC,CAACG,YAAY,KAAKN,IAAI,CAACM,YAAY;IAExC,CAAC,CAAC;EACJ,CAAC;EAED,OAAO;IACLV,KAAK;IACLD,QAAQ;IACRG,aAAa;IACbD,gBAAgB;IAChBE;EACF,CAAC;AACH;AAEA,eAAeR,SAAS"}
|
|
@@ -7,7 +7,7 @@ declare const Blockquote: React.ForwardRefExoticComponent<import("../../componen
|
|
|
7
7
|
space?: import("../../components/space/types").SpaceType | import("../../components/space/types").SpacingElementProps;
|
|
8
8
|
} & React.HTMLAttributes<HTMLElement> & {
|
|
9
9
|
/**
|
|
10
|
-
* Hides the blockquote background by making it
|
|
10
|
+
* Hides the blockquote background by making it transparent
|
|
11
11
|
*/
|
|
12
12
|
noBackground?: boolean;
|
|
13
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Blockquote.js","names":["React","classnames","E","Blockquote","forwardRef","_ref","ref","noBackground","direction","className","props","_objectWithoutProperties","_excluded","createElement","_extends","as","skeletonMethod","innerRef"],"sources":["../../../../src/elements/blockquote/Blockquote.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { SpacingProps } from '../../components/space/types'\nimport E from '../Element'\n\ntype BlockquoteProps = SpacingProps &\n React.HTMLAttributes<HTMLElement> & {\n /**\n * Hides the blockquote background by making it
|
|
1
|
+
{"version":3,"file":"Blockquote.js","names":["React","classnames","E","Blockquote","forwardRef","_ref","ref","noBackground","direction","className","props","_objectWithoutProperties","_excluded","createElement","_extends","as","skeletonMethod","innerRef"],"sources":["../../../../src/elements/blockquote/Blockquote.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { SpacingProps } from '../../components/space/types'\nimport E from '../Element'\n\ntype BlockquoteProps = SpacingProps &\n React.HTMLAttributes<HTMLElement> & {\n /**\n * Hides the blockquote background by making it transparent\n */\n noBackground?: boolean\n /**\n * Determines the flow direction of the content inside of blockquote. Can be either `horizontal` or `vertical`\n * Default: `horizontal`\n */\n direction?: 'horizontal' | 'vertical'\n }\n\nconst Blockquote = React.forwardRef(\n (\n {\n noBackground,\n direction = 'horizontal',\n className,\n ...props\n }: BlockquoteProps,\n ref\n ) => (\n <E\n as=\"blockquote\"\n skeletonMethod=\"font\"\n innerRef={ref}\n className={classnames(\n className,\n noBackground && 'dnb-blockquote--no-background',\n direction === 'vertical' && 'dnb-blockquote--top'\n )}\n {...props}\n />\n )\n)\n\nexport default Blockquote\n"],"mappings":";;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,CAAC,MAAM,YAAY;AAe1B,MAAMC,UAAU,GAAGH,KAAK,CAACI,UAAU,CACjC,CAAAC,IAAA,EAOEC,GAAG;EAAA,IANH;MACEC,YAAY;MACZC,SAAS,GAAG,YAAY;MACxBC;IAEe,CAAC,GAAAJ,IAAA;IADbK,KAAK,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA;EAAA,OAIVZ,KAAA,CAAAa,aAAA,CAACX,CAAC,EAAAY,QAAA;IACAC,EAAE,EAAC,YAAY;IACfC,cAAc,EAAC,MAAM;IACrBC,QAAQ,EAAEX,GAAI;IACdG,SAAS,EAAER,UAAU,CACnBQ,SAAS,EACTF,YAAY,IAAI,+BAA+B,EAC/CC,SAAS,KAAK,UAAU,IAAI,qBAC9B;EAAE,GACEE,KAAK,CACV,CAAC;AAAA,CAEN,CAAC;AAED,eAAeP,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Types.js","names":["daggy","createDaggy","DNB","taggedSum","Colored","Visa","Platinum","Mastercard","Default","Dark","CardType","None","BankAxept","White","Black","Gold","Black20","Gray","Saga","PB","ProductType","Pluss","Intro","Bedrift","Business","PrivateBanking","BankAxeptType","Types","TAG","VALUES","TYPE","RET_TYPE","TAGS","typeName","constructors","proto","cata","sum$cata","toString","sum$toString","tags","Object","keys","typeRep","constructor","typeRepToString","prototype","is","isType","forEach","tag","fields","tagProto","create","defProp","length","makeValue","sum$isUnit","makeConstructor","sum$isVariant","sum$ctrToString","from","makeConstructorFromObject","fs","idx","TypeError","apply","arrToString","variant","$sum$isVariant","val","Boolean","unit","$sum$isUnit","$isType","values","argumentsLength","obj","prop","desc","enumerable","writable","configurable","value","defineProperty","arr","str","String","a","arguments","b","c","d","e","f","g","h","i","j","field","hasOwnProperty","call","push"],"sources":["../../../../../src/extensions/payment-card/utils/Types.js"],"sourcesContent":["// import daggy from 'daggy';\n\nconst daggy = createDaggy()\n\nconst DNB = daggy.taggedSum('DNB', {\n Colored: ['color'],\n})\n\nconst Visa = daggy.taggedSum('Visa', {\n Colored: ['color'],\n Platinum: [],\n})\n\nconst Mastercard = daggy.taggedSum('Mastercard', {\n Default: [],\n Dark: [],\n})\n\nconst CardType = daggy.taggedSum('CardType', {\n Visa: [],\n Mastercard: [],\n None: [],\n})\n\nconst BankAxept = daggy.taggedSum('BankAxept', {\n White: [],\n Black: [],\n Gold: [],\n Black20: [],\n Gray: [],\n})\n\nconst Saga = daggy.taggedSum('Saga', {\n Gold: [],\n Platinum: [],\n None: [],\n})\n\n// PrivateBanking\nconst PB = daggy.taggedSum('PB', {\n Default: [],\n None: [],\n})\n\nconst ProductType = daggy.taggedSum('ProductType', {\n Saga: [],\n Pluss: [],\n Intro: [],\n Bedrift: [],\n Business: [],\n PrivateBanking: [],\n None: [],\n})\n\nconst BankAxeptType = daggy.taggedSum('BankAxeptType', {\n BankAxept: [],\n None: [],\n})\n\nexport {\n DNB,\n Saga,\n PB,\n Mastercard,\n ProductType,\n CardType,\n BankAxept,\n BankAxeptType,\n Visa,\n}\n\nconst Types = {\n DNB,\n Saga,\n PB,\n Mastercard,\n ProductType,\n CardType,\n BankAxept,\n BankAxeptType,\n Visa,\n}\n\nexport default Types\n\nfunction createDaggy() {\n // Names of prop used to store:\n // * name of variant of a sum type\n const TAG = '@@tag'\n // * array of arguments used to create a value (to speed up `cata`)\n const VALUES = '@@values'\n // * `@@type` of its returned results\n const TYPE = '@@type'\n // * `@@type` of variant constructor's returned results\n const RET_TYPE = '@@ret_type'\n // * names of all variants of a sum type\n const TAGS = '@@tags'\n\n function taggedSum(typeName, constructors) {\n const proto = { cata: sum$cata, toString: sum$toString }\n const tags = Object.keys(constructors)\n const typeRep = (proto.constructor = {\n toString: typeRepToString,\n prototype: proto,\n is: isType(typeName),\n '@@type': typeName,\n '@@tags': tags,\n })\n tags.forEach(function (tag) {\n const fields = constructors[tag]\n const tagProto = Object.create(proto)\n defProp(tagProto, TAG, tag)\n if (fields.length === 0) {\n typeRep[tag] = makeValue(fields, tagProto, [], 0)\n typeRep[tag].is = sum$isUnit(typeRep[tag])\n return\n }\n typeRep[tag] = makeConstructor(fields, tagProto)\n typeRep[tag].is = sum$isVariant(typeRep[tag])\n typeRep[tag][TAG] = tag\n typeRep[tag][RET_TYPE] = typeName\n typeRep[tag].toString = sum$ctrToString\n typeRep[tag].from = makeConstructorFromObject(fields, tagProto)\n })\n return typeRep\n }\n\n function sum$cata(fs) {\n const tags = this.constructor[TAGS]\n let tag\n for (let idx = 0; idx < tags.length; idx += 1) {\n tag = tags[idx]\n if (!fs[tag]) {\n throw new TypeError(\n \"Constructors given to cata didn't include: \" + tag\n )\n }\n }\n return fs[this[TAG]].apply(fs, this[VALUES])\n }\n\n function sum$ctrToString() {\n return this[RET_TYPE] + '.' + this[TAG]\n }\n\n function sum$toString() {\n return (\n this.constructor[TYPE] + '.' + this[TAG] + arrToString(this[VALUES])\n )\n }\n\n function typeRepToString() {\n return this[TYPE]\n }\n\n // function tagged$toString() {\n // return this.constructor[TYPE] + arrToString(this[VALUES])\n // }\n\n function sum$isVariant(variant) {\n return function $sum$isVariant(val) {\n return (\n Boolean(val) &&\n variant[TAG] === val[TAG] &&\n variant[RET_TYPE] === typeof val\n )\n }\n }\n\n function sum$isUnit(unit) {\n return function $sum$isUnit(val) {\n return (\n unit === val ||\n (Boolean(val) &&\n unit[TAG] === val[TAG] &&\n typeof unit === typeof val)\n )\n }\n }\n\n function isType(typeName) {\n return function $isType(val) {\n return typeName === typeof val\n }\n }\n\n function makeValue(fields, proto, values, argumentsLength) {\n if (argumentsLength !== fields.length) {\n throw new TypeError(\n 'Expected ' + fields.length + ' arguments, got ' + argumentsLength\n )\n }\n const obj = Object.create(proto)\n defProp(obj, VALUES, values)\n for (let idx = 0; idx < fields.length; idx += 1) {\n obj[fields[idx]] = values[idx]\n }\n return obj\n }\n\n // adopted version of withValue from https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty\n function defProp(obj, prop, val) {\n const desc =\n defProp.desc ||\n (defProp.desc = {\n enumerable: false,\n writable: false,\n configurable: false,\n value: null,\n })\n desc.value = val\n Object.defineProperty(obj, prop, desc)\n }\n\n // optimised version of `arr.map(toString).join(', ')`\n function arrToString(arr) {\n if (arr.length === 0) return ''\n let str = '(' + String(arr[0])\n for (let idx = 1; idx < arr.length; idx += 1) {\n str = str + ', ' + String(arr[idx])\n }\n return str + ')'\n }\n\n function makeConstructor(fields, proto) {\n switch (fields.length) {\n /* eslint-disable max-len */\n case 1:\n return function (a) {\n return makeValue(fields, proto, [a], arguments.length)\n }\n case 2:\n return function (a, b) {\n return makeValue(fields, proto, [a, b], arguments.length)\n }\n case 3:\n return function (a, b, c) {\n return makeValue(fields, proto, [a, b, c], arguments.length)\n }\n case 4:\n return function (a, b, c, d) {\n return makeValue(fields, proto, [a, b, c, d], arguments.length)\n }\n case 5:\n return function (a, b, c, d, e) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e],\n arguments.length\n )\n }\n case 6:\n return function (a, b, c, d, e, f) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f],\n arguments.length\n )\n }\n case 7:\n return function (a, b, c, d, e, f, g) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f, g],\n arguments.length\n )\n }\n case 8:\n return function (a, b, c, d, e, f, g, h) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f, g, h],\n arguments.length\n )\n }\n case 9:\n return function (a, b, c, d, e, f, g, h, i) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f, g, h, i],\n arguments.length\n )\n }\n case 10:\n return function (a, b, c, d, e, f, g, h, i, j) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f, g, h, i, j],\n arguments.length\n )\n }\n /* eslint-enable max-len */\n default:\n return Object.defineProperty(\n function () {\n return makeValue(fields, proto, arguments, arguments.length)\n },\n 'length',\n { value: fields.length }\n )\n }\n }\n\n function makeConstructorFromObject(fields, proto) {\n return function (obj) {\n const values = []\n for (let idx = 0; idx < fields.length; idx += 1) {\n const field = fields[idx]\n if (!Object.prototype.hasOwnProperty.call(obj, field)) {\n throw new TypeError('Missing field: ' + field)\n }\n values.push(obj[field])\n }\n return makeValue(fields, proto, values, values.length)\n }\n }\n\n return { taggedSum }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Types.js","names":["daggy","createDaggy","DNB","taggedSum","Colored","Visa","Platinum","Mastercard","Default","Dark","CardType","None","BankAxept","White","Black","Gold","Black20","Gray","Saga","PB","ProductType","Pluss","Intro","Bedrift","Business","PrivateBanking","BankAxeptType","Types","TAG","VALUES","TYPE","RET_TYPE","TAGS","typeName","constructors","proto","cata","sum$cata","toString","sum$toString","tags","Object","keys","typeRep","constructor","typeRepToString","prototype","is","isType","forEach","tag","fields","tagProto","create","defProp","length","makeValue","sum$isUnit","makeConstructor","sum$isVariant","sum$ctrToString","from","makeConstructorFromObject","fs","idx","TypeError","apply","arrToString","variant","$sum$isVariant","val","Boolean","unit","$sum$isUnit","$isType","values","argumentsLength","obj","prop","desc","enumerable","writable","configurable","value","defineProperty","arr","str","String","a","arguments","b","c","d","e","f","g","h","i","j","field","hasOwnProperty","call","push"],"sources":["../../../../../src/extensions/payment-card/utils/Types.js"],"sourcesContent":["// import daggy from 'daggy';\n\nconst daggy = createDaggy()\n\nconst DNB = daggy.taggedSum('DNB', {\n Colored: ['color'],\n})\n\nconst Visa = daggy.taggedSum('Visa', {\n Colored: ['color'],\n Platinum: [],\n})\n\nconst Mastercard = daggy.taggedSum('Mastercard', {\n Default: [],\n Dark: [],\n})\n\nconst CardType = daggy.taggedSum('CardType', {\n Visa: [],\n Mastercard: [],\n None: [],\n})\n\nconst BankAxept = daggy.taggedSum('BankAxept', {\n White: [],\n Black: [],\n Gold: [],\n Black20: [],\n Gray: [],\n})\n\nconst Saga = daggy.taggedSum('Saga', {\n Gold: [],\n Platinum: [],\n None: [],\n})\n\n// PrivateBanking\nconst PB = daggy.taggedSum('PB', {\n Default: [],\n None: [],\n})\n\nconst ProductType = daggy.taggedSum('ProductType', {\n Saga: [],\n Pluss: [],\n Intro: [],\n Bedrift: [],\n Business: [],\n PrivateBanking: [],\n None: [],\n})\n\nconst BankAxeptType = daggy.taggedSum('BankAxeptType', {\n BankAxept: [],\n None: [],\n})\n\nexport {\n DNB,\n Saga,\n PB,\n Mastercard,\n ProductType,\n CardType,\n BankAxept,\n BankAxeptType,\n Visa,\n}\n\nconst Types = {\n DNB,\n Saga,\n PB,\n Mastercard,\n ProductType,\n CardType,\n BankAxept,\n BankAxeptType,\n Visa,\n}\n\nexport default Types\n\nfunction createDaggy() {\n // Names of prop used to store:\n // * name of variant of a sum type\n const TAG = '@@tag'\n // * array of arguments used to create a value (to speed up `cata`)\n const VALUES = '@@values'\n // * `@@type` of its returned results\n const TYPE = '@@type'\n // * `@@type` of variant constructor's returned results\n const RET_TYPE = '@@ret_type'\n // * names of all variants of a sum type\n const TAGS = '@@tags'\n\n function taggedSum(typeName, constructors) {\n const proto = { cata: sum$cata, toString: sum$toString }\n const tags = Object.keys(constructors)\n const typeRep = (proto.constructor = {\n toString: typeRepToString,\n prototype: proto,\n is: isType(typeName),\n '@@type': typeName,\n '@@tags': tags,\n })\n tags.forEach(function (tag) {\n const fields = constructors[tag]\n const tagProto = Object.create(proto)\n defProp(tagProto, TAG, tag)\n if (fields.length === 0) {\n typeRep[tag] = makeValue(fields, tagProto, [], 0)\n typeRep[tag].is = sum$isUnit(typeRep[tag])\n return\n }\n typeRep[tag] = makeConstructor(fields, tagProto)\n typeRep[tag].is = sum$isVariant(typeRep[tag])\n typeRep[tag][TAG] = tag\n typeRep[tag][RET_TYPE] = typeName\n typeRep[tag].toString = sum$ctrToString\n typeRep[tag].from = makeConstructorFromObject(fields, tagProto)\n })\n return typeRep\n }\n\n function sum$cata(fs) {\n const tags = this.constructor[TAGS]\n let tag\n for (let idx = 0; idx < tags.length; idx += 1) {\n tag = tags[idx]\n if (!fs[tag]) {\n throw new TypeError(\n \"Constructors given to cata didn't include: \" + tag\n )\n }\n }\n return fs[this[TAG]].apply(fs, this[VALUES])\n }\n\n function sum$ctrToString() {\n return this[RET_TYPE] + '.' + this[TAG]\n }\n\n function sum$toString() {\n return (\n this.constructor[TYPE] + '.' + this[TAG] + arrToString(this[VALUES])\n )\n }\n\n function typeRepToString() {\n return this[TYPE]\n }\n\n // function tagged$toString() {\n // return this.constructor[TYPE] + arrToString(this[VALUES])\n // }\n\n function sum$isVariant(variant) {\n return function $sum$isVariant(val) {\n return (\n Boolean(val) &&\n variant[TAG] === val[TAG] &&\n variant[RET_TYPE] === typeof val\n )\n }\n }\n\n function sum$isUnit(unit) {\n return function $sum$isUnit(val) {\n return (\n unit === val ||\n (Boolean(val) &&\n unit[TAG] === val[TAG] &&\n typeof unit === typeof val)\n )\n }\n }\n\n function isType(typeName) {\n return function $isType(val) {\n return typeName === typeof val\n }\n }\n\n function makeValue(fields, proto, values, argumentsLength) {\n if (argumentsLength !== fields.length) {\n throw new TypeError(\n 'Expected ' + fields.length + ' arguments, got ' + argumentsLength\n )\n }\n const obj = Object.create(proto)\n defProp(obj, VALUES, values)\n for (let idx = 0; idx < fields.length; idx += 1) {\n obj[fields[idx]] = values[idx]\n }\n return obj\n }\n\n // adopted version of withValue from https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty\n function defProp(obj, prop, val) {\n const desc =\n defProp.desc ||\n (defProp.desc = {\n enumerable: false,\n writable: false,\n configurable: false,\n value: null,\n })\n desc.value = val\n Object.defineProperty(obj, prop, desc)\n }\n\n // optimized version of `arr.map(toString).join(', ')`\n function arrToString(arr) {\n if (arr.length === 0) return ''\n let str = '(' + String(arr[0])\n for (let idx = 1; idx < arr.length; idx += 1) {\n str = str + ', ' + String(arr[idx])\n }\n return str + ')'\n }\n\n function makeConstructor(fields, proto) {\n switch (fields.length) {\n /* eslint-disable max-len */\n case 1:\n return function (a) {\n return makeValue(fields, proto, [a], arguments.length)\n }\n case 2:\n return function (a, b) {\n return makeValue(fields, proto, [a, b], arguments.length)\n }\n case 3:\n return function (a, b, c) {\n return makeValue(fields, proto, [a, b, c], arguments.length)\n }\n case 4:\n return function (a, b, c, d) {\n return makeValue(fields, proto, [a, b, c, d], arguments.length)\n }\n case 5:\n return function (a, b, c, d, e) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e],\n arguments.length\n )\n }\n case 6:\n return function (a, b, c, d, e, f) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f],\n arguments.length\n )\n }\n case 7:\n return function (a, b, c, d, e, f, g) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f, g],\n arguments.length\n )\n }\n case 8:\n return function (a, b, c, d, e, f, g, h) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f, g, h],\n arguments.length\n )\n }\n case 9:\n return function (a, b, c, d, e, f, g, h, i) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f, g, h, i],\n arguments.length\n )\n }\n case 10:\n return function (a, b, c, d, e, f, g, h, i, j) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f, g, h, i, j],\n arguments.length\n )\n }\n /* eslint-enable max-len */\n default:\n return Object.defineProperty(\n function () {\n return makeValue(fields, proto, arguments, arguments.length)\n },\n 'length',\n { value: fields.length }\n )\n }\n }\n\n function makeConstructorFromObject(fields, proto) {\n return function (obj) {\n const values = []\n for (let idx = 0; idx < fields.length; idx += 1) {\n const field = fields[idx]\n if (!Object.prototype.hasOwnProperty.call(obj, field)) {\n throw new TypeError('Missing field: ' + field)\n }\n values.push(obj[field])\n }\n return makeValue(fields, proto, values, values.length)\n }\n }\n\n return { taggedSum }\n}\n"],"mappings":"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"}
|