@pega/cosmos-react-core 10.0.0-build.4.0 → 10.0.0-build.4.2

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.
Files changed (120) hide show
  1. package/lib/components/AIButton/AIButton.d.ts +2 -2
  2. package/lib/components/AIButton/AIButton.d.ts.map +1 -1
  3. package/lib/components/AppShell/NavigationList.js +1 -3
  4. package/lib/components/AppShell/NavigationList.js.map +1 -1
  5. package/lib/components/AppShell/ThemeSwitcher.d.ts +1 -1
  6. package/lib/components/Avatar/Avatar.d.ts +3 -3
  7. package/lib/components/Backdrop/Backdrop.d.ts +30 -30
  8. package/lib/components/Backdrop/Backdrop.d.ts.map +1 -1
  9. package/lib/components/Badges/Alert.d.ts +1 -1
  10. package/lib/components/Badges/Count.d.ts +1 -1
  11. package/lib/components/Badges/Keyboard.d.ts +1 -1
  12. package/lib/components/Badges/Selection.d.ts +1 -1
  13. package/lib/components/Badges/Status.d.ts +1 -1
  14. package/lib/components/Badges/Tag.d.ts +1 -1
  15. package/lib/components/Banner/Banner.d.ts +1 -1
  16. package/lib/components/Banner/Banner.js +1 -5
  17. package/lib/components/Banner/Banner.js.map +1 -1
  18. package/lib/components/Banner/Banner.styles.d.ts +2 -2
  19. package/lib/components/Banner/Banner.styles.d.ts.map +1 -1
  20. package/lib/components/Checkbox/Checkbox.d.ts +1 -1
  21. package/lib/components/Checkbox/CheckboxCard.d.ts +1 -1
  22. package/lib/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  23. package/lib/components/ColorPicker/ColorPicker.d.ts +1 -1
  24. package/lib/components/ComboBox/ComboBox.d.ts +1 -1
  25. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.js +1 -3
  26. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.js.map +1 -1
  27. package/lib/components/CompositeInput/CompositeInput.d.ts +1 -1
  28. package/lib/components/CreditCard/CreditCardInput.d.ts +1 -1
  29. package/lib/components/Currency/CurrencyInput.d.ts +1 -1
  30. package/lib/components/DangerButton/DangerButton.d.ts +2 -2
  31. package/lib/components/DangerButton/DangerButton.d.ts.map +1 -1
  32. package/lib/components/DateTime/Input/DateInput.d.ts +1 -1
  33. package/lib/components/DateTime/Input/DateTimeInput.d.ts +1 -1
  34. package/lib/components/DateTime/Input/DayOfWeekInput.d.ts +1 -1
  35. package/lib/components/DateTime/Input/Duration/DurationInput.d.ts +1 -1
  36. package/lib/components/DateTime/Input/MonthInput.d.ts +1 -1
  37. package/lib/components/DateTime/Input/QuarterInput.d.ts +1 -1
  38. package/lib/components/DateTime/Input/TimeInput.d.ts +1 -1
  39. package/lib/components/DateTime/Input/WeekInput.d.ts +1 -1
  40. package/lib/components/DateTime/Picker/Calendar.js +2 -6
  41. package/lib/components/DateTime/Picker/Calendar.js.map +1 -1
  42. package/lib/components/DateTime/Picker/TimePicker.d.ts.map +1 -1
  43. package/lib/components/DateTime/Picker/TimePicker.js +3 -12
  44. package/lib/components/DateTime/Picker/TimePicker.js.map +1 -1
  45. package/lib/components/EmptyState/EmptyState.d.ts +1 -1
  46. package/lib/components/ExpandCollapse/ExpandCollapseButton.d.ts +2 -2
  47. package/lib/components/ExpandCollapse/ExpandCollapseButton.d.ts.map +1 -1
  48. package/lib/components/FieldGroup/FieldGroup.d.ts +58 -58
  49. package/lib/components/FieldValueList/FieldValueList.d.ts +2 -2
  50. package/lib/components/File/FileInput.d.ts +1 -1
  51. package/lib/components/File/FileItem.d.ts +2 -2
  52. package/lib/components/File/FileList.d.ts +29 -29
  53. package/lib/components/File/FileList.d.ts.map +1 -1
  54. package/lib/components/File/FileUploadItem.js +1 -3
  55. package/lib/components/File/FileUploadItem.js.map +1 -1
  56. package/lib/components/Form/Form.d.ts +1 -1
  57. package/lib/components/FormField/FormField.d.ts +1 -1
  58. package/lib/components/Fullscreen/Fullscreen.d.ts +1 -1
  59. package/lib/components/Fullscreen/FullscreenButton.d.ts +2 -2
  60. package/lib/components/Fullscreen/FullscreenButton.d.ts.map +1 -1
  61. package/lib/components/HTML/HTML.d.ts +1 -1
  62. package/lib/components/Input/Input.d.ts +1 -1
  63. package/lib/components/Lightbox/Lightbox.d.ts +1 -1
  64. package/lib/components/Lightbox/Lightbox.js +2 -6
  65. package/lib/components/Lightbox/Lightbox.js.map +1 -1
  66. package/lib/components/Link/Link.d.ts +4 -4
  67. package/lib/components/List/CommaSeparatedList.js +1 -3
  68. package/lib/components/List/CommaSeparatedList.js.map +1 -1
  69. package/lib/components/List/List.js +1 -5
  70. package/lib/components/List/List.js.map +1 -1
  71. package/lib/components/ListToolbar/ListToolbar.d.ts +1 -1
  72. package/lib/components/ListToolbar/ListToolbar.styles.d.ts +63 -63
  73. package/lib/components/ListToolbar/ListToolbar.styles.d.ts.map +1 -1
  74. package/lib/components/Location/LocationInput.d.ts +1 -1
  75. package/lib/components/Menu/Menu.d.ts +1 -1
  76. package/lib/components/Menu/MenuItem.d.ts +1 -1
  77. package/lib/components/MenuButton/MenuButton.d.ts +1 -1
  78. package/lib/components/MetaList/MetaList.d.ts +1 -1
  79. package/lib/components/MultiStepForm/MultiStepForm.d.ts +29 -29
  80. package/lib/components/Number/NumberInput.d.ts +1 -1
  81. package/lib/components/Number/NumberRangeInput.d.ts +1 -1
  82. package/lib/components/PageTemplates/GridLayout/GridLayoutEditor.js +2 -7
  83. package/lib/components/PageTemplates/GridLayout/GridLayoutEditor.js.map +1 -1
  84. package/lib/components/PageTemplates/GridLayout/GridLayoutViewer.js +2 -9
  85. package/lib/components/PageTemplates/GridLayout/GridLayoutViewer.js.map +1 -1
  86. package/lib/components/PageTemplates/PageTemplates.d.ts +7 -7
  87. package/lib/components/Phone/PhoneInput.d.ts +1 -1
  88. package/lib/components/RadioButton/RadioButton.d.ts +1 -1
  89. package/lib/components/RadioButton/RadioButtonCard.d.ts +1 -1
  90. package/lib/components/RadioButtonGroup/RadioButtonGroup.d.ts +1 -1
  91. package/lib/components/RadioCheck/RadioCheck.d.ts +1 -1
  92. package/lib/components/RadioCheckGroup/RadioCheckGroup.d.ts +1 -1
  93. package/lib/components/Select/Select.d.ts +1 -1
  94. package/lib/components/SelectionCard/SelectionCard.d.ts +1 -1
  95. package/lib/components/SelectionCard/SelectionCardDisplay.d.ts +1 -1
  96. package/lib/components/ShortcutManager/Store.d.ts +1 -1
  97. package/lib/components/ShortcutManager/Store.d.ts.map +1 -1
  98. package/lib/components/SkipLinks/SkipLinks.d.ts +1 -1
  99. package/lib/components/SkipLinks/SkipLinks.d.ts.map +1 -1
  100. package/lib/components/Slider/Slider.d.ts +1 -1
  101. package/lib/components/SpeechToTextButton/SpeechToTextButton.d.ts +1 -1
  102. package/lib/components/SummaryItem/SummaryItem.d.ts +57 -57
  103. package/lib/components/SummaryList/SummaryList.d.ts +1 -1
  104. package/lib/components/Tabs/Tab.d.ts +1 -1
  105. package/lib/components/Tabs/TabPanel.d.ts +28 -28
  106. package/lib/components/TextArea/TextArea.d.ts +1 -1
  107. package/lib/components/Toaster/Toaster.js +2 -6
  108. package/lib/components/Toaster/Toaster.js.map +1 -1
  109. package/lib/components/Tooltip/Tooltip.d.ts +1 -1
  110. package/lib/components/Tree/StandardTree.js +1 -3
  111. package/lib/components/Tree/StandardTree.js.map +1 -1
  112. package/lib/components/Tree/StandardTree.styles.d.ts +2 -2
  113. package/lib/components/Tree/Tree.d.ts +1 -1
  114. package/lib/hooks/useI18n.d.ts +1 -1
  115. package/lib/hooks/useScrollToggle.d.ts.map +1 -1
  116. package/lib/hooks/useScrollToggle.js +3 -1
  117. package/lib/hooks/useScrollToggle.js.map +1 -1
  118. package/lib/theme/themes/virgoDarkTheme.json +0 -1
  119. package/lib/theme/themes/virgoTheme.json +0 -1
  120. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"StandardTree.js","sourceRoot":"","sources":["../../../src/components/Tree/StandardTree.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n createContext,\n useMemo,\n useContext,\n useCallback,\n useState,\n useEffect,\n useRef\n} from 'react';\nimport type { KeyboardEvent, PropsWithoutRef, CSSProperties, MouseEvent } from 'react';\n\nimport Progress from '../Progress';\nimport {\n useConsolidatedRef,\n useDirection,\n useFocusWithin,\n useI18n,\n useOS,\n useUID\n} from '../../hooks';\nimport Flex from '../Flex';\nimport Link from '../Link';\nimport Button from '../Button';\nimport Actions from '../Actions';\nimport type { ForwardRefForwardPropsComponent } from '../../types';\nimport { cap } from '../../utils';\nimport VisuallyHiddenText from '../VisuallyHiddenText';\n\nimport {\n StyledStandardTreeParent,\n StyledToggleIcon,\n StyledToggleIconWrapper,\n StyledStandardTreeItemSubTree,\n StyledStandardTreeLeaf,\n StyledStandardTree,\n StyledNodeInteraction,\n StyledStandardTreeNode,\n StyledNodeActions,\n StyledLabelContent,\n StyledNodeIcon,\n StyledNodeText,\n StyledLoadMoreButton,\n StyledLabelContainer,\n StyledSecondaryMetaList\n} from './StandardTree.styles';\nimport type { TreeProps } from './Tree';\nimport type {\n StandardTreeContextProps,\n StandardTreeNode,\n StandardTreeProps,\n StandardTreePropsWithDefaults\n} from './StandardTree.types';\nimport helpers from './helpers';\n\nconst StandardTreeContext = createContext<\n Pick<\n StandardTreePropsWithDefaults,\n | 'currentNodeId'\n | 'contentRenderer'\n | 'lined'\n | 'onNodeClick'\n | 'onNodeHover'\n | 'onNodeToggle'\n | 'firstNodeId'\n | 'lastNodeId'\n | 'focusedNodeId'\n | 'changeFocusedNodeId'\n | 'selectableParents'\n >\n>({\n currentNodeId: undefined,\n lined: false,\n contentRenderer: () => undefined,\n onNodeClick: () => {},\n onNodeToggle: () => {},\n firstNodeId: undefined,\n lastNodeId: undefined,\n focusedNodeId: undefined,\n changeFocusedNodeId: () => {},\n selectableParents: true\n});\n\nconst NodeRenderer: TreeProps<StandardTreeNode>['nodeRenderer'] = ({\n id,\n label,\n secondary,\n icon,\n depth,\n hasParentSibling,\n nodes,\n expanded = false,\n loading = false,\n subTree,\n actions,\n onClick,\n onPreview,\n onLoadMore,\n href\n}) => {\n const {\n currentNodeId,\n contentRenderer,\n onNodeClick,\n onNodeToggle,\n onNodeHover,\n lined,\n focusedNodeId,\n changeFocusedNodeId,\n firstNodeId,\n lastNodeId,\n selectableParents\n } = useContext(StandardTreeContext);\n const current = currentNodeId === id;\n const focusedEl = focusedNodeId === id;\n const firstNode = firstNodeId === id;\n const lastNode = lastNodeId === id;\n const { start, end } = useDirection();\n const { macintosh } = useOS();\n const loadMoreRef = useRef<HTMLButtonElement>(null);\n const t = useI18n();\n\n const ariaCurrent = useMemo(() => {\n return href ? 'page' : true;\n }, [href]);\n\n const tabIndex = useMemo(() => {\n let index = -1;\n if (focusedNodeId) {\n index = focusedEl ? 0 : -1;\n } else if (currentNodeId && current) {\n index = 0;\n } else if (currentNodeId && nodes && helpers.getNode(nodes, currentNodeId)) {\n index = current ? 0 : -1;\n } else {\n index = firstNode ? 0 : -1;\n }\n return index;\n }, [focusedNodeId, currentNodeId, current, focusedEl]);\n\n const handleParentClick = useCallback(\n (e: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>) => {\n onNodeClick?.(id, e);\n changeFocusedNodeId(id);\n },\n [id, onNodeClick, changeFocusedNodeId]\n );\n\n const handleParentToggle = useCallback(\n (e: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>) => {\n e.preventDefault();\n e.stopPropagation();\n onNodeToggle?.(id, e);\n changeFocusedNodeId(id);\n },\n [id, onNodeToggle, changeFocusedNodeId]\n );\n\n const onKeyDown = useCallback(\n (e: KeyboardEvent<HTMLElement>) => {\n if (['ArrowUp', 'ArrowDown', 'Home', 'End'].includes(e.key)) e.preventDefault();\n if (e.key === 'Enter' && !href) e.preventDefault();\n if (href && onPreview && e.getModifierState('Alt') && e.code === 'KeyP') {\n onPreview({ href });\n }\n switch (e.key) {\n case 'ArrowUp':\n changeFocusedNodeId(id, 'up');\n break;\n case 'ArrowDown':\n changeFocusedNodeId(id, 'down');\n break;\n case `Arrow${cap(end)}`:\n if (nodes) {\n if (expanded) {\n changeFocusedNodeId(id, 'right');\n } else {\n onNodeToggle?.(id);\n }\n }\n break;\n case `Arrow${cap(start)}`:\n if (expanded) {\n onNodeToggle?.(id);\n } else {\n changeFocusedNodeId(id, 'left');\n }\n break;\n case 'Enter':\n case ' ':\n onLoadMore?.(id);\n onClick?.(id, e);\n if (nodes) {\n if (selectableParents) {\n handleParentClick(e);\n } else {\n handleParentToggle(e);\n }\n } else {\n onNodeClick?.(id, e);\n changeFocusedNodeId(id);\n }\n break;\n case 'Home':\n if (firstNodeId) changeFocusedNodeId(firstNodeId);\n break;\n case 'End':\n if (lastNodeId) changeFocusedNodeId(lastNodeId);\n break;\n default:\n }\n },\n [id, end, nodes, expanded, actions, firstNodeId, lastNodeId, changeFocusedNodeId]\n );\n\n const actionsJSX = useMemo(() => {\n // since Actions may render a frag of buttons and we need a wrapper for flex space-between.\n return actions ? (\n <Flex as={StyledNodeActions} container>\n <Actions\n items={actions.map(action => {\n return {\n ...action,\n compact: true,\n onKeyDown: (e: KeyboardEvent) => {\n if (e.key === 'Enter') e.stopPropagation();\n }\n };\n })}\n menuAt={4}\n menuButtonProps={{\n onClick: (e: MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n },\n onKeyDown: (e: KeyboardEvent) => {\n e.stopPropagation();\n if (['ArrowUp', 'ArrowDown'].includes(e.key)) {\n e.preventDefault();\n }\n }\n }}\n />\n </Flex>\n ) : null;\n }, [actions]);\n\n const elRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (focusedEl) {\n elRef?.current?.focus();\n }\n }, [focusedEl]);\n\n const loadMoreButton = onLoadMore ? (\n <Flex container={{ alignItems: 'center' }}>\n <Button\n as={StyledLoadMoreButton}\n variant='link'\n aria-label={label}\n onClick={(e: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>) => {\n onLoadMore?.(id);\n onClick?.(id, e);\n }}\n ref={loadMoreRef}\n >\n {t('load_more')}\n </Button>\n </Flex>\n ) : undefined;\n\n const labelContent = useMemo(() => {\n if (contentRenderer) {\n const content = contentRenderer({\n id,\n label,\n secondary,\n icon,\n nodes,\n expanded,\n loading,\n actions,\n onClick,\n onLoadMore,\n href\n });\n return !nodes && (onClick ?? onNodeClick) ? (\n <Flex\n container={{ alignItems: 'center', justify: 'between', gap: 2 }}\n as={StyledNodeInteraction}\n forwardedAs={href ? 'a' : 'div'}\n role='treeitem'\n aria-selected={false}\n aria-current={current ? ariaCurrent : undefined}\n tabIndex={tabIndex}\n onClick={(e: MouseEvent<HTMLElement>) => {\n onClick?.(id, e);\n onNodeClick?.(id, e);\n changeFocusedNodeId(id);\n }}\n href={href}\n onKeyDown={onKeyDown}\n ref={elRef}\n >\n {content}\n </Flex>\n ) : (\n content\n );\n }\n\n const secondaryArray = Array.isArray(secondary) ? secondary : [secondary];\n\n const internal = href ? (\n <Flex container={{ alignItems: 'center', gap: 0.5 }} as={StyledLabelContent}>\n {icon && <StyledNodeIcon name={icon} />}\n <Flex container={{ direction: 'column', pad: [0, 0.5, 0, 0.5] }}>\n <Link forwardedAs='span' href={href} previewable={!!onPreview} onPreview={onPreview}>\n {label}\n </Link>\n {secondary && secondaryArray.length > 0 && (\n <StyledSecondaryMetaList items={secondaryArray} />\n )}\n <VisuallyHiddenText>\n {t('preview_link_instruction', [macintosh ? 'option' : 'alt'])}\n </VisuallyHiddenText>\n </Flex>\n </Flex>\n ) : (\n // Wrapping in a div for handling of flex space-between when there are node actions.\n <Flex container={{ alignItems: 'center', gap: 0.5 }} as={StyledLabelContent}>\n {icon && <StyledNodeIcon name={icon} />}\n <Flex container={{ direction: 'column', pad: [0, 0, 0, 0.5] }}>\n <StyledNodeText>{label}</StyledNodeText>\n {secondary && secondaryArray.length > 0 && (\n <StyledSecondaryMetaList items={secondaryArray} />\n )}\n </Flex>\n </Flex>\n );\n\n return !nodes && (onClick ?? onNodeClick) ? (\n <Flex\n container={{ alignItems: 'center', justify: 'between', gap: 2 }}\n as={StyledNodeInteraction}\n forwardedAs={href ? 'a' : 'div'}\n role='treeitem'\n aria-selected={false}\n aria-current={current ? ariaCurrent : undefined}\n tabIndex={tabIndex}\n onClick={(e: MouseEvent<HTMLElement>) => {\n onClick?.(id, e);\n onNodeClick?.(id, e);\n changeFocusedNodeId(id);\n }}\n href={href}\n onKeyDown={onKeyDown}\n ref={elRef}\n >\n {loadMoreButton ?? internal}\n {actionsJSX}\n </Flex>\n ) : (\n internal\n );\n }, [\n id,\n label,\n icon,\n nodes,\n actions,\n onClick,\n onNodeClick,\n current,\n focusedEl,\n tabIndex,\n changeFocusedNodeId,\n onKeyDown\n ]);\n\n return (\n <StyledStandardTreeNode\n id={id}\n style={\n {\n '--depth': depth,\n '--has-parent': depth ? 1 : 0,\n '--has-parent-sibling': hasParentSibling ? 1 : 0,\n '--first-visible': firstNode ? 1 : 0,\n '--last-visible': lastNode ? 1 : 0\n } as CSSProperties\n }\n aria-busy={loading}\n >\n {nodes ? (\n <>\n <Flex\n container={{ alignItems: 'center', justify: 'between', gap: 2 }}\n as={StyledStandardTreeParent}\n forwardedAs={href ? 'a' : 'div'}\n role='treeitem'\n aria-selected={false}\n aria-current={current ? ariaCurrent : undefined}\n tabIndex={tabIndex}\n variant='text'\n onClick={selectableParents ? handleParentClick : handleParentToggle}\n onMouseOver={\n onNodeHover ? (e: MouseEvent<HTMLElement>) => onNodeHover(id, e) : undefined\n }\n href={selectableParents ? href : undefined}\n aria-expanded={expanded}\n onKeyDown={onKeyDown}\n ref={elRef}\n >\n <Flex container={{ alignItems: 'center' }} as={StyledLabelContainer}>\n {selectableParents ? (\n <Button\n as='span'\n variant='simple'\n tabIndex={-1}\n icon\n compact\n onClick={handleParentToggle}\n >\n <StyledToggleIcon name='caret-right' />\n </Button>\n ) : (\n <Flex\n as={StyledToggleIconWrapper}\n container={{ justify: 'center', alignItems: 'center' }}\n >\n <StyledToggleIcon name='caret-right' />\n </Flex>\n )}\n {labelContent}\n </Flex>\n {actionsJSX}\n </Flex>\n <StyledStandardTreeItemSubTree lined={lined} id={`${id}-subtree`}>\n {subTree}\n {loading && <Progress variant='ring' placement='inline' />}\n </StyledStandardTreeItemSubTree>\n </>\n ) : (\n <StyledStandardTreeLeaf\n onMouseOver={onNodeHover ? (e: MouseEvent<HTMLElement>) => onNodeHover(id, e) : undefined}\n >\n {labelContent}\n </StyledStandardTreeLeaf>\n )}\n </StyledStandardTreeNode>\n );\n};\n\nconst StandardTreeWithNodes: ForwardRefForwardPropsComponent<StandardTreeProps> = forwardRef(\n function StandardTreeWithNodes(\n {\n nodes: initialNodes,\n currentNodeId,\n onNodeClick,\n onNodeFocus,\n onNodeHover,\n onNodeToggle,\n onLoadMore,\n contentRenderer,\n lined = false,\n selectableParents = true,\n ...restProps\n }: PropsWithoutRef<StandardTreeProps>,\n ref: StandardTreeProps['ref']\n ) {\n const loadMoreId = useUID();\n const t = useI18n();\n\n const nodes = [\n ...helpers.mapTree(initialNodes, node => {\n if (node.onLoadMore && !node.loading) {\n return {\n ...node,\n onLoadMore: undefined,\n nodes: [\n ...(node.nodes ?? []),\n {\n id: `${loadMoreId}-${node.id}`,\n label: `${t('load_more')} - ${node.label}`,\n onLoadMore: () => {\n node.onLoadMore?.(node.id);\n }\n }\n ]\n };\n }\n return node;\n }),\n ...(onLoadMore\n ? [\n {\n id: loadMoreId,\n label: `${t('load_more')}`,\n onLoadMore\n }\n ]\n : [])\n ];\n\n const [focusedNodeId, setFocusedNodedId] = useState<string | undefined>();\n const treeRef = useConsolidatedRef(ref);\n\n const lastNodeId = useMemo(() => {\n return helpers.getDeepestNode(nodes, nodes[nodes.length - 1].id)?.id;\n }, [nodes]);\n\n const changeFocusedNodeId: StandardTreeContextProps['changeFocusedNodeId'] = useCallback(\n (id, type) => {\n switch (type) {\n case 'up': {\n const previousNode = helpers.getPreviousNode(nodes, id);\n if (previousNode) setFocusedNodedId(previousNode.id);\n break;\n }\n case 'down': {\n const nextNode = helpers.getNextNode(nodes, id);\n if (nextNode) setFocusedNodedId(nextNode.id);\n break;\n }\n case 'left': {\n const parentNode = helpers.getParentNode(nodes, id);\n if (parentNode) setFocusedNodedId(parentNode.id);\n break;\n }\n case 'right': {\n const childNode = helpers.getFirstChildNode(nodes, id);\n if (childNode) setFocusedNodedId(childNode.id);\n break;\n }\n default: {\n if (id !== focusedNodeId) setFocusedNodedId(id);\n break;\n }\n }\n },\n [nodes]\n );\n\n useEffect(() => {\n if (focusedNodeId) onNodeFocus?.(focusedNodeId);\n }, [focusedNodeId]);\n\n const onFocusChange = (focused: boolean) => {\n if (!focused) setFocusedNodedId('');\n };\n\n useFocusWithin([treeRef], onFocusChange);\n\n return (\n <StandardTreeContext.Provider\n value={useMemo(\n () => ({\n currentNodeId,\n focusedNodeId,\n lastNodeId,\n firstNodeId: nodes[0].id,\n changeFocusedNodeId,\n onNodeClick,\n onNodeHover,\n onNodeToggle,\n contentRenderer,\n lined,\n selectableParents\n }),\n [\n currentNodeId,\n onNodeClick,\n onNodeHover,\n lined,\n focusedNodeId,\n lastNodeId,\n onNodeToggle,\n contentRenderer,\n selectableParents\n ]\n )}\n >\n {/* FIXME: Types are having issues when styled(Tree) is typeof Tree. */}\n <StyledStandardTree\n {...restProps}\n ref={treeRef}\n nodes={nodes}\n nodeRenderer={NodeRenderer}\n />\n </StandardTreeContext.Provider>\n );\n }\n);\n\nconst StandardTree: ForwardRefForwardPropsComponent<StandardTreeProps> = forwardRef(\n function StandardTree(props: PropsWithoutRef<StandardTreeProps>, ref: StandardTreeProps['ref']) {\n return props.nodes.length > 0 ? <StandardTreeWithNodes {...props} ref={ref} /> : null;\n }\n);\n\nexport default StandardTree;\n"]}
