@laerdal/life-react-components 5.0.8-dev.1 → 5.0.8
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/dist/Chips/ChoiceChips.cjs +0 -1
- package/dist/Chips/ChoiceChips.cjs.map +1 -1
- package/dist/Chips/ChoiceChips.js +0 -1
- package/dist/Chips/ChoiceChips.js.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.cjs +1 -1
- package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.js +1 -1
- package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
- package/dist/Dropdown/BasicDropdown.cjs +0 -2
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.js +0 -2
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/DropdownButton.cjs +0 -2
- package/dist/Dropdown/DropdownButton.cjs.map +1 -1
- package/dist/Dropdown/DropdownButton.js +0 -2
- package/dist/Dropdown/DropdownButton.js.map +1 -1
- package/dist/Dropdown/DropdownContent.cjs +1 -1
- package/dist/Dropdown/DropdownContent.cjs.map +1 -1
- package/dist/Dropdown/DropdownContent.js +1 -1
- package/dist/Dropdown/DropdownContent.js.map +1 -1
- package/dist/Dropdown/DropdownFilter.cjs +0 -2
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.js +0 -2
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs +1 -0
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js +1 -0
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/SubMenu.cjs +1 -0
- package/dist/GlobalNavigationBar/desktop/SubMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/SubMenu.js +1 -0
- package/dist/GlobalNavigationBar/desktop/SubMenu.js.map +1 -1
- package/dist/InputFields/QuickSearch.cjs +1 -1
- package/dist/InputFields/QuickSearch.cjs.map +1 -1
- package/dist/InputFields/QuickSearch.js +1 -1
- package/dist/InputFields/QuickSearch.js.map +1 -1
- package/dist/Modals/ModalContainer.cjs +142 -106
- package/dist/Modals/ModalContainer.cjs.map +1 -1
- package/dist/Modals/ModalContainer.d.ts +17 -1
- package/dist/Modals/ModalContainer.js +142 -106
- package/dist/Modals/ModalContainer.js.map +1 -1
- package/dist/styles/typography.cjs +35 -59
- package/dist/styles/typography.cjs.map +1 -1
- package/dist/styles/typography.d.ts +1 -1
- package/dist/styles/typography.js +35 -59
- package/dist/styles/typography.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownFilter.js","names":["React","COLORS","SystemIcons","LoadingIndicator","DropdownInputFieldStyles","DropdownContainer","DropdownInputField","DropdownContent","Size","AutofilledMessage","ErrorMessage","TooltipOverflow","defaultOnMouseDownHandler","useActionWithin","useClickOutsideRef","useFocusOutsideRef","useFocusVisibleRef","IconButton","useTheme","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DropdownFilter","forwardRef","_ref","ref","id","list","placeholder","onSelect","onInputChange","value","required","messageOnNoResults","disabled","readOnly","scrollable","activeValidationMessage","autofilledMessage","size","disableFiltering","margin","loading","onFocus","overflowTooltipPosition","onBlur","dataTestId","rest","_objectWithoutProperties","_excluded","theme","_React$useState","useState","_React$useState2","_slicedToArray","isOpen","setIsOpen","_React$useState3","_React$useState4","input","setInput","_React$useState5","_React$useState6","activeDescendant","setActiveDescendant","_React$useState7","_React$useState8","restartFilter","setRestartFilter","_React$useState9","_React$useState10","selectedItem","setSelectedItem","_React$useState11","_React$useState12","selectedValues","setSelectedValues","_React$useState13","_React$useState14","focused","setFocused","_React$useState15","_React$useState16","inputFocused","setInputFocused","_React$useState17","_React$useState18","init","setInit","styledFieldRef","inputRef","clearButtonRef","useRef","useImperativeHandle","current","containerRef","handleInputKeyDown","e","key","preventDefault","useEffect","length","_ref2","_item$displayLabel","val","item","find","a","displayLabel","undefined","_ref3","_selectedItem$display","handleInputClear","_inputRef$current","focus","focusVisible","detail","renderInput","className","onClick","stopPropagation","_inputRef$current2","blur","_inputRef$current3","$disabled","$readOnly","$isPlaceholder","$showValidationMessage","onMouseDown","concat","children","_objectSpread","autoComplete","Math","floor","random","type","onKeyDown","$ellipsis","onChange","target","tabIndex","position","withArrow","maxWidth","align","action","useTransparentBackground","shape","style","marginLeft","variant","Clear","Small","color","getColor","ArrowDropUp","ArrowDropDown","role","$isButton","onActiveDescendantChanged","ariaRolesType","outline","customizationProps","itemsType","multiSelect","onValueUpdate","values","items","filter","isButton","TechnicalWarning","Information","propTypes","_pt","array","isRequired","string","func","bool","oneOf"],"sources":["../../src/Dropdown/DropdownFilter.tsx"],"sourcesContent":["import * as React from 'react';\nimport { COLORS } from '../styles';\nimport { SystemIcons } from '../icons';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { DropdownInputFieldStyles, DropdownContainer, DropdownInputField } from './CommonStyling';\nimport DropdownContent, { DropdownItem } from './DropdownContent';\nimport { Size, Testable } from '../types';\nimport { AutofilledMessage, ErrorMessage } from '../InputFields';\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\nimport { defaultOnMouseDownHandler, useActionWithin, useClickOutsideRef, useFocusOutsideRef, useFocusVisibleRef } from '../common';\nimport { IconButton } from '../Button';\nimport { useTheme } from 'styled-components';\n\nexport interface DropdownFilterProps extends Testable, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onSelect' | 'size' | 'list' | 'autoComplete' | 'type' | 'placeholder' | 'onKeyDown' | 'value' | 'onChange' | 'required' | 'tabIndex' | 'disabled' | 'readOnly'> {\n /** Required. List of items to show in the dropdown. */\n list: DropdownItem[];\n /** Optional. Placeholder text to show when there is no input and no item was selected */\n placeholder?: string;\n /** Optional. Currently selected item */\n value?: string;\n /** Optional. Handler to be called when user selects one of the items. */\n onSelect?: (value: string) => void;\n /** Optional. Handler to be called when user changes text in the input. */\n onInputChange?: (input: string) => void;\n /** Optional. If set, then HTML 'required' attribute will be set for the input field */\n required?: boolean;\n /** Optional. If set, then user will not be able to interact with the input field */\n disabled?: boolean;\n /** Optional. If set, then 'readonly' HTML attribute will be set to the input field */\n readOnly?: boolean;\n /** Optional. If set, then loading indicator will be shown in the input field. */\n loading?: boolean;\n\n /** Optional. If set, then items in the dropdown will not be filtered depending on the user input */\n disableFiltering?: boolean;\n\n /** Optional. If none of the items fits input, then there will be a message shown in the dropdown. */\n messageOnNoResults?: string;\n /** Optional. Validation error message to be shown under the input field. */\n activeValidationMessage?: string;\n /** Optional. Informal message to show under the input field. */\n autofilledMessage?: string;\n /** Optional. Size of the input field */\n size?: Size.Small | Size.Medium;\n\n /** Optional. Position of the tooltip to show when input is overflowing the input field. */\n overflowTooltipPosition?: 'top' | 'bottom';\n /** Optional. Margin of the dropdown container items */\n margin?: string;\n /** Optional. Sets if dropdown container is scrollable */\n scrollable?: boolean;\n}\n\nconst DropdownFilter = React.forwardRef( ({\n id,\n list,\n placeholder,\n onSelect,\n onInputChange,\n value,\n required,\n messageOnNoResults,\n disabled,\n readOnly,\n scrollable,\n activeValidationMessage,\n autofilledMessage,\n size,\n disableFiltering,\n margin,\n loading,\n onFocus,\n overflowTooltipPosition,\n onBlur,\n dataTestId,\n ...rest\n }: DropdownFilterProps, ref) => {\n\n const theme = useTheme();\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const [input, setInput] = React.useState<string>();\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [selectedItem, setSelectedItem] = React.useState<DropdownItem>();\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [inputFocused, setInputFocused] = React.useState<boolean>(false);\n const [init, setInit] = React.useState<boolean>(true);\n\n const styledFieldRef = useFocusVisibleRef();\n const inputRef = useFocusVisibleRef([styledFieldRef]);\n const clearButtonRef = React.useRef<HTMLButtonElement>(null);\n\n useActionWithin(styledFieldRef, input && !readOnly && !disabled ? [clearButtonRef] : []);\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n const containerRef = useClickOutsideRef(\n () => setIsOpen(false),\n [],\n useFocusOutsideRef(() => setIsOpen(false)),\n );\n\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Esc' || e.key === 'Escape') {\n e.preventDefault();\n }\n if (e.key === 'ArrowDown' || e.key === 'Down' || e.key === 'ArrowUp' || e.key === 'Up') {\n e.preventDefault();\n if (!isOpen) {\n setIsOpen(true);\n }\n }\n };\n\n React.useEffect(() => {\n setInit(true);\n setSelectedValues(!!value ? [value] : []);\n }, [value]);\n\n React.useEffect(() => {\n if (selectedValues?.length) {\n const val = selectedValues[0];\n const item = list.find((a) => a.value === val);\n setSelectedItem(item);\n setInput(item?.displayLabel ?? item?.value ?? '');\n onSelect && !init && onSelect(val);\n } else {\n setSelectedItem(undefined);\n onSelect && !init && onSelect('');\n setInput('');\n }\n }, [selectedValues]);\n\n React.useEffect(() => {\n if (!isOpen) {\n if (!!selectedItem) {\n setInput(selectedItem?.displayLabel ?? selectedItem?.value ?? '');\n } else {\n setInput('');\n }\n }\n\n setRestartFilter(true);\n }, [isOpen, selectedItem]);\n\n const handleInputClear = (e: any) => {\n setInput('');\n setSelectedValues([]);\n onSelect && onSelect('');\n inputRef.current?.focus({ focusVisible: e?.detail !== 1 } as any);\n };\n\n const renderInput = () => {\n return (\n <DropdownInputFieldStyles\n ref={styledFieldRef}\n className={size ? size : ''}\n onClick={(e: any) => {\n if (!readOnly && !disabled) {\n e.stopPropagation();\n setIsOpen(!isOpen);\n if (isOpen) {\n inputRef.current?.blur();\n } else {\n inputRef.current?.focus();\n }\n }\n }}\n $disabled={disabled || false}\n $readOnly={readOnly || false}\n $isPlaceholder={!input} \n $showValidationMessage={!!activeValidationMessage}\n onMouseDown={defaultOnMouseDownHandler}\n data-testid={`otherdiv_${id}`}>\n <DropdownInputField\n id={id}\n ref={inputRef}\n autoComplete={'off-' + Math.floor(Math.random() * 999999999999)}\n type=\"search\"\n placeholder={inputFocused ? '' : placeholder}\n onKeyDown={handleInputKeyDown}\n $ellipsis\n value={input || ''}\n onChange={(e: any) => {\n if (!e.target.value) {\n setSelectedValues([]);\n }\n if (!readOnly && !disabled && e.target.value !== input) {\n setRestartFilter(false);\n setIsOpen(true);\n setInput(e.target.value);\n if (onInputChange) {\n onInputChange(e.target.value || '');\n }\n }\n }}\n onFocus={(e) => {\n setInputFocused(true);\n onFocus && onFocus(e);\n }}\n onBlur={(e) => {\n setInputFocused(false);\n onBlur && onBlur(e);\n }}\n required={required}\n tabIndex={disabled || readOnly ? -1 : 0}\n disabled={disabled || false}\n data-testid={dataTestId}\n {...rest}\n />\n {!isOpen ? <TooltipOverflow position={overflowTooltipPosition} input={inputRef} withArrow={true} maxWidth=\"100%\" size={size} align='end'>\n {input}\n </TooltipOverflow> : null}\n {input && !readOnly && !disabled && !loading && (\n <IconButton action={handleInputClear} ref={clearButtonRef} useTransparentBackground={true} shape={'circular'} style={{ marginLeft: '-4px' }} variant={'secondary'}>\n <SystemIcons.Clear />\n </IconButton>\n )}\n\n {!disabled && !readOnly && loading && (\n <div style={{ marginLeft: '-4xp' }}>\n <LoadingIndicator size={Size.Small} color={COLORS.getColor('neutral_600', theme)} />\n </div>\n )}\n\n <div className={'dropdown-arrow'}>\n {isOpen && !readOnly && !disabled ? <SystemIcons.ArrowDropUp aria-label='Expanded' size=\"24px\" className={size ? size : ''} /> : \n <SystemIcons.ArrowDropDown aria-label='Collapsed' size=\"24px\" className={size ? size : ''} />}\n </div>\n </DropdownInputFieldStyles>\n );\n };\n\n return (\n <>\n <DropdownContainer ref={containerRef}\n role=\"combobox\"\n aria-multiselectable={true} \n aria-controls={`${id}_dropdowncontent`}\n aria-activedescendant={activeDescendant}\n aria-expanded={isOpen}\n $disabled={disabled} $isButton={false} $readOnly={readOnly} className={size ? size : ''} margin={margin}>\n {renderInput()}\n {!readOnly && !disabled && (\n <DropdownContent\n containerRef={containerRef}\n isOpen={isOpen && !loading}\n messageOnNoResults={messageOnNoResults ?? ''}\n selectedValues={selectedValues}\n setSelectedValues={setSelectedValues}\n size={size ?? Size.Small}\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\n focused={focused}\n ariaRolesType=\"input\"\n setFocused={setFocused}\n outline={false}\n customizationProps={{\n itemsType: 'normal',\n scrollable: scrollable,\n multiSelect: false,\n action: () => {},\n onValueUpdate: (values: string[]) => {\n setRestartFilter(true);\n setInit(false);\n },\n items: list,\n }}\n filter={!disableFiltering && !restartFilter ? input || '' : ''}\n setIsOpen={setIsOpen}\n isButton={false}\n id={`${id}_dropdowncontent`}\n />\n )}\n </DropdownContainer>\n {activeValidationMessage && (\n <ErrorMessage className={size || ''}>\n <SystemIcons.TechnicalWarning color={COLORS.getColor('critical_400', theme)} />\n <span>{activeValidationMessage}</span>\n </ErrorMessage>\n )}\n {autofilledMessage && (\n <AutofilledMessage className={size || ''}>\n <SystemIcons.Information color={COLORS.getColor('neutral_600', theme)} />\n <span>{autofilledMessage}</span>\n </AutofilledMessage>\n )}\n </>\n );\n});\n\nexport default DropdownFilter;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DropdownFilter.js","names":["React","COLORS","SystemIcons","LoadingIndicator","DropdownInputFieldStyles","DropdownContainer","DropdownInputField","DropdownContent","Size","AutofilledMessage","ErrorMessage","TooltipOverflow","defaultOnMouseDownHandler","useActionWithin","useClickOutsideRef","useFocusOutsideRef","useFocusVisibleRef","IconButton","useTheme","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DropdownFilter","forwardRef","_ref","ref","id","list","placeholder","onSelect","onInputChange","value","required","messageOnNoResults","disabled","readOnly","scrollable","activeValidationMessage","autofilledMessage","size","disableFiltering","margin","loading","onFocus","overflowTooltipPosition","onBlur","dataTestId","rest","_objectWithoutProperties","_excluded","theme","_React$useState","useState","_React$useState2","_slicedToArray","isOpen","setIsOpen","_React$useState3","_React$useState4","input","setInput","_React$useState5","_React$useState6","activeDescendant","setActiveDescendant","_React$useState7","_React$useState8","restartFilter","setRestartFilter","_React$useState9","_React$useState10","selectedItem","setSelectedItem","_React$useState11","_React$useState12","selectedValues","setSelectedValues","_React$useState13","_React$useState14","focused","setFocused","_React$useState15","_React$useState16","inputFocused","setInputFocused","_React$useState17","_React$useState18","init","setInit","styledFieldRef","inputRef","clearButtonRef","useRef","useImperativeHandle","current","containerRef","handleInputKeyDown","e","key","preventDefault","useEffect","length","_ref2","_item$displayLabel","val","item","find","a","displayLabel","undefined","_ref3","_selectedItem$display","handleInputClear","_inputRef$current","focus","focusVisible","detail","renderInput","className","onClick","stopPropagation","_inputRef$current2","blur","_inputRef$current3","$disabled","$readOnly","$isPlaceholder","$showValidationMessage","onMouseDown","concat","children","_objectSpread","autoComplete","Math","floor","random","type","onKeyDown","$ellipsis","onChange","target","tabIndex","position","withArrow","maxWidth","align","action","useTransparentBackground","shape","style","marginLeft","variant","Clear","Small","color","getColor","ArrowDropUp","ArrowDropDown","role","$isButton","onActiveDescendantChanged","ariaRolesType","outline","customizationProps","itemsType","multiSelect","onValueUpdate","values","items","filter","isButton","TechnicalWarning","Information","propTypes","_pt","array","isRequired","string","func","bool","oneOf"],"sources":["../../src/Dropdown/DropdownFilter.tsx"],"sourcesContent":["import * as React from 'react';\nimport { COLORS } from '../styles';\nimport { SystemIcons } from '../icons';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { DropdownInputFieldStyles, DropdownContainer, DropdownInputField } from './CommonStyling';\nimport DropdownContent, { DropdownItem } from './DropdownContent';\nimport { Size, Testable } from '../types';\nimport { AutofilledMessage, ErrorMessage } from '../InputFields';\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\nimport { defaultOnMouseDownHandler, useActionWithin, useClickOutsideRef, useFocusOutsideRef, useFocusVisibleRef } from '../common';\nimport { IconButton } from '../Button';\nimport { useTheme } from 'styled-components';\n\nexport interface DropdownFilterProps extends Testable, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onSelect' | 'size' | 'list' | 'autoComplete' | 'type' | 'placeholder' | 'onKeyDown' | 'value' | 'onChange' | 'required' | 'tabIndex' | 'disabled' | 'readOnly'> {\n /** Required. List of items to show in the dropdown. */\n list: DropdownItem[];\n /** Optional. Placeholder text to show when there is no input and no item was selected */\n placeholder?: string;\n /** Optional. Currently selected item */\n value?: string;\n /** Optional. Handler to be called when user selects one of the items. */\n onSelect?: (value: string) => void;\n /** Optional. Handler to be called when user changes text in the input. */\n onInputChange?: (input: string) => void;\n /** Optional. If set, then HTML 'required' attribute will be set for the input field */\n required?: boolean;\n /** Optional. If set, then user will not be able to interact with the input field */\n disabled?: boolean;\n /** Optional. If set, then 'readonly' HTML attribute will be set to the input field */\n readOnly?: boolean;\n /** Optional. If set, then loading indicator will be shown in the input field. */\n loading?: boolean;\n\n /** Optional. If set, then items in the dropdown will not be filtered depending on the user input */\n disableFiltering?: boolean;\n\n /** Optional. If none of the items fits input, then there will be a message shown in the dropdown. */\n messageOnNoResults?: string;\n /** Optional. Validation error message to be shown under the input field. */\n activeValidationMessage?: string;\n /** Optional. Informal message to show under the input field. */\n autofilledMessage?: string;\n /** Optional. Size of the input field */\n size?: Size.Small | Size.Medium;\n\n /** Optional. Position of the tooltip to show when input is overflowing the input field. */\n overflowTooltipPosition?: 'top' | 'bottom';\n /** Optional. Margin of the dropdown container items */\n margin?: string;\n /** Optional. Sets if dropdown container is scrollable */\n scrollable?: boolean;\n}\n\nconst DropdownFilter = React.forwardRef( ({\n id,\n list,\n placeholder,\n onSelect,\n onInputChange,\n value,\n required,\n messageOnNoResults,\n disabled,\n readOnly,\n scrollable,\n activeValidationMessage,\n autofilledMessage,\n size,\n disableFiltering,\n margin,\n loading,\n onFocus,\n overflowTooltipPosition,\n onBlur,\n dataTestId,\n ...rest\n }: DropdownFilterProps, ref) => {\n\n const theme = useTheme();\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const [input, setInput] = React.useState<string>();\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [selectedItem, setSelectedItem] = React.useState<DropdownItem>();\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [inputFocused, setInputFocused] = React.useState<boolean>(false);\n const [init, setInit] = React.useState<boolean>(true);\n\n const styledFieldRef = useFocusVisibleRef();\n const inputRef = useFocusVisibleRef([styledFieldRef]);\n const clearButtonRef = React.useRef<HTMLButtonElement>(null);\n\n useActionWithin(styledFieldRef, input && !readOnly && !disabled ? [clearButtonRef] : []);\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n const containerRef = useClickOutsideRef(\n () => setIsOpen(false),\n [],\n useFocusOutsideRef(() => setIsOpen(false)),\n );\n\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Esc' || e.key === 'Escape') {\n e.preventDefault();\n }\n if (e.key === 'ArrowDown' || e.key === 'Down' || e.key === 'ArrowUp' || e.key === 'Up') {\n e.preventDefault();\n if (!isOpen) {\n setIsOpen(true);\n }\n }\n };\n\n React.useEffect(() => {\n setInit(true);\n setSelectedValues(!!value ? [value] : []);\n }, [value]);\n\n React.useEffect(() => {\n if (selectedValues?.length) {\n const val = selectedValues[0];\n const item = list.find((a) => a.value === val);\n setSelectedItem(item);\n setInput(item?.displayLabel ?? item?.value ?? '');\n onSelect && !init && onSelect(val);\n } else {\n setSelectedItem(undefined);\n onSelect && !init && onSelect('');\n setInput('');\n }\n }, [selectedValues]);\n\n React.useEffect(() => {\n if (!isOpen) {\n if (!!selectedItem) {\n setInput(selectedItem?.displayLabel ?? selectedItem?.value ?? '');\n } else {\n setInput('');\n }\n }\n\n setRestartFilter(true);\n }, [isOpen, selectedItem]);\n\n const handleInputClear = (e: any) => {\n setInput('');\n setSelectedValues([]);\n onSelect && onSelect('');\n inputRef.current?.focus({ focusVisible: e?.detail !== 1 } as any);\n };\n\n const renderInput = () => {\n return (\n <DropdownInputFieldStyles\n ref={styledFieldRef}\n className={size ? size : ''}\n onClick={(e: any) => {\n if (!readOnly && !disabled) {\n e.stopPropagation();\n setIsOpen(!isOpen);\n if (isOpen) {\n inputRef.current?.blur();\n } else {\n inputRef.current?.focus();\n }\n }\n }}\n $disabled={disabled || false}\n $readOnly={readOnly || false}\n $isPlaceholder={!input} \n $showValidationMessage={!!activeValidationMessage}\n onMouseDown={defaultOnMouseDownHandler}\n data-testid={`otherdiv_${id}`}>\n <DropdownInputField\n id={id}\n ref={inputRef}\n autoComplete={'off-' + Math.floor(Math.random() * 999999999999)}\n type=\"search\"\n placeholder={inputFocused ? '' : placeholder}\n onKeyDown={handleInputKeyDown}\n $ellipsis\n value={input || ''}\n onChange={(e: any) => {\n if (!e.target.value) {\n setSelectedValues([]);\n }\n if (!readOnly && !disabled && e.target.value !== input) {\n setRestartFilter(false);\n setIsOpen(true);\n setInput(e.target.value);\n if (onInputChange) {\n onInputChange(e.target.value || '');\n }\n }\n }}\n onFocus={(e) => {\n setInputFocused(true);\n onFocus && onFocus(e);\n }}\n onBlur={(e) => {\n setInputFocused(false);\n onBlur && onBlur(e);\n }}\n required={required}\n tabIndex={disabled || readOnly ? -1 : 0}\n disabled={disabled || false}\n data-testid={dataTestId}\n {...rest}\n />\n {!isOpen ? <TooltipOverflow position={overflowTooltipPosition} input={inputRef} withArrow={true} maxWidth=\"100%\" size={size} align='end'>\n {input}\n </TooltipOverflow> : null}\n {input && !readOnly && !disabled && !loading && (\n <IconButton action={handleInputClear} ref={clearButtonRef} useTransparentBackground={true} shape={'circular'} style={{ marginLeft: '-4px' }} variant={'secondary'}>\n <SystemIcons.Clear />\n </IconButton>\n )}\n\n {!disabled && !readOnly && loading && (\n <div style={{ marginLeft: '-4xp' }}>\n <LoadingIndicator size={Size.Small} color={COLORS.getColor('neutral_600', theme)} />\n </div>\n )}\n\n <div className={'dropdown-arrow'}>\n {isOpen && !readOnly && !disabled ? <SystemIcons.ArrowDropUp size=\"24px\" className={size ? size : ''} /> : <SystemIcons.ArrowDropDown size=\"24px\" className={size ? size : ''} />}\n </div>\n </DropdownInputFieldStyles>\n );\n };\n\n return (\n <>\n <DropdownContainer ref={containerRef}\n role=\"combobox\"\n aria-multiselectable={true} \n aria-controls={`${id}_dropdowncontent`}\n aria-activedescendant={activeDescendant}\n aria-expanded={isOpen}\n $disabled={disabled} $isButton={false} $readOnly={readOnly} className={size ? size : ''} margin={margin}>\n {renderInput()}\n {!readOnly && !disabled && (\n <DropdownContent\n containerRef={containerRef}\n isOpen={isOpen && !loading}\n messageOnNoResults={messageOnNoResults ?? ''}\n selectedValues={selectedValues}\n setSelectedValues={setSelectedValues}\n size={size ?? Size.Small}\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\n focused={focused}\n ariaRolesType=\"input\"\n setFocused={setFocused}\n outline={false}\n customizationProps={{\n itemsType: 'normal',\n scrollable: scrollable,\n multiSelect: false,\n action: () => {},\n onValueUpdate: (values: string[]) => {\n setRestartFilter(true);\n setInit(false);\n },\n items: list,\n }}\n filter={!disableFiltering && !restartFilter ? input || '' : ''}\n setIsOpen={setIsOpen}\n isButton={false}\n id={`${id}_dropdowncontent`}\n />\n )}\n </DropdownContainer>\n {activeValidationMessage && (\n <ErrorMessage className={size || ''}>\n <SystemIcons.TechnicalWarning color={COLORS.getColor('critical_400', theme)} />\n <span>{activeValidationMessage}</span>\n </ErrorMessage>\n )}\n {autofilledMessage && (\n <AutofilledMessage className={size || ''}>\n <SystemIcons.Information color={COLORS.getColor('neutral_600', theme)} />\n <span>{autofilledMessage}</span>\n </AutofilledMessage>\n )}\n </>\n );\n});\n\nexport default DropdownFilter;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -33,6 +33,7 @@ exports.MenuSectionList = MenuSectionList;
|
|
|
33
33
|
var ExtendedMainMenu = function ExtendedMainMenu(_ref) {
|
|
34
34
|
var clickMenuAction = _ref.clickMenuAction,
|
|
35
35
|
navigationOptions = _ref.navigationOptions;
|
|
36
|
+
console.log(navigationOptions);
|
|
36
37
|
var _React$useState = React.useState([]),
|
|
37
38
|
_React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
|
|
38
39
|
entries = _React$useState2[0],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendedMainMenu.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_styles","_Tabs","_index","_jsxRuntime","_templateObject","_templateObject2","_templateObject3","_templateObject4","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","flowDown","keyframes","_taggedTemplateLiteral2","exports","Menu","styled","ul","props","COLORS","getColor","theme","Z_INDEXES","dropdown","BREAKPOINTS","SMALL","MEDIUM","focusStyles","MenuSection","li","MenuSectionList","ExtendedMainMenu","_ref","clickMenuAction","navigationOptions","_React$useState","useState","_React$useState2","_slicedToArray2","entries","setEntries","useEffect","handleKeyPress","keyCode","document","addEventListener","removeEventListener","list","map","requiredLine","label","to","disabled","onClick","action","exact","jsx","role","children","VerticalTabs","size","Size","Medium","propTypes","_propTypes","func","isRequired","array","_default"],"sources":["../../../src/GlobalNavigationBar/desktop/ExtendedMainMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled, { keyframes } from 'styled-components';\n\nimport { BREAKPOINTS, COLORS, focusStyles } from '../../styles';\nimport { VerticalTabs } from '../../Tabs';\nimport { VerticalTabEntry } from '../../Tabs';\nimport {MenuNavigationItemTypeItem, Size} from '../../index';\nimport {Z_INDEXES} from '../../styles';\n\nexport const flowDown = keyframes`\n 0% {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nexport const Menu = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n background-color: ${props => COLORS.getColor('white', props.theme)};\n box-sizing: border-box;\n display: none;\n right: -8px;\n min-width: 300px;\n -webkit-animation: ${flowDown} 0.2s ease-in-out;\n animation: ${flowDown} 0.2s ease-in-out;\n position: absolute;\n box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n z-index: ${Z_INDEXES.dropdown};\n\n top: 12px;\n ${BREAKPOINTS.SMALL} {\n top: 18px;\n }\n ${BREAKPOINTS.MEDIUM} {\n top: 24px;\n }\n\n .open & {\n display: block;\n }\n\n &:focus {\n ${focusStyles}\n }\n`;\n\nexport const MenuSection = styled.li`\n padding: 8px 0;\n position: relative;\n\n &:not(:first-of-type)::before {\n content: '';\n position: absolute;\n background: ${props => COLORS.getColor('neutral_100', props.theme)};\n height: 1px;\n top: 0;\n left: 16px;\n right: 16px;\n }\n`;\n\nexport const MenuSectionList = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0 2px;\n`;\n\ntype Props = {\n clickMenuAction: () => void;\n navigationOptions: MenuNavigationItemTypeItem[];\n};\n\nconst ExtendedMainMenu = ({ clickMenuAction, navigationOptions }: Props) => {\n const [entries, setEntries] = React.useState<VerticalTabEntry[]>([]);\n React.useEffect(() => {\n function handleKeyPress(e: any) {\n if (e.keyCode === 27) {\n clickMenuAction();\n }\n }\n\n document.addEventListener('keydown', handleKeyPress, false);\n return () => {\n document.removeEventListener('keydown', handleKeyPress, false);\n };\n }, [clickMenuAction]);\n\n React.useEffect(() => {\n const list = navigationOptions?.map(n => {\n return { requiredLine: n.label, to: n.to, disabled: n.disabled, onClick: n.action, exact: n.exact };\n }) as VerticalTabEntry[];\n setEntries(list);\n }, [navigationOptions]);\n\n return (\n <Menu onClick={clickMenuAction} role=\"menu\" aria-labelledby=\"UserMenuButton\">\n <MenuSection>\n <MenuSectionList>\n <VerticalTabs key=\"ExtendedMenu\" entries={entries} size={Size.Medium} />\n </MenuSectionList>\n </MenuSection>\n </Menu>\n );\n};\n\nexport default ExtendedMainMenu;\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAF,uBAAA,CAAAC,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAEA,IAAAI,MAAA,GAAAJ,OAAA;AAA6D,IAAAK,WAAA,GAAAL,OAAA;AAAA,IAAAM,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAZ,wBAAAY,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAGtD,IAAMW,QAAQ,OAAGC,2BAAS,EAAAzB,eAAA,KAAAA,eAAA,OAAA0B,uBAAA,oJAShC;AAACC,OAAA,CAAAH,QAAA,GAAAA,QAAA;AAEK,IAAMI,IAAI,GAAGC,4BAAM,CAACC,EAAE,CAAA7B,gBAAA,KAAAA,gBAAA,OAAAyB,uBAAA,6gBAIP,UAAAK,KAAK;EAAA,OAAIC,cAAM,CAACC,QAAQ,CAAC,OAAO,EAAEF,KAAK,CAACG,KAAK,CAAC;AAAA,GAK7CV,QAAQ,EAChBA,QAAQ,EAIVW,iBAAS,CAACC,QAAQ,EAG3BC,mBAAW,CAACC,KAAK,EAGjBD,mBAAW,CAACE,MAAM,EAShBC,mBAAW,CAEhB;AAACb,OAAA,CAAAC,IAAA,GAAAA,IAAA;AAEK,IAAMa,WAAW,GAAGZ,4BAAM,CAACa,EAAE,CAAAxC,gBAAA,KAAAA,gBAAA,OAAAwB,uBAAA,+OAOlB,UAAAK,KAAK;EAAA,OAAIC,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEF,KAAK,CAACG,KAAK,CAAC;AAAA,EAMrE;AAACP,OAAA,CAAAc,WAAA,GAAAA,WAAA;AAEK,IAAME,eAAe,GAAGd,4BAAM,CAACC,EAAE,CAAA3B,gBAAA,KAAAA,gBAAA,OAAAuB,uBAAA,4EAIvC;AAACC,OAAA,CAAAgB,eAAA,GAAAA,eAAA;AAOF,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAAsD;EAAA,IAAhDC,eAAe,GAAAD,IAAA,CAAfC,eAAe;IAAEC,iBAAiB,GAAAF,IAAA,CAAjBE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"ExtendedMainMenu.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_styles","_Tabs","_index","_jsxRuntime","_templateObject","_templateObject2","_templateObject3","_templateObject4","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","flowDown","keyframes","_taggedTemplateLiteral2","exports","Menu","styled","ul","props","COLORS","getColor","theme","Z_INDEXES","dropdown","BREAKPOINTS","SMALL","MEDIUM","focusStyles","MenuSection","li","MenuSectionList","ExtendedMainMenu","_ref","clickMenuAction","navigationOptions","console","log","_React$useState","useState","_React$useState2","_slicedToArray2","entries","setEntries","useEffect","handleKeyPress","keyCode","document","addEventListener","removeEventListener","list","map","requiredLine","label","to","disabled","onClick","action","exact","jsx","role","children","VerticalTabs","size","Size","Medium","propTypes","_propTypes","func","isRequired","array","_default"],"sources":["../../../src/GlobalNavigationBar/desktop/ExtendedMainMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled, { keyframes } from 'styled-components';\n\nimport { BREAKPOINTS, COLORS, focusStyles } from '../../styles';\nimport { VerticalTabs } from '../../Tabs';\nimport { VerticalTabEntry } from '../../Tabs';\nimport {MenuNavigationItemTypeItem, Size} from '../../index';\nimport {Z_INDEXES} from '../../styles';\n\nexport const flowDown = keyframes`\n 0% {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nexport const Menu = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n background-color: ${props => COLORS.getColor('white', props.theme)};\n box-sizing: border-box;\n display: none;\n right: -8px;\n min-width: 300px;\n -webkit-animation: ${flowDown} 0.2s ease-in-out;\n animation: ${flowDown} 0.2s ease-in-out;\n position: absolute;\n box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n z-index: ${Z_INDEXES.dropdown};\n\n top: 12px;\n ${BREAKPOINTS.SMALL} {\n top: 18px;\n }\n ${BREAKPOINTS.MEDIUM} {\n top: 24px;\n }\n\n .open & {\n display: block;\n }\n\n &:focus {\n ${focusStyles}\n }\n`;\n\nexport const MenuSection = styled.li`\n padding: 8px 0;\n position: relative;\n\n &:not(:first-of-type)::before {\n content: '';\n position: absolute;\n background: ${props => COLORS.getColor('neutral_100', props.theme)};\n height: 1px;\n top: 0;\n left: 16px;\n right: 16px;\n }\n`;\n\nexport const MenuSectionList = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0 2px;\n`;\n\ntype Props = {\n clickMenuAction: () => void;\n navigationOptions: MenuNavigationItemTypeItem[];\n};\n\nconst ExtendedMainMenu = ({ clickMenuAction, navigationOptions }: Props) => {\n console.log(navigationOptions);\n const [entries, setEntries] = React.useState<VerticalTabEntry[]>([]);\n React.useEffect(() => {\n function handleKeyPress(e: any) {\n if (e.keyCode === 27) {\n clickMenuAction();\n }\n }\n\n document.addEventListener('keydown', handleKeyPress, false);\n return () => {\n document.removeEventListener('keydown', handleKeyPress, false);\n };\n }, [clickMenuAction]);\n\n React.useEffect(() => {\n const list = navigationOptions?.map(n => {\n return { requiredLine: n.label, to: n.to, disabled: n.disabled, onClick: n.action, exact: n.exact };\n }) as VerticalTabEntry[];\n setEntries(list);\n }, [navigationOptions]);\n\n return (\n <Menu onClick={clickMenuAction} role=\"menu\" aria-labelledby=\"UserMenuButton\">\n <MenuSection>\n <MenuSectionList>\n <VerticalTabs key=\"ExtendedMenu\" entries={entries} size={Size.Medium} />\n </MenuSectionList>\n </MenuSection>\n </Menu>\n );\n};\n\nexport default ExtendedMainMenu;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,6 +20,7 @@ export var MenuSectionList = styled.ul(_templateObject4 || (_templateObject4 = _
|
|
|
20
20
|
var ExtendedMainMenu = function ExtendedMainMenu(_ref) {
|
|
21
21
|
var clickMenuAction = _ref.clickMenuAction,
|
|
22
22
|
navigationOptions = _ref.navigationOptions;
|
|
23
|
+
console.log(navigationOptions);
|
|
23
24
|
var _React$useState = React.useState([]),
|
|
24
25
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
25
26
|
entries = _React$useState2[0],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendedMainMenu.js","names":["React","styled","keyframes","BREAKPOINTS","COLORS","focusStyles","VerticalTabs","Size","Z_INDEXES","jsx","_jsx","flowDown","_templateObject","_taggedTemplateLiteral","Menu","ul","_templateObject2","props","getColor","theme","dropdown","SMALL","MEDIUM","MenuSection","li","_templateObject3","MenuSectionList","_templateObject4","ExtendedMainMenu","_ref","clickMenuAction","navigationOptions","_React$useState","useState","_React$useState2","_slicedToArray","entries","setEntries","useEffect","handleKeyPress","e","keyCode","document","addEventListener","removeEventListener","list","map","n","requiredLine","label","to","disabled","onClick","action","exact","role","children","size","Medium","propTypes","_pt","func","isRequired","array"],"sources":["../../../src/GlobalNavigationBar/desktop/ExtendedMainMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled, { keyframes } from 'styled-components';\n\nimport { BREAKPOINTS, COLORS, focusStyles } from '../../styles';\nimport { VerticalTabs } from '../../Tabs';\nimport { VerticalTabEntry } from '../../Tabs';\nimport {MenuNavigationItemTypeItem, Size} from '../../index';\nimport {Z_INDEXES} from '../../styles';\n\nexport const flowDown = keyframes`\n 0% {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nexport const Menu = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n background-color: ${props => COLORS.getColor('white', props.theme)};\n box-sizing: border-box;\n display: none;\n right: -8px;\n min-width: 300px;\n -webkit-animation: ${flowDown} 0.2s ease-in-out;\n animation: ${flowDown} 0.2s ease-in-out;\n position: absolute;\n box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n z-index: ${Z_INDEXES.dropdown};\n\n top: 12px;\n ${BREAKPOINTS.SMALL} {\n top: 18px;\n }\n ${BREAKPOINTS.MEDIUM} {\n top: 24px;\n }\n\n .open & {\n display: block;\n }\n\n &:focus {\n ${focusStyles}\n }\n`;\n\nexport const MenuSection = styled.li`\n padding: 8px 0;\n position: relative;\n\n &:not(:first-of-type)::before {\n content: '';\n position: absolute;\n background: ${props => COLORS.getColor('neutral_100', props.theme)};\n height: 1px;\n top: 0;\n left: 16px;\n right: 16px;\n }\n`;\n\nexport const MenuSectionList = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0 2px;\n`;\n\ntype Props = {\n clickMenuAction: () => void;\n navigationOptions: MenuNavigationItemTypeItem[];\n};\n\nconst ExtendedMainMenu = ({ clickMenuAction, navigationOptions }: Props) => {\n const [entries, setEntries] = React.useState<VerticalTabEntry[]>([]);\n React.useEffect(() => {\n function handleKeyPress(e: any) {\n if (e.keyCode === 27) {\n clickMenuAction();\n }\n }\n\n document.addEventListener('keydown', handleKeyPress, false);\n return () => {\n document.removeEventListener('keydown', handleKeyPress, false);\n };\n }, [clickMenuAction]);\n\n React.useEffect(() => {\n const list = navigationOptions?.map(n => {\n return { requiredLine: n.label, to: n.to, disabled: n.disabled, onClick: n.action, exact: n.exact };\n }) as VerticalTabEntry[];\n setEntries(list);\n }, [navigationOptions]);\n\n return (\n <Menu onClick={clickMenuAction} role=\"menu\" aria-labelledby=\"UserMenuButton\">\n <MenuSection>\n <MenuSectionList>\n <VerticalTabs key=\"ExtendedMenu\" entries={entries} size={Size.Medium} />\n </MenuSectionList>\n </MenuSection>\n </Menu>\n );\n};\n\nexport default ExtendedMainMenu;\n"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,MAAM,IAAIC,SAAS,QAAQ,mBAAmB;AAErD,SAASC,WAAW,EAAEC,MAAM,EAAEC,WAAW,QAAQ,cAAc;AAC/D,SAASC,YAAY,QAAQ,YAAY;AAEzC,SAAoCC,IAAI,QAAO,aAAa;AAC5D,SAAQC,SAAS,QAAO,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEvC,OAAO,IAAMC,QAAQ,GAAGT,SAAS,CAAAU,eAAA,KAAAA,eAAA,GAAAC,sBAAA,wIAShC;AAED,OAAO,IAAMC,IAAI,GAAGb,MAAM,CAACc,EAAE,CAAAC,gBAAA,KAAAA,gBAAA,GAAAH,sBAAA,igBAIP,UAAAI,KAAK;EAAA,OAAIb,MAAM,CAACc,QAAQ,CAAC,OAAO,EAAED,KAAK,CAACE,KAAK,CAAC;AAAA,GAK7CR,QAAQ,EAChBA,QAAQ,EAIVH,SAAS,CAACY,QAAQ,EAG3BjB,WAAW,CAACkB,KAAK,EAGjBlB,WAAW,CAACmB,MAAM,EAShBjB,WAAW,CAEhB;AAED,OAAO,IAAMkB,WAAW,GAAGtB,MAAM,CAACuB,EAAE,CAAAC,gBAAA,KAAAA,gBAAA,GAAAZ,sBAAA,mOAOlB,UAAAI,KAAK;EAAA,OAAIb,MAAM,CAACc,QAAQ,CAAC,aAAa,EAAED,KAAK,CAACE,KAAK,CAAC;AAAA,EAMrE;AAED,OAAO,IAAMO,eAAe,GAAGzB,MAAM,CAACc,EAAE,CAAAY,gBAAA,KAAAA,gBAAA,GAAAd,sBAAA,gEAIvC;AAOD,IAAMe,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAAsD;EAAA,IAAhDC,eAAe,GAAAD,IAAA,CAAfC,eAAe;IAAEC,iBAAiB,GAAAF,IAAA,CAAjBE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"ExtendedMainMenu.js","names":["React","styled","keyframes","BREAKPOINTS","COLORS","focusStyles","VerticalTabs","Size","Z_INDEXES","jsx","_jsx","flowDown","_templateObject","_taggedTemplateLiteral","Menu","ul","_templateObject2","props","getColor","theme","dropdown","SMALL","MEDIUM","MenuSection","li","_templateObject3","MenuSectionList","_templateObject4","ExtendedMainMenu","_ref","clickMenuAction","navigationOptions","console","log","_React$useState","useState","_React$useState2","_slicedToArray","entries","setEntries","useEffect","handleKeyPress","e","keyCode","document","addEventListener","removeEventListener","list","map","n","requiredLine","label","to","disabled","onClick","action","exact","role","children","size","Medium","propTypes","_pt","func","isRequired","array"],"sources":["../../../src/GlobalNavigationBar/desktop/ExtendedMainMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled, { keyframes } from 'styled-components';\n\nimport { BREAKPOINTS, COLORS, focusStyles } from '../../styles';\nimport { VerticalTabs } from '../../Tabs';\nimport { VerticalTabEntry } from '../../Tabs';\nimport {MenuNavigationItemTypeItem, Size} from '../../index';\nimport {Z_INDEXES} from '../../styles';\n\nexport const flowDown = keyframes`\n 0% {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nexport const Menu = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n background-color: ${props => COLORS.getColor('white', props.theme)};\n box-sizing: border-box;\n display: none;\n right: -8px;\n min-width: 300px;\n -webkit-animation: ${flowDown} 0.2s ease-in-out;\n animation: ${flowDown} 0.2s ease-in-out;\n position: absolute;\n box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n z-index: ${Z_INDEXES.dropdown};\n\n top: 12px;\n ${BREAKPOINTS.SMALL} {\n top: 18px;\n }\n ${BREAKPOINTS.MEDIUM} {\n top: 24px;\n }\n\n .open & {\n display: block;\n }\n\n &:focus {\n ${focusStyles}\n }\n`;\n\nexport const MenuSection = styled.li`\n padding: 8px 0;\n position: relative;\n\n &:not(:first-of-type)::before {\n content: '';\n position: absolute;\n background: ${props => COLORS.getColor('neutral_100', props.theme)};\n height: 1px;\n top: 0;\n left: 16px;\n right: 16px;\n }\n`;\n\nexport const MenuSectionList = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0 2px;\n`;\n\ntype Props = {\n clickMenuAction: () => void;\n navigationOptions: MenuNavigationItemTypeItem[];\n};\n\nconst ExtendedMainMenu = ({ clickMenuAction, navigationOptions }: Props) => {\n console.log(navigationOptions);\n const [entries, setEntries] = React.useState<VerticalTabEntry[]>([]);\n React.useEffect(() => {\n function handleKeyPress(e: any) {\n if (e.keyCode === 27) {\n clickMenuAction();\n }\n }\n\n document.addEventListener('keydown', handleKeyPress, false);\n return () => {\n document.removeEventListener('keydown', handleKeyPress, false);\n };\n }, [clickMenuAction]);\n\n React.useEffect(() => {\n const list = navigationOptions?.map(n => {\n return { requiredLine: n.label, to: n.to, disabled: n.disabled, onClick: n.action, exact: n.exact };\n }) as VerticalTabEntry[];\n setEntries(list);\n }, [navigationOptions]);\n\n return (\n <Menu onClick={clickMenuAction} role=\"menu\" aria-labelledby=\"UserMenuButton\">\n <MenuSection>\n <MenuSectionList>\n <VerticalTabs key=\"ExtendedMenu\" entries={entries} size={Size.Medium} />\n </MenuSectionList>\n </MenuSection>\n </Menu>\n );\n};\n\nexport default ExtendedMainMenu;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -126,6 +126,7 @@ var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
126
126
|
if (newFocusedElement && newFocusedElement !== oldFocusedElement) {
|
|
127
127
|
var _newFocusedElement$cu, _item$items$index$id;
|
|
128
128
|
(_newFocusedElement$cu = newFocusedElement.current) === null || _newFocusedElement$cu === void 0 ? void 0 : _newFocusedElement$cu.classList.add('dropdown-hover');
|
|
129
|
+
console.log(item.items[index].id);
|
|
129
130
|
onItemFocused && onItemFocused((_item$items$index$id = item.items[index].id) !== null && _item$items$index$id !== void 0 ? _item$items$index$id : '');
|
|
130
131
|
} else if (onItemFocused) onItemFocused('');
|
|
131
132
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubMenu.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_ExtendedMainMenu","_types","_icons","_utils","_Tabs","_TabLink","_MenuItem","_jsxRuntime","_templateObject","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SubMenuWrapper","styled","div","_taggedTemplateLiteral2","Menu","props","$topLevel","$visible","exports","SubMenu","forwardRef","_ref","ref","item","index","topLevel","dropdownMenusOpenedArray","onSubMenuHidden","onSubMenuOpened","onItemStateChanged","focusedItemId","activeItemId","nestPath","ariaLabelledBy","onItemFocused","_React$useState","useState","_React$useState2","_slicedToArray2","forceUpdate","focusedRef","useRef","_React$useState3","_React$useState4","allRefs","setAllRefs","_React$useState5","_React$useState6","subMenuRefs","setAllSubMenuRefs","useEffect","items","map","x","type","createRef","undefined","existingRef","current","find","id","onMouseLeave","event","_toConsumableArray2","filter","containActiveItem","checkIfContainsItem","onMouseEnter","existingRefForId","concat","onKeyDown","key","stopPropagation","preventDefault","setNewFocusedElement","length","code","focusedItem","_allRefs$focusedRef$c","click","_oldFocusedElement$cu","newFocusedElement","oldFocusedElement","classList","remove","_newFocusedElement$cu","_item$items$index$id","add","onFocus","onBlur","jsx","className","Boolean","children","role","tabIndex","MenuSection","MenuSectionList","size","Size","Medium","entry","_entry$label2","isGroup","to","SubItemOpened","_entry$items$find$id","_entry$items$find","_entry$label","jsxs","style","position","MenuItem","value","label","iconRight","SystemIcons","ArrowDropRight","active","onClickHandler","Fragment","onActiveStateChanged","state","forceDeactivate","requiredLine","optionalLine","endLineIcon","OptionalLineIcon","disabled","showNotificationDot","variant","propTypes","_propTypes","number","isRequired","bool","func","string","arrayOf"],"sources":["../../../src/GlobalNavigationBar/desktop/SubMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport { Menu, MenuSection, MenuSectionList } from './ExtendedMainMenu';\nimport { MenuNavigationItemTypeDesktopGroup } from '../types';\nimport { Size } from '../../types';\nimport { SystemIcons } from '../../icons';\nimport { checkIfContainsItem } from '../utils';\nimport Tabs from '../../Tabs/Tabs';\nimport TabLink from '../../Tabs/TabLink';\nimport { MenuItem } from '../../MenuItem';\n\nexport type SubMenuProps = {\n item: MenuNavigationItemTypeDesktopGroup;\n index: number;\n topLevel: boolean;\n dropdownMenusOpenedArray: React.MutableRefObject<string[]>;\n onSubMenuOpened?: (item: string) => void;\n onSubMenuHidden?: (item: string) => void;\n onItemStateChanged?: (item: string, state: boolean) => void;\n onItemFocused?: (item: string) => void;\n focusedItemId?: string;\n activeItemId?: string;\n nestPath?: string[];\n ariaLabelledBy?: string;\n};\n\nexport const SubMenuWrapper = styled.div<{ $topLevel: boolean; $visible: boolean }>`\n ${Menu} {\n top: ${(props) => (props.$topLevel ? '100%' : '0px')};\n left: ${(props) => (props.$topLevel ? '0px' : 'calc(100% - 12px)')};\n }\n\n ${(props) => (!props.$visible ? 'display: none;' : '')}\n\n button {\n padding-left: 0px;\n }\n`;\n\nexport const SubMenu = React.forwardRef<HTMLUListElement, SubMenuProps>(({\n item,\n index,\n topLevel,\n dropdownMenusOpenedArray,\n onSubMenuHidden,\n onSubMenuOpened,\n onItemStateChanged,\n focusedItemId,\n activeItemId,\n nestPath,\n ariaLabelledBy,\n onItemFocused\n}: SubMenuProps, ref): React.ReactElement<SubMenuProps> => {\n const [, forceUpdate] = React.useState({});\n const focusedRef = React.useRef<{ index: number }>({ index: -1 });\n const [allRefs, setAllRefs] = React.useState<React.RefObject<HTMLButtonElement | HTMLAnchorElement>[]>([]);\n const [subMenuRefs, setAllSubMenuRefs] = React.useState<(React.RefObject<HTMLUListElement> | undefined)[]>([]);\n\n React.useEffect(() => {\n setAllRefs(item.items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLButtonElement>() : React.createRef<HTMLAnchorElement>())));\n setAllSubMenuRefs(item.items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLUListElement>() : undefined)));\n }, [item]);\n\n const existingRef = dropdownMenusOpenedArray.current.find((x) => x == item.id);\n const onMouseLeave = (event: any, id: string) => {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current.filter((x) => x != id)];\n //just trigger rerendering\n onSubMenuHidden && onSubMenuHidden(id);\n forceUpdate({});\n };\n let containActiveItem = false;\n if (item.type == 'desktopgroup' && activeItemId) containActiveItem = checkIfContainsItem(item, activeItemId);\n\n const onMouseEnter = (event: any, id: string) => {\n const existingRefForId = dropdownMenusOpenedArray.current.find((x) => x == id);\n if (existingRefForId == null) {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, id];\n //just trigger rerendering\n onSubMenuOpened && onSubMenuOpened(id);\n forceUpdate({});\n }\n };\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLUListElement>) => {\n \n if (e.key === 'ArrowUp' || e.key === 'Up') {\n e.stopPropagation();\n e.preventDefault();\n if (focusedRef.current.index > 0) {\n setNewFocusedElement(focusedRef.current.index - 1);\n }\n } else if (e.key === 'ArrowDown' || e.key === 'Down') {\n e.stopPropagation();\n e.preventDefault();\n if(focusedRef.current.index < allRefs.length - 1)\n setNewFocusedElement(focusedRef.current.index + 1);\n } \n else\n if (e.key == 'Enter' || e.code == 'Space') {\n e.stopPropagation();\n if(focusedRef.current.index < 0)\n return;\n \n const focusedItem = item.items[focusedRef.current.index];\n if(focusedItem.type == 'desktopgroup')\n {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, focusedItem.id];\n forceUpdate({});\n }\n else\n {\n allRefs[focusedRef.current.index].current?.click();\n forceUpdate({});\n }\n\n //just trigger rerendering\n \n }\n };\n\n const setNewFocusedElement = (index: number) => {\n const newFocusedElement = index >= 0 ? allRefs[index] : null;\n const oldFocusedElement = focusedRef.current.index >= 0 ? allRefs[focusedRef.current.index] : null;\n focusedRef.current.index = index;\n\n if(oldFocusedElement)\n oldFocusedElement?.current?.classList.remove('dropdown-hover');\n\n if (newFocusedElement && newFocusedElement !== oldFocusedElement) {\n newFocusedElement.current?.classList.add('dropdown-hover');\n onItemFocused && onItemFocused(item.items[index].id ?? '');\n }\n else if(onItemFocused)\n onItemFocused('');\n };\n\n const onFocus = (event: React.FocusEvent<HTMLUListElement>) => {\n event.stopPropagation();\n dropdownMenusOpenedArray.current = [...(nestPath ?? [])];\n setNewFocusedElement(0);\n forceUpdate({});\n \n };\n\n const onBlur = (event: React.FocusEvent<HTMLUListElement>) => {\n event.stopPropagation();\n setNewFocusedElement(-1);\n };\n\n return (\n <SubMenuWrapper id={item.id} className={existingRef ? 'open' : '' } $topLevel={topLevel} $visible={Boolean(existingRef)}>\n <Menu role=\"group\" ref={ref} aria-labelledby={ariaLabelledBy} onBlur={onBlur} onFocus={onFocus} onKeyDown={(event) => onKeyDown(event)} tabIndex={0}>\n <MenuSection>\n <MenuSectionList>\n <Tabs size={Size.Medium}>\n {item.items.map((entry, index) => {\n const isGroup = entry.type == 'desktopgroup';\n const key = isGroup ? entry.id : entry.type == 'item' ? entry.to : '';\n const SubItemOpened = Boolean(dropdownMenusOpenedArray.current.find((x) => x == entry.id));\n if (isGroup) {\n return (\n <div style={{ position: 'relative' }} onMouseEnter={(event) => onMouseEnter(event, entry.id)} onMouseLeave={(event) => onMouseLeave(event, entry.id)}>\n <MenuItem\n id={entry.id + '_parentOption'}\n aria-expanded={Boolean(SubItemOpened)}\n aria-activedescendant={entry.items.find(x => x.id == focusedItemId)?.id ?? ''}\n tabIndex={-1}\n ref={allRefs[index] as React.Ref<HTMLButtonElement>}\n \n aria-controls={entry.id}\n role=\"group\"\n //id={entry.id} removing this can break something\n item={{\n value: entry.label ?? '',\n }}\n iconRight={<SystemIcons.ArrowDropRight size=\"24px\" />}\n active={SubItemOpened || (Boolean(activeItemId) && activeItemId != '' && checkIfContainsItem(entry, activeItemId!))}\n onClickHandler={() => {}}\n />\n <SubMenu\n ariaLabelledBy={entry.id + '_parentOption'}\n onItemFocused={onItemFocused}\n focusedItemId={focusedItemId}\n ref={subMenuRefs[index]}\n nestPath={[...(nestPath ?? []), entry.id]}\n onItemStateChanged={onItemStateChanged}\n activeItemId={activeItemId}\n dropdownMenusOpenedArray={dropdownMenusOpenedArray}\n item={entry as MenuNavigationItemTypeDesktopGroup}\n index={index + 1}\n topLevel={false}\n />\n </div>\n );\n }\n return (\n <>\n <TabLink\n id={entry.id}\n tabIndex={-1}\n key={key}\n to={isGroup ? '' : key}\n ref={allRefs[index] as React.Ref<HTMLAnchorElement>}\n onActiveStateChanged={(state) => onItemStateChanged && entry.type == 'item' && onItemStateChanged(entry.to, state)}\n forceDeactivate={isGroup}\n requiredLine={entry.label ?? ''}\n optionalLine={''}\n endLineIcon={isGroup ? <SystemIcons.ArrowDropRight size=\"24px\" /> : null}\n OptionalLineIcon={''}\n disabled={entry.disabled}\n showNotificationDot={false}\n size={Size.Medium}\n variant=\"positive\"\n />\n </>\n );\n })}\n </Tabs>\n </MenuSectionList>\n </MenuSection>\n </Menu>\n </SubMenuWrapper>\n );\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SubMenu.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_ExtendedMainMenu","_types","_icons","_utils","_Tabs","_TabLink","_MenuItem","_jsxRuntime","_templateObject","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SubMenuWrapper","styled","div","_taggedTemplateLiteral2","Menu","props","$topLevel","$visible","exports","SubMenu","forwardRef","_ref","ref","item","index","topLevel","dropdownMenusOpenedArray","onSubMenuHidden","onSubMenuOpened","onItemStateChanged","focusedItemId","activeItemId","nestPath","ariaLabelledBy","onItemFocused","_React$useState","useState","_React$useState2","_slicedToArray2","forceUpdate","focusedRef","useRef","_React$useState3","_React$useState4","allRefs","setAllRefs","_React$useState5","_React$useState6","subMenuRefs","setAllSubMenuRefs","useEffect","items","map","x","type","createRef","undefined","existingRef","current","find","id","onMouseLeave","event","_toConsumableArray2","filter","containActiveItem","checkIfContainsItem","onMouseEnter","existingRefForId","concat","onKeyDown","key","stopPropagation","preventDefault","setNewFocusedElement","length","code","focusedItem","_allRefs$focusedRef$c","click","_oldFocusedElement$cu","newFocusedElement","oldFocusedElement","classList","remove","_newFocusedElement$cu","_item$items$index$id","add","console","log","onFocus","onBlur","jsx","className","Boolean","children","role","tabIndex","MenuSection","MenuSectionList","size","Size","Medium","entry","_entry$label2","isGroup","to","SubItemOpened","_entry$items$find$id","_entry$items$find","_entry$label","jsxs","style","position","MenuItem","value","label","iconRight","SystemIcons","ArrowDropRight","active","onClickHandler","Fragment","onActiveStateChanged","state","forceDeactivate","requiredLine","optionalLine","endLineIcon","OptionalLineIcon","disabled","showNotificationDot","variant","propTypes","_propTypes","number","isRequired","bool","func","string","arrayOf"],"sources":["../../../src/GlobalNavigationBar/desktop/SubMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport { Menu, MenuSection, MenuSectionList } from './ExtendedMainMenu';\nimport { MenuNavigationItemTypeDesktopGroup } from '../types';\nimport { Size } from '../../types';\nimport { SystemIcons } from '../../icons';\nimport { checkIfContainsItem } from '../utils';\nimport Tabs from '../../Tabs/Tabs';\nimport TabLink from '../../Tabs/TabLink';\nimport { MenuItem } from '../../MenuItem';\n\nexport type SubMenuProps = {\n item: MenuNavigationItemTypeDesktopGroup;\n index: number;\n topLevel: boolean;\n dropdownMenusOpenedArray: React.MutableRefObject<string[]>;\n onSubMenuOpened?: (item: string) => void;\n onSubMenuHidden?: (item: string) => void;\n onItemStateChanged?: (item: string, state: boolean) => void;\n onItemFocused?: (item: string) => void;\n focusedItemId?: string;\n activeItemId?: string;\n nestPath?: string[];\n ariaLabelledBy?: string;\n};\n\nexport const SubMenuWrapper = styled.div<{ $topLevel: boolean; $visible: boolean }>`\n ${Menu} {\n top: ${(props) => (props.$topLevel ? '100%' : '0px')};\n left: ${(props) => (props.$topLevel ? '0px' : 'calc(100% - 12px)')};\n }\n\n ${(props) => (!props.$visible ? 'display: none;' : '')}\n\n button {\n padding-left: 0px;\n }\n`;\n\nexport const SubMenu = React.forwardRef<HTMLUListElement, SubMenuProps>(({\n item,\n index,\n topLevel,\n dropdownMenusOpenedArray,\n onSubMenuHidden,\n onSubMenuOpened,\n onItemStateChanged,\n focusedItemId,\n activeItemId,\n nestPath,\n ariaLabelledBy,\n onItemFocused\n}: SubMenuProps, ref): React.ReactElement<SubMenuProps> => {\n const [, forceUpdate] = React.useState({});\n const focusedRef = React.useRef<{ index: number }>({ index: -1 });\n const [allRefs, setAllRefs] = React.useState<React.RefObject<HTMLButtonElement | HTMLAnchorElement>[]>([]);\n const [subMenuRefs, setAllSubMenuRefs] = React.useState<(React.RefObject<HTMLUListElement> | undefined)[]>([]);\n\n React.useEffect(() => {\n setAllRefs(item.items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLButtonElement>() : React.createRef<HTMLAnchorElement>())));\n setAllSubMenuRefs(item.items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLUListElement>() : undefined)));\n }, [item]);\n\n const existingRef = dropdownMenusOpenedArray.current.find((x) => x == item.id);\n const onMouseLeave = (event: any, id: string) => {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current.filter((x) => x != id)];\n //just trigger rerendering\n onSubMenuHidden && onSubMenuHidden(id);\n forceUpdate({});\n };\n let containActiveItem = false;\n if (item.type == 'desktopgroup' && activeItemId) containActiveItem = checkIfContainsItem(item, activeItemId);\n\n const onMouseEnter = (event: any, id: string) => {\n const existingRefForId = dropdownMenusOpenedArray.current.find((x) => x == id);\n if (existingRefForId == null) {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, id];\n //just trigger rerendering\n onSubMenuOpened && onSubMenuOpened(id);\n forceUpdate({});\n }\n };\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLUListElement>) => {\n \n if (e.key === 'ArrowUp' || e.key === 'Up') {\n e.stopPropagation();\n e.preventDefault();\n if (focusedRef.current.index > 0) {\n setNewFocusedElement(focusedRef.current.index - 1);\n }\n } else if (e.key === 'ArrowDown' || e.key === 'Down') {\n e.stopPropagation();\n e.preventDefault();\n if(focusedRef.current.index < allRefs.length - 1)\n setNewFocusedElement(focusedRef.current.index + 1);\n } \n else\n if (e.key == 'Enter' || e.code == 'Space') {\n e.stopPropagation();\n if(focusedRef.current.index < 0)\n return;\n \n const focusedItem = item.items[focusedRef.current.index];\n if(focusedItem.type == 'desktopgroup')\n {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, focusedItem.id];\n forceUpdate({});\n }\n else\n {\n allRefs[focusedRef.current.index].current?.click();\n forceUpdate({});\n }\n\n //just trigger rerendering\n \n }\n };\n\n const setNewFocusedElement = (index: number) => {\n const newFocusedElement = index >= 0 ? allRefs[index] : null;\n const oldFocusedElement = focusedRef.current.index >= 0 ? allRefs[focusedRef.current.index] : null;\n focusedRef.current.index = index;\n\n if(oldFocusedElement)\n oldFocusedElement?.current?.classList.remove('dropdown-hover');\n\n if (newFocusedElement && newFocusedElement !== oldFocusedElement) {\n newFocusedElement.current?.classList.add('dropdown-hover');\n console.log(item.items[index].id);\n onItemFocused && onItemFocused(item.items[index].id ?? '');\n }\n else if(onItemFocused)\n onItemFocused('');\n };\n\n const onFocus = (event: React.FocusEvent<HTMLUListElement>) => {\n event.stopPropagation();\n dropdownMenusOpenedArray.current = [...(nestPath ?? [])];\n setNewFocusedElement(0);\n forceUpdate({});\n \n };\n\n const onBlur = (event: React.FocusEvent<HTMLUListElement>) => {\n event.stopPropagation();\n setNewFocusedElement(-1);\n };\n\n return (\n <SubMenuWrapper id={item.id} className={existingRef ? 'open' : '' } $topLevel={topLevel} $visible={Boolean(existingRef)}>\n <Menu role=\"group\" ref={ref} aria-labelledby={ariaLabelledBy} onBlur={onBlur} onFocus={onFocus} onKeyDown={(event) => onKeyDown(event)} tabIndex={0}>\n <MenuSection>\n <MenuSectionList>\n <Tabs size={Size.Medium}>\n {item.items.map((entry, index) => {\n const isGroup = entry.type == 'desktopgroup';\n const key = isGroup ? entry.id : entry.type == 'item' ? entry.to : '';\n const SubItemOpened = Boolean(dropdownMenusOpenedArray.current.find((x) => x == entry.id));\n if (isGroup) {\n return (\n <div style={{ position: 'relative' }} onMouseEnter={(event) => onMouseEnter(event, entry.id)} onMouseLeave={(event) => onMouseLeave(event, entry.id)}>\n <MenuItem\n id={entry.id + '_parentOption'}\n aria-expanded={Boolean(SubItemOpened)}\n aria-activedescendant={entry.items.find(x => x.id == focusedItemId)?.id ?? ''}\n tabIndex={-1}\n ref={allRefs[index] as React.Ref<HTMLButtonElement>}\n \n aria-controls={entry.id}\n role=\"group\"\n //id={entry.id} removing this can break something\n item={{\n value: entry.label ?? '',\n }}\n iconRight={<SystemIcons.ArrowDropRight size=\"24px\" />}\n active={SubItemOpened || (Boolean(activeItemId) && activeItemId != '' && checkIfContainsItem(entry, activeItemId!))}\n onClickHandler={() => {}}\n />\n <SubMenu\n ariaLabelledBy={entry.id + '_parentOption'}\n onItemFocused={onItemFocused}\n focusedItemId={focusedItemId}\n ref={subMenuRefs[index]}\n nestPath={[...(nestPath ?? []), entry.id]}\n onItemStateChanged={onItemStateChanged}\n activeItemId={activeItemId}\n dropdownMenusOpenedArray={dropdownMenusOpenedArray}\n item={entry as MenuNavigationItemTypeDesktopGroup}\n index={index + 1}\n topLevel={false}\n />\n </div>\n );\n }\n return (\n <>\n <TabLink\n id={entry.id}\n tabIndex={-1}\n key={key}\n to={isGroup ? '' : key}\n ref={allRefs[index] as React.Ref<HTMLAnchorElement>}\n onActiveStateChanged={(state) => onItemStateChanged && entry.type == 'item' && onItemStateChanged(entry.to, state)}\n forceDeactivate={isGroup}\n requiredLine={entry.label ?? ''}\n optionalLine={''}\n endLineIcon={isGroup ? <SystemIcons.ArrowDropRight size=\"24px\" /> : null}\n OptionalLineIcon={''}\n disabled={entry.disabled}\n showNotificationDot={false}\n size={Size.Medium}\n variant=\"positive\"\n />\n </>\n );\n })}\n </Tabs>\n </MenuSectionList>\n </MenuSection>\n </Menu>\n </SubMenuWrapper>\n );\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -117,6 +117,7 @@ export var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
117
117
|
if (newFocusedElement && newFocusedElement !== oldFocusedElement) {
|
|
118
118
|
var _newFocusedElement$cu, _item$items$index$id;
|
|
119
119
|
(_newFocusedElement$cu = newFocusedElement.current) === null || _newFocusedElement$cu === void 0 ? void 0 : _newFocusedElement$cu.classList.add('dropdown-hover');
|
|
120
|
+
console.log(item.items[index].id);
|
|
120
121
|
onItemFocused && onItemFocused((_item$items$index$id = item.items[index].id) !== null && _item$items$index$id !== void 0 ? _item$items$index$id : '');
|
|
121
122
|
} else if (onItemFocused) onItemFocused('');
|
|
122
123
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubMenu.js","names":["React","styled","Menu","MenuSection","MenuSectionList","Size","SystemIcons","checkIfContainsItem","Tabs","TabLink","MenuItem","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SubMenuWrapper","div","_templateObject","_taggedTemplateLiteral","props","$topLevel","$visible","SubMenu","forwardRef","_ref","ref","item","index","topLevel","dropdownMenusOpenedArray","onSubMenuHidden","onSubMenuOpened","onItemStateChanged","focusedItemId","activeItemId","nestPath","ariaLabelledBy","onItemFocused","_React$useState","useState","_React$useState2","_slicedToArray","forceUpdate","focusedRef","useRef","_React$useState3","_React$useState4","allRefs","setAllRefs","_React$useState5","_React$useState6","subMenuRefs","setAllSubMenuRefs","useEffect","items","map","x","type","createRef","undefined","existingRef","current","find","id","onMouseLeave","event","_toConsumableArray","filter","containActiveItem","onMouseEnter","existingRefForId","concat","onKeyDown","e","key","stopPropagation","preventDefault","setNewFocusedElement","length","code","focusedItem","_allRefs$focusedRef$c","click","_oldFocusedElement$cu","newFocusedElement","oldFocusedElement","classList","remove","_newFocusedElement$cu","_item$items$index$id","add","onFocus","onBlur","className","Boolean","children","role","tabIndex","size","Medium","entry","_entry$label2","isGroup","to","SubItemOpened","_entry$items$find$id","_entry$items$find","_entry$label","style","position","value","label","iconRight","ArrowDropRight","active","onClickHandler","onActiveStateChanged","state","forceDeactivate","requiredLine","optionalLine","endLineIcon","OptionalLineIcon","disabled","showNotificationDot","variant","propTypes","_pt","number","isRequired","bool","func","string","arrayOf"],"sources":["../../../src/GlobalNavigationBar/desktop/SubMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport { Menu, MenuSection, MenuSectionList } from './ExtendedMainMenu';\nimport { MenuNavigationItemTypeDesktopGroup } from '../types';\nimport { Size } from '../../types';\nimport { SystemIcons } from '../../icons';\nimport { checkIfContainsItem } from '../utils';\nimport Tabs from '../../Tabs/Tabs';\nimport TabLink from '../../Tabs/TabLink';\nimport { MenuItem } from '../../MenuItem';\n\nexport type SubMenuProps = {\n item: MenuNavigationItemTypeDesktopGroup;\n index: number;\n topLevel: boolean;\n dropdownMenusOpenedArray: React.MutableRefObject<string[]>;\n onSubMenuOpened?: (item: string) => void;\n onSubMenuHidden?: (item: string) => void;\n onItemStateChanged?: (item: string, state: boolean) => void;\n onItemFocused?: (item: string) => void;\n focusedItemId?: string;\n activeItemId?: string;\n nestPath?: string[];\n ariaLabelledBy?: string;\n};\n\nexport const SubMenuWrapper = styled.div<{ $topLevel: boolean; $visible: boolean }>`\n ${Menu} {\n top: ${(props) => (props.$topLevel ? '100%' : '0px')};\n left: ${(props) => (props.$topLevel ? '0px' : 'calc(100% - 12px)')};\n }\n\n ${(props) => (!props.$visible ? 'display: none;' : '')}\n\n button {\n padding-left: 0px;\n }\n`;\n\nexport const SubMenu = React.forwardRef<HTMLUListElement, SubMenuProps>(({\n item,\n index,\n topLevel,\n dropdownMenusOpenedArray,\n onSubMenuHidden,\n onSubMenuOpened,\n onItemStateChanged,\n focusedItemId,\n activeItemId,\n nestPath,\n ariaLabelledBy,\n onItemFocused\n}: SubMenuProps, ref): React.ReactElement<SubMenuProps> => {\n const [, forceUpdate] = React.useState({});\n const focusedRef = React.useRef<{ index: number }>({ index: -1 });\n const [allRefs, setAllRefs] = React.useState<React.RefObject<HTMLButtonElement | HTMLAnchorElement>[]>([]);\n const [subMenuRefs, setAllSubMenuRefs] = React.useState<(React.RefObject<HTMLUListElement> | undefined)[]>([]);\n\n React.useEffect(() => {\n setAllRefs(item.items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLButtonElement>() : React.createRef<HTMLAnchorElement>())));\n setAllSubMenuRefs(item.items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLUListElement>() : undefined)));\n }, [item]);\n\n const existingRef = dropdownMenusOpenedArray.current.find((x) => x == item.id);\n const onMouseLeave = (event: any, id: string) => {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current.filter((x) => x != id)];\n //just trigger rerendering\n onSubMenuHidden && onSubMenuHidden(id);\n forceUpdate({});\n };\n let containActiveItem = false;\n if (item.type == 'desktopgroup' && activeItemId) containActiveItem = checkIfContainsItem(item, activeItemId);\n\n const onMouseEnter = (event: any, id: string) => {\n const existingRefForId = dropdownMenusOpenedArray.current.find((x) => x == id);\n if (existingRefForId == null) {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, id];\n //just trigger rerendering\n onSubMenuOpened && onSubMenuOpened(id);\n forceUpdate({});\n }\n };\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLUListElement>) => {\n \n if (e.key === 'ArrowUp' || e.key === 'Up') {\n e.stopPropagation();\n e.preventDefault();\n if (focusedRef.current.index > 0) {\n setNewFocusedElement(focusedRef.current.index - 1);\n }\n } else if (e.key === 'ArrowDown' || e.key === 'Down') {\n e.stopPropagation();\n e.preventDefault();\n if(focusedRef.current.index < allRefs.length - 1)\n setNewFocusedElement(focusedRef.current.index + 1);\n } \n else\n if (e.key == 'Enter' || e.code == 'Space') {\n e.stopPropagation();\n if(focusedRef.current.index < 0)\n return;\n \n const focusedItem = item.items[focusedRef.current.index];\n if(focusedItem.type == 'desktopgroup')\n {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, focusedItem.id];\n forceUpdate({});\n }\n else\n {\n allRefs[focusedRef.current.index].current?.click();\n forceUpdate({});\n }\n\n //just trigger rerendering\n \n }\n };\n\n const setNewFocusedElement = (index: number) => {\n const newFocusedElement = index >= 0 ? allRefs[index] : null;\n const oldFocusedElement = focusedRef.current.index >= 0 ? allRefs[focusedRef.current.index] : null;\n focusedRef.current.index = index;\n\n if(oldFocusedElement)\n oldFocusedElement?.current?.classList.remove('dropdown-hover');\n\n if (newFocusedElement && newFocusedElement !== oldFocusedElement) {\n newFocusedElement.current?.classList.add('dropdown-hover');\n onItemFocused && onItemFocused(item.items[index].id ?? '');\n }\n else if(onItemFocused)\n onItemFocused('');\n };\n\n const onFocus = (event: React.FocusEvent<HTMLUListElement>) => {\n event.stopPropagation();\n dropdownMenusOpenedArray.current = [...(nestPath ?? [])];\n setNewFocusedElement(0);\n forceUpdate({});\n \n };\n\n const onBlur = (event: React.FocusEvent<HTMLUListElement>) => {\n event.stopPropagation();\n setNewFocusedElement(-1);\n };\n\n return (\n <SubMenuWrapper id={item.id} className={existingRef ? 'open' : '' } $topLevel={topLevel} $visible={Boolean(existingRef)}>\n <Menu role=\"group\" ref={ref} aria-labelledby={ariaLabelledBy} onBlur={onBlur} onFocus={onFocus} onKeyDown={(event) => onKeyDown(event)} tabIndex={0}>\n <MenuSection>\n <MenuSectionList>\n <Tabs size={Size.Medium}>\n {item.items.map((entry, index) => {\n const isGroup = entry.type == 'desktopgroup';\n const key = isGroup ? entry.id : entry.type == 'item' ? entry.to : '';\n const SubItemOpened = Boolean(dropdownMenusOpenedArray.current.find((x) => x == entry.id));\n if (isGroup) {\n return (\n <div style={{ position: 'relative' }} onMouseEnter={(event) => onMouseEnter(event, entry.id)} onMouseLeave={(event) => onMouseLeave(event, entry.id)}>\n <MenuItem\n id={entry.id + '_parentOption'}\n aria-expanded={Boolean(SubItemOpened)}\n aria-activedescendant={entry.items.find(x => x.id == focusedItemId)?.id ?? ''}\n tabIndex={-1}\n ref={allRefs[index] as React.Ref<HTMLButtonElement>}\n \n aria-controls={entry.id}\n role=\"group\"\n //id={entry.id} removing this can break something\n item={{\n value: entry.label ?? '',\n }}\n iconRight={<SystemIcons.ArrowDropRight size=\"24px\" />}\n active={SubItemOpened || (Boolean(activeItemId) && activeItemId != '' && checkIfContainsItem(entry, activeItemId!))}\n onClickHandler={() => {}}\n />\n <SubMenu\n ariaLabelledBy={entry.id + '_parentOption'}\n onItemFocused={onItemFocused}\n focusedItemId={focusedItemId}\n ref={subMenuRefs[index]}\n nestPath={[...(nestPath ?? []), entry.id]}\n onItemStateChanged={onItemStateChanged}\n activeItemId={activeItemId}\n dropdownMenusOpenedArray={dropdownMenusOpenedArray}\n item={entry as MenuNavigationItemTypeDesktopGroup}\n index={index + 1}\n topLevel={false}\n />\n </div>\n );\n }\n return (\n <>\n <TabLink\n id={entry.id}\n tabIndex={-1}\n key={key}\n to={isGroup ? '' : key}\n ref={allRefs[index] as React.Ref<HTMLAnchorElement>}\n onActiveStateChanged={(state) => onItemStateChanged && entry.type == 'item' && onItemStateChanged(entry.to, state)}\n forceDeactivate={isGroup}\n requiredLine={entry.label ?? ''}\n optionalLine={''}\n endLineIcon={isGroup ? <SystemIcons.ArrowDropRight size=\"24px\" /> : null}\n OptionalLineIcon={''}\n disabled={entry.disabled}\n showNotificationDot={false}\n size={Size.Medium}\n variant=\"positive\"\n />\n </>\n );\n })}\n </Tabs>\n </MenuSectionList>\n </MenuSection>\n </Menu>\n </SubMenuWrapper>\n );\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SubMenu.js","names":["React","styled","Menu","MenuSection","MenuSectionList","Size","SystemIcons","checkIfContainsItem","Tabs","TabLink","MenuItem","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SubMenuWrapper","div","_templateObject","_taggedTemplateLiteral","props","$topLevel","$visible","SubMenu","forwardRef","_ref","ref","item","index","topLevel","dropdownMenusOpenedArray","onSubMenuHidden","onSubMenuOpened","onItemStateChanged","focusedItemId","activeItemId","nestPath","ariaLabelledBy","onItemFocused","_React$useState","useState","_React$useState2","_slicedToArray","forceUpdate","focusedRef","useRef","_React$useState3","_React$useState4","allRefs","setAllRefs","_React$useState5","_React$useState6","subMenuRefs","setAllSubMenuRefs","useEffect","items","map","x","type","createRef","undefined","existingRef","current","find","id","onMouseLeave","event","_toConsumableArray","filter","containActiveItem","onMouseEnter","existingRefForId","concat","onKeyDown","e","key","stopPropagation","preventDefault","setNewFocusedElement","length","code","focusedItem","_allRefs$focusedRef$c","click","_oldFocusedElement$cu","newFocusedElement","oldFocusedElement","classList","remove","_newFocusedElement$cu","_item$items$index$id","add","console","log","onFocus","onBlur","className","Boolean","children","role","tabIndex","size","Medium","entry","_entry$label2","isGroup","to","SubItemOpened","_entry$items$find$id","_entry$items$find","_entry$label","style","position","value","label","iconRight","ArrowDropRight","active","onClickHandler","onActiveStateChanged","state","forceDeactivate","requiredLine","optionalLine","endLineIcon","OptionalLineIcon","disabled","showNotificationDot","variant","propTypes","_pt","number","isRequired","bool","func","string","arrayOf"],"sources":["../../../src/GlobalNavigationBar/desktop/SubMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport { Menu, MenuSection, MenuSectionList } from './ExtendedMainMenu';\nimport { MenuNavigationItemTypeDesktopGroup } from '../types';\nimport { Size } from '../../types';\nimport { SystemIcons } from '../../icons';\nimport { checkIfContainsItem } from '../utils';\nimport Tabs from '../../Tabs/Tabs';\nimport TabLink from '../../Tabs/TabLink';\nimport { MenuItem } from '../../MenuItem';\n\nexport type SubMenuProps = {\n item: MenuNavigationItemTypeDesktopGroup;\n index: number;\n topLevel: boolean;\n dropdownMenusOpenedArray: React.MutableRefObject<string[]>;\n onSubMenuOpened?: (item: string) => void;\n onSubMenuHidden?: (item: string) => void;\n onItemStateChanged?: (item: string, state: boolean) => void;\n onItemFocused?: (item: string) => void;\n focusedItemId?: string;\n activeItemId?: string;\n nestPath?: string[];\n ariaLabelledBy?: string;\n};\n\nexport const SubMenuWrapper = styled.div<{ $topLevel: boolean; $visible: boolean }>`\n ${Menu} {\n top: ${(props) => (props.$topLevel ? '100%' : '0px')};\n left: ${(props) => (props.$topLevel ? '0px' : 'calc(100% - 12px)')};\n }\n\n ${(props) => (!props.$visible ? 'display: none;' : '')}\n\n button {\n padding-left: 0px;\n }\n`;\n\nexport const SubMenu = React.forwardRef<HTMLUListElement, SubMenuProps>(({\n item,\n index,\n topLevel,\n dropdownMenusOpenedArray,\n onSubMenuHidden,\n onSubMenuOpened,\n onItemStateChanged,\n focusedItemId,\n activeItemId,\n nestPath,\n ariaLabelledBy,\n onItemFocused\n}: SubMenuProps, ref): React.ReactElement<SubMenuProps> => {\n const [, forceUpdate] = React.useState({});\n const focusedRef = React.useRef<{ index: number }>({ index: -1 });\n const [allRefs, setAllRefs] = React.useState<React.RefObject<HTMLButtonElement | HTMLAnchorElement>[]>([]);\n const [subMenuRefs, setAllSubMenuRefs] = React.useState<(React.RefObject<HTMLUListElement> | undefined)[]>([]);\n\n React.useEffect(() => {\n setAllRefs(item.items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLButtonElement>() : React.createRef<HTMLAnchorElement>())));\n setAllSubMenuRefs(item.items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLUListElement>() : undefined)));\n }, [item]);\n\n const existingRef = dropdownMenusOpenedArray.current.find((x) => x == item.id);\n const onMouseLeave = (event: any, id: string) => {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current.filter((x) => x != id)];\n //just trigger rerendering\n onSubMenuHidden && onSubMenuHidden(id);\n forceUpdate({});\n };\n let containActiveItem = false;\n if (item.type == 'desktopgroup' && activeItemId) containActiveItem = checkIfContainsItem(item, activeItemId);\n\n const onMouseEnter = (event: any, id: string) => {\n const existingRefForId = dropdownMenusOpenedArray.current.find((x) => x == id);\n if (existingRefForId == null) {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, id];\n //just trigger rerendering\n onSubMenuOpened && onSubMenuOpened(id);\n forceUpdate({});\n }\n };\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLUListElement>) => {\n \n if (e.key === 'ArrowUp' || e.key === 'Up') {\n e.stopPropagation();\n e.preventDefault();\n if (focusedRef.current.index > 0) {\n setNewFocusedElement(focusedRef.current.index - 1);\n }\n } else if (e.key === 'ArrowDown' || e.key === 'Down') {\n e.stopPropagation();\n e.preventDefault();\n if(focusedRef.current.index < allRefs.length - 1)\n setNewFocusedElement(focusedRef.current.index + 1);\n } \n else\n if (e.key == 'Enter' || e.code == 'Space') {\n e.stopPropagation();\n if(focusedRef.current.index < 0)\n return;\n \n const focusedItem = item.items[focusedRef.current.index];\n if(focusedItem.type == 'desktopgroup')\n {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, focusedItem.id];\n forceUpdate({});\n }\n else\n {\n allRefs[focusedRef.current.index].current?.click();\n forceUpdate({});\n }\n\n //just trigger rerendering\n \n }\n };\n\n const setNewFocusedElement = (index: number) => {\n const newFocusedElement = index >= 0 ? allRefs[index] : null;\n const oldFocusedElement = focusedRef.current.index >= 0 ? allRefs[focusedRef.current.index] : null;\n focusedRef.current.index = index;\n\n if(oldFocusedElement)\n oldFocusedElement?.current?.classList.remove('dropdown-hover');\n\n if (newFocusedElement && newFocusedElement !== oldFocusedElement) {\n newFocusedElement.current?.classList.add('dropdown-hover');\n console.log(item.items[index].id);\n onItemFocused && onItemFocused(item.items[index].id ?? '');\n }\n else if(onItemFocused)\n onItemFocused('');\n };\n\n const onFocus = (event: React.FocusEvent<HTMLUListElement>) => {\n event.stopPropagation();\n dropdownMenusOpenedArray.current = [...(nestPath ?? [])];\n setNewFocusedElement(0);\n forceUpdate({});\n \n };\n\n const onBlur = (event: React.FocusEvent<HTMLUListElement>) => {\n event.stopPropagation();\n setNewFocusedElement(-1);\n };\n\n return (\n <SubMenuWrapper id={item.id} className={existingRef ? 'open' : '' } $topLevel={topLevel} $visible={Boolean(existingRef)}>\n <Menu role=\"group\" ref={ref} aria-labelledby={ariaLabelledBy} onBlur={onBlur} onFocus={onFocus} onKeyDown={(event) => onKeyDown(event)} tabIndex={0}>\n <MenuSection>\n <MenuSectionList>\n <Tabs size={Size.Medium}>\n {item.items.map((entry, index) => {\n const isGroup = entry.type == 'desktopgroup';\n const key = isGroup ? entry.id : entry.type == 'item' ? entry.to : '';\n const SubItemOpened = Boolean(dropdownMenusOpenedArray.current.find((x) => x == entry.id));\n if (isGroup) {\n return (\n <div style={{ position: 'relative' }} onMouseEnter={(event) => onMouseEnter(event, entry.id)} onMouseLeave={(event) => onMouseLeave(event, entry.id)}>\n <MenuItem\n id={entry.id + '_parentOption'}\n aria-expanded={Boolean(SubItemOpened)}\n aria-activedescendant={entry.items.find(x => x.id == focusedItemId)?.id ?? ''}\n tabIndex={-1}\n ref={allRefs[index] as React.Ref<HTMLButtonElement>}\n \n aria-controls={entry.id}\n role=\"group\"\n //id={entry.id} removing this can break something\n item={{\n value: entry.label ?? '',\n }}\n iconRight={<SystemIcons.ArrowDropRight size=\"24px\" />}\n active={SubItemOpened || (Boolean(activeItemId) && activeItemId != '' && checkIfContainsItem(entry, activeItemId!))}\n onClickHandler={() => {}}\n />\n <SubMenu\n ariaLabelledBy={entry.id + '_parentOption'}\n onItemFocused={onItemFocused}\n focusedItemId={focusedItemId}\n ref={subMenuRefs[index]}\n nestPath={[...(nestPath ?? []), entry.id]}\n onItemStateChanged={onItemStateChanged}\n activeItemId={activeItemId}\n dropdownMenusOpenedArray={dropdownMenusOpenedArray}\n item={entry as MenuNavigationItemTypeDesktopGroup}\n index={index + 1}\n topLevel={false}\n />\n </div>\n );\n }\n return (\n <>\n <TabLink\n id={entry.id}\n tabIndex={-1}\n key={key}\n to={isGroup ? '' : key}\n ref={allRefs[index] as React.Ref<HTMLAnchorElement>}\n onActiveStateChanged={(state) => onItemStateChanged && entry.type == 'item' && onItemStateChanged(entry.to, state)}\n forceDeactivate={isGroup}\n requiredLine={entry.label ?? ''}\n optionalLine={''}\n endLineIcon={isGroup ? <SystemIcons.ArrowDropRight size=\"24px\" /> : null}\n OptionalLineIcon={''}\n disabled={entry.disabled}\n showNotificationDot={false}\n size={Size.Medium}\n variant=\"positive\"\n />\n </>\n );\n })}\n </Tabs>\n </MenuSectionList>\n </MenuSection>\n </Menu>\n </SubMenuWrapper>\n );\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuickSearch.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_Iconbutton","_styling","_types","_","_icons","_SearchBarInput","_interopRequireDefault","_SearchField","_jsxRuntime","_templateObject","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Wrapper","styled","div","_taggedTemplateLiteral2","StyledSearchField","props","COLORS","getColor","theme","IconButtonStyledSecondary","$shouldNotInteract","QuickSearch","_ref","id","searchTerm","setSearchTerm","enterSearch","removeSearch","placeholder","performSearchLabel","disabled","onKeyDown","size","margin","loading","useTheme","searchFieldRef","useRef","searchFieldInputRef","_React$useState","useState","visible","_React$useState2","_slicedToArray2","searchFieldVisible","setSearchFieldVisible","handleClickOutside","current","contains","target","length","handleKeyDown","key","handleBlur","_searchFieldRef$curre","relatedTarget","handleSearchIconAction","focus","detail","useEffect","document","addEventListener","removeEventListener","_searchFieldInputRef$","focusVisible","jsx","children","jsxs","ref","style","onBlur","className","term","focusParentRefs","SearchIconWrapper","role","concat","dataTestId","variant","shape","tabIndex","action","SystemIcons","Search","color","StyledIcon","hidden","_searchFieldInputRef$2","Clear","LoadingIndicator","Size","Small","propTypes","_propTypes","string","isRequired","func","bool","_default","exports"],"sources":["../../src/InputFields/QuickSearch.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled, { useTheme } from 'styled-components';\n\nimport IconButton, { IconButtonStyledSecondary } from '../Button/Iconbutton';\nimport { SearchIconWrapper, StyledIcon } from './styling';\nimport { Size } from '../types';\nimport { COLORS, LoadingIndicator } from '..';\nimport { SystemIcons } from '../icons';\nimport SearchBarInput from './components/SearchBarInput';\nimport SearchField, { StyledSearchField } from './components/SearchField';\n\nconst Wrapper = styled.div<{$shouldNotInteract: boolean}>`\n width: 100%;\n\n ${StyledSearchField} {\n transition: box-shadow 0.2s ease-in-out, width 0.2s ease-in-out;\n\n background-color: transparent;\n\n &.small {\n width: 48px;\n }\n\n &.medium {\n width: 56px;\n }\n\n &.expanded {\n width: 100%;\n }\n\n box-shadow: none;\n\n &:hover {\n box-shadow: none;\n }\n\n &.expanded {\n background-color: ${props => COLORS.getColor('white', props.theme)};\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_400', props.theme)};\n }\n\n &.expanded:hover,\n &.expanded:focus-within {\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('primary_800', props.theme)};\n }\n }\n\n ${IconButtonStyledSecondary} {\n pointer-events: ${(props) => (props.$shouldNotInteract ? 'none' : 'auto')};\n }\n`;\n\nexport type QuickSearchProps = {\n /** Required. Id of the component. */\n id: string;\n /** Optional. Current search term entered by the user. */\n searchTerm?: string;\n /** Required. Handler to be called when user modified input. */\n setSearchTerm: (term: string) => void;\n /** Required. Handler to be called when user triggers search. */\n enterSearch: (e: any) => void;\n /** Required. Handler to be called when user clears input field. */\n removeSearch: (e: any) => void;\n /** Optional. Placeholder text to be shown in the input field when there is no input. */\n placeholder?: string;\n /** Optional. ARIA label to set on the input field. */\n performSearchLabel?: string;\n /** Optional. If disabled user can not interact with the search bar. */\n disabled?: boolean;\n /** Optional. Optional onkeydown handler to be set on the input field. */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n /** Optional. Size of the component. Defaults to 'medium'. */\n size?: Size.Small | Size.Medium;\n /** Optional. Margin style attribute to be set on the input field. */\n margin?: string;\n /** Optional. If set then loading indicator will be shown on the right side of the input field. */\n loading?: boolean;\n};\n\nconst QuickSearch: React.FunctionComponent<QuickSearchProps> = ({\n id,\n searchTerm,\n setSearchTerm,\n enterSearch,\n removeSearch,\n placeholder,\n performSearchLabel,\n disabled,\n onKeyDown,\n size,\n margin,\n loading,\n}: QuickSearchProps) => {\n const theme = useTheme();\n const searchFieldRef = React.useRef<HTMLDivElement>(null);\n const searchFieldInputRef = React.useRef<HTMLInputElement>(null);\n\n const [searchFieldVisible, setSearchFieldVisible] = React.useState<{ visible: boolean; focus?: boolean }>({\n visible: false,\n });\n\n const handleClickOutside = (e: any) => {\n if (searchFieldRef?.current && !searchFieldRef.current.contains(e.target)) {\n if (searchFieldVisible?.visible && !searchTerm?.length) {\n setSearchFieldVisible({ visible: false });\n }\n }\n };\n\n const handleKeyDown = (e: any) => {\n if (onKeyDown) {\n onKeyDown(e);\n }\n if (e.key === 'Escape') {\n if (searchFieldVisible?.visible && !searchTerm?.length) {\n setSearchFieldVisible({ visible: false });\n }\n }\n };\n\n const handleBlur = (e: any) => {\n if (!searchTerm && (!e.relatedTarget || !searchFieldRef.current?.contains(e.relatedTarget))) {\n setSearchFieldVisible({ visible: false });\n }\n };\n\n const handleSearchIconAction = (e: any) => {\n if (!searchFieldVisible?.visible) {\n setSearchFieldVisible({\n visible: !searchFieldVisible.visible,\n focus: !searchFieldVisible.visible && e?.detail !== 1,\n });\n }\n };\n\n // set search field visibility on search term change\n React.useEffect(() => {\n if (!!searchTerm?.length && !searchFieldVisible?.visible) {\n setSearchFieldVisible({ visible: true, focus: false });\n }\n }, [searchTerm, searchFieldVisible]);\n\n // register click outside handler\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n });\n\n // focus search input on visibility change\n React.useEffect(() => {\n if (searchFieldVisible?.visible) {\n searchFieldInputRef?.current?.focus({ focusVisible: searchFieldVisible.focus } as any);\n }\n }, [searchFieldVisible.visible, searchFieldInputRef]);\n\n return (\n <Wrapper $shouldNotInteract={searchFieldVisible?.visible}>\n <SearchField\n ref={searchFieldRef}\n id={id}\n size={size}\n searchTerm={searchTerm}\n style={{\n margin: margin,\n }}\n onBlur={handleBlur}\n className={searchFieldVisible?.visible ? 'expanded' : ''}>\n {searchFieldVisible?.visible && (\n <SearchBarInput\n placeholder={disabled ? '' : placeholder}\n id={id}\n ref={searchFieldInputRef}\n disabled={disabled}\n onKeyDown={handleKeyDown}\n size={size}\n setSearchTerm={(term: string) => setSearchTerm(term)}\n searchTerm={searchTerm}\n enterSearch={enterSearch}\n focusParentRefs={[searchFieldRef]}\n />\n )}\n <SearchIconWrapper className={size ? size : ''} role=\"button\" aria-label={performSearchLabel}>\n <IconButton\n id={`${id}_Searchbutton`}\n dataTestId={`${id}_Searchbutton`}\n variant=\"secondary\"\n shape=\"circular\"\n tabIndex={searchFieldVisible?.visible ? -1 : 0}\n action={handleSearchIconAction}>\n <SystemIcons.Search size=\"24px\" color={disabled ? COLORS.getColor('neutral_300', theme) : COLORS.getColor('neutral_600', theme)} />\n </IconButton>\n </SearchIconWrapper>\n <StyledIcon className={size ? size : ''} role=\"button\" hidden={!searchTerm || !searchFieldVisible?.visible}>\n <IconButton\n id={`${id}_Clearicon`}\n dataTestId={`${id}_Clearicon`}\n variant=\"secondary\"\n shape=\"circular\"\n action={(e) => {\n removeSearch(e);\n searchFieldInputRef?.current?.focus();\n }}>\n <SystemIcons.Clear size=\"24px\" color={disabled ? COLORS.getColor('neutral_300', theme) : COLORS.getColor('neutral_600', theme)} />\n </IconButton>\n </StyledIcon>\n {loading && searchFieldVisible?.visible && (\n <StyledIcon className={size ? size : ''}>\n <LoadingIndicator size={Size.Small} color={COLORS.getColor('neutral_600', theme)} />\n </StyledIcon>\n )}\n </SearchField>\n </Wrapper>\n );\n};\n\nexport default QuickSearch;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"QuickSearch.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_Iconbutton","_styling","_types","_","_icons","_SearchBarInput","_interopRequireDefault","_SearchField","_jsxRuntime","_templateObject","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Wrapper","styled","div","_taggedTemplateLiteral2","StyledSearchField","props","COLORS","getColor","theme","IconButtonStyledSecondary","$shouldNotInteract","QuickSearch","_ref","id","searchTerm","setSearchTerm","enterSearch","removeSearch","placeholder","performSearchLabel","disabled","onKeyDown","size","margin","loading","useTheme","searchFieldRef","useRef","searchFieldInputRef","_React$useState","useState","visible","_React$useState2","_slicedToArray2","searchFieldVisible","setSearchFieldVisible","handleClickOutside","current","contains","target","length","handleKeyDown","key","handleBlur","_searchFieldRef$curre","relatedTarget","handleSearchIconAction","focus","detail","useEffect","document","addEventListener","removeEventListener","_searchFieldInputRef$","focusVisible","jsx","children","jsxs","ref","style","onBlur","className","term","focusParentRefs","SearchIconWrapper","role","concat","dataTestId","variant","shape","tabIndex","action","SystemIcons","Search","color","StyledIcon","hidden","_searchFieldInputRef$2","Clear","LoadingIndicator","Size","Small","propTypes","_propTypes","string","isRequired","func","bool","_default","exports"],"sources":["../../src/InputFields/QuickSearch.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled, { useTheme } from 'styled-components';\n\nimport IconButton, { IconButtonStyledSecondary } from '../Button/Iconbutton';\nimport { SearchIconWrapper, StyledIcon } from './styling';\nimport { Size } from '../types';\nimport { COLORS, LoadingIndicator } from '..';\nimport { SystemIcons } from '../icons';\nimport SearchBarInput from './components/SearchBarInput';\nimport SearchField, { StyledSearchField } from './components/SearchField';\n\nconst Wrapper = styled.div<{$shouldNotInteract: boolean}>`\n width: 100%;\n\n ${StyledSearchField} {\n transition: box-shadow 0.2s ease-in-out, width 0.2s ease-in-out;\n\n background-color: transparent;\n\n &.small {\n width: 48px;\n }\n\n &.medium {\n width: 56px;\n }\n\n &.expanded {\n width: 100%;\n }\n\n box-shadow: none;\n\n &:hover {\n box-shadow: none;\n }\n\n &.expanded {\n background-color: ${props => COLORS.getColor('white', props.theme)};\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_400', props.theme)};\n }\n\n &.expanded:hover,\n &.expanded:focus-within {\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('primary_800', props.theme)};\n }\n }\n\n ${IconButtonStyledSecondary} {\n pointer-events: ${(props) => (props.$shouldNotInteract ? 'none' : 'auto')};\n }\n`;\n\nexport type QuickSearchProps = {\n /** Required. Id of the component. */\n id: string;\n /** Optional. Current search term entered by the user. */\n searchTerm?: string;\n /** Required. Handler to be called when user modified input. */\n setSearchTerm: (term: string) => void;\n /** Required. Handler to be called when user triggers search. */\n enterSearch: (e: any) => void;\n /** Required. Handler to be called when user clears input field. */\n removeSearch: (e: any) => void;\n /** Optional. Placeholder text to be shown in the input field when there is no input. */\n placeholder?: string;\n /** Optional. ARIA label to set on the input field. */\n performSearchLabel?: string;\n /** Optional. If disabled user can not interact with the search bar. */\n disabled?: boolean;\n /** Optional. Optional onkeydown handler to be set on the input field. */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n /** Optional. Size of the component. Defaults to 'medium'. */\n size?: Size.Small | Size.Medium;\n /** Optional. Margin style attribute to be set on the input field. */\n margin?: string;\n /** Optional. If set then loading indicator will be shown on the right side of the input field. */\n loading?: boolean;\n};\n\nconst QuickSearch: React.FunctionComponent<QuickSearchProps> = ({\n id,\n searchTerm,\n setSearchTerm,\n enterSearch,\n removeSearch,\n placeholder,\n performSearchLabel,\n disabled,\n onKeyDown,\n size,\n margin,\n loading,\n}: QuickSearchProps) => {\n const theme = useTheme();\n const searchFieldRef = React.useRef<HTMLDivElement>(null);\n const searchFieldInputRef = React.useRef<HTMLInputElement>(null);\n\n const [searchFieldVisible, setSearchFieldVisible] = React.useState<{ visible: boolean; focus?: boolean }>({\n visible: false,\n });\n\n const handleClickOutside = (e: any) => {\n if (searchFieldRef?.current && !searchFieldRef.current.contains(e.target)) {\n if (searchFieldVisible?.visible && !searchTerm?.length) {\n setSearchFieldVisible({ visible: false });\n }\n }\n };\n\n const handleKeyDown = (e: any) => {\n if (onKeyDown) {\n onKeyDown(e);\n }\n if (e.key === 'Escape') {\n if (searchFieldVisible?.visible && !searchTerm?.length) {\n setSearchFieldVisible({ visible: false });\n }\n }\n };\n\n const handleBlur = (e: any) => {\n if (!searchTerm && (!e.relatedTarget || !searchFieldRef.current?.contains(e.relatedTarget))) {\n setSearchFieldVisible({ visible: false });\n }\n };\n\n const handleSearchIconAction = (e: any) => {\n if (!searchFieldVisible?.visible) {\n setSearchFieldVisible({\n visible: !searchFieldVisible.visible,\n focus: !searchFieldVisible.visible && e?.detail !== 1,\n });\n }\n };\n\n // set search field visibility on search term change\n React.useEffect(() => {\n if (!!searchTerm?.length && !searchFieldVisible?.visible) {\n setSearchFieldVisible({ visible: true, focus: false });\n }\n }, [searchTerm, searchFieldVisible]);\n\n // register click outside handler\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, []);\n\n // focus search input on visibility change\n React.useEffect(() => {\n if (searchFieldVisible?.visible) {\n searchFieldInputRef?.current?.focus({ focusVisible: searchFieldVisible.focus } as any);\n }\n }, [searchFieldVisible.visible, searchFieldInputRef]);\n\n return (\n <Wrapper $shouldNotInteract={searchFieldVisible?.visible}>\n <SearchField\n ref={searchFieldRef}\n id={id}\n size={size}\n searchTerm={searchTerm}\n style={{\n margin: margin,\n }}\n onBlur={handleBlur}\n className={searchFieldVisible?.visible ? 'expanded' : ''}>\n {searchFieldVisible?.visible && (\n <SearchBarInput\n placeholder={disabled ? '' : placeholder}\n id={id}\n ref={searchFieldInputRef}\n disabled={disabled}\n onKeyDown={handleKeyDown}\n size={size}\n setSearchTerm={(term: string) => setSearchTerm(term)}\n searchTerm={searchTerm}\n enterSearch={enterSearch}\n focusParentRefs={[searchFieldRef]}\n />\n )}\n <SearchIconWrapper className={size ? size : ''} role=\"button\" aria-label={performSearchLabel}>\n <IconButton\n id={`${id}_Searchbutton`}\n dataTestId={`${id}_Searchbutton`}\n variant=\"secondary\"\n shape=\"circular\"\n tabIndex={searchFieldVisible?.visible ? -1 : 0}\n action={handleSearchIconAction}>\n <SystemIcons.Search size=\"24px\" color={disabled ? COLORS.getColor('neutral_300', theme) : COLORS.getColor('neutral_600', theme)} />\n </IconButton>\n </SearchIconWrapper>\n <StyledIcon className={size ? size : ''} role=\"button\" hidden={!searchTerm || !searchFieldVisible?.visible}>\n <IconButton\n id={`${id}_Clearicon`}\n dataTestId={`${id}_Clearicon`}\n variant=\"secondary\"\n shape=\"circular\"\n action={(e) => {\n removeSearch(e);\n searchFieldInputRef?.current?.focus();\n }}>\n <SystemIcons.Clear size=\"24px\" color={disabled ? COLORS.getColor('neutral_300', theme) : COLORS.getColor('neutral_600', theme)} />\n </IconButton>\n </StyledIcon>\n {loading && searchFieldVisible?.visible && (\n <StyledIcon className={size ? size : ''}>\n <LoadingIndicator size={Size.Small} color={COLORS.getColor('neutral_600', theme)} />\n </StyledIcon>\n )}\n </SearchField>\n </Wrapper>\n );\n};\n\nexport default QuickSearch;\n"],"mappings":"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","ignoreList":[]}
|