@dnb/eufemia 10.51.0 → 10.51.1
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/dropdown/Dropdown.js +1 -1
- package/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/cjs/components/dropdown/style/dnb-dropdown.css +7 -6
- package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/cjs/components/dropdown/style/dnb-dropdown.scss +17 -17
- package/cjs/components/icon/Icon.d.ts +1 -1
- package/cjs/components/icon/Icon.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.d.ts +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.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/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +7 -6
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +7 -6
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +7 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +7 -6
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/components/dropdown/Dropdown.js +1 -1
- package/components/dropdown/Dropdown.js.map +1 -1
- package/components/dropdown/style/dnb-dropdown.css +7 -6
- package/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/components/dropdown/style/dnb-dropdown.scss +17 -17
- package/components/icon/Icon.d.ts +1 -1
- package/components/icon/Icon.js.map +1 -1
- package/es/components/dropdown/Dropdown.js +1 -1
- package/es/components/dropdown/Dropdown.js.map +1 -1
- package/es/components/dropdown/style/dnb-dropdown.css +7 -6
- package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/es/components/dropdown/style/dnb-dropdown.scss +17 -17
- package/es/components/icon/Icon.d.ts +1 -1
- package/es/components/icon/Icon.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useData.d.ts +1 -1
- package/es/extensions/forms/Form/data-context/useData.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/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +7 -6
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +7 -6
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +7 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +7 -6
- package/es/style/themes/theme-ui/ui-theme-components.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 +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/Form/data-context/useData.d.ts +1 -1
- package/extensions/forms/Form/data-context/useData.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/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +7 -6
- package/style/dnb-ui-components.min.css +1 -1
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +7 -6
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +7 -6
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +7 -6
- package/style/themes/theme-ui/ui-theme-components.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
|
@@ -435,7 +435,7 @@ class DropdownInstance extends React.PureComponent {
|
|
|
435
435
|
id: id,
|
|
436
436
|
role: handleAsMenu ? 'menu' : 'listbox',
|
|
437
437
|
portal_class: portal_class,
|
|
438
|
-
list_class: "dnb-dropdown__list",
|
|
438
|
+
list_class: 'dnb-dropdown__list' + (variant === 'tertiary' ? " dnb-dropdown__list--tertiary" : ""),
|
|
439
439
|
value: selected_item,
|
|
440
440
|
default_value: default_value,
|
|
441
441
|
scrollable: scrollable,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.js","names":["React","PropTypes","classnames","keycode","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","combineLabelledBy","dispatchCustomElementEvent","AlignmentHelper","spacingPropTypes","createSpacingClasses","pickFormElementProps","Suffix","Icon","FormLabel","FormStatus","Button","buttonVariantPropType","DrawerList","DrawerListContext","DrawerListProvider","drawerListPropTypes","drawerListProviderPropTypes","parseContentTitle","getCurrentData","Dropdown","PureComponent","render","id","props","more_menu","action_menu","prevent_selection","children","data","createElement","_extends","opened","tagName","ignore_events","DropdownInstance","_defineProperty","title","variant","icon","icon_size","icon_position","triangle_position","label","label_direction","label_sr_only","status","status_state","status_props","status_no_animation","globalStatus","innerRef","buttonRef","suffix","scrollable","focusable","max_height","direction","skip_portal","portal_class","no_animation","no_scroll_animation","independent_width","size","align_dropdown","trigger_element","default_value","value","open_on_focus","prevent_close","keep_open","disabled","stretch","skeleton","className","on_show","on_hide","on_change","on_select","on_state_update","process","env","NODE_ENV","propTypes","_objectSpread","string","oneOfType","node","func","oneOf","bool","object","shape","message","number","arrayOf","selectedKey","selected_key","selected_value","content","array","constructor","_this","this","context","drawerList","setWrapperElement","_refWrapper","current","setVisible","setHidden","arguments","hidden","isOpen","e","preventDefault","args","length","undefined","attributes","res","setFocus","clearTimeout","_focusTimeout","setTimeout","element","_refButton","focus","preventHideFocus","preventScroll","parseFloat","active_item","_id","state","_ref","createRef","componentDidMount","componentWillUnmount","getTitle","currentOptionData","selected_item","_this$context","_this$context2","_this$context3","defaultProps","getTranslation","FormRow","formElement","fixed_position","enable_body_lock","CustomTrigger","_title","_icon","_align_dropdown","_icon_position","_data","_children","_direction","_opened","_value","_objectWithoutProperties","_excluded","handleAsMenu","isPopupMenu","showStatus","Object","assign","mainParams","triggerParams","onFocus","onFocusHandler","onBlur","onBlurHandler","onClick","onClickHandler","onKeyDown","onTriggerKeyDownHandler","ref","for_id","text","sr_only","_AlignmentHelper","show","text_id","custom_content","Fragment","role","list_class","is_popup","align_drawer","onChangeHandler","onSelectHandler","onHideHandler","HorizontalItem","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/dropdown/Dropdown.js"],"sourcesContent":["/**\n * Web Dropdown Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n combineLabelledBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\nimport Suffix from '../../shared/helpers/Suffix'\nimport Icon from '../icon-primary/IconPrimary'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport Button, { buttonVariantPropType } from '../button/Button'\nimport DrawerList from '../../fragments/drawer-list/DrawerList'\nimport DrawerListContext from '../../fragments/drawer-list/DrawerListContext'\nimport DrawerListProvider from '../../fragments/drawer-list/DrawerListProvider'\nimport {\n drawerListPropTypes,\n drawerListProviderPropTypes,\n parseContentTitle,\n getCurrentData,\n} from '../../fragments/drawer-list/DrawerListHelpers'\n\nexport default class Dropdown extends React.PureComponent {\n static propTypes = {\n ...spacingPropTypes,\n ...drawerListPropTypes,\n ...drawerListProviderPropTypes,\n\n id: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n variant: buttonVariantPropType.variant,\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.string,\n icon_position: PropTypes.oneOf(['left', 'right']),\n triangle_position: PropTypes.oneOf(['left', 'right']),\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 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 innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n buttonRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\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 scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n max_height: PropTypes.number,\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n more_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n align_dropdown: PropTypes.oneOf(['left', 'right']),\n trigger_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n default_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n open_on_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n on_change: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n title: 'Option Menu',\n variant: 'secondary',\n icon: null,\n icon_size: null,\n icon_position: null,\n triangle_position: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n innerRef: null,\n buttonRef: null,\n suffix: null,\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n skip_portal: null,\n portal_class: null,\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n more_menu: false,\n action_menu: false,\n independent_width: false,\n size: 'default',\n align_dropdown: null,\n trigger_element: null,\n data: null,\n default_value: null,\n value: 'initval',\n open_on_focus: false,\n prevent_close: false,\n keep_open: false,\n opened: false,\n disabled: null,\n stretch: null,\n skeleton: null,\n\n className: null,\n children: null,\n\n on_show: null,\n on_hide: null,\n\n on_change: null,\n on_select: null,\n on_state_update: null,\n }\n\n render() {\n // generate ID here, so we can send it along the provider\n const id = this.props.id || makeUniqueId()\n const { more_menu, action_menu, prevent_selection, children, data } =\n this.props\n\n return (\n <DrawerListProvider\n {...this.props}\n id={id}\n data={data || children}\n opened={null}\n tagName=\"dnb-dropdown\"\n ignore_events={false}\n prevent_selection={\n isTrue(more_menu) ||\n isTrue(action_menu) ||\n isTrue(prevent_selection)\n }\n >\n <DropdownInstance {...this.props} id={id} />\n </DrawerListProvider>\n )\n }\n}\n\nclass DropdownInstance extends React.PureComponent {\n static propTypes = Dropdown.propTypes\n static defaultProps = Dropdown.defaultProps\n static contextType = DrawerListContext\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n\n this.attributes = {}\n this.state = this.state || {}\n\n this._ref = props.innerRef || React.createRef()\n this._refWrapper = React.createRef()\n this._refButton = props.buttonRef || React.createRef()\n }\n\n componentDidMount() {\n if (isTrue(this.props.opened)) {\n this.setVisible()\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._focusTimeout)\n }\n\n setVisible = () => {\n this.context.drawerList\n .setWrapperElement(this._refWrapper.current)\n .setVisible()\n }\n\n setHidden = (...args) => {\n this.context.drawerList.setHidden(...args)\n }\n\n onFocusHandler = () => {\n if (isTrue(this.props.open_on_focus)) {\n this.setVisible()\n }\n }\n\n onBlurHandler = () => {\n if (isTrue(this.props.open_on_focus)) {\n this.setHidden()\n }\n }\n\n onClickHandler = () => {\n if (isTrue(this.props.disabled)) {\n return // stop here\n }\n if (\n !this.context.drawerList.hidden &&\n this.context.drawerList.isOpen\n ) {\n this.setHidden()\n } else {\n this.setVisible()\n }\n }\n\n onTriggerKeyDownHandler = (e) => {\n switch (keycode(e)) {\n case 'enter':\n case 'space':\n e.preventDefault()\n this.setVisible()\n break\n\n case 'up':\n case 'down':\n e.preventDefault()\n this.setVisible()\n\n break\n\n case 'esc':\n this.setHidden()\n break\n\n case 'home':\n case 'end':\n case 'page down':\n case 'page up':\n e.preventDefault()\n break\n }\n }\n\n onHideHandler = (args = {}) => {\n const attributes = this.attributes || {}\n const res = dispatchCustomElementEvent(this, 'on_hide', {\n ...args,\n attributes,\n })\n\n if (res !== false) {\n this.setFocus(args)\n }\n\n return res\n }\n\n setFocus = (args) => {\n clearTimeout(this._focusTimeout)\n this._focusTimeout = setTimeout(() => {\n try {\n const element = this._refButton.current\n if (element && typeof element.focus === 'function') {\n if (args.preventHideFocus !== true) {\n element.focus({ preventScroll: true })\n }\n dispatchCustomElementEvent(this, 'on_hide_focus', { element })\n }\n } catch (e) {\n // do noting\n }\n }, 1) // NVDA / Firefox needs a delay to set this focus\n }\n\n onSelectHandler = (args) => {\n if (parseFloat(args.active_item) > -1) {\n const attributes = this.attributes || {}\n dispatchCustomElementEvent(this, 'on_select', {\n ...args,\n attributes,\n })\n }\n }\n\n onChangeHandler = (args) => {\n const attributes = this.attributes || {}\n dispatchCustomElementEvent(this, 'on_change', {\n ...args,\n attributes,\n })\n }\n\n getTitle(title = null) {\n const { data } = this.context.drawerList\n if (data && data.length > 0) {\n const currentOptionData = getCurrentData(\n this.context.drawerList.selected_item,\n data\n )\n if (currentOptionData) {\n title =\n currentOptionData.selected_value ||\n parseContentTitle(currentOptionData)\n }\n }\n return title\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Dropdown.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Dropdown,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Dropdown\n )\n\n const {\n label,\n label_direction,\n label_sr_only,\n icon_size,\n size,\n fixed_position,\n enable_body_lock,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n scrollable,\n focusable,\n keep_open,\n prevent_close,\n no_animation,\n no_scroll_animation,\n triangle_position,\n skip_portal,\n portal_class,\n trigger_element: CustomTrigger,\n more_menu,\n action_menu,\n independent_width,\n prevent_selection,\n max_height,\n default_value,\n className,\n disabled,\n stretch,\n skeleton,\n variant,\n\n title: _title,\n icon: _icon, // eslint-disable-line\n align_dropdown: _align_dropdown, // eslint-disable-line\n icon_position: _icon_position, // eslint-disable-line\n data: _data, // eslint-disable-line\n children: _children, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n id: _id, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n value: _value, // eslint-disable-line\n buttonRef, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...attributes\n } = props\n\n let { icon, icon_position, align_dropdown } = props\n const id = this._id\n\n const handleAsMenu =\n isTrue(action_menu) || isTrue(more_menu) || isTrue(prevent_selection)\n const isPopupMenu = isTrue(more_menu) || !(_title && _title.length > 0)\n if (isPopupMenu) {\n icon = icon || (isTrue(more_menu) ? 'more' : 'chevron_down')\n }\n if (isPopupMenu || isTrue(action_menu)) {\n if (icon_position !== 'right' && align_dropdown !== 'right') {\n icon_position = 'left'\n align_dropdown = 'left'\n }\n }\n\n const { selected_item, direction, opened } = this.context.drawerList\n const showStatus = getStatusState(status)\n const title = this.getTitle(_title)\n\n // make it possible to grab the rest attributes and return it with all events\n Object.assign(\n this.context.drawerList.attributes,\n validateDOMAttributes(null, attributes)\n )\n\n const mainParams = {\n className: classnames(\n 'dnb-dropdown',\n `dnb-dropdown--${direction}`,\n opened && 'dnb-dropdown--opened',\n label_direction && `dnb-dropdown--${label_direction}`,\n `dnb-dropdown--icon-position-${icon_position || 'right'}`,\n isPopupMenu && 'dnb-dropdown--is-popup',\n isTrue(action_menu) && `dnb-dropdown--action-menu`,\n (isTrue(independent_width) || isTrue(action_menu)) &&\n 'dnb-dropdown--independent-width',\n size && `dnb-dropdown--${size}`,\n isTrue(stretch) && `dnb-dropdown--stretch`,\n `dnb-dropdown--${align_dropdown || 'right'}`,\n status && `dnb-dropdown__status--${status_state}`,\n showStatus && 'dnb-dropdown__form-status',\n 'dnb-form-component',\n createSpacingClasses(props),\n className\n ),\n }\n\n const triggerParams = {\n className: classnames(\n 'dnb-dropdown__trigger',\n opened && 'dnb-button--active'\n ),\n id,\n disabled,\n 'aria-haspopup': handleAsMenu ? true : 'listbox',\n 'aria-expanded': opened,\n ...attributes,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n onClick: this.onClickHandler,\n onKeyDown: this.onTriggerKeyDownHandler,\n }\n\n if (opened) {\n triggerParams['aria-controls'] = `${id}-ul`\n }\n\n if (showStatus || suffix) {\n triggerParams['aria-describedby'] = combineDescribedBy(\n triggerParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n\n if (label) {\n triggerParams['aria-labelledby'] = combineLabelledBy(\n triggerParams,\n id + '-label',\n id // used to read the current value\n )\n }\n\n // also used for code markup simulation\n validateDOMAttributes(null, mainParams)\n validateDOMAttributes(this.props, triggerParams)\n\n // make it possible to grab the rest attributes and return it with all events\n this.attributes = validateDOMAttributes(null, attributes)\n\n return (\n <span ref={this._ref} {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n label_direction={label_direction}\n sr_only={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n onClick={this.onClickHandler}\n />\n )}\n\n <span className=\"dnb-dropdown__inner\" ref={this._refWrapper}>\n <AlignmentHelper />\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-dropdown__row\">\n <span className=\"dnb-dropdown__shell\">\n {CustomTrigger ? (\n <CustomTrigger {...triggerParams} />\n ) : (\n <Button\n variant={variant}\n icon={false} // only to suppress the warning about the icon when tertiary variant is used\n size={size === 'default' ? 'medium' : size}\n innerRef={this._refButton}\n custom_content={\n <>\n {!isPopupMenu && (\n <span className=\"dnb-dropdown__text dnb-button__text\">\n <span className=\"dnb-dropdown__text__inner\">\n {title}\n </span>\n </span>\n )}\n <span\n aria-hidden\n className={classnames(\n 'dnb-dropdown__icon',\n parseFloat(selected_item) === 0 &&\n 'dnb-dropdown__icon--first'\n )}\n >\n {icon !== false && (\n <Icon\n icon={icon || 'chevron_down'}\n size={\n icon_size ||\n (size === 'large' ? 'medium' : 'default')\n }\n />\n )}\n </span>\n </>\n }\n {...triggerParams}\n />\n )}\n\n <DrawerList\n id={id}\n role={handleAsMenu ? 'menu' : 'listbox'}\n portal_class={portal_class}\n list_class=\"dnb-dropdown__list\"\n value={selected_item}\n default_value={default_value}\n scrollable={scrollable}\n focusable={focusable}\n no_animation={no_animation}\n no_scroll_animation={no_scroll_animation}\n skip_portal={skip_portal}\n prevent_selection={handleAsMenu}\n action_menu={action_menu}\n triangle_position={\n triangle_position || icon_position || 'right'\n }\n keep_open={keep_open}\n prevent_close={prevent_close}\n independent_width={\n isTrue(independent_width) || isPopupMenu || action_menu\n }\n is_popup={isPopupMenu || action_menu}\n align_drawer={align_dropdown || 'left'}\n fixed_position={fixed_position}\n enable_body_lock={enable_body_lock}\n disabled={disabled}\n max_height={max_height}\n direction={direction}\n size={size}\n on_change={this.onChangeHandler}\n on_select={this.onSelectHandler}\n on_hide={this.onHideHandler}\n />\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-dropdown__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n onClick={this.setHidden}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }\n}\n\nDropdown.HorizontalItem = DrawerList.HorizontalItem\nDropdown._formElement = true\nDropdown._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dropdown.js","names":["React","PropTypes","classnames","keycode","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","combineLabelledBy","dispatchCustomElementEvent","AlignmentHelper","spacingPropTypes","createSpacingClasses","pickFormElementProps","Suffix","Icon","FormLabel","FormStatus","Button","buttonVariantPropType","DrawerList","DrawerListContext","DrawerListProvider","drawerListPropTypes","drawerListProviderPropTypes","parseContentTitle","getCurrentData","Dropdown","PureComponent","render","id","props","more_menu","action_menu","prevent_selection","children","data","createElement","_extends","opened","tagName","ignore_events","DropdownInstance","_defineProperty","title","variant","icon","icon_size","icon_position","triangle_position","label","label_direction","label_sr_only","status","status_state","status_props","status_no_animation","globalStatus","innerRef","buttonRef","suffix","scrollable","focusable","max_height","direction","skip_portal","portal_class","no_animation","no_scroll_animation","independent_width","size","align_dropdown","trigger_element","default_value","value","open_on_focus","prevent_close","keep_open","disabled","stretch","skeleton","className","on_show","on_hide","on_change","on_select","on_state_update","process","env","NODE_ENV","propTypes","_objectSpread","string","oneOfType","node","func","oneOf","bool","object","shape","message","number","arrayOf","selectedKey","selected_key","selected_value","content","array","constructor","_this","this","context","drawerList","setWrapperElement","_refWrapper","current","setVisible","setHidden","arguments","hidden","isOpen","e","preventDefault","args","length","undefined","attributes","res","setFocus","clearTimeout","_focusTimeout","setTimeout","element","_refButton","focus","preventHideFocus","preventScroll","parseFloat","active_item","_id","state","_ref","createRef","componentDidMount","componentWillUnmount","getTitle","currentOptionData","selected_item","_this$context","_this$context2","_this$context3","defaultProps","getTranslation","FormRow","formElement","fixed_position","enable_body_lock","CustomTrigger","_title","_icon","_align_dropdown","_icon_position","_data","_children","_direction","_opened","_value","_objectWithoutProperties","_excluded","handleAsMenu","isPopupMenu","showStatus","Object","assign","mainParams","triggerParams","onFocus","onFocusHandler","onBlur","onBlurHandler","onClick","onClickHandler","onKeyDown","onTriggerKeyDownHandler","ref","for_id","text","sr_only","_AlignmentHelper","show","text_id","custom_content","Fragment","role","list_class","is_popup","align_drawer","onChangeHandler","onSelectHandler","onHideHandler","HorizontalItem","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/dropdown/Dropdown.js"],"sourcesContent":["/**\n * Web Dropdown Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n combineLabelledBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\nimport Suffix from '../../shared/helpers/Suffix'\nimport Icon from '../icon-primary/IconPrimary'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport Button, { buttonVariantPropType } from '../button/Button'\nimport DrawerList from '../../fragments/drawer-list/DrawerList'\nimport DrawerListContext from '../../fragments/drawer-list/DrawerListContext'\nimport DrawerListProvider from '../../fragments/drawer-list/DrawerListProvider'\nimport {\n drawerListPropTypes,\n drawerListProviderPropTypes,\n parseContentTitle,\n getCurrentData,\n} from '../../fragments/drawer-list/DrawerListHelpers'\n\nexport default class Dropdown extends React.PureComponent {\n static propTypes = {\n ...spacingPropTypes,\n ...drawerListPropTypes,\n ...drawerListProviderPropTypes,\n\n id: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n variant: buttonVariantPropType.variant,\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.string,\n icon_position: PropTypes.oneOf(['left', 'right']),\n triangle_position: PropTypes.oneOf(['left', 'right']),\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 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 innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n buttonRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\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 scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n max_height: PropTypes.number,\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n more_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n align_dropdown: PropTypes.oneOf(['left', 'right']),\n trigger_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n default_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n open_on_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n on_change: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n title: 'Option Menu',\n variant: 'secondary',\n icon: null,\n icon_size: null,\n icon_position: null,\n triangle_position: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n innerRef: null,\n buttonRef: null,\n suffix: null,\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n skip_portal: null,\n portal_class: null,\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n more_menu: false,\n action_menu: false,\n independent_width: false,\n size: 'default',\n align_dropdown: null,\n trigger_element: null,\n data: null,\n default_value: null,\n value: 'initval',\n open_on_focus: false,\n prevent_close: false,\n keep_open: false,\n opened: false,\n disabled: null,\n stretch: null,\n skeleton: null,\n\n className: null,\n children: null,\n\n on_show: null,\n on_hide: null,\n\n on_change: null,\n on_select: null,\n on_state_update: null,\n }\n\n render() {\n // generate ID here, so we can send it along the provider\n const id = this.props.id || makeUniqueId()\n const { more_menu, action_menu, prevent_selection, children, data } =\n this.props\n\n return (\n <DrawerListProvider\n {...this.props}\n id={id}\n data={data || children}\n opened={null}\n tagName=\"dnb-dropdown\"\n ignore_events={false}\n prevent_selection={\n isTrue(more_menu) ||\n isTrue(action_menu) ||\n isTrue(prevent_selection)\n }\n >\n <DropdownInstance {...this.props} id={id} />\n </DrawerListProvider>\n )\n }\n}\n\nclass DropdownInstance extends React.PureComponent {\n static propTypes = Dropdown.propTypes\n static defaultProps = Dropdown.defaultProps\n static contextType = DrawerListContext\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n\n this.attributes = {}\n this.state = this.state || {}\n\n this._ref = props.innerRef || React.createRef()\n this._refWrapper = React.createRef()\n this._refButton = props.buttonRef || React.createRef()\n }\n\n componentDidMount() {\n if (isTrue(this.props.opened)) {\n this.setVisible()\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._focusTimeout)\n }\n\n setVisible = () => {\n this.context.drawerList\n .setWrapperElement(this._refWrapper.current)\n .setVisible()\n }\n\n setHidden = (...args) => {\n this.context.drawerList.setHidden(...args)\n }\n\n onFocusHandler = () => {\n if (isTrue(this.props.open_on_focus)) {\n this.setVisible()\n }\n }\n\n onBlurHandler = () => {\n if (isTrue(this.props.open_on_focus)) {\n this.setHidden()\n }\n }\n\n onClickHandler = () => {\n if (isTrue(this.props.disabled)) {\n return // stop here\n }\n if (\n !this.context.drawerList.hidden &&\n this.context.drawerList.isOpen\n ) {\n this.setHidden()\n } else {\n this.setVisible()\n }\n }\n\n onTriggerKeyDownHandler = (e) => {\n switch (keycode(e)) {\n case 'enter':\n case 'space':\n e.preventDefault()\n this.setVisible()\n break\n\n case 'up':\n case 'down':\n e.preventDefault()\n this.setVisible()\n\n break\n\n case 'esc':\n this.setHidden()\n break\n\n case 'home':\n case 'end':\n case 'page down':\n case 'page up':\n e.preventDefault()\n break\n }\n }\n\n onHideHandler = (args = {}) => {\n const attributes = this.attributes || {}\n const res = dispatchCustomElementEvent(this, 'on_hide', {\n ...args,\n attributes,\n })\n\n if (res !== false) {\n this.setFocus(args)\n }\n\n return res\n }\n\n setFocus = (args) => {\n clearTimeout(this._focusTimeout)\n this._focusTimeout = setTimeout(() => {\n try {\n const element = this._refButton.current\n if (element && typeof element.focus === 'function') {\n if (args.preventHideFocus !== true) {\n element.focus({ preventScroll: true })\n }\n dispatchCustomElementEvent(this, 'on_hide_focus', { element })\n }\n } catch (e) {\n // do noting\n }\n }, 1) // NVDA / Firefox needs a delay to set this focus\n }\n\n onSelectHandler = (args) => {\n if (parseFloat(args.active_item) > -1) {\n const attributes = this.attributes || {}\n dispatchCustomElementEvent(this, 'on_select', {\n ...args,\n attributes,\n })\n }\n }\n\n onChangeHandler = (args) => {\n const attributes = this.attributes || {}\n dispatchCustomElementEvent(this, 'on_change', {\n ...args,\n attributes,\n })\n }\n\n getTitle(title = null) {\n const { data } = this.context.drawerList\n if (data && data.length > 0) {\n const currentOptionData = getCurrentData(\n this.context.drawerList.selected_item,\n data\n )\n if (currentOptionData) {\n title =\n currentOptionData.selected_value ||\n parseContentTitle(currentOptionData)\n }\n }\n return title\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Dropdown.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Dropdown,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Dropdown\n )\n\n const {\n label,\n label_direction,\n label_sr_only,\n icon_size,\n size,\n fixed_position,\n enable_body_lock,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n scrollable,\n focusable,\n keep_open,\n prevent_close,\n no_animation,\n no_scroll_animation,\n triangle_position,\n skip_portal,\n portal_class,\n trigger_element: CustomTrigger,\n more_menu,\n action_menu,\n independent_width,\n prevent_selection,\n max_height,\n default_value,\n className,\n disabled,\n stretch,\n skeleton,\n variant,\n\n title: _title,\n icon: _icon, // eslint-disable-line\n align_dropdown: _align_dropdown, // eslint-disable-line\n icon_position: _icon_position, // eslint-disable-line\n data: _data, // eslint-disable-line\n children: _children, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n id: _id, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n value: _value, // eslint-disable-line\n buttonRef, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...attributes\n } = props\n\n let { icon, icon_position, align_dropdown } = props\n const id = this._id\n\n const handleAsMenu =\n isTrue(action_menu) || isTrue(more_menu) || isTrue(prevent_selection)\n const isPopupMenu = isTrue(more_menu) || !(_title && _title.length > 0)\n if (isPopupMenu) {\n icon = icon || (isTrue(more_menu) ? 'more' : 'chevron_down')\n }\n if (isPopupMenu || isTrue(action_menu)) {\n if (icon_position !== 'right' && align_dropdown !== 'right') {\n icon_position = 'left'\n align_dropdown = 'left'\n }\n }\n\n const { selected_item, direction, opened } = this.context.drawerList\n const showStatus = getStatusState(status)\n const title = this.getTitle(_title)\n\n // make it possible to grab the rest attributes and return it with all events\n Object.assign(\n this.context.drawerList.attributes,\n validateDOMAttributes(null, attributes)\n )\n\n const mainParams = {\n className: classnames(\n 'dnb-dropdown',\n `dnb-dropdown--${direction}`,\n opened && 'dnb-dropdown--opened',\n label_direction && `dnb-dropdown--${label_direction}`,\n `dnb-dropdown--icon-position-${icon_position || 'right'}`,\n isPopupMenu && 'dnb-dropdown--is-popup',\n isTrue(action_menu) && `dnb-dropdown--action-menu`,\n (isTrue(independent_width) || isTrue(action_menu)) &&\n 'dnb-dropdown--independent-width',\n size && `dnb-dropdown--${size}`,\n isTrue(stretch) && `dnb-dropdown--stretch`,\n `dnb-dropdown--${align_dropdown || 'right'}`,\n status && `dnb-dropdown__status--${status_state}`,\n showStatus && 'dnb-dropdown__form-status',\n 'dnb-form-component',\n createSpacingClasses(props),\n className\n ),\n }\n\n const triggerParams = {\n className: classnames(\n 'dnb-dropdown__trigger',\n opened && 'dnb-button--active'\n ),\n id,\n disabled,\n 'aria-haspopup': handleAsMenu ? true : 'listbox',\n 'aria-expanded': opened,\n ...attributes,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n onClick: this.onClickHandler,\n onKeyDown: this.onTriggerKeyDownHandler,\n }\n\n if (opened) {\n triggerParams['aria-controls'] = `${id}-ul`\n }\n\n if (showStatus || suffix) {\n triggerParams['aria-describedby'] = combineDescribedBy(\n triggerParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n\n if (label) {\n triggerParams['aria-labelledby'] = combineLabelledBy(\n triggerParams,\n id + '-label',\n id // used to read the current value\n )\n }\n\n // also used for code markup simulation\n validateDOMAttributes(null, mainParams)\n validateDOMAttributes(this.props, triggerParams)\n\n // make it possible to grab the rest attributes and return it with all events\n this.attributes = validateDOMAttributes(null, attributes)\n\n return (\n <span ref={this._ref} {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n label_direction={label_direction}\n sr_only={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n onClick={this.onClickHandler}\n />\n )}\n\n <span className=\"dnb-dropdown__inner\" ref={this._refWrapper}>\n <AlignmentHelper />\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-dropdown__row\">\n <span className=\"dnb-dropdown__shell\">\n {CustomTrigger ? (\n <CustomTrigger {...triggerParams} />\n ) : (\n <Button\n variant={variant}\n icon={false} // only to suppress the warning about the icon when tertiary variant is used\n size={size === 'default' ? 'medium' : size}\n innerRef={this._refButton}\n custom_content={\n <>\n {!isPopupMenu && (\n <span className=\"dnb-dropdown__text dnb-button__text\">\n <span className=\"dnb-dropdown__text__inner\">\n {title}\n </span>\n </span>\n )}\n <span\n aria-hidden\n className={classnames(\n 'dnb-dropdown__icon',\n parseFloat(selected_item) === 0 &&\n 'dnb-dropdown__icon--first'\n )}\n >\n {icon !== false && (\n <Icon\n icon={icon || 'chevron_down'}\n size={\n icon_size ||\n (size === 'large' ? 'medium' : 'default')\n }\n />\n )}\n </span>\n </>\n }\n {...triggerParams}\n />\n )}\n\n <DrawerList\n id={id}\n role={handleAsMenu ? 'menu' : 'listbox'}\n portal_class={portal_class}\n list_class={classnames(\n 'dnb-dropdown__list',\n variant === 'tertiary' && 'dnb-dropdown__list--tertiary'\n )}\n value={selected_item}\n default_value={default_value}\n scrollable={scrollable}\n focusable={focusable}\n no_animation={no_animation}\n no_scroll_animation={no_scroll_animation}\n skip_portal={skip_portal}\n prevent_selection={handleAsMenu}\n action_menu={action_menu}\n triangle_position={\n triangle_position || icon_position || 'right'\n }\n keep_open={keep_open}\n prevent_close={prevent_close}\n independent_width={\n isTrue(independent_width) || isPopupMenu || action_menu\n }\n is_popup={isPopupMenu || action_menu}\n align_drawer={align_dropdown || 'left'}\n fixed_position={fixed_position}\n enable_body_lock={enable_body_lock}\n disabled={disabled}\n max_height={max_height}\n direction={direction}\n size={size}\n on_change={this.onChangeHandler}\n on_select={this.onSelectHandler}\n on_hide={this.onHideHandler}\n />\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-dropdown__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n onClick={this.setHidden}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }\n}\n\nDropdown.HorizontalItem = DrawerList.HorizontalItem\nDropdown._formElement = true\nDropdown._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -45,12 +45,6 @@
|
|
|
45
45
|
.dnb-dropdown__row {
|
|
46
46
|
display: inline-flex;
|
|
47
47
|
}
|
|
48
|
-
.dnb-dropdown--large .dnb-drawer-list__triangle {
|
|
49
|
-
margin-left: calc(var(--dropdown-padding-horizontal) - 0.25rem);
|
|
50
|
-
}
|
|
51
|
-
.dnb-dropdown--icon-position-left.dnb-dropdown--large .dnb-drawer-list__triangle {
|
|
52
|
-
margin-left: calc(var(--dropdown-padding-horizontal) + 0.25rem);
|
|
53
|
-
}
|
|
54
48
|
.dnb-dropdown__icon {
|
|
55
49
|
position: relative;
|
|
56
50
|
order: 2;
|
|
@@ -291,4 +285,11 @@ label + .dnb-dropdown[class*=__form-status] .dnb-dropdown__shell {
|
|
|
291
285
|
.dnb-responsive-component .dnb-dropdown__helper {
|
|
292
286
|
display: none;
|
|
293
287
|
}
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
.dnb-drawer-list--triangle-position-left .dnb-dropdown__list--tertiary .dnb-drawer-list__triangle {
|
|
291
|
+
margin-left: 0.5rem;
|
|
292
|
+
}
|
|
293
|
+
.dnb-drawer-list--triangle-position-right .dnb-dropdown__list--tertiary .dnb-drawer-list__triangle {
|
|
294
|
+
margin-right: 0.5rem;
|
|
294
295
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-dropdown{--dropdown-width:16rem;--dropdown-height:2rem;--dropdown-height--small:1.5rem;--dropdown-height--medium:2.5rem;--dropdown-height--large:3rem;--dropdown-padding-horizontal:1rem;--dropdown-focus-border-width:0.125rem;--dropdown-error-border-width:0.125rem;--dropdown-text-padding:0.5rem;--dropdown-button-padding:0 1rem;--dropdown-border-radius:0.25rem;--dropdown-foreground-color-primary:var(--color-black-55);--dropdown-foreground-color-error:var(--color-fire-red);--dropdown-background-color-disabled:var(--color-black-3);--dropdown-background-color-error-active:var(--color-fire-red-8);align-items:center;display:inline-flex;font-size:var(--font-size-small);line-height:var(--dropdown-height)}.dnb-dropdown__inner{color:inherit;display:inline-flex;flex-direction:column;margin:0;padding:0;width:auto}.dnb-dropdown__shell{color:inherit;height:var(--dropdown-height);margin:0;padding:0;position:relative;width:var(--dropdown-width)}.dnb-dropdown__row{display:inline-flex}.dnb-
|
|
1
|
+
.dnb-dropdown{--dropdown-width:16rem;--dropdown-height:2rem;--dropdown-height--small:1.5rem;--dropdown-height--medium:2.5rem;--dropdown-height--large:3rem;--dropdown-padding-horizontal:1rem;--dropdown-focus-border-width:0.125rem;--dropdown-error-border-width:0.125rem;--dropdown-text-padding:0.5rem;--dropdown-button-padding:0 1rem;--dropdown-border-radius:0.25rem;--dropdown-foreground-color-primary:var(--color-black-55);--dropdown-foreground-color-error:var(--color-fire-red);--dropdown-background-color-disabled:var(--color-black-3);--dropdown-background-color-error-active:var(--color-fire-red-8);align-items:center;display:inline-flex;font-size:var(--font-size-small);line-height:var(--dropdown-height)}.dnb-dropdown__inner{color:inherit;display:inline-flex;flex-direction:column;margin:0;padding:0;width:auto}.dnb-dropdown__shell{color:inherit;height:var(--dropdown-height);margin:0;padding:0;position:relative;width:var(--dropdown-width)}.dnb-dropdown__row{display:inline-flex}.dnb-dropdown__icon{display:inline-flex;justify-content:center;order:2;pointer-events:none;position:relative}.dnb-dropdown__trigger{position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:1}.dnb-dropdown__trigger.dnb-button{border-radius:var(--dropdown-border-radius);padding:var(--dropdown-button-padding)}.dnb-dropdown--is-popup .dnb-dropdown__trigger.dnb-button{border-radius:50%;padding:0}.dnb-dropdown__text{color:inherit;display:inline-block;font-size:var(--font-size-basis);line-height:inherit;order:1;overflow:hidden;position:relative;text-align:left;text-overflow:ellipsis;width:100%;z-index:4}.dnb-dropdown__text__inner{display:inherit;overflow:hidden;text-overflow:inherit;white-space:nowrap}.dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger{--border-color:var(--dropdown-foreground-color-error);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:hover:not([disabled]){--border-color:var(--dropdown-foreground-color-error);--border-width:var(--dropdown-error-border-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color);color:var(--dropdown-foreground-color-error)}html:not([data-whatintent=touch]) .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:hover:not([disabled]) .dnb-dropdown__icon .dnb-icon{color:var(--dropdown-foreground-color-error)}.dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:active[disabled],html:not([data-whatintent=touch]) .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:active[disabled]{cursor:not-allowed}.dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:active:not([disabled]){background-color:var(--dropdown-background-color-error-active);color:var(--dropdown-foreground-color-error)}.dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__icon,.dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger{color:var(--dropdown-foreground-color-error)}.dnb-dropdown>.dnb-form-status{transform:translateY(-.4375rem)}.dnb-dropdown--icon-position-left .dnb-dropdown__text{order:2;padding-left:var(--dropdown-text-padding);padding-right:0}.dnb-dropdown--icon-position-left .dnb-dropdown__icon{order:1}.dnb-dropdown--icon-position-right .dnb-dropdown__text{padding-right:var(--dropdown-text-padding)}.dnb-dropdown--independent-width .dnb-dropdown__shell{width:auto}@media screen and (max-width:40em){.dnb-dropdown--action-menu .dnb-dropdown__trigger.dnb-button{border-radius:50%;padding-left:.5rem;padding-right:.5rem}}@media screen and (min-width:40.00625em){.dnb-dropdown--action-menu .dnb-dropdown__shell .dnb-dropdown__text{padding:0 .5rem}}@media screen and (max-width:40em){.dnb-dropdown--action-menu .dnb-dropdown__shell .dnb-dropdown__text{padding:0;width:0}}.dnb-dropdown--icon-position-left .dnb-button--tertiary~.dnb-drawer-list__root--portal{left:-.5rem}.dnb-dropdown--icon-position-right .dnb-button--tertiary~.dnb-drawer-list__root--portal{left:.5rem}.dnb-dropdown .dnb-button--tertiary.dnb-button--active{box-shadow:none}.dnb-dropdown .dnb-button--tertiary .dnb-button__text{margin:0 .5rem}.dnb-dropdown .dnb-button--tertiary .dnb-button__text:after{bottom:0}.dnb-dropdown .dnb-button--tertiary,.dnb-dropdown--icon-position-left .dnb-button--tertiary .dnb-dropdown__text,.dnb-dropdown--icon-position-right .dnb-button--tertiary .dnb-dropdown__text{padding:0}.dnb-dropdown .dnb-button--tertiary:focus:before{left:0!important;right:0!important}.dnb-dropdown--default.dnb-dropdown--is-popup .dnb-dropdown__shell,.dnb-dropdown--is-popup .dnb-dropdown__trigger{height:var(--dropdown-height);padding:0;width:var(--dropdown-height)}.dnb-dropdown--is-popup .dnb-dropdown__icon{width:100%}.dnb-dropdown--is-popup.dnb-dropdown--scroll .dnb-dropdown__options{min-height:1rem}.dnb-dropdown--is-popup .dnb-drawer-list__root{width:var(--dropdown-width)}.dnb-dropdown--small.dnb-dropdown--is-popup .dnb-dropdown__shell,.dnb-dropdown--small.dnb-dropdown--is-popup .dnb-dropdown__trigger{width:var(--dropdown-height--small)}.dnb-dropdown--medium.dnb-dropdown--is-popup .dnb-dropdown__shell,.dnb-dropdown--medium.dnb-dropdown--is-popup .dnb-dropdown__trigger{width:var(--dropdown-height--medium)}.dnb-dropdown--large.dnb-dropdown--is-popup .dnb-dropdown__shell,.dnb-dropdown--large.dnb-dropdown--is-popup .dnb-dropdown__trigger{width:var(--dropdown-height--large)}.dnb-dropdown--small .dnb-dropdown__shell,.dnb-dropdown--small .dnb-dropdown__trigger{height:var(--dropdown-height--small)}.dnb-dropdown--small,.dnb-dropdown--small .dnb-dropdown__trigger.dnb-button{line-height:var(--dropdown-height--small)}.dnb-dropdown--medium .dnb-dropdown__shell,.dnb-dropdown--medium .dnb-dropdown__trigger{height:var(--dropdown-height--medium)}.dnb-dropdown--medium,.dnb-dropdown--medium .dnb-dropdown__trigger.dnb-button{line-height:var(--dropdown-height--medium)}.dnb-dropdown--large .dnb-dropdown__shell,.dnb-dropdown--large .dnb-dropdown__trigger{height:var(--dropdown-height--large)}.dnb-dropdown--large,.dnb-dropdown--large .dnb-dropdown__trigger.dnb-button{line-height:var(--dropdown-height--large)}.dnb-dropdown--large .dnb-dropdown__trigger.dnb-button .dnb-dropdown__text,.dnb-dropdown>.dnb-form-label{line-height:var(--line-height-basis)}.dnb-dropdown>.dnb-form-label{margin-right:1rem}@media screen and (max-width:40em){.dnb-dropdown{flex-wrap:wrap}.dnb-dropdown>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-dropdown--stretch{display:flex;flex-grow:1}.dnb-dropdown--stretch .dnb-dropdown__inner{flex-grow:1}.dnb-dropdown--stretch .dnb-dropdown__inner,.dnb-dropdown--stretch .dnb-dropdown__row,.dnb-dropdown--stretch .dnb-dropdown__shell{width:100%}.dnb-dropdown--stretch .dnb-form-label+.dnb-dropdown__inner{width:auto}.dnb-dropdown--vertical.dnb-dropdown--stretch .dnb-dropdown__inner,.dnb-form-row--horizontal .dnb-dropdown--stretch{width:100%}label+.dnb-dropdown[class*=__form-status]{vertical-align:top}label+.dnb-dropdown[class*=__form-status] .dnb-dropdown__shell{top:-.375rem}.dnb-dropdown__inner>.dnb-form-status{margin-top:.5rem;order:2}.dnb-dropdown--vertical{align-items:flex-start;display:flex;flex-direction:column}.dnb-dropdown:not(.dnb-dropdown--vertical)[class*=__status]{align-items:flex-start}.dnb-dropdown:not(.dnb-dropdown--vertical)[class*=__status]>.dnb-form-label{margin-top:.25rem}@media screen and (max-width:40em){.dnb-responsive-component .dnb-dropdown{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:.5rem}.dnb-responsive-component .dnb-dropdown>.dnb-form-label{margin-bottom:.5rem}.dnb-responsive-component .dnb-dropdown__helper{display:none}}.dnb-drawer-list--triangle-position-left .dnb-dropdown__list--tertiary .dnb-drawer-list__triangle{margin-left:.5rem}.dnb-drawer-list--triangle-position-right .dnb-dropdown__list--tertiary .dnb-drawer-list__triangle{margin-right:.5rem}
|
|
@@ -56,23 +56,6 @@
|
|
|
56
56
|
display: inline-flex;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
// NB: looks like we don't need this anymore!
|
|
60
|
-
// &--default .dnb-drawer-list__list {
|
|
61
|
-
// top: var(--dropdown-height);
|
|
62
|
-
// bottom: auto;
|
|
63
|
-
// }
|
|
64
|
-
// &--default#{&}--top .dnb-drawer-list__list {
|
|
65
|
-
// bottom: var(--dropdown-height);
|
|
66
|
-
// top: auto;
|
|
67
|
-
// }
|
|
68
|
-
|
|
69
|
-
&--large .dnb-drawer-list__triangle {
|
|
70
|
-
margin-left: calc(var(--dropdown-padding-horizontal) - 0.25rem);
|
|
71
|
-
}
|
|
72
|
-
&--icon-position-left#{&}--large .dnb-drawer-list__triangle {
|
|
73
|
-
margin-left: calc(var(--dropdown-padding-horizontal) + 0.25rem);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
59
|
&__icon {
|
|
77
60
|
position: relative;
|
|
78
61
|
order: 2;
|
|
@@ -391,3 +374,20 @@
|
|
|
391
374
|
}
|
|
392
375
|
}
|
|
393
376
|
}
|
|
377
|
+
|
|
378
|
+
.dnb-drawer-list--triangle-position {
|
|
379
|
+
// Cant access --dropdown-padding-horizontal, as the drawer list is outside of the dropdown scope
|
|
380
|
+
&-left {
|
|
381
|
+
.dnb-dropdown__list--tertiary .dnb-drawer-list__triangle {
|
|
382
|
+
// --dropdown-padding-horizontal divided by two
|
|
383
|
+
margin-left: 0.5rem;
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
&-right {
|
|
388
|
+
.dnb-dropdown__list--tertiary .dnb-drawer-list__triangle {
|
|
389
|
+
// --dropdown-padding-horizontal divided by two
|
|
390
|
+
margin-right: 0.5rem;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Icon.js","names":["React","useContext","classnames","ErrorHandler","validateDOMAttributes","processChildren","extendPropsWithContext","Context","createSpacingClasses","createSkeletonClass","iconCase","DefaultIconSize","DefaultIconSizes","default","medium","ListDefaultIconSizes","ValidIconType","Icon","localProps","context","props","skeleton","icon","iconProp","size","wrapperParams","iconParams","alt","children","prepareIcon","IconContainer","prerenderIcon","createElement","Fragment","getIconNameFromComponent","name","String","test","calcSize","width","height","sizeAsInt","sizeAsString","nameParts","split","length","_ListDefaultIconSizes","_ListDefaultIconSizes2","lastPartOfIconName","reverse","potentialSize","filter","_ref","key","includes","elem","viewBox","parseFloat","exec","isNaN","_ListDefaultIconSizes3","_ListDefaultIconSizes4","_ListDefaultIconSizes5","_ref2","_ListDefaultIconSizes6","_ListDefaultIconSizes7","_ListDefaultIconSizes8","_ref3","value","potentialSizeAsString","reduce","acc","_ref4","isCustomSize","params","prepareIconParams","_ref5","rest","_objectWithoutProperties","_excluded","border","color","inheritColor","inherit_color","modifier","title","className","attributes","_excluded2","label","_objectSpread","role","replace","process","env","NODE_ENV","iconToRender","getIcon","defaultProps","listOfIcons","src","isValidElement","Array","isArray","mod","dnbIcons","e","_supportsSpacingProps"],"sources":["../../../../src/components/icon/Icon.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { ErrorHandler } from '../../shared/error-helper'\nimport {\n validateDOMAttributes,\n processChildren,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport Context, { ContextProps } from '../../shared/Context'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport { iconCase } from './IconHelpers'\nimport { SpacingProps } from '../../shared/types'\nimport { SkeletonShow } from '../Skeleton'\n\nexport const DefaultIconSize = 16\nexport const DefaultIconSizes = {\n // small: 8, // currently not in use\n default: 16,\n medium: 24,\n // large: 32 // currently not in use\n} as const\nexport const ListDefaultIconSizes: Array<\n [ValidIconType, ValidIconNumericSize]\n> = [\n ['default', 16],\n ['medium', 24],\n]\nexport const ValidIconType = [\n 'small', // 12px 0.75rem\n 'default', // 16px 1rem\n 'medium', // 24px 1.5rem\n 'large', // 32px 2rem\n 'x-large', // 40px 2.5rem\n 'xx-large', // 48px 3rem\n] as const\n\nexport type DefaultIconSizes = typeof DefaultIconSizes\nexport type ValidIconType = (typeof ValidIconType)[number]\nexport type ValidIconNumericSize = DefaultIconSizes[keyof DefaultIconSizes]\n\n/** For internal usage */\ntype IconType =\n | string\n | React.ReactElement<SVGElement>\n | ((props?: unknown) => JSX.Element)\n | false\n\n/** For external usage */\nexport type IconIcon = IconType | React.FC<unknown>\n\nexport type IconSize =\n | ValidIconNumericSize\n | `${ValidIconNumericSize | number}`\n | ValidIconType\n | 'auto'\n | 'basis'\n\nexport type IconColor =\n | string\n | number\n | { [key: string]: string | number }\n\nexport type IconProps = {\n /**\n * A React SVG Component or the icon name (in case we use `IconPrimary` or `dnb-icon-primary`).\n */\n icon?: IconIcon\n\n /**\n * The dimension of the icon. This will be the `viewBox` and represent `width` and `height`. Defaults to `16`. You can use `small`,`medium`, `large` or `auto`. Auto will enable that the icon size gets inherited by the parent HTML element if it provides a `font-size`.\n */\n size?: IconSize\n\n /**\n * The color can be any valid color property, such as Hex, RGB or preferable – any CSS variable from the <a href=\"/uilib/usage/customisation/colors\">colors table</a>, e.g. `var(--color-ocean-green)`. Default is no color, which means `--color-black-80`.\n */\n color?: IconColor\n\n /**\n * Defaults to `true`. Set to `false` if you do not want to inherit the color by `currentColor`.\n */\n inheritColor?: boolean\n\n /** @deprecated Use `inheritColor` instead */\n inherit_color?: boolean\n\n /**\n * The alternative label (text version) of the icon. Defaults to the imported icon name.\n */\n alt?: string\n\n /**\n * Use a title to provide extra information about the icon used.\n */\n title?: string\n\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n\n /**\n * Modifier class to define. Will result in: `dnb-icon--${modifier}`.\n */\n modifier?: string\n\n border?: boolean\n width?: `${IconSize}` | `${number}%` | number\n height?: `${IconSize}` | `${number}%` | number\n children?: IconIcon\n}\n\nexport type IconAllProps = IconProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'size' | 'children'>\n\nexport default function Icon(localProps: IconAllProps) {\n const context = useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n {},\n { skeleton: context?.skeleton },\n context.Icon\n )\n\n // Todo: rewrite prepareIcon to hook\n const {\n icon: iconProp,\n size,\n wrapperParams,\n iconParams,\n alt,\n children,\n } = prepareIcon(props, context)\n const icon = iconProp ?? children\n\n if (!icon) {\n return null\n }\n\n const IconContainer = prerenderIcon({ icon, size, alt })\n\n // make sure we return an empty span if we couldn't get the icon\n if (!IconContainer) {\n return <></>\n }\n\n return (\n <span {...wrapperParams}>\n <IconContainer {...iconParams} />\n </span>\n )\n}\n\nexport function getIconNameFromComponent(icon: IconProps['icon']): string {\n const name = typeof icon === 'function' ? icon.name : String(icon)\n if (/^data:image\\//.test(name)) {\n return null\n }\n return name\n}\n\nexport function calcSize(props: IconProps) {\n const { icon, size, width, height } = props as Omit<\n IconProps,\n 'icon'\n > & { icon: IconType }\n\n let sizeAsInt: ValidIconNumericSize | -1 = null\n let sizeAsString = null\n\n // if there is no size, check if we can find the actual size in the name\n if (!size || size === DefaultIconSize) {\n // get the icon name - we use it for several things\n const name = getIconNameFromComponent(icon)\n\n const nameParts = String(name || '').split('_')\n\n if (nameParts.length > 1) {\n const lastPartOfIconName = nameParts.reverse()[0] as ValidIconType\n const potentialSize = ListDefaultIconSizes.filter(\n ([key]) => key === lastPartOfIconName\n )?.[0]?.[1]\n if (potentialSize) {\n sizeAsInt = potentialSize\n }\n if (ValidIconType.includes(lastPartOfIconName)) {\n sizeAsString = lastPartOfIconName\n }\n } else {\n if (typeof icon === 'function') {\n const elem = icon()\n if (elem.props) {\n let potentialSize: ValidIconNumericSize | -1 = null\n if (elem.props.width) {\n potentialSize = elem.props.width\n }\n if (!potentialSize && elem.props.viewBox) {\n potentialSize = parseFloat(\n /[0-9]+ [0-9]+ ([0-9]+)/.exec(elem.props.viewBox)[1]\n ) as ValidIconNumericSize // get the width\n }\n if (!isNaN(potentialSize)) {\n sizeAsInt = potentialSize\n }\n }\n }\n }\n }\n\n // if size is defined as a string, find the size number\n else if (typeof size === 'string' && !(parseFloat(size) > 0)) {\n sizeAsInt =\n ListDefaultIconSizes.filter(([key]) => key === size)?.[0]?.[1] ?? -1\n\n // or if the size is a default size defined as a string\n if (ValidIconType.includes(size as ValidIconType)) {\n sizeAsString = size\n }\n }\n\n // check if the size is given as a number, and if it's a default size\n else if (parseFloat(String(size)) > 0) {\n sizeAsInt =\n ListDefaultIconSizes.filter(\n ([key, value]) => key && value === parseFloat(String(size))\n )?.[0]?.[1] ?? -1\n\n // has custom size\n if (sizeAsInt === -1) {\n sizeAsInt = parseFloat(String(size)) as ValidIconNumericSize\n sizeAsString = 'custom-size'\n }\n }\n\n // check if the sizeAsInt is a default size - and no sizeAsString exists yet\n if (!sizeAsString && sizeAsInt > 0) {\n const potentialSizeAsString = ListDefaultIconSizes.reduce(\n (acc, [key, value]) => {\n if (key && value === sizeAsInt) {\n return key\n }\n return acc\n },\n null\n )\n\n if (potentialSizeAsString) {\n sizeAsString = potentialSizeAsString\n }\n }\n\n // define all the svg parameters\n const { sizeAsString: isCustomSize, params: iconParams } =\n prepareIconParams({\n sizeAsString,\n sizeAsInt,\n size,\n width,\n height,\n })\n\n if (isCustomSize) {\n sizeAsString = isCustomSize\n }\n\n if (!(sizeAsInt > 0)) {\n sizeAsInt = DefaultIconSize\n }\n\n if (size === 'auto') {\n iconParams.width = '100%'\n iconParams.height = '100%'\n sizeAsString = 'auto'\n }\n\n return {\n iconParams,\n sizeAsInt,\n sizeAsString,\n }\n}\n\nfunction prepareIconParams({\n sizeAsString,\n ...rest\n}: Omit<IconProps, 'icon'> & {\n sizeAsString?: ValidIconType | 'custom-size'\n sizeAsInt?: ValidIconNumericSize | -1\n}) {\n const { size, width, height, sizeAsInt } = rest\n const params: {\n height?: IconProps['height']\n width?: IconProps['width']\n color?: IconProps['color']\n } = {}\n\n if (!sizeAsString && !(sizeAsInt > 0) && parseFloat(String(size)) > -1) {\n params.width = params.height = parseFloat(String(size))\n } else if (sizeAsString === 'custom-size') {\n params.width = params.height = parseFloat(String(sizeAsInt))\n }\n if (parseFloat(String(width)) > -1) {\n sizeAsString = 'custom-size'\n params.width = parseFloat(String(width))\n }\n if (parseFloat(String(height)) > -1) {\n sizeAsString = 'custom-size'\n params.height = parseFloat(String(height))\n }\n\n validateDOMAttributes({}, params)\n\n return { params, sizeAsString }\n}\n\nexport function prepareIcon(props: IconAllProps, context: ContextProps) {\n const {\n icon,\n size,\n width,\n height,\n border,\n color,\n inheritColor,\n inherit_color,\n modifier,\n alt,\n title,\n skeleton,\n className,\n ...attributes\n } = props\n\n const { sizeAsString, iconParams } = calcSize({\n icon,\n size,\n width,\n height,\n })\n\n if (color) {\n iconParams.color = color\n }\n\n const label = icon ? getIconNameFromComponent(icon) : null\n\n // some wrapper params\n // also used for code markup simulation\n const wrapperParams = validateDOMAttributes(props, {\n role: alt ? 'img' : 'presentation',\n alt, // in case the image don't shows up (because we define the role to be img)\n 'aria-label':\n label && !label.includes('default')\n ? label.replace(/_/g, ' ') + ' icon'\n : null, // for screen readers only\n title, // to show on hover, if defined\n ...attributes,\n })\n if (!alt && typeof wrapperParams['aria-hidden'] === 'undefined') {\n wrapperParams['aria-hidden'] = true\n }\n if (wrapperParams['aria-hidden']) {\n if (\n !wrapperParams['data-testid'] &&\n typeof process !== 'undefined' &&\n process.env.NODE_ENV === 'test'\n ) {\n wrapperParams['data-testid'] = wrapperParams['aria-label']\n }\n delete wrapperParams['aria-label']\n }\n\n wrapperParams.className = classnames(\n 'dnb-icon',\n modifier && `dnb-icon--${modifier}`,\n border && 'dnb-icon--border',\n (inheritColor ?? inherit_color) !== false && 'dnb-icon--inherit-color',\n sizeAsString ? `dnb-icon--${sizeAsString}` : 'dnb-icon--default',\n createSkeletonClass(null, skeleton, context),\n createSpacingClasses(props),\n className\n )\n\n let iconToRender = getIcon(props)\n\n if (iconToRender && typeof iconToRender.defaultProps !== 'undefined') {\n iconToRender = React.createElement(\n iconToRender,\n validateDOMAttributes(\n {},\n {\n color,\n icon,\n size,\n width,\n height,\n }\n )\n )\n }\n\n return {\n ...props,\n icon: iconToRender,\n alt,\n iconParams,\n wrapperParams,\n }\n}\n\nexport function prerenderIcon(\n props: IconProps & {\n listOfIcons?: Record<string, IconIcon>\n }\n) {\n const { size = null, listOfIcons = null, alt = null } = props\n let { icon } = props as Omit<IconProps, 'icon'> & { icon: IconType }\n\n if (typeof icon === 'string' && /^data:image\\//.test(icon)) {\n return () => <img src={String(icon)} alt={alt || 'no-alt'} />\n }\n\n if (typeof icon === 'function') {\n const elem = icon()\n if (React.isValidElement(elem)) {\n return icon\n }\n return elem\n }\n\n if (React.isValidElement(icon) || Array.isArray(icon)) {\n return () => icon\n }\n\n // For UMD/ dynamic import of icons\n try {\n icon = iconCase(icon)\n if (\n size &&\n DefaultIconSizes[size] &&\n size !== 'basis' &&\n size !== 'default' &&\n !(parseFloat(String(size)) > 0) &&\n !icon.includes(size as ValidIconType)\n ) {\n icon = `${icon}_${size}`\n }\n const mod = (\n listOfIcons.dnbIcons ? listOfIcons.dnbIcons : listOfIcons\n )[icon]\n return mod && mod.default ? mod.default : mod\n } catch (e) {\n ErrorHandler(`Icon '${icon}' did not exist!`)\n return null\n }\n}\n\nfunction getIcon(props) {\n if (props.icon) {\n return props.icon\n }\n return processChildren(props)\n}\n\nIcon._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Icon.js","names":["React","useContext","classnames","ErrorHandler","validateDOMAttributes","processChildren","extendPropsWithContext","Context","createSpacingClasses","createSkeletonClass","iconCase","DefaultIconSize","DefaultIconSizes","default","medium","ListDefaultIconSizes","ValidIconType","Icon","localProps","context","props","skeleton","icon","iconProp","size","wrapperParams","iconParams","alt","children","prepareIcon","IconContainer","prerenderIcon","createElement","Fragment","getIconNameFromComponent","name","String","test","calcSize","width","height","sizeAsInt","sizeAsString","nameParts","split","length","_ListDefaultIconSizes","_ListDefaultIconSizes2","lastPartOfIconName","reverse","potentialSize","filter","_ref","key","includes","elem","viewBox","parseFloat","exec","isNaN","_ListDefaultIconSizes3","_ListDefaultIconSizes4","_ListDefaultIconSizes5","_ref2","_ListDefaultIconSizes6","_ListDefaultIconSizes7","_ListDefaultIconSizes8","_ref3","value","potentialSizeAsString","reduce","acc","_ref4","isCustomSize","params","prepareIconParams","_ref5","rest","_objectWithoutProperties","_excluded","border","color","inheritColor","inherit_color","modifier","title","className","attributes","_excluded2","label","_objectSpread","role","replace","process","env","NODE_ENV","iconToRender","getIcon","defaultProps","listOfIcons","src","isValidElement","Array","isArray","mod","dnbIcons","e","_supportsSpacingProps"],"sources":["../../../../src/components/icon/Icon.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { ErrorHandler } from '../../shared/error-helper'\nimport {\n validateDOMAttributes,\n processChildren,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport Context, { ContextProps } from '../../shared/Context'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport { iconCase } from './IconHelpers'\nimport { SpacingProps } from '../../shared/types'\nimport { SkeletonShow } from '../Skeleton'\n\nexport const DefaultIconSize = 16\nexport const DefaultIconSizes = {\n // small: 8, // currently not in use\n default: 16,\n medium: 24,\n // large: 32 // currently not in use\n} as const\nexport const ListDefaultIconSizes: Array<\n [ValidIconType, ValidIconNumericSize]\n> = [\n ['default', 16],\n ['medium', 24],\n]\nexport const ValidIconType = [\n 'small', // 12px 0.75rem\n 'default', // 16px 1rem\n 'medium', // 24px 1.5rem\n 'large', // 32px 2rem\n 'x-large', // 40px 2.5rem\n 'xx-large', // 48px 3rem\n] as const\n\nexport type DefaultIconSizes = typeof DefaultIconSizes\nexport type ValidIconType = (typeof ValidIconType)[number]\nexport type ValidIconNumericSize = DefaultIconSizes[keyof DefaultIconSizes]\n\n/** For internal usage */\ntype IconType =\n | string\n | React.ReactElement<SVGElement>\n | ((props?: unknown) => JSX.Element)\n | false\n\n/** For external usage */\nexport type IconIcon = IconType | React.FC<unknown>\n\nexport type IconSize =\n | ValidIconNumericSize\n | `${ValidIconNumericSize | number}`\n | ValidIconType\n | 'auto'\n | 'basis'\n\nexport type IconColor =\n | string\n | number\n | { [key: string]: string | number }\n\nexport type IconProps = {\n /**\n * A React SVG Component.\n */\n icon?: IconIcon\n\n /**\n * The dimension of the icon. This will be the `viewBox` and represent `width` and `height`. Defaults to `16`. You can use `small`,`medium`, `large` or `auto`. Auto will enable that the icon size gets inherited by the parent HTML element if it provides a `font-size`.\n */\n size?: IconSize\n\n /**\n * The color can be any valid color property, such as Hex, RGB or preferable – any CSS variable from the <a href=\"/uilib/usage/customisation/colors\">colors table</a>, e.g. `var(--color-ocean-green)`. Default is no color, which means `--color-black-80`.\n */\n color?: IconColor\n\n /**\n * Defaults to `true`. Set to `false` if you do not want to inherit the color by `currentColor`.\n */\n inheritColor?: boolean\n\n /** @deprecated Use `inheritColor` instead */\n inherit_color?: boolean\n\n /**\n * The alternative label (text version) of the icon. Defaults to the imported icon name.\n */\n alt?: string\n\n /**\n * Use a title to provide extra information about the icon used.\n */\n title?: string\n\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n\n /**\n * Modifier class to define. Will result in: `dnb-icon--${modifier}`.\n */\n modifier?: string\n\n border?: boolean\n width?: `${IconSize}` | `${number}%` | number\n height?: `${IconSize}` | `${number}%` | number\n children?: IconIcon\n}\n\nexport type IconAllProps = IconProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'size' | 'children'>\n\nexport default function Icon(localProps: IconAllProps) {\n const context = useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n {},\n { skeleton: context?.skeleton },\n context.Icon\n )\n\n // Todo: rewrite prepareIcon to hook\n const {\n icon: iconProp,\n size,\n wrapperParams,\n iconParams,\n alt,\n children,\n } = prepareIcon(props, context)\n const icon = iconProp ?? children\n\n if (!icon) {\n return null\n }\n\n const IconContainer = prerenderIcon({ icon, size, alt })\n\n // make sure we return an empty span if we couldn't get the icon\n if (!IconContainer) {\n return <></>\n }\n\n return (\n <span {...wrapperParams}>\n <IconContainer {...iconParams} />\n </span>\n )\n}\n\nexport function getIconNameFromComponent(icon: IconProps['icon']): string {\n const name = typeof icon === 'function' ? icon.name : String(icon)\n if (/^data:image\\//.test(name)) {\n return null\n }\n return name\n}\n\nexport function calcSize(props: IconProps) {\n const { icon, size, width, height } = props as Omit<\n IconProps,\n 'icon'\n > & { icon: IconType }\n\n let sizeAsInt: ValidIconNumericSize | -1 = null\n let sizeAsString = null\n\n // if there is no size, check if we can find the actual size in the name\n if (!size || size === DefaultIconSize) {\n // get the icon name - we use it for several things\n const name = getIconNameFromComponent(icon)\n\n const nameParts = String(name || '').split('_')\n\n if (nameParts.length > 1) {\n const lastPartOfIconName = nameParts.reverse()[0] as ValidIconType\n const potentialSize = ListDefaultIconSizes.filter(\n ([key]) => key === lastPartOfIconName\n )?.[0]?.[1]\n if (potentialSize) {\n sizeAsInt = potentialSize\n }\n if (ValidIconType.includes(lastPartOfIconName)) {\n sizeAsString = lastPartOfIconName\n }\n } else {\n if (typeof icon === 'function') {\n const elem = icon()\n if (elem.props) {\n let potentialSize: ValidIconNumericSize | -1 = null\n if (elem.props.width) {\n potentialSize = elem.props.width\n }\n if (!potentialSize && elem.props.viewBox) {\n potentialSize = parseFloat(\n /[0-9]+ [0-9]+ ([0-9]+)/.exec(elem.props.viewBox)[1]\n ) as ValidIconNumericSize // get the width\n }\n if (!isNaN(potentialSize)) {\n sizeAsInt = potentialSize\n }\n }\n }\n }\n }\n\n // if size is defined as a string, find the size number\n else if (typeof size === 'string' && !(parseFloat(size) > 0)) {\n sizeAsInt =\n ListDefaultIconSizes.filter(([key]) => key === size)?.[0]?.[1] ?? -1\n\n // or if the size is a default size defined as a string\n if (ValidIconType.includes(size as ValidIconType)) {\n sizeAsString = size\n }\n }\n\n // check if the size is given as a number, and if it's a default size\n else if (parseFloat(String(size)) > 0) {\n sizeAsInt =\n ListDefaultIconSizes.filter(\n ([key, value]) => key && value === parseFloat(String(size))\n )?.[0]?.[1] ?? -1\n\n // has custom size\n if (sizeAsInt === -1) {\n sizeAsInt = parseFloat(String(size)) as ValidIconNumericSize\n sizeAsString = 'custom-size'\n }\n }\n\n // check if the sizeAsInt is a default size - and no sizeAsString exists yet\n if (!sizeAsString && sizeAsInt > 0) {\n const potentialSizeAsString = ListDefaultIconSizes.reduce(\n (acc, [key, value]) => {\n if (key && value === sizeAsInt) {\n return key\n }\n return acc\n },\n null\n )\n\n if (potentialSizeAsString) {\n sizeAsString = potentialSizeAsString\n }\n }\n\n // define all the svg parameters\n const { sizeAsString: isCustomSize, params: iconParams } =\n prepareIconParams({\n sizeAsString,\n sizeAsInt,\n size,\n width,\n height,\n })\n\n if (isCustomSize) {\n sizeAsString = isCustomSize\n }\n\n if (!(sizeAsInt > 0)) {\n sizeAsInt = DefaultIconSize\n }\n\n if (size === 'auto') {\n iconParams.width = '100%'\n iconParams.height = '100%'\n sizeAsString = 'auto'\n }\n\n return {\n iconParams,\n sizeAsInt,\n sizeAsString,\n }\n}\n\nfunction prepareIconParams({\n sizeAsString,\n ...rest\n}: Omit<IconProps, 'icon'> & {\n sizeAsString?: ValidIconType | 'custom-size'\n sizeAsInt?: ValidIconNumericSize | -1\n}) {\n const { size, width, height, sizeAsInt } = rest\n const params: {\n height?: IconProps['height']\n width?: IconProps['width']\n color?: IconProps['color']\n } = {}\n\n if (!sizeAsString && !(sizeAsInt > 0) && parseFloat(String(size)) > -1) {\n params.width = params.height = parseFloat(String(size))\n } else if (sizeAsString === 'custom-size') {\n params.width = params.height = parseFloat(String(sizeAsInt))\n }\n if (parseFloat(String(width)) > -1) {\n sizeAsString = 'custom-size'\n params.width = parseFloat(String(width))\n }\n if (parseFloat(String(height)) > -1) {\n sizeAsString = 'custom-size'\n params.height = parseFloat(String(height))\n }\n\n validateDOMAttributes({}, params)\n\n return { params, sizeAsString }\n}\n\nexport function prepareIcon(props: IconAllProps, context: ContextProps) {\n const {\n icon,\n size,\n width,\n height,\n border,\n color,\n inheritColor,\n inherit_color,\n modifier,\n alt,\n title,\n skeleton,\n className,\n ...attributes\n } = props\n\n const { sizeAsString, iconParams } = calcSize({\n icon,\n size,\n width,\n height,\n })\n\n if (color) {\n iconParams.color = color\n }\n\n const label = icon ? getIconNameFromComponent(icon) : null\n\n // some wrapper params\n // also used for code markup simulation\n const wrapperParams = validateDOMAttributes(props, {\n role: alt ? 'img' : 'presentation',\n alt, // in case the image don't shows up (because we define the role to be img)\n 'aria-label':\n label && !label.includes('default')\n ? label.replace(/_/g, ' ') + ' icon'\n : null, // for screen readers only\n title, // to show on hover, if defined\n ...attributes,\n })\n if (!alt && typeof wrapperParams['aria-hidden'] === 'undefined') {\n wrapperParams['aria-hidden'] = true\n }\n if (wrapperParams['aria-hidden']) {\n if (\n !wrapperParams['data-testid'] &&\n typeof process !== 'undefined' &&\n process.env.NODE_ENV === 'test'\n ) {\n wrapperParams['data-testid'] = wrapperParams['aria-label']\n }\n delete wrapperParams['aria-label']\n }\n\n wrapperParams.className = classnames(\n 'dnb-icon',\n modifier && `dnb-icon--${modifier}`,\n border && 'dnb-icon--border',\n (inheritColor ?? inherit_color) !== false && 'dnb-icon--inherit-color',\n sizeAsString ? `dnb-icon--${sizeAsString}` : 'dnb-icon--default',\n createSkeletonClass(null, skeleton, context),\n createSpacingClasses(props),\n className\n )\n\n let iconToRender = getIcon(props)\n\n if (iconToRender && typeof iconToRender.defaultProps !== 'undefined') {\n iconToRender = React.createElement(\n iconToRender,\n validateDOMAttributes(\n {},\n {\n color,\n icon,\n size,\n width,\n height,\n }\n )\n )\n }\n\n return {\n ...props,\n icon: iconToRender,\n alt,\n iconParams,\n wrapperParams,\n }\n}\n\nexport function prerenderIcon(\n props: IconProps & {\n listOfIcons?: Record<string, IconIcon>\n }\n) {\n const { size = null, listOfIcons = null, alt = null } = props\n let { icon } = props as Omit<IconProps, 'icon'> & { icon: IconType }\n\n if (typeof icon === 'string' && /^data:image\\//.test(icon)) {\n return () => <img src={String(icon)} alt={alt || 'no-alt'} />\n }\n\n if (typeof icon === 'function') {\n const elem = icon()\n if (React.isValidElement(elem)) {\n return icon\n }\n return elem\n }\n\n if (React.isValidElement(icon) || Array.isArray(icon)) {\n return () => icon\n }\n\n // For UMD/ dynamic import of icons\n try {\n icon = iconCase(icon)\n if (\n size &&\n DefaultIconSizes[size] &&\n size !== 'basis' &&\n size !== 'default' &&\n !(parseFloat(String(size)) > 0) &&\n !icon.includes(size as ValidIconType)\n ) {\n icon = `${icon}_${size}`\n }\n const mod = (\n listOfIcons.dnbIcons ? listOfIcons.dnbIcons : listOfIcons\n )[icon]\n return mod && mod.default ? mod.default : mod\n } catch (e) {\n ErrorHandler(`Icon '${icon}' did not exist!`)\n return null\n }\n}\n\nfunction getIcon(props) {\n if (props.icon) {\n return props.icon\n }\n return processChildren(props)\n}\n\nIcon._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -431,7 +431,7 @@ class DropdownInstance extends React.PureComponent {
|
|
|
431
431
|
id: id,
|
|
432
432
|
role: handleAsMenu ? 'menu' : 'listbox',
|
|
433
433
|
portal_class: portal_class,
|
|
434
|
-
list_class: "dnb-dropdown__list",
|
|
434
|
+
list_class: 'dnb-dropdown__list' + (variant === 'tertiary' ? " dnb-dropdown__list--tertiary" : ""),
|
|
435
435
|
value: selected_item,
|
|
436
436
|
default_value: default_value,
|
|
437
437
|
scrollable: scrollable,
|