1
+ {"version":3,"file":"StandardTree.js","sourceRoot":"","sources":["../../../src/components/Tree/StandardTree.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n createContext,\n useMemo,\n useContext,\n useCallback,\n useState,\n useEffect,\n useRef\n} from 'react';\nimport type { KeyboardEvent, PropsWithoutRef, CSSProperties, MouseEvent } from 'react';\n\nimport Progress from '../Progress';\nimport {\n useConsolidatedRef,\n useDirection,\n useFocusWithin,\n useI18n,\n useOS,\n useUID\n} from '../../hooks';\nimport Flex from '../Flex';\nimport Link from '../Link';\nimport Button from '../Button';\nimport Actions from '../Actions';\nimport type { ForwardRefForwardPropsComponent } from '../../types';\nimport { cap } from '../../utils';\nimport VisuallyHiddenText from '../VisuallyHiddenText';\n\nimport {\n StyledStandardTreeParent,\n StyledToggleIcon,\n StyledToggleIconWrapper,\n StyledStandardTreeItemSubTree,\n StyledStandardTreeLeaf,\n StyledStandardTree,\n StyledNodeInteraction,\n StyledStandardTreeNode,\n StyledNodeActions,\n StyledLabelContent,\n StyledNodeIcon,\n StyledNodeText,\n StyledLoadMoreButton,\n StyledLabelContainer,\n StyledSecondaryMetaList\n} from './StandardTree.styles';\nimport type { TreeProps } from './Tree';\nimport type {\n StandardTreeContextProps,\n StandardTreeNode,\n StandardTreeProps,\n StandardTreePropsWithDefaults\n} from './StandardTree.types';\nimport helpers from './helpers';\n\nconst StandardTreeContext = createContext<\n Pick<\n StandardTreePropsWithDefaults,\n | 'currentNodeId'\n | 'contentRenderer'\n | 'lined'\n | 'onNodeClick'\n | 'onNodeHover'\n | 'onNodeToggle'\n | 'firstNodeId'\n | 'lastNodeId'\n | 'focusedNodeId'\n | 'changeFocusedNodeId'\n | 'selectableParents'\n >\n>({\n currentNodeId: undefined,\n lined: false,\n contentRenderer: () => undefined,\n onNodeClick: () => {},\n onNodeToggle: () => {},\n firstNodeId: undefined,\n lastNodeId: undefined,\n focusedNodeId: undefined,\n changeFocusedNodeId: () => {},\n selectableParents: true\n});\n\nconst NodeRenderer: TreeProps<StandardTreeNode>['nodeRenderer'] = ({\n id,\n label,\n secondary,\n icon,\n depth,\n hasParentSibling,\n nodes,\n expanded = false,\n loading = false,\n subTree,\n actions,\n onClick,\n onPreview,\n onLoadMore,\n href\n}) => {\n const {\n currentNodeId,\n contentRenderer,\n onNodeClick,\n onNodeToggle,\n onNodeHover,\n lined,\n focusedNodeId,\n changeFocusedNodeId,\n firstNodeId,\n lastNodeId,\n selectableParents\n } = useContext(StandardTreeContext);\n const current = currentNodeId === id;\n const focusedEl = focusedNodeId === id;\n const firstNode = firstNodeId === id;\n const lastNode = lastNodeId === id;\n const { start, end } = useDirection();\n const { macintosh } = useOS();\n const loadMoreRef = useRef<HTMLButtonElement>(null);\n const t = useI18n();\n\n const ariaCurrent = useMemo(() => {\n return href ? 'page' : true;\n }, [href]);\n\n const tabIndex = useMemo(() => {\n let index = -1;\n if (focusedNodeId) {\n index = focusedEl ? 0 : -1;\n } else if (currentNodeId && current) {\n index = 0;\n } else if (currentNodeId && nodes && helpers.getNode(nodes, currentNodeId)) {\n index = current ? 0 : -1;\n } else {\n index = firstNode ? 0 : -1;\n }\n return index;\n }, [focusedNodeId, currentNodeId, current, focusedEl]);\n\n const handleParentClick = useCallback(\n (e: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>) => {\n onNodeClick?.(id, e);\n changeFocusedNodeId(id);\n },\n [id, onNodeClick, changeFocusedNodeId]\n );\n\n const handleParentToggle = useCallback(\n (e: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>) => {\n e.preventDefault();\n e.stopPropagation();\n onNodeToggle?.(id, e);\n changeFocusedNodeId(id);\n },\n [id, onNodeToggle, changeFocusedNodeId]\n );\n\n const onKeyDown = useCallback(\n (e: KeyboardEvent<HTMLElement>) => {\n if (['ArrowUp', 'ArrowDown', 'Home', 'End'].includes(e.key)) e.preventDefault();\n if (e.key === 'Enter' && !href) e.preventDefault();\n if (href && onPreview && e.getModifierState('Alt') && e.code === 'KeyP') {\n onPreview({ href });\n }\n switch (e.key) {\n case 'ArrowUp':\n changeFocusedNodeId(id, 'up');\n break;\n case 'ArrowDown':\n changeFocusedNodeId(id, 'down');\n break;\n case `Arrow${cap(end)}`:\n if (nodes) {\n if (expanded) {\n changeFocusedNodeId(id, 'right');\n } else {\n onNodeToggle?.(id);\n }\n }\n break;\n case `Arrow${cap(start)}`:\n if (expanded) {\n onNodeToggle?.(id);\n } else {\n changeFocusedNodeId(id, 'left');\n }\n break;\n case 'Enter':\n case ' ':\n onLoadMore?.(id);\n onClick?.(id, e);\n if (nodes) {\n if (selectableParents) {\n handleParentClick(e);\n } else {\n handleParentToggle(e);\n }\n } else {\n onNodeClick?.(id, e);\n changeFocusedNodeId(id);\n }\n break;\n case 'Home':\n if (firstNodeId) changeFocusedNodeId(firstNodeId);\n break;\n case 'End':\n if (lastNodeId) changeFocusedNodeId(lastNodeId);\n break;\n default:\n }\n },\n [id, end, nodes, expanded, actions, firstNodeId, lastNodeId, changeFocusedNodeId]\n );\n\n const actionsJSX = useMemo(() => {\n // since Actions may render a frag of buttons and we need a wrapper for flex space-between.\n return actions ? (\n <Flex as={StyledNodeActions} container>\n <Actions\n items={actions.map(action => {\n return {\n ...action,\n compact: true,\n onKeyDown: (e: KeyboardEvent) => {\n if (e.key === 'Enter') e.stopPropagation();\n }\n };\n })}\n menuAt={4}\n menuButtonProps={{\n onClick: (e: MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n },\n onKeyDown: (e: KeyboardEvent) => {\n e.stopPropagation();\n if (['ArrowUp', 'ArrowDown'].includes(e.key)) {\n e.preventDefault();\n }\n }\n }}\n />\n </Flex>\n ) : null;\n }, [actions]);\n\n const elRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (focusedEl) {\n elRef?.current?.focus();\n }\n }, [focusedEl]);\n\n const loadMoreButton = onLoadMore ? (\n <Flex container={{ alignItems: 'center' }}>\n <Button\n as={StyledLoadMoreButton}\n variant='link'\n aria-label={label}\n onClick={(e: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>) => {\n onLoadMore?.(id);\n onClick?.(id, e);\n }}\n ref={loadMoreRef}\n >\n {t('load_more')}\n </Button>\n </Flex>\n ) : undefined;\n\n const labelContent = useMemo(() => {\n if (contentRenderer) {\n const content = contentRenderer({\n id,\n label,\n secondary,\n icon,\n nodes,\n expanded,\n loading,\n actions,\n onClick,\n onLoadMore,\n href\n });\n return !nodes && (onClick ?? onNodeClick) ? (\n <Flex\n container={{ alignItems: 'center', justify: 'between', gap: 2 }}\n as={StyledNodeInteraction}\n forwardedAs={href ? 'a' : 'div'}\n role='treeitem'\n aria-selected={false}\n aria-current={current ? ariaCurrent : undefined}\n tabIndex={tabIndex}\n onClick={(e: MouseEvent<HTMLElement>) => {\n onClick?.(id, e);\n onNodeClick?.(id, e);\n changeFocusedNodeId(id);\n }}\n href={href}\n onKeyDown={onKeyDown}\n ref={elRef}\n >\n {content}\n </Flex>\n ) : (\n content\n );\n }\n\n const secondaryArray = Array.isArray(secondary) ? secondary : [secondary];\n\n const internal = href ? (\n <Flex container={{ alignItems: 'center', gap: 0.5 }} as={StyledLabelContent}>\n {icon && <StyledNodeIcon name={icon} />}\n <Flex container={{ direction: 'column', pad: [0, 0.5, 0, 0.5] }}>\n <Link forwardedAs='span' href={href} previewable={!!onPreview} onPreview={onPreview}>\n {label}\n </Link>\n {secondary && secondaryArray.length > 0 && (\n <StyledSecondaryMetaList items={secondaryArray} />\n )}\n <VisuallyHiddenText>\n {t('preview_link_instruction', [macintosh ? 'option' : 'alt'])}\n </VisuallyHiddenText>\n </Flex>\n </Flex>\n ) : (\n // Wrapping in a div for handling of flex space-between when there are node actions.\n <Flex container={{ alignItems: 'center', gap: 0.5 }} as={StyledLabelContent}>\n {icon && <StyledNodeIcon name={icon} />}\n <Flex container={{ direction: 'column', pad: [0, 0, 0, 0.5] }}>\n <StyledNodeText>{label}</StyledNodeText>\n {secondary && secondaryArray.length > 0 && (\n <StyledSecondaryMetaList items={secondaryArray} />\n )}\n </Flex>\n </Flex>\n );\n\n return !nodes && (onClick ?? onNodeClick) ? (\n <Flex\n container={{ alignItems: 'center', justify: 'between', gap: 2 }}\n as={StyledNodeInteraction}\n forwardedAs={href ? 'a' : 'div'}\n role='treeitem'\n aria-selected={false}\n aria-current={current ? ariaCurrent : undefined}\n tabIndex={tabIndex}\n onClick={(e: MouseEvent<HTMLElement>) => {\n onClick?.(id, e);\n onNodeClick?.(id, e);\n changeFocusedNodeId(id);\n }}\n href={href}\n onKeyDown={onKeyDown}\n ref={elRef}\n >\n {loadMoreButton ?? internal}\n {actionsJSX}\n </Flex>\n ) : (\n internal\n );\n }, [\n id,\n label,\n icon,\n nodes,\n actions,\n onClick,\n onNodeClick,\n current,\n focusedEl,\n tabIndex,\n changeFocusedNodeId,\n onKeyDown\n ]);\n\n return (\n <StyledStandardTreeNode\n id={id}\n style={\n {\n '--depth': depth,\n '--has-parent': depth ? 1 : 0,\n '--has-parent-sibling': hasParentSibling ? 1 : 0,\n '--first-visible': firstNode ? 1 : 0,\n '--last-visible': lastNode ? 1 : 0\n } as CSSProperties\n }\n aria-busy={loading}\n >\n {nodes ? (\n <>\n <Flex\n container={{ alignItems: 'center', justify: 'between', gap: 2 }}\n as={StyledStandardTreeParent}\n forwardedAs={href ? 'a' : 'div'}\n role='treeitem'\n aria-selected={false}\n aria-current={current ? ariaCurrent : undefined}\n tabIndex={tabIndex}\n variant='text'\n onClick={selectableParents ? handleParentClick : handleParentToggle}\n onMouseOver={\n onNodeHover ? (e: MouseEvent<HTMLElement>) => onNodeHover(id, e) : undefined\n }\n href={selectableParents ? href : undefined}\n aria-expanded={expanded}\n onKeyDown={onKeyDown}\n ref={elRef}\n >\n <Flex container={{ alignItems: 'center' }} as={StyledLabelContainer}>\n {selectableParents ? (\n <Button\n as='span'\n variant='simple'\n tabIndex={-1}\n icon\n compact\n onClick={handleParentToggle}\n >\n <StyledToggleIcon name='caret-right' />\n </Button>\n ) : (\n <Flex\n as={StyledToggleIconWrapper}\n container={{ justify: 'center', alignItems: 'center' }}\n >\n <StyledToggleIcon name='caret-right' />\n </Flex>\n )}\n {labelContent}\n </Flex>\n {actionsJSX}\n </Flex>\n <StyledStandardTreeItemSubTree lined={lined} id={`${id}-subtree`}>\n {subTree}\n {loading && <Progress variant='ring' placement='inline' />}\n </StyledStandardTreeItemSubTree>\n </>\n ) : (\n <StyledStandardTreeLeaf\n onMouseOver={onNodeHover ? (e: MouseEvent<HTMLElement>) => onNodeHover(id, e) : undefined}\n >\n {labelContent}\n </StyledStandardTreeLeaf>\n )}\n </StyledStandardTreeNode>\n );\n};\n\nconst StandardTreeWithNodes: ForwardRefForwardPropsComponent<StandardTreeProps> = forwardRef(\n function StandardTreeWithNodes(\n {\n nodes: initialNodes,\n currentNodeId,\n onNodeClick,\n onNodeFocus,\n onNodeHover,\n onNodeToggle,\n onLoadMore,\n contentRenderer,\n lined = false,\n selectableParents = true,\n ...restProps\n }: PropsWithoutRef<StandardTreeProps>,\n ref: StandardTreeProps['ref']\n ) {\n const loadMoreId = useUID();\n const t = useI18n();\n\n const nodes = [\n ...helpers.mapTree(initialNodes, node => {\n if (node.onLoadMore && !node.loading) {\n return {\n ...node,\n onLoadMore: undefined,\n nodes: [\n ...(node.nodes ?? []),\n {\n id: `${loadMoreId}-${node.id}`,\n label: `${t('load_more')} - ${node.label}`,\n onLoadMore: () => {\n node.onLoadMore?.(node.id);\n }\n }\n ]\n };\n }\n return node;\n }),\n ...(onLoadMore\n ? [\n {\n id: loadMoreId,\n label: `${t('load_more')}`,\n onLoadMore\n }\n ]\n : [])\n ];\n\n const [focusedNodeId, setFocusedNodedId] = useState<string | undefined>();\n const treeRef = useConsolidatedRef(ref);\n\n const lastNodeId = useMemo(() => {\n return helpers.getDeepestNode(nodes, nodes[nodes.length - 1].id)?.id;\n }, [nodes]);\n\n const changeFocusedNodeId: StandardTreeContextProps['changeFocusedNodeId'] = useCallback(\n (id, type) => {\n switch (type) {\n case 'up': {\n const previousNode = helpers.getPreviousNode(nodes, id);\n if (previousNode) setFocusedNodedId(previousNode.id);\n break;\n }\n case 'down': {\n const nextNode = helpers.getNextNode(nodes, id);\n if (nextNode) setFocusedNodedId(nextNode.id);\n break;\n }\n case 'left': {\n const parentNode = helpers.getParentNode(nodes, id);\n if (parentNode) setFocusedNodedId(parentNode.id);\n break;\n }\n case 'right': {\n const childNode = helpers.getFirstChildNode(nodes, id);\n if (childNode) setFocusedNodedId(childNode.id);\n break;\n }\n default: {\n if (id !== focusedNodeId) setFocusedNodedId(id);\n break;\n }\n }\n },\n [nodes]\n );\n\n useEffect(() => {\n if (focusedNodeId) onNodeFocus?.(focusedNodeId);\n }, [focusedNodeId]);\n\n const onFocusChange = (focused: boolean) => {\n if (!focused) setFocusedNodedId('');\n };\n\n useFocusWithin([treeRef], onFocusChange);\n\n return (\n <StandardTreeContext.Provider\n value={useMemo(\n () => ({\n currentNodeId,\n focusedNodeId,\n lastNodeId,\n firstNodeId: nodes[0].id,\n changeFocusedNodeId,\n onNodeClick,\n onNodeHover,\n onNodeToggle,\n contentRenderer,\n lined,\n selectableParents\n }),\n [\n currentNodeId,\n onNodeClick,\n onNodeHover,\n lined,\n focusedNodeId,\n lastNodeId,\n onNodeToggle,\n contentRenderer,\n selectableParents\n ]\n )}\n >\n {/* FIXME: Types are having issues when styled(Tree) is typeof Tree. */}\n <StyledStandardTree\n {...restProps}\n ref={treeRef}\n nodes={nodes}\n nodeRenderer={NodeRenderer}\n />\n </StandardTreeContext.Provider>\n );\n }\n);\n\nconst StandardTree: ForwardRefForwardPropsComponent<StandardTreeProps> = forwardRef(\n function StandardTree(props: PropsWithoutRef<StandardTreeProps>, ref: StandardTreeProps['ref']) {\n return props.nodes.length > 0 ? <StandardTreeWithNodes {...props} ref={ref} /> : null;\n }\n);\n\nexport default StandardTree;\n"]}
@@ -1,9 +1,9 @@
1
1
  import type { StandardTreeProps, StandardTreePropsWithDefaults } from './StandardTree.types';
2
2
  export declare const StyledToggleIcon: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("../Icon").IconProps & import("styled-components/dist/types").BaseObject, import("styled-components/dist/types").BaseObject>> & string & Omit<import("react").ForwardRefExoticComponent<import("../Icon").IconProps>, keyof import("react").Component<any, {}, any>>;
3
3
  export declare const StyledNodeActions: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
4
- export declare const StyledSecondaryMetaList: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<Omit<import("../MetaList/MetaList").MetaListProps, "ref"> & import("react").RefAttributes<HTMLUListElement> & import("../..").ForwardProps, "ref"> & {
4
+ export declare const StyledSecondaryMetaList: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<Omit<import("../MetaList").MetaListProps, "ref"> & import("react").RefAttributes<HTMLUListElement> & import("../..").ForwardProps, "ref"> & {
5
5
  ref?: ((instance: HTMLUListElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLUListElement> | null | undefined;
6
- }, never>> & string & Omit<import("../..").ForwardRefForwardPropsComponent<import("../MetaList/MetaList").MetaListProps> & {
6
+ }, never>> & string & Omit<import("../..").ForwardRefForwardPropsComponent<import("../MetaList").MetaListProps> & {
7
7
  getTestIds: (testIdProp?: import("../..").TestIdProp["testId"]) => import("../..").TestIdsRecord<readonly []>;
8
8
  }, keyof import("react").Component<any, {}, any>>;
9
9
  export declare const StyledLabelContent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
@@ -29,7 +29,7 @@ interface TreeItemProps extends TreeNode {
29
29
  hasParentSibling: boolean;
30
30
  }
31
31
  declare const _default: (<T extends TreeNode = TreeNode>(props: TreeProps<T> & ForwardProps) => JSX.Element | null) & {
32
- getTestIds: (testIdProp?: TestIdProp["testId"]) => import("../../types").TestIdsRecord<readonly []>;
32
+ getTestIds: (testIdProp?: TestIdProp["testId"]) => import("../..").TestIdsRecord<readonly []>;
33
33
  };
34
34
  export default _default;
35
35
  //# sourceMappingURL=Tree.d.ts.map
@@ -2,7 +2,7 @@
2
2
  * @example const translator = useI18n();
3
3
  * @returns translator:: The translator function that provides translations for a given key in the translation JSON provided to the Configuration component.
4
4
  */
5
- declare const useI18n: () => import("../i18n/translate").TranslationFunction<Readonly<{
5
+ declare const useI18n: () => import("..").TranslationFunction<Readonly<{
6
6
  yes: string;
7
7
  no: string;
8
8
  always: string;
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollToggle.d.ts","sourceRoot":"","sources":["../../src/hooks/useScrollToggle.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,eAAe,GAAI,WAAU,MAAgB;wBAKZ,IAAI;yBAMH,IAAI;CAiC3C,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"useScrollToggle.d.ts","sourceRoot":"","sources":["../../src/hooks/useScrollToggle.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,eAAe,GAAI,WAAU,MAAgB;wBAKZ,IAAI;yBAMH,IAAI;CAmC3C,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -21,7 +21,9 @@ const useScrollToggle = (selector = ':root') => {
21
21
  if (!overflowX && !overflowY)
22
22
  return;
23
23
  styleRef.current = document.createElement('style');
24
- styleRef.current.nonce = window.__webpack_nonce__;
24
+ if (window.__webpack_nonce__) {
25
+ styleRef.current.nonce = window.__webpack_nonce__;
26
+ }
25
27
  // TODO: Read current padding and add scrollbar width.
26
28
  styleRef.current.textContent = `
27
29
  ${selector} {
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollToggle.js","sourceRoot":"","sources":["../../src/hooks/useScrollToggle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEhE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,MAAM,eAAe,GAAG,CAAC,WAAmB,OAAO,EAAE,EAAE;IACrD,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IACvD,MAAM,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEhD,MAAM,YAAY,GAAG,WAAW,CAAC,GAAS,EAAE;QAC1C,mGAAmG;QACnG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAC3B,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,WAAW,CAAC,GAAS,EAAE;QAC3C,qHAAqH;QACrH,IAAI,QAAQ,CAAC,OAAO;YAAE,OAAO;QAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS;YAAE,OAAO;QAErC,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnD,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAElD,sDAAsD;QACtD,QAAQ,CAAC,OAAO,CAAC,WAAW,GAAG;QAC3B,QAAQ;UACN,SAAS,CAAC,CAAC,CAAC,uBAAuB,iBAAiB,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE;UAChF,SAAS,CAAC,CAAC,CAAC,sBAAsB,iBAAiB,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE;;;KAGpF,CAAC;QAEF,CAAC,gBAAgB,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,eAAe,CAAC,GAAG,EAAE;QACnB,iBAAiB,CAAC,OAAO,GAAG,iBAAiB,EAAE,CAAC;QAEhD,0FAA0F;QAC1F,OAAO,YAAY,CAAC;QAEpB,uIAAuI;IACzI,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;AACzC,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["import { useCallback, useLayoutEffect, useRef } from 'react';\n\nimport { getScrollbarWidth, testElForOverflow } from '../utils';\n\nimport useConfiguration from './useConfiguration';\n\nconst useScrollToggle = (selector: string = ':root') => {\n const scrollbarWidthRef = useRef(0);\n const styleRef = useRef<HTMLStyleElement | null>(null);\n const { styleSheetTarget } = useConfiguration();\n\n const enableScroll = useCallback((): void => {\n // No need to short circuit if called repetitively, will just perform a simple null set on the ref.\n styleRef.current?.remove();\n styleRef.current = null;\n }, []);\n\n const disableScroll = useCallback((): void => {\n // If we have a ref to the style el we can assume styles to disable overflow are in the DOM. No need for a DOM query.\n if (styleRef.current) return;\n const scrollEl = document.querySelector(selector);\n if (!scrollEl) return;\n const [overflowX, overflowY] = testElForOverflow(scrollEl);\n if (!overflowX && !overflowY) return;\n\n styleRef.current = document.createElement('style');\n styleRef.current.nonce = window.__webpack_nonce__;\n\n // TODO: Read current padding and add scrollbar width.\n styleRef.current.textContent = `\n ${selector} {\n ${overflowY ? `padding-inline-end: ${scrollbarWidthRef.current}px !important` : ''};\n ${overflowX ? `padding-block-end: ${scrollbarWidthRef.current}px !important` : ''};\n overflow: hidden !important;\n }\n `;\n\n (styleSheetTarget ?? document.head).append(styleRef.current);\n }, [selector]);\n\n useLayoutEffect(() => {\n scrollbarWidthRef.current = getScrollbarWidth();\n\n // To be safe, clean up when the calling component unmounts just in case it did not do so.\n return enableScroll;\n\n // As enableScroll is memoized with no deps, the cleanup **should** only run once on unmount. If that changes, adjust here accordingly.\n }, [enableScroll]);\n\n return { enableScroll, disableScroll };\n};\n\nexport default useScrollToggle;\n"]}
1
+ {"version":3,"file":"useScrollToggle.js","sourceRoot":"","sources":["../../src/hooks/useScrollToggle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEhE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,MAAM,eAAe,GAAG,CAAC,WAAmB,OAAO,EAAE,EAAE;IACrD,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IACvD,MAAM,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEhD,MAAM,YAAY,GAAG,WAAW,CAAC,GAAS,EAAE;QAC1C,mGAAmG;QACnG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAC3B,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,WAAW,CAAC,GAAS,EAAE;QAC3C,qHAAqH;QACrH,IAAI,QAAQ,CAAC,OAAO;YAAE,OAAO;QAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS;YAAE,OAAO;QAErC,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACpD,CAAC;QAED,sDAAsD;QACtD,QAAQ,CAAC,OAAO,CAAC,WAAW,GAAG;QAC3B,QAAQ;UACN,SAAS,CAAC,CAAC,CAAC,uBAAuB,iBAAiB,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE;UAChF,SAAS,CAAC,CAAC,CAAC,sBAAsB,iBAAiB,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE;;;KAGpF,CAAC;QAEF,CAAC,gBAAgB,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,eAAe,CAAC,GAAG,EAAE;QACnB,iBAAiB,CAAC,OAAO,GAAG,iBAAiB,EAAE,CAAC;QAEhD,0FAA0F;QAC1F,OAAO,YAAY,CAAC;QAEpB,uIAAuI;IACzI,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;AACzC,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["import { useCallback, useLayoutEffect, useRef } from 'react';\n\nimport { getScrollbarWidth, testElForOverflow } from '../utils';\n\nimport useConfiguration from './useConfiguration';\n\nconst useScrollToggle = (selector: string = ':root') => {\n const scrollbarWidthRef = useRef(0);\n const styleRef = useRef<HTMLStyleElement | null>(null);\n const { styleSheetTarget } = useConfiguration();\n\n const enableScroll = useCallback((): void => {\n // No need to short circuit if called repetitively, will just perform a simple null set on the ref.\n styleRef.current?.remove();\n styleRef.current = null;\n }, []);\n\n const disableScroll = useCallback((): void => {\n // If we have a ref to the style el we can assume styles to disable overflow are in the DOM. No need for a DOM query.\n if (styleRef.current) return;\n const scrollEl = document.querySelector(selector);\n if (!scrollEl) return;\n const [overflowX, overflowY] = testElForOverflow(scrollEl);\n if (!overflowX && !overflowY) return;\n\n styleRef.current = document.createElement('style');\n if (window.__webpack_nonce__) {\n styleRef.current.nonce = window.__webpack_nonce__;\n }\n\n // TODO: Read current padding and add scrollbar width.\n styleRef.current.textContent = `\n ${selector} {\n ${overflowY ? `padding-inline-end: ${scrollbarWidthRef.current}px !important` : ''};\n ${overflowX ? `padding-block-end: ${scrollbarWidthRef.current}px !important` : ''};\n overflow: hidden !important;\n }\n `;\n\n (styleSheetTarget ?? document.head).append(styleRef.current);\n }, [selector]);\n\n useLayoutEffect(() => {\n scrollbarWidthRef.current = getScrollbarWidth();\n\n // To be safe, clean up when the calling component unmounts just in case it did not do so.\n return enableScroll;\n\n // As enableScroll is memoized with no deps, the cleanup **should** only run once on unmount. If that changes, adjust here accordingly.\n }, [enableScroll]);\n\n return { enableScroll, disableScroll };\n};\n\nexport default useScrollToggle;\n"]}
@@ -26,7 +26,6 @@
26
26
  "high": "0 0 0 1px #2f3546, 0 0.125rem 1.5rem rgba(0,0,0,.8)",
27
27
  "low": "0 0 0 1px #2f3546, 0 0.125rem 0.5rem rgba(0,0,0,.6)"
28
28
  },
29
- "case-type-colors": "header-and-icon",
30
29
  "spacing": "0.65rem"
31
30
  },
32
31
  "components": {
@@ -22,7 +22,6 @@
22
22
  "focus-solid": "0 0 0 0.0625rem rgb(63, 87, 228)",
23
23
  "focus-filter": "drop-shadow(0 0 0.125rem rgba(63, 87, 228, 0.30))"
24
24
  },
25
- "case-type-colors": "header-and-icon",
26
25
  "spacing": "0.65rem"
27
26
  },
28
27
  "components": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pega/cosmos-react-core",
3
- "version": "10.0.0-build.4.0",
3
+ "version": "10.0.0-build.4.2",
4
4
  "description": "Cosmos is a visual design system and UI component collection. Its goal is to empower application developers in their pursuit to create engaging and rewarding user experiences.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Pegasystems",
@@ -60,6 +60,6 @@
60
60
  "@testing-library/react": "^16.0.0",
61
61
  "@testing-library/user-event": "^14.6.1",
62
62
  "jest-axe": "^8.0.0",
63
- "typescript": "~5.9.3"
63
+ "typescript": "~6.0.3"
64
64
  }
65
65
  }