@pega/cosmos-react-core 4.0.0-dev.6.1 → 4.0.0-dev.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/lib/components/Backdrop/Backdrop.d.ts.map +1 -1
  2. package/lib/components/Backdrop/Backdrop.js +22 -2
  3. package/lib/components/Backdrop/Backdrop.js.map +1 -1
  4. package/lib/components/Banner/Banner.d.ts +9 -1
  5. package/lib/components/Banner/Banner.d.ts.map +1 -1
  6. package/lib/components/Banner/Banner.js +21 -10
  7. package/lib/components/Banner/Banner.js.map +1 -1
  8. package/lib/components/Banner/index.d.ts +1 -1
  9. package/lib/components/Banner/index.d.ts.map +1 -1
  10. package/lib/components/Banner/index.js.map +1 -1
  11. package/lib/components/Card/Card.d.ts +4 -7
  12. package/lib/components/Card/Card.d.ts.map +1 -1
  13. package/lib/components/Card/Card.js +2 -9
  14. package/lib/components/Card/Card.js.map +1 -1
  15. package/lib/components/Configuration/Configuration.d.ts +4 -1
  16. package/lib/components/Configuration/Configuration.d.ts.map +1 -1
  17. package/lib/components/Configuration/Configuration.js +2 -0
  18. package/lib/components/Configuration/Configuration.js.map +1 -1
  19. package/lib/components/DateTime/DateTime.types.d.ts +4 -1
  20. package/lib/components/DateTime/DateTime.types.d.ts.map +1 -1
  21. package/lib/components/DateTime/DateTime.types.js.map +1 -1
  22. package/lib/components/DateTime/Input/DateInput.d.ts.map +1 -1
  23. package/lib/components/DateTime/Input/DateInput.js +12 -1
  24. package/lib/components/DateTime/Input/DateInput.js.map +1 -1
  25. package/lib/components/DateTime/Input/DateRangeInput.d.ts +4 -2
  26. package/lib/components/DateTime/Input/DateRangeInput.d.ts.map +1 -1
  27. package/lib/components/DateTime/Input/DateRangeInput.js +71 -34
  28. package/lib/components/DateTime/Input/DateRangeInput.js.map +1 -1
  29. package/lib/components/DateTime/Input/DateTimeInput.d.ts.map +1 -1
  30. package/lib/components/DateTime/Input/DateTimeInput.js +19 -2
  31. package/lib/components/DateTime/Input/DateTimeInput.js.map +1 -1
  32. package/lib/components/DateTime/Input/PartInput.d.ts.map +1 -1
  33. package/lib/components/DateTime/Input/PartInput.js +2 -2
  34. package/lib/components/DateTime/Input/PartInput.js.map +1 -1
  35. package/lib/components/DateTime/Input/TimeInput.d.ts.map +1 -1
  36. package/lib/components/DateTime/Input/TimeInput.js +13 -2
  37. package/lib/components/DateTime/Input/TimeInput.js.map +1 -1
  38. package/lib/components/DateTime/Input/TimeRangeInput.d.ts +4 -2
  39. package/lib/components/DateTime/Input/TimeRangeInput.d.ts.map +1 -1
  40. package/lib/components/DateTime/Input/TimeRangeInput.js +70 -27
  41. package/lib/components/DateTime/Input/TimeRangeInput.js.map +1 -1
  42. package/lib/components/Dialog/FormDialog.d.ts.map +1 -1
  43. package/lib/components/Dialog/FormDialog.js +2 -6
  44. package/lib/components/Dialog/FormDialog.js.map +1 -1
  45. package/lib/components/Dialog/InfoDialog.d.ts.map +1 -1
  46. package/lib/components/Dialog/InfoDialog.js +2 -6
  47. package/lib/components/Dialog/InfoDialog.js.map +1 -1
  48. package/lib/components/FormControl/FormControl.d.ts +4 -0
  49. package/lib/components/FormControl/FormControl.d.ts.map +1 -1
  50. package/lib/components/FormControl/FormControl.js.map +1 -1
  51. package/lib/components/FormControl/index.d.ts +1 -0
  52. package/lib/components/FormControl/index.d.ts.map +1 -1
  53. package/lib/components/FormControl/index.js.map +1 -1
  54. package/lib/components/ListToolbar/ListToolbar.d.ts.map +1 -1
  55. package/lib/components/ListToolbar/ListToolbar.js +84 -66
  56. package/lib/components/ListToolbar/ListToolbar.js.map +1 -1
  57. package/lib/components/ListToolbar/ListToolbar.styles.d.ts +2 -0
  58. package/lib/components/ListToolbar/ListToolbar.styles.d.ts.map +1 -1
  59. package/lib/components/ListToolbar/ListToolbar.styles.js +37 -5
  60. package/lib/components/ListToolbar/ListToolbar.styles.js.map +1 -1
  61. package/lib/components/ListToolbar/ListToolbar.types.d.ts +4 -4
  62. package/lib/components/ListToolbar/ListToolbar.types.d.ts.map +1 -1
  63. package/lib/components/ListToolbar/ListToolbar.types.js.map +1 -1
  64. package/lib/components/LiveLog/Context.d.ts +3 -0
  65. package/lib/components/LiveLog/Context.d.ts.map +1 -0
  66. package/lib/components/LiveLog/Context.js +9 -0
  67. package/lib/components/LiveLog/Context.js.map +1 -0
  68. package/lib/components/LiveLog/LiveLog.d.ts +10 -0
  69. package/lib/components/LiveLog/LiveLog.d.ts.map +1 -0
  70. package/lib/components/LiveLog/LiveLog.js +99 -0
  71. package/lib/components/LiveLog/LiveLog.js.map +1 -0
  72. package/lib/components/LiveLog/LiveLog.styles.d.ts +3 -0
  73. package/lib/components/LiveLog/LiveLog.styles.d.ts.map +1 -0
  74. package/lib/components/LiveLog/LiveLog.styles.js +9 -0
  75. package/lib/components/LiveLog/LiveLog.styles.js.map +1 -0
  76. package/lib/components/LiveLog/LiveLog.types.d.ts +93 -0
  77. package/lib/components/LiveLog/LiveLog.types.d.ts.map +1 -0
  78. package/lib/components/LiveLog/LiveLog.types.js +2 -0
  79. package/lib/components/LiveLog/LiveLog.types.js.map +1 -0
  80. package/lib/components/LiveLog/index.d.ts +4 -0
  81. package/lib/components/LiveLog/index.d.ts.map +1 -0
  82. package/lib/components/LiveLog/index.js +3 -0
  83. package/lib/components/LiveLog/index.js.map +1 -0
  84. package/lib/components/Menu/Menu.d.ts.map +1 -1
  85. package/lib/components/Menu/Menu.js +2 -0
  86. package/lib/components/Menu/Menu.js.map +1 -1
  87. package/lib/components/Menu/MenuList.d.ts.map +1 -1
  88. package/lib/components/Menu/MenuList.js +4 -3
  89. package/lib/components/Menu/MenuList.js.map +1 -1
  90. package/lib/components/Modal/Modal.d.ts.map +1 -1
  91. package/lib/components/Modal/Modal.js +6 -8
  92. package/lib/components/Modal/Modal.js.map +1 -1
  93. package/lib/components/Modal/Modal.types.d.ts +1 -0
  94. package/lib/components/Modal/Modal.types.d.ts.map +1 -1
  95. package/lib/components/Modal/Modal.types.js.map +1 -1
  96. package/lib/components/Number/NumberInput.types.d.ts +3 -1
  97. package/lib/components/Number/NumberInput.types.d.ts.map +1 -1
  98. package/lib/components/Number/NumberInput.types.js.map +1 -1
  99. package/lib/components/Number/NumberRangeInput.d.ts.map +1 -1
  100. package/lib/components/Number/NumberRangeInput.js +71 -4
  101. package/lib/components/Number/NumberRangeInput.js.map +1 -1
  102. package/lib/components/PageTemplates/CategorySubPage.d.ts.map +1 -1
  103. package/lib/components/PageTemplates/CategorySubPage.js +14 -3
  104. package/lib/components/PageTemplates/CategorySubPage.js.map +1 -1
  105. package/lib/components/PageTemplates/CategorySubPage.styles.d.ts.map +1 -1
  106. package/lib/components/PageTemplates/CategorySubPage.styles.js +5 -0
  107. package/lib/components/PageTemplates/CategorySubPage.styles.js.map +1 -1
  108. package/lib/components/PageTemplates/DashboardPage.d.ts.map +1 -1
  109. package/lib/components/PageTemplates/DashboardPage.js +16 -2
  110. package/lib/components/PageTemplates/DashboardPage.js.map +1 -1
  111. package/lib/components/PageTemplates/PageTemplates.d.ts.map +1 -1
  112. package/lib/components/PageTemplates/PageTemplates.js +20 -3
  113. package/lib/components/PageTemplates/PageTemplates.js.map +1 -1
  114. package/lib/components/Popover/Popover.d.ts.map +1 -1
  115. package/lib/components/Popover/Popover.js +2 -5
  116. package/lib/components/Popover/Popover.js.map +1 -1
  117. package/lib/components/Popover/Popover.styles.d.ts +0 -1
  118. package/lib/components/Popover/Popover.styles.d.ts.map +1 -1
  119. package/lib/components/Popover/Popover.styles.js +0 -6
  120. package/lib/components/Popover/Popover.styles.js.map +1 -1
  121. package/lib/components/Popover/modifiers.d.ts +0 -2
  122. package/lib/components/Popover/modifiers.d.ts.map +1 -1
  123. package/lib/components/Popover/modifiers.js +1 -32
  124. package/lib/components/Popover/modifiers.js.map +1 -1
  125. package/lib/components/Progress/Progress.d.ts.map +1 -1
  126. package/lib/components/Progress/Progress.js +92 -50
  127. package/lib/components/Progress/Progress.js.map +1 -1
  128. package/lib/components/Progress/Progress.styles.d.ts.map +1 -1
  129. package/lib/components/Progress/Progress.styles.js +0 -1
  130. package/lib/components/Progress/Progress.styles.js.map +1 -1
  131. package/lib/components/Progress/Progress.types.d.ts +18 -6
  132. package/lib/components/Progress/Progress.types.d.ts.map +1 -1
  133. package/lib/components/Progress/Progress.types.js.map +1 -1
  134. package/lib/components/Progress/index.d.ts +1 -1
  135. package/lib/components/Progress/index.d.ts.map +1 -1
  136. package/lib/components/Progress/index.js.map +1 -1
  137. package/lib/components/QRCode/QRCode.d.ts +14 -0
  138. package/lib/components/QRCode/QRCode.d.ts.map +1 -0
  139. package/lib/components/QRCode/QRCode.js +39 -0
  140. package/lib/components/QRCode/QRCode.js.map +1 -0
  141. package/lib/components/QRCode/index.d.ts +3 -0
  142. package/lib/components/QRCode/index.d.ts.map +1 -0
  143. package/lib/components/QRCode/index.js +2 -0
  144. package/lib/components/QRCode/index.js.map +1 -0
  145. package/lib/components/SearchInput/SearchInput.d.ts.map +1 -1
  146. package/lib/components/SearchInput/SearchInput.js +27 -7
  147. package/lib/components/SearchInput/SearchInput.js.map +1 -1
  148. package/lib/components/Tabs/Tabs.d.ts.map +1 -1
  149. package/lib/components/Tabs/Tabs.js +6 -0
  150. package/lib/components/Tabs/Tabs.js.map +1 -1
  151. package/lib/components/Toaster/Context.d.ts +1 -0
  152. package/lib/components/Toaster/Context.d.ts.map +1 -1
  153. package/lib/components/Toaster/Context.js.map +1 -1
  154. package/lib/components/Toaster/Toaster.d.ts.map +1 -1
  155. package/lib/components/Toaster/Toaster.js +5 -1
  156. package/lib/components/Toaster/Toaster.js.map +1 -1
  157. package/lib/components/Tree/StandardTree.d.ts.map +1 -1
  158. package/lib/components/Tree/StandardTree.js +70 -27
  159. package/lib/components/Tree/StandardTree.js.map +1 -1
  160. package/lib/components/Tree/StandardTree.styles.d.ts +1 -0
  161. package/lib/components/Tree/StandardTree.styles.d.ts.map +1 -1
  162. package/lib/components/Tree/StandardTree.styles.js +32 -18
  163. package/lib/components/Tree/StandardTree.styles.js.map +1 -1
  164. package/lib/components/Tree/StandardTree.types.d.ts +27 -0
  165. package/lib/components/Tree/StandardTree.types.d.ts.map +1 -1
  166. package/lib/components/Tree/StandardTree.types.js.map +1 -1
  167. package/lib/components/Tree/helpers.d.ts +11 -9
  168. package/lib/components/Tree/helpers.d.ts.map +1 -1
  169. package/lib/components/Tree/helpers.js +25 -5
  170. package/lib/components/Tree/helpers.js.map +1 -1
  171. package/lib/components/Tree/index.d.ts +1 -1
  172. package/lib/components/Tree/index.d.ts.map +1 -1
  173. package/lib/components/Tree/index.js.map +1 -1
  174. package/lib/components/URL/URLDisplay.d.ts +2 -2
  175. package/lib/components/URL/URLDisplay.d.ts.map +1 -1
  176. package/lib/components/URL/URLDisplay.js +8 -1
  177. package/lib/components/URL/URLDisplay.js.map +1 -1
  178. package/lib/hooks/index.d.ts +1 -0
  179. package/lib/hooks/index.d.ts.map +1 -1
  180. package/lib/hooks/index.js +1 -0
  181. package/lib/hooks/index.js.map +1 -1
  182. package/lib/hooks/useArrows.d.ts.map +1 -1
  183. package/lib/hooks/useArrows.js +3 -3
  184. package/lib/hooks/useArrows.js.map +1 -1
  185. package/lib/hooks/useBreakpoint.d.ts.map +1 -1
  186. package/lib/hooks/useBreakpoint.js +3 -2
  187. package/lib/hooks/useBreakpoint.js.map +1 -1
  188. package/lib/hooks/useI18n.d.ts +43 -0
  189. package/lib/hooks/useI18n.d.ts.map +1 -1
  190. package/lib/hooks/useLiveLog.d.ts +8 -0
  191. package/lib/hooks/useLiveLog.d.ts.map +1 -0
  192. package/lib/hooks/useLiveLog.js +16 -0
  193. package/lib/hooks/useLiveLog.js.map +1 -0
  194. package/lib/i18n/default.d.ts +43 -0
  195. package/lib/i18n/default.d.ts.map +1 -1
  196. package/lib/i18n/default.js +50 -6
  197. package/lib/i18n/default.js.map +1 -1
  198. package/lib/i18n/i18n.d.ts +43 -0
  199. package/lib/i18n/i18n.d.ts.map +1 -1
  200. package/lib/index.d.ts +4 -0
  201. package/lib/index.d.ts.map +1 -1
  202. package/lib/index.js +4 -0
  203. package/lib/index.js.map +1 -1
  204. package/lib/register-contexts.js +2 -0
  205. package/lib/register-contexts.js.map +1 -1
  206. package/lib/theme/theme.d.ts +12 -0
  207. package/lib/theme/theme.d.ts.map +1 -1
  208. package/lib/theme/themeDefinition.json +8 -0
  209. package/lib/theme/themes/darkTheme.json +3 -1
  210. package/lib/types/types.d.ts +3 -0
  211. package/lib/types/types.d.ts.map +1 -1
  212. package/lib/types/types.js.map +1 -1
  213. package/package.json +3 -1
  214. package/lib/components/ListToolbar/QueryOptionPopover.d.ts +0 -12
  215. package/lib/components/ListToolbar/QueryOptionPopover.d.ts.map +0 -1
  216. package/lib/components/ListToolbar/QueryOptionPopover.js +0 -36
  217. package/lib/components/ListToolbar/QueryOptionPopover.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ListToolbar.js","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n FunctionComponent,\n MouseEvent,\n PropsWithoutRef,\n useCallback,\n useMemo,\n useRef,\n useState\n} from 'react';\n\nimport Actions from '../Actions';\nimport Text from '../Text';\nimport Button from '../Button';\nimport { Action, ForwardProps } from '../../types';\nimport { useBreakpoint, useConsolidatedRef, useI18n } from '../../hooks';\nimport Flex from '../Flex';\nimport SearchInput from '../SearchInput';\nimport Icon, { registerIcon } from '../Icon';\nimport * as filterIcon from '../Icon/icons/filter.icon';\nimport * as arrowUpDownIcon from '../Icon/icons/arrow-up-down.icon';\nimport * as rowIcon from '../Icon/icons/row.icon';\nimport * as plusIcon from '../Icon/icons/plus.icon';\nimport * as moreIcon from '../Icon/icons/more.icon';\nimport { hasProp } from '../../utils';\nimport MenuButton from '../MenuButton';\nimport { Count } from '../Badges';\n\nimport PresetMenuPopover, { PresetMenuPopoverProps } from './PresetMenuPopover';\nimport {\n StyledViewSelector,\n StyledSearchForm,\n StyledListToolbar,\n StyledHeadingText\n} from './ListToolbar.styles';\nimport {\n ListToolbarProps,\n PresetMenuProps,\n QueryOptionDialogProps,\n QueryOptionId\n} from './ListToolbar.types';\nimport QueryOptionPopover from './QueryOptionPopover';\n\nregisterIcon(filterIcon, arrowUpDownIcon, rowIcon, plusIcon, moreIcon);\n\nconst CountMeta = ({ count }: { count: NonNullable<ListToolbarProps['count']> }) => {\n const t = useI18n();\n return (\n <Text variant='secondary'>\n {count.total !== undefined &&\n t('results_count', [count.totalHasMore ? `${count.total}+` : count.total], {\n count: count.total\n })}\n {count.total !== undefined && count.selected !== undefined && ' '}\n {count.selected !== undefined &&\n `(${t('selected_count', [count.selected], { count: count.selected })})`}\n </Text>\n );\n};\n\nconst QueryOptionButton = ({\n id,\n queryOptionProps,\n iconOnly,\n onClick\n}: {\n id: QueryOptionId;\n queryOptionProps: QueryOptionDialogProps | PresetMenuProps;\n iconOnly: boolean;\n onClick: (e: MouseEvent<HTMLButtonElement>) => void;\n}) => {\n const t = useI18n();\n let i18nKey: 'filter' | 'sort' | 'group';\n let icon: 'filter' | 'arrow-up-down' | 'row';\n\n if (id === 'filter') {\n i18nKey = 'filter';\n icon = 'filter';\n } else if (id === 'sort') {\n i18nKey = 'sort';\n icon = 'arrow-up-down';\n } else {\n i18nKey = 'group';\n icon = 'row';\n }\n\n const text = t(i18nKey);\n const variant = iconOnly ? 'simple' : 'text';\n\n if (hasProp(queryOptionProps, 'renderer')) {\n return (\n <div>\n <Button\n variant={variant}\n icon={iconOnly}\n label={iconOnly ? text : undefined}\n onClick={onClick}\n >\n <Flex container={{ inline: true, alignItems: 'center', gap: 1 }} as='span'>\n <Icon name={icon} />\n {!iconOnly && text}\n {!iconOnly && queryOptionProps.count && <Count>{queryOptionProps.count}</Count>}\n </Flex>\n </Button>\n </div>\n );\n }\n\n if (hasProp(queryOptionProps, 'items')) {\n return (\n <div>\n <MenuButton\n variant={variant}\n text={text}\n icon={icon}\n iconOnly={iconOnly}\n count={queryOptionProps.count}\n onClick={onClick}\n menu={{\n mode: queryOptionProps.mode,\n items: queryOptionProps.items.map(item => ({ ...item, primary: item.text })),\n onItemClick: queryOptionProps.onItemClick\n }}\n />\n </div>\n );\n }\n\n return null;\n};\n\nconst ListToolbar: FunctionComponent<ListToolbarProps & ForwardProps> = forwardRef(\n (\n {\n heading,\n formControlProps,\n createNew,\n search,\n count,\n additionalActions,\n filter,\n sort,\n group,\n actions,\n actionsButtonRef,\n condensed\n }: PropsWithoutRef<ListToolbarProps>,\n ref: ListToolbarProps['ref']\n ) => {\n const t = useI18n();\n const isSmallOrAbove = useBreakpoint('sm');\n const isMediumOrAbove = useBreakpoint('md');\n const consolidatedActionsButtonRef = useConsolidatedRef(actionsButtonRef);\n\n const [currentQueryOptionId, setCurrentQueryOptionId] = useState<QueryOptionId | null>(null);\n const queryOptionPopoverTarget = useRef<HTMLButtonElement>();\n\n const [actionsQueryOptionPreset, setActionsQueryOptionPreset] =\n useState<Pick<PresetMenuPopoverProps, 'heading' | 'menu'>>();\n const [optionPresetMenuOpen, setOptionPresetMenuOpen] = useState(false);\n\n const createNewButton = useMemo(() => {\n if (!createNew?.onClick) return null;\n const text = createNew.label ?? t('create_new');\n\n return (\n <Button\n variant={isSmallOrAbove ? 'secondary' : 'simple'}\n icon={!isSmallOrAbove}\n label={isSmallOrAbove ? undefined : text}\n aria-label={text}\n onClick={createNew.onClick}\n >\n {isSmallOrAbove ? text : <Icon name='plus' />}\n </Button>\n );\n }, [t, createNew, isSmallOrAbove]);\n\n const filterButton = filter && (\n <QueryOptionButton\n id='filter'\n queryOptionProps={filter}\n iconOnly={!isMediumOrAbove}\n onClick={e => {\n setCurrentQueryOptionId('filter');\n queryOptionPopoverTarget.current = e.currentTarget;\n }}\n />\n );\n\n const sortButton = sort && (\n <QueryOptionButton\n id='sort'\n queryOptionProps={sort}\n iconOnly={!isMediumOrAbove}\n onClick={e => {\n setCurrentQueryOptionId('sort');\n queryOptionPopoverTarget.current = e.currentTarget;\n }}\n />\n );\n\n const groupButton = group && (\n <QueryOptionButton\n id='group'\n queryOptionProps={group}\n iconOnly={!isMediumOrAbove}\n onClick={e => {\n setCurrentQueryOptionId('group');\n queryOptionPopoverTarget.current = e.currentTarget;\n }}\n />\n );\n\n let queryOptionPopover = null;\n if (currentQueryOptionId) {\n const queryOptionProps = { filter, sort, group }[currentQueryOptionId];\n if (queryOptionProps && hasProp(queryOptionProps, 'renderer')) {\n queryOptionPopover = (\n <QueryOptionPopover\n target={queryOptionPopoverTarget.current}\n heading={t(`${currentQueryOptionId}_by`)}\n onCancel={() => {\n if (queryOptionProps.onCancel() === false) return;\n setCurrentQueryOptionId(null);\n }}\n onSubmit={() => {\n if (queryOptionProps.onSubmit() === false) return;\n setCurrentQueryOptionId(null);\n }}\n >\n <queryOptionProps.renderer />\n </QueryOptionPopover>\n );\n }\n }\n\n const getQueryOptionAction = useCallback(\n (\n id: 'sort' | 'group' | 'filter',\n icon: string,\n queryOptionProps: QueryOptionDialogProps | PresetMenuProps\n ) => {\n return {\n text: t(id),\n id,\n icon,\n count: queryOptionProps.count,\n onClick: () => {\n if (hasProp(queryOptionProps, 'renderer')) {\n setCurrentQueryOptionId(id);\n queryOptionPopoverTarget.current = consolidatedActionsButtonRef.current ?? undefined;\n }\n if (hasProp(queryOptionProps, 'items')) {\n setActionsQueryOptionPreset({\n heading: t(`${id}_by`),\n menu: {\n mode: queryOptionProps.mode,\n items: queryOptionProps.items.map(item => ({ ...item, primary: item.text })),\n onItemClick: queryOptionProps.onItemClick\n }\n });\n setOptionPresetMenuOpen(true);\n }\n }\n };\n },\n []\n );\n\n const basicModeActions = useMemo(() => {\n let basicActions: Action[] = [];\n if (filter) {\n const filterAction: Action = getQueryOptionAction('filter', 'filter', filter);\n basicActions.push(filterAction);\n }\n if (sort) {\n const sortAction: Action = getQueryOptionAction('sort', 'arrow-up-down', sort);\n basicActions.push(sortAction);\n }\n if (group) {\n const groupAction: Action = getQueryOptionAction('group', 'row', group);\n basicActions.push(groupAction);\n }\n if (actions) {\n basicActions = basicActions.concat(actions);\n }\n\n return basicActions.length ? basicActions : undefined;\n }, [actions, filter, sort, group, getQueryOptionAction]);\n\n return (\n <Flex\n as={StyledListToolbar}\n container={{ direction: 'column', gap: 2 }}\n item={{ grow: 1 }}\n ref={ref}\n role='toolbar'\n >\n {(heading ||\n createNewButton ||\n (condensed && (count || additionalActions || search || basicModeActions))) && (\n <Flex container={{ alignItems: 'start', justify: 'between', gap: 2 }}>\n <Flex container={{ alignItems: 'center', gap: 2, wrap: 'wrap' }}>\n {heading &&\n (typeof heading === 'string' ? (\n <StyledHeadingText variant='h3' required={formControlProps?.required}>\n {heading}\n </StyledHeadingText>\n ) : (\n <StyledViewSelector\n variant='text'\n text={heading.views.find(view => view.selected)?.text ?? heading.views[0].text}\n menu={{\n mode: 'single-select',\n items: heading.views.map(view => ({\n ...view,\n primary: `${view.text}${\n view.id === heading.defaultId ? ` (${t('default')})` : ''\n }${view.id === heading.appDefaultId ? ` (${t('app_default')})` : ''}`\n })),\n onItemClick: heading.onViewSelect\n }}\n required={formControlProps?.required}\n />\n ))}\n {isSmallOrAbove && condensed && (\n <>\n {count && <CountMeta count={count} />}\n {additionalActions}\n </>\n )}\n </Flex>\n <Flex container={{ alignItems: 'center', gap: 2 }}>\n {search && condensed && isSmallOrAbove && <SearchInput {...search} />}\n {createNewButton}\n {condensed && basicModeActions && (\n <span>\n <Actions\n items={basicModeActions.map(({ icon, ...restProps }) => ({\n visual: icon ? <Icon name={icon} /> : undefined,\n ...restProps\n }))}\n menuAt={1}\n ref={consolidatedActionsButtonRef}\n />\n </span>\n )}\n </Flex>\n </Flex>\n )}\n {(!condensed || !isSmallOrAbove) && (\n <Flex container={{ alignItems: 'start', justify: 'between', gap: 2 }}>\n <Flex\n as={StyledSearchForm}\n container={{ alignItems: 'center', wrap: 'wrap', gap: 2 }}\n item={{ grow: 1 }}\n >\n {search && <SearchInput {...search} />}\n {isSmallOrAbove && !condensed && (\n <>\n {count && <CountMeta count={count} />}\n {additionalActions}\n </>\n )}\n </Flex>\n {!condensed && (filterButton || sortButton || groupButton || actions) && (\n <Flex container={{ alignItems: 'center', gap: 1 }} md={{ container: { gap: 2 } }}>\n <>\n {filterButton}\n {sortButton}\n {groupButton}\n </>\n {actions && (\n <Actions\n items={actions.map(({ icon, ...restProps }) => ({\n visual: icon ? <Icon name={icon} /> : undefined,\n ...restProps\n }))}\n menuAt={1}\n ref={consolidatedActionsButtonRef}\n />\n )}\n </Flex>\n )}\n </Flex>\n )}\n {!isSmallOrAbove && (count || additionalActions) && (\n <Flex container={{ alignItems: 'center', wrap: 'wrap', gap: 2 }}>\n {count && <CountMeta count={count} />}\n {additionalActions}\n </Flex>\n )}\n\n {queryOptionPopover}\n\n {condensed && (\n <PresetMenuPopover\n buttonRef={consolidatedActionsButtonRef}\n heading={actionsQueryOptionPreset?.heading}\n menu={actionsQueryOptionPreset?.menu}\n isOpen={optionPresetMenuOpen}\n onClose={() => setOptionPresetMenuOpen(false)}\n />\n )}\n </Flex>\n );\n }\n);\n\nexport default ListToolbar;\n"]}
1
+ {"version":3,"file":"ListToolbar.js","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n FunctionComponent,\n KeyboardEvent,\n PropsWithoutRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react';\n\nimport Actions from '../Actions';\nimport Button from '../Button';\nimport { Action, ForwardProps } from '../../types';\nimport {\n useArrows,\n useBreakpoint,\n useConsolidatedRef,\n useEscape,\n useFocusTrap,\n useFocusWithin,\n useI18n\n} from '../../hooks';\nimport Flex from '../Flex';\nimport SearchInput from '../SearchInput';\nimport Icon, { registerIcon } from '../Icon';\nimport * as filterIcon from '../Icon/icons/filter.icon';\nimport * as arrowUpDownIcon from '../Icon/icons/arrow-up-down.icon';\nimport * as rowIcon from '../Icon/icons/row.icon';\nimport * as plusIcon from '../Icon/icons/plus.icon';\nimport * as moreIcon from '../Icon/icons/more.icon';\nimport { hasProp } from '../../utils';\nimport FormDialog from '../Dialog/FormDialog';\n\nimport PresetMenuPopover, { PresetMenuPopoverProps } from './PresetMenuPopover';\nimport {\n StyledViewSelector,\n StyledSearchForm,\n StyledListToolbar,\n StyledHeadingText,\n StyledCountMeta,\n StyledContainer\n} from './ListToolbar.styles';\nimport {\n ListToolbarProps,\n PresetMenuProps,\n QueryOptionDialogProps,\n QueryOptionId\n} from './ListToolbar.types';\n\nregisterIcon(filterIcon, arrowUpDownIcon, rowIcon, plusIcon, moreIcon);\n\nconst CountMeta = ({ count }: { count: NonNullable<ListToolbarProps['count']> }) => {\n const t = useI18n();\n return (\n <StyledCountMeta variant='secondary'>\n {count.total !== undefined &&\n count.selected === undefined &&\n t('results_count', [count.totalHasMore ? `${count.total}+` : count.total], {\n count: count.total\n })}\n {count.total !== undefined &&\n count.selected !== undefined &&\n t(\n 'selected_count',\n [count.selected, count.totalHasMore ? `${count.total}+` : count.total],\n { count: count.selected }\n )}\n </StyledCountMeta>\n );\n};\n\nconst ListToolbar: FunctionComponent<ListToolbarProps & ForwardProps> = forwardRef(\n (\n {\n name,\n viewSelector,\n formControlProps,\n createNew,\n search,\n count,\n additionalActions,\n filter,\n sort,\n group,\n actions,\n actionsButtonRef\n }: PropsWithoutRef<ListToolbarProps>,\n ref: ListToolbarProps['ref']\n ) => {\n const t = useI18n();\n\n const isSmallOrAbove = useBreakpoint('sm');\n const consolidatedActionsButtonRef = useConsolidatedRef(actionsButtonRef);\n const toolbarRef = useConsolidatedRef(ref);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const searchWrapperRef = useRef<HTMLDivElement>(null);\n const searchButtonRef = useRef<HTMLButtonElement>(null);\n const [isSearchOpen, setIsSearchOpen] = useState(!!search?.value);\n\n const onSearchEscape = useCallback(() => {\n if (!search?.value) {\n setIsSearchOpen(false);\n }\n setTimeout(() => searchButtonRef.current?.focus());\n }, [search?.value]);\n\n useEffect(() => {\n if (search?.value) {\n setIsSearchOpen(true);\n }\n }, [search?.value]);\n\n const hasFocus = useFocusWithin([searchWrapperRef]);\n useArrows(hasFocus ? { current: null } : toolbarRef, {\n dir: 'left-right',\n selector: \"button:enabled:first-child, :not(input) + button:enabled, div[role='button']\"\n });\n\n useEffect(() => {\n if (searchWrapperRef.current) {\n const focusables = searchWrapperRef.current.querySelectorAll<HTMLElement>(\n \"button:enabled, input[type='search']:enabled\"\n );\n if (!hasFocus) {\n focusables.forEach(item => {\n item.tabIndex = -1;\n });\n if (isSearchOpen && !search?.value) {\n setIsSearchOpen(false);\n }\n } else {\n focusables.forEach(item => {\n item.tabIndex = 0;\n });\n }\n }\n }, [hasFocus]);\n\n const [currentQueryOptionId, setCurrentQueryOptionId] = useState<QueryOptionId | null>(null);\n const queryOptionPopoverTarget = useRef<HTMLButtonElement>();\n\n const [actionsQueryOptionPreset, setActionsQueryOptionPreset] =\n useState<Pick<PresetMenuPopoverProps, 'heading' | 'menu'>>();\n const [optionPresetMenuOpen, setOptionPresetMenuOpen] = useState(false);\n\n const createNewButton = useMemo(() => {\n if (!createNew?.onClick) return null;\n const text = createNew.label ?? t('create_new');\n\n return (\n <Button variant='simple' icon label={text} aria-label={text} onClick={createNew.onClick}>\n <Icon name='plus' />\n </Button>\n );\n }, [t, createNew, isSmallOrAbove]);\n\n useFocusTrap(searchButtonRef);\n useEscape(onSearchEscape, searchButtonRef);\n const searchInputWrapper = useMemo(\n () => (\n <div role='dialog' ref={searchWrapperRef}>\n <SearchInput {...search} ref={searchInputRef} tabIndex='-1' />\n </div>\n ),\n [search]\n );\n\n const searchLabel = t('search');\n const searchButton = useMemo(() => {\n return (\n <Button\n as='div'\n role='button'\n variant='simple'\n icon\n label={searchLabel}\n aria-label={searchLabel}\n onClick={() => {\n setIsSearchOpen(true);\n setTimeout(() => searchInputRef.current?.focus());\n }}\n onKeyDown={(e: KeyboardEvent<HTMLElement>) => {\n if (e.key === 'Enter') {\n setIsSearchOpen(true);\n setTimeout(() => searchInputRef.current?.focus());\n }\n }}\n tabIndex='-1'\n ref={searchButtonRef}\n >\n {isSearchOpen ? searchInputWrapper : <Icon name='search' />}\n </Button>\n );\n }, [searchLabel, setIsSearchOpen, isSearchOpen, searchInputWrapper]);\n\n let queryOptionPopover = null;\n if (currentQueryOptionId) {\n const queryOptionProps = { filter, sort, group }[currentQueryOptionId];\n if (\n queryOptionProps &&\n hasProp(queryOptionProps, 'renderer') &&\n queryOptionPopoverTarget.current\n ) {\n queryOptionPopover = (\n <FormDialog\n target={queryOptionPopoverTarget.current}\n heading={t(`${currentQueryOptionId}_by`)}\n onCancel={() => {\n if (queryOptionProps.onCancel() === false) return;\n setCurrentQueryOptionId(null);\n }}\n onSubmit={() => {\n if (queryOptionProps.onSubmit() === false) return;\n setCurrentQueryOptionId(null);\n }}\n >\n <queryOptionProps.renderer />\n </FormDialog>\n );\n }\n }\n\n const getQueryOptionAction = useCallback(\n (\n id: 'sort' | 'group' | 'filter',\n icon: string,\n queryOptionProps: QueryOptionDialogProps | PresetMenuProps\n ) => {\n return {\n text: t(id),\n id,\n icon,\n count: queryOptionProps.count,\n onClick: () => {\n if (hasProp(queryOptionProps, 'renderer')) {\n setCurrentQueryOptionId(id);\n queryOptionPopoverTarget.current = consolidatedActionsButtonRef.current ?? undefined;\n }\n if (hasProp(queryOptionProps, 'items')) {\n setActionsQueryOptionPreset({\n heading: t(`${id}_by`),\n menu: {\n mode: queryOptionProps.mode,\n items: queryOptionProps.items.map(item => ({ ...item, primary: item.text })),\n onItemClick: queryOptionProps.onItemClick\n }\n });\n setOptionPresetMenuOpen(true);\n }\n }\n };\n },\n []\n );\n\n const basicModeActions = useMemo(() => {\n let basicActions: Action[] = [];\n if (filter) {\n const filterAction: Action = getQueryOptionAction('filter', 'filter', filter);\n basicActions.push(filterAction);\n }\n if (sort) {\n const sortAction: Action = getQueryOptionAction('sort', 'arrow-up-down', sort);\n basicActions.push(sortAction);\n }\n if (group) {\n const groupAction: Action = getQueryOptionAction('group', 'row', group);\n basicActions.push(groupAction);\n }\n if (actions) {\n basicActions = basicActions.concat(actions);\n }\n\n return basicActions.length ? basicActions : undefined;\n }, [actions, filter, sort, group, getQueryOptionAction]);\n\n return (\n <Flex\n as={StyledListToolbar}\n container={{ direction: 'column', gap: 0.5 }}\n item={{ grow: 1 }}\n ref={toolbarRef}\n role='toolbar'\n >\n {(name ||\n viewSelector ||\n createNewButton ||\n count ||\n additionalActions ||\n search ||\n basicModeActions) && (\n <Flex container={{ alignItems: 'start', justify: 'between', gap: 2 }}>\n <StyledContainer container={{ alignItems: 'center', gap: 0.5, wrap: 'wrap' }}>\n {viewSelector &&\n viewSelector.views.length > 0 &&\n (viewSelector.views.length === 1 ? (\n <StyledHeadingText variant='h3' required={formControlProps?.required}>\n {`${name}: ${viewSelector.views[0].text}`}\n </StyledHeadingText>\n ) : (\n <StyledViewSelector\n variant='text'\n text={`${name}: ${\n viewSelector.views.find(view => view.selected)?.text ??\n viewSelector.views[0].text\n }`}\n menu={{\n mode: 'single-select',\n items: viewSelector.views.map(view => ({\n ...view,\n primary: `${view.text}${\n view.id === viewSelector.defaultId ? ` (${t('default')})` : ''\n }${view.id === viewSelector.appDefaultId ? ` (${t('app_default')})` : ''}`\n })),\n onItemClick: viewSelector.onViewSelect\n }}\n required={formControlProps?.required}\n />\n ))}\n {(!viewSelector || viewSelector.views.length === 0) && (\n <StyledHeadingText variant='h3' required={formControlProps?.required}>\n {name}\n </StyledHeadingText>\n )}\n {isSmallOrAbove && count && <CountMeta count={count} />}\n </StyledContainer>\n <Flex container={{ alignItems: 'center', gap: 1 }} item={{ shrink: 0 }}>\n {isSmallOrAbove && additionalActions}\n {search && isSmallOrAbove && searchButton}\n {isSmallOrAbove && createNewButton}\n {isSmallOrAbove && basicModeActions && (\n <span>\n <Actions\n items={basicModeActions.map(({ icon, ...restProps }) => ({\n visual: icon ? <Icon name={icon} /> : undefined,\n ...restProps\n }))}\n menuAt={1}\n ref={consolidatedActionsButtonRef}\n />\n </span>\n )}\n {!isSmallOrAbove && count && <CountMeta count={count} />}\n </Flex>\n </Flex>\n )}\n {!isSmallOrAbove && (\n <>\n <Flex container={{ alignItems: 'start', justify: 'between', gap: 1 }}>\n {additionalActions}\n <Flex\n as={StyledSearchForm}\n container={{ alignItems: 'center', wrap: 'wrap', gap: 1 }}\n item={{ grow: 1 }}\n >\n {search && searchInputWrapper}\n </Flex>\n {createNewButton}\n {basicModeActions && (\n <span>\n <Actions\n items={basicModeActions.map(({ icon, ...restProps }) => ({\n visual: icon ? <Icon name={icon} /> : undefined,\n ...restProps\n }))}\n menuAt={1}\n ref={consolidatedActionsButtonRef}\n />\n </span>\n )}\n </Flex>\n </>\n )}\n\n {queryOptionPopover}\n\n <PresetMenuPopover\n buttonRef={consolidatedActionsButtonRef}\n heading={actionsQueryOptionPreset?.heading}\n menu={actionsQueryOptionPreset?.menu}\n isOpen={optionPresetMenuOpen}\n onClose={() => setOptionPresetMenuOpen(false)}\n />\n </Flex>\n );\n }\n);\n\nexport default ListToolbar;\n"]}
@@ -2,4 +2,6 @@ export declare const StyledSearchForm: import("styled-components").StyledCompone
2
2
  export declare const StyledViewSelector: import("styled-components").StyledComponent<import("react").FunctionComponent<import("../..").ForwardProps & import("../MenuButton").MenuButtonProps>, import("styled-components").DefaultTheme, {}, never>;
3
3
  export declare const StyledListToolbar: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
4
4
  export declare const StyledHeadingText: import("styled-components").StyledComponent<import("react").FunctionComponent<import("../Text").TextProps & import("../..").ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
5
+ export declare const StyledCountMeta: import("styled-components").StyledComponent<import("react").FunctionComponent<import("../Text").TextProps & import("../..").ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
6
+ export declare const StyledContainer: import("styled-components").StyledComponent<import("react").FunctionComponent<import("../Flex").FlexProps & import("../..").ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
5
7
  //# sourceMappingURL=ListToolbar.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListToolbar.styles.d.ts","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.styles.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,gBAAgB,yGAK5B,CAAC;AAEF,eAAO,MAAM,kBAAkB,6MA0B7B,CAAC;AAIH,eAAO,MAAM,iBAAiB,yGAI7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,iMAkB5B,CAAC"}
1
+ {"version":3,"file":"ListToolbar.styles.d.ts","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.styles.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,gBAAgB,yGAK5B,CAAC;AAEF,eAAO,MAAM,kBAAkB,6MA0B7B,CAAC;AAIH,eAAO,MAAM,iBAAiB,yGAW5B,CAAC;AAIH,eAAO,MAAM,iBAAiB,iMAkB5B,CAAC;AAIH,eAAO,MAAM,eAAe,iMAW1B,CAAC;AAIH,eAAO,MAAM,eAAe,iMAU3B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import styled, { css } from 'styled-components';
2
+ import Flex from '../Flex';
2
3
  import { StyledSearchInput } from '../SearchInput';
3
4
  import MenuButton from '../MenuButton';
4
5
  import Text, { StyledText } from '../Text';
@@ -38,11 +39,19 @@ export const StyledViewSelector = styled(MenuButton)(({ theme, required }) => {
38
39
  `;
39
40
  });
40
41
  StyledViewSelector.defaultProps = defaultThemeProp;
41
- export const StyledListToolbar = styled.div `
42
- ${StyledButton} + ${StyledButton} {
43
- margin-inline-start: 0;
44
- }
45
- `;
42
+ export const StyledListToolbar = styled.div(({ theme }) => {
43
+ return css `
44
+ ${StyledButton} + ${StyledButton} {
45
+ margin-inline-start: 0;
46
+ }
47
+ border-radius: calc(0.25 * ${theme.base['border-radius']});
48
+
49
+ &:has(:focus-visible):not([disabled]) {
50
+ box-shadow: ${theme.base.shadow['focus-group']};
51
+ }
52
+ `;
53
+ });
54
+ StyledListToolbar.defaultProps = defaultThemeProp;
46
55
  export const StyledHeadingText = styled(Text)(({ theme, required }) => {
47
56
  const { urgent } = theme.base.palette;
48
57
  const hitAreaMouse = theme.base['hit-area']['mouse-min'];
@@ -62,4 +71,27 @@ export const StyledHeadingText = styled(Text)(({ theme, required }) => {
62
71
  `;
63
72
  });
64
73
  StyledHeadingText.defaultProps = defaultThemeProp;
74
+ export const StyledCountMeta = styled(Text)(({ theme }) => {
75
+ const hitAreaMouse = theme.base['hit-area']['mouse-min'];
76
+ const hitAreaFinger = theme.base['hit-area']['finger-min'];
77
+ return css `
78
+ line-height: ${hitAreaMouse};
79
+
80
+ @media (pointer: coarse) {
81
+ line-height: ${hitAreaFinger};
82
+ }
83
+ `;
84
+ });
85
+ StyledCountMeta.defaultProps = defaultThemeProp;
86
+ export const StyledContainer = styled(Flex) `
87
+ @media (pointer: coarse) {
88
+ overflow: hidden;
89
+
90
+ ${StyledHeadingText}, ${StyledViewSelector} ${StyledText} {
91
+ white-space: nowrap;
92
+ overflow: hidden;
93
+ text-overflow: ellipsis;
94
+ }
95
+ }
96
+ `;
65
97
  //# sourceMappingURL=ListToolbar.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListToolbar.styles.js","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.styles.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAY,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAA;IACtC,iBAAiB;;;;CAIpB,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC3E,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACvF,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;IACtC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC;IAE3D,OAAO,GAAG,CAAA;;;MAGN,UAAU;mBACG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAa,CAAC;qBAC1D,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;qBACvC,YAAY;;;uBAGV,aAAa;;;;MAI9B,UAAU;iBACC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM;;;eAGpC,MAAM;;GAElB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kBAAkB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAA;IACvC,YAAY,MAAM,YAAY;;;CAGjC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;IACtC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC;IAE3D,OAAO,GAAG,CAAA;mBACO,YAAY;;;qBAGV,aAAa;;;iBAGjB,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;;;eAG9B,MAAM;;GAElB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,iBAAiB,CAAC,YAAY,GAAG,gBAAgB,CAAC","sourcesContent":["import styled, { css } from 'styled-components';\n\nimport { StyledSearchInput } from '../SearchInput';\nimport MenuButton from '../MenuButton';\nimport Text, { StyledText } from '../Text';\nimport { defaultThemeProp } from '../../theme';\nimport { calculateFontSize, FontSize } from '../../styles';\nimport { StyledButton } from '../Button';\n\nexport const StyledSearchForm = styled.div`\n ${StyledSearchInput} {\n flex-grow: 1;\n max-width: min(100%, 40ch);\n }\n`;\n\nexport const StyledViewSelector = styled(MenuButton)(({ theme, required }) => {\n const fontSizes = calculateFontSize(theme.base['font-size'], theme.base['font-scale']);\n const { urgent } = theme.base.palette;\n const hitAreaMouse = theme.base['hit-area']['mouse-min'];\n const hitAreaFinger = theme.base['hit-area']['finger-min'];\n\n return css`\n flex-shrink: initial;\n white-space: initial;\n ${StyledText} {\n font-size: ${fontSizes[theme.components.text.h3['font-size'] as FontSize]};\n font-weight: ${theme.components.text.h3['font-weight']};\n line-height: ${hitAreaMouse};\n word-break: break-word;\n @media (pointer: coarse) {\n line-height: ${hitAreaFinger};\n }\n }\n\n ${StyledText}::after {\n display: ${required ? 'inline-block' : 'none'};\n content: '\\\\00a0*';\n vertical-align: top;\n color: ${urgent};\n }\n `;\n});\n\nStyledViewSelector.defaultProps = defaultThemeProp;\n\nexport const StyledListToolbar = styled.div`\n ${StyledButton} + ${StyledButton} {\n margin-inline-start: 0;\n }\n`;\n\nexport const StyledHeadingText = styled(Text)(({ theme, required }) => {\n const { urgent } = theme.base.palette;\n const hitAreaMouse = theme.base['hit-area']['mouse-min'];\n const hitAreaFinger = theme.base['hit-area']['finger-min'];\n\n return css`\n line-height: ${hitAreaMouse};\n word-break: break-word;\n @media (pointer: coarse) {\n line-height: ${hitAreaFinger};\n }\n &::after {\n display: ${required ? 'inline' : 'none'};\n content: '\\\\00a0*';\n vertical-align: top;\n color: ${urgent};\n }\n `;\n});\n\nStyledHeadingText.defaultProps = defaultThemeProp;\n"]}
1
+ {"version":3,"file":"ListToolbar.styles.js","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import styled, { css } from 'styled-components';\n\nimport Flex from '../Flex';\nimport { StyledSearchInput } from '../SearchInput';\nimport MenuButton from '../MenuButton';\nimport Text, { StyledText } from '../Text';\nimport { defaultThemeProp } from '../../theme';\nimport { calculateFontSize, FontSize } from '../../styles';\nimport { StyledButton } from '../Button';\n\nexport const StyledSearchForm = styled.div`\n ${StyledSearchInput} {\n flex-grow: 1;\n max-width: min(100%, 40ch);\n }\n`;\n\nexport const StyledViewSelector = styled(MenuButton)(({ theme, required }) => {\n const fontSizes = calculateFontSize(theme.base['font-size'], theme.base['font-scale']);\n const { urgent } = theme.base.palette;\n const hitAreaMouse = theme.base['hit-area']['mouse-min'];\n const hitAreaFinger = theme.base['hit-area']['finger-min'];\n\n return css`\n flex-shrink: initial;\n white-space: initial;\n ${StyledText} {\n font-size: ${fontSizes[theme.components.text.h3['font-size'] as FontSize]};\n font-weight: ${theme.components.text.h3['font-weight']};\n line-height: ${hitAreaMouse};\n word-break: break-word;\n @media (pointer: coarse) {\n line-height: ${hitAreaFinger};\n }\n }\n\n ${StyledText}::after {\n display: ${required ? 'inline-block' : 'none'};\n content: '\\\\00a0*';\n vertical-align: top;\n color: ${urgent};\n }\n `;\n});\n\nStyledViewSelector.defaultProps = defaultThemeProp;\n\nexport const StyledListToolbar = styled.div(({ theme }) => {\n return css`\n ${StyledButton} + ${StyledButton} {\n margin-inline-start: 0;\n }\n border-radius: calc(0.25 * ${theme.base['border-radius']});\n\n &:has(:focus-visible):not([disabled]) {\n box-shadow: ${theme.base.shadow['focus-group']};\n }\n `;\n});\n\nStyledListToolbar.defaultProps = defaultThemeProp;\n\nexport const StyledHeadingText = styled(Text)(({ theme, required }) => {\n const { urgent } = theme.base.palette;\n const hitAreaMouse = theme.base['hit-area']['mouse-min'];\n const hitAreaFinger = theme.base['hit-area']['finger-min'];\n\n return css`\n line-height: ${hitAreaMouse};\n word-break: break-word;\n @media (pointer: coarse) {\n line-height: ${hitAreaFinger};\n }\n &::after {\n display: ${required ? 'inline' : 'none'};\n content: '\\\\00a0*';\n vertical-align: top;\n color: ${urgent};\n }\n `;\n});\n\nStyledHeadingText.defaultProps = defaultThemeProp;\n\nexport const StyledCountMeta = styled(Text)(({ theme }) => {\n const hitAreaMouse = theme.base['hit-area']['mouse-min'];\n const hitAreaFinger = theme.base['hit-area']['finger-min'];\n\n return css`\n line-height: ${hitAreaMouse};\n\n @media (pointer: coarse) {\n line-height: ${hitAreaFinger};\n }\n `;\n});\n\nStyledCountMeta.defaultProps = defaultThemeProp;\n\nexport const StyledContainer = styled(Flex)`\n @media (pointer: coarse) {\n overflow: hidden;\n\n ${StyledHeadingText}, ${StyledViewSelector} ${StyledText} {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n`;\n"]}
@@ -49,8 +49,10 @@ export interface PresetMenuProps extends QueryOption {
49
49
  }
50
50
  export declare type QueryOptionId = 'filter' | 'sort' | 'group';
51
51
  export interface ListToolbarProps extends BaseProps {
52
- /** Renders a simple heading or view selection menu. */
53
- heading?: string | ViewSelectorProps;
52
+ /** Renders a simple text name of table */
53
+ name: string;
54
+ /** Renders a simple view heading text or view selection menu. */
55
+ viewSelector?: ViewSelectorProps;
54
56
  formControlProps?: Pick<FormControlProps, 'required'>;
55
57
  /** Props related to new item creation button. */
56
58
  createNew?: {
@@ -83,8 +85,6 @@ export interface ListToolbarProps extends BaseProps {
83
85
  actions?: Action[];
84
86
  /** Ref for the actions button element. */
85
87
  actionsButtonRef?: Ref<HTMLButtonElement>;
86
- /** Renders toolbar in condensed mode. */
87
- condensed?: boolean;
88
88
  /** Ref for the wrapping element. */
89
89
  ref?: Ref<HTMLDivElement>;
90
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ListToolbar.types.d.ts","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ListToolbar.types.d.ts","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AAEtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC;KACnB,EAAE,CAAC;IACJ,sCAAsC;IACtC,YAAY,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AACD,MAAM,WAAW,WAAW;IAC1B,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IACzD,4EAA4E;IAC5E,QAAQ,EAAE,aAAa,CAAC;IACxB;;;OAGG;IACH,QAAQ,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,QAAQ,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC;CAChC;AAED,+CAA+C;AAC/C,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,qEAAqE;IACrE,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC5C,yBAAyB;IACzB,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxE,6EAA6E;IAC7E,WAAW,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;CACvC;AACD,oBAAY,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAExD,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,gBAAgB,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACtD,iDAAiD;IACjD,SAAS,CAAC,EAAE;QACV,6CAA6C;QAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,8FAA8F;QAC9F,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;KAClC,CAAC;IACF,yCAAyC;IACzC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,uGAAuG;IACvG,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;QACf;;;WAGG;QACH,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,2DAA2D;IAC3D,MAAM,CAAC,EAAE,sBAAsB,GAAG,eAAe,CAAC;IAClD,yDAAyD;IACzD,IAAI,CAAC,EAAE,sBAAsB,GAAG,eAAe,CAAC;IAChD,0DAA0D;IAC1D,KAAK,CAAC,EAAE,sBAAsB,GAAG,eAAe,CAAC;IACjD,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC1C,oCAAoC;IACpC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ListToolbar.types.js","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.types.ts"],"names":[],"mappings":"","sourcesContent":["import { MouseEvent, Ref, ComponentType, ReactNode } from 'react';\n\nimport { FormControlProps } from '@pega/cosmos-react-core/lib/components/FormControl';\n\nimport { SearchInputProps } from '../SearchInput';\nimport { MenuProps } from '../Menu';\nimport { Action, BaseProps } from '../../types';\n\nexport interface ViewSelectorProps {\n /** A list of pre-defined data views. */\n views: {\n id: string;\n text: string;\n selected: boolean;\n }[];\n /** Called when a view is selected. */\n onViewSelect: MenuProps['onItemClick'];\n defaultId?: string;\n appDefaultId?: string;\n}\nexport interface QueryOption {\n /** A count representing the number of applied conditions within the query option. */\n count?: number;\n}\n\nexport interface QueryOptionDialogProps extends QueryOption {\n /** A component to render the content portion of the query option dialog. */\n renderer: ComponentType;\n /**\n * Called when the user explicitly or implicitly cancels(closes) the query dialog.\n * Returning false will block the dialog from closing.\n */\n onCancel: () => boolean | void;\n /**\n * Called when the user explicitly applies the query option conditions.\n * Returning false will block the dialog from closing.\n */\n onSubmit: () => boolean | void;\n}\n\n/** Optionally provide query option presets. */\nexport interface PresetMenuProps extends QueryOption {\n /** Mode defining whether menu selection is single or multi mode. */\n mode?: Exclude<MenuProps['mode'], 'action'>;\n /** Items of the menu. */\n items: { id: string; text: string; selected: boolean; icon?: string }[];\n /** Callback invoked on item selection. Passes the item id as an argument. */\n onItemClick: MenuProps['onItemClick'];\n}\nexport type QueryOptionId = 'filter' | 'sort' | 'group';\n\nexport interface ListToolbarProps extends BaseProps {\n /** Renders a simple heading or view selection menu. */\n heading?: string | ViewSelectorProps;\n formControlProps?: Pick<FormControlProps, 'required'>;\n /** Props related to new item creation button. */\n createNew?: {\n /** Label of the new item creation button. */\n label?: string;\n /** Callback that will render a Create new button and is fired when that button is clicked. */\n onClick: (e: MouseEvent) => void;\n };\n /** Props related to the Search Input. */\n search?: SearchInputProps;\n /** Total returned results related for a given search. Optional indication of a selected item count. */\n count?: {\n total?: number;\n /**\n * If true renders + next to total number.\n * @default false\n */\n totalHasMore?: boolean;\n selected?: number;\n };\n /** Additional actions region */\n additionalActions?: ReactNode;\n /** Custom Rendering or available presets for filtering. */\n filter?: QueryOptionDialogProps | PresetMenuProps;\n /** Custom Rendering or available presets for sorting. */\n sort?: QueryOptionDialogProps | PresetMenuProps;\n /** Custom Rendering or available presets for grouping. */\n group?: QueryOptionDialogProps | PresetMenuProps;\n /** Top level dataset actions. */\n actions?: Action[];\n /** Ref for the actions button element. */\n actionsButtonRef?: Ref<HTMLButtonElement>;\n /** Renders toolbar in condensed mode. */\n condensed?: boolean;\n /** Ref for the wrapping element. */\n ref?: Ref<HTMLDivElement>;\n}\n"]}
1
+ {"version":3,"file":"ListToolbar.types.js","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.types.ts"],"names":[],"mappings":"","sourcesContent":["import { MouseEvent, Ref, ComponentType, ReactNode } from 'react';\n\nimport { FormControlProps } from '@pega/cosmos-react-core/lib/components/FormControl';\n\nimport { SearchInputProps } from '../SearchInput';\nimport { MenuProps } from '../Menu';\nimport { Action, BaseProps } from '../../types';\n\nexport interface ViewSelectorProps {\n /** A list of pre-defined data views. */\n views: {\n id: string;\n text: string;\n selected: boolean;\n }[];\n /** Called when a view is selected. */\n onViewSelect: MenuProps['onItemClick'];\n defaultId?: string;\n appDefaultId?: string;\n}\nexport interface QueryOption {\n /** A count representing the number of applied conditions within the query option. */\n count?: number;\n}\n\nexport interface QueryOptionDialogProps extends QueryOption {\n /** A component to render the content portion of the query option dialog. */\n renderer: ComponentType;\n /**\n * Called when the user explicitly or implicitly cancels(closes) the query dialog.\n * Returning false will block the dialog from closing.\n */\n onCancel: () => boolean | void;\n /**\n * Called when the user explicitly applies the query option conditions.\n * Returning false will block the dialog from closing.\n */\n onSubmit: () => boolean | void;\n}\n\n/** Optionally provide query option presets. */\nexport interface PresetMenuProps extends QueryOption {\n /** Mode defining whether menu selection is single or multi mode. */\n mode?: Exclude<MenuProps['mode'], 'action'>;\n /** Items of the menu. */\n items: { id: string; text: string; selected: boolean; icon?: string }[];\n /** Callback invoked on item selection. Passes the item id as an argument. */\n onItemClick: MenuProps['onItemClick'];\n}\nexport type QueryOptionId = 'filter' | 'sort' | 'group';\n\nexport interface ListToolbarProps extends BaseProps {\n /** Renders a simple text name of table */\n name: string;\n /** Renders a simple view heading text or view selection menu. */\n viewSelector?: ViewSelectorProps;\n formControlProps?: Pick<FormControlProps, 'required'>;\n /** Props related to new item creation button. */\n createNew?: {\n /** Label of the new item creation button. */\n label?: string;\n /** Callback that will render a Create new button and is fired when that button is clicked. */\n onClick: (e: MouseEvent) => void;\n };\n /** Props related to the Search Input. */\n search?: SearchInputProps;\n /** Total returned results related for a given search. Optional indication of a selected item count. */\n count?: {\n total?: number;\n /**\n * If true renders + next to total number.\n * @default false\n */\n totalHasMore?: boolean;\n selected?: number;\n };\n /** Additional actions region */\n additionalActions?: ReactNode;\n /** Custom Rendering or available presets for filtering. */\n filter?: QueryOptionDialogProps | PresetMenuProps;\n /** Custom Rendering or available presets for sorting. */\n sort?: QueryOptionDialogProps | PresetMenuProps;\n /** Custom Rendering or available presets for grouping. */\n group?: QueryOptionDialogProps | PresetMenuProps;\n /** Top level dataset actions. */\n actions?: Action[];\n /** Ref for the actions button element. */\n actionsButtonRef?: Ref<HTMLButtonElement>;\n /** Ref for the wrapping element. */\n ref?: Ref<HTMLDivElement>;\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import type { LiveLogContextValue } from './LiveLog.types';
2
+ export declare const LiveLogContext: import("react").Context<LiveLogContextValue>;
3
+ //# sourceMappingURL=Context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../src/components/LiveLog/Context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,eAAO,MAAM,cAAc,8CAKzB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { createContext } from 'react';
2
+ // eslint-disable-next-line import/prefer-default-export
3
+ export const LiveLogContext = createContext({
4
+ announce: () => { },
5
+ announcePolite: () => { },
6
+ announceAssertive: () => { },
7
+ initialized: false
8
+ });
9
+ //# sourceMappingURL=Context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../src/components/LiveLog/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,wDAAwD;AACxD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAsB;IAC/D,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;IAClB,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC;IACxB,iBAAiB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC3B,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC","sourcesContent":["import { createContext } from 'react';\n\nimport type { LiveLogContextValue } from './LiveLog.types';\n\n// eslint-disable-next-line import/prefer-default-export\nexport const LiveLogContext = createContext<LiveLogContextValue>({\n announce: () => {},\n announcePolite: () => {},\n announceAssertive: () => {},\n initialized: false\n});\n"]}
@@ -0,0 +1,10 @@
1
+ import { type FunctionComponent, type Context } from 'react';
2
+ import type { LiveLogContextValue, LiveLogProps } from './LiveLog.types';
3
+ declare module '../../init' {
4
+ interface CosmosGlobals {
5
+ liveLogContext?: Context<LiveLogContextValue>;
6
+ }
7
+ }
8
+ declare const LiveLog: FunctionComponent<LiveLogProps>;
9
+ export default LiveLog;
10
+ //# sourceMappingURL=LiveLog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveLog.d.ts","sourceRoot":"","sources":["../../../src/components/LiveLog/LiveLog.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,OAAO,EAIb,MAAM,OAAO,CAAC;AAMf,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EAGb,MAAM,iBAAiB,CAAC;AAGzB,OAAO,QAAQ,YAAY,CAAC;IAC1B,UAAiB,aAAa;QAC5B,cAAc,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;KAC/C;CACF;AAwDD,QAAA,MAAM,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAsE5C,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,99 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useContext, useReducer } from 'react';
3
+ import { createUID, windowIsAvailable } from '../../utils';
4
+ import { useI18n } from '../../hooks';
5
+ import { StyledLog } from './LiveLog.styles';
6
+ import { LiveLogContext } from './Context';
7
+ const reducer = (state, action) => {
8
+ const type = action.type;
9
+ switch (type) {
10
+ case 'announce': {
11
+ const message = action.payload.message;
12
+ const messageType = action.payload.type;
13
+ const announceMessage = ['alert', 'error', 'exception'].includes(messageType) ||
14
+ !state.suppressedTypes.includes(messageType);
15
+ if (announceMessage) {
16
+ const id = createUID();
17
+ if (action.payload.level === 'assertive') {
18
+ return {
19
+ ...state,
20
+ assertiveMessages: [...state.assertiveMessages, { message, id }]
21
+ };
22
+ }
23
+ return {
24
+ ...state,
25
+ politeMessages: [...state.politeMessages, { message, id }]
26
+ };
27
+ }
28
+ return state;
29
+ }
30
+ case 'setMaxLength': {
31
+ return {
32
+ ...state,
33
+ maxLength: action.payload > 0 ? action.payload : 50
34
+ };
35
+ }
36
+ case 'trimLength': {
37
+ const trimPolite = state.politeMessages.length > state.maxLength;
38
+ const trimAssertive = state.assertiveMessages.length > state.maxLength;
39
+ return {
40
+ ...state,
41
+ politeMessages: trimPolite
42
+ ? [...state.politeMessages.slice(-state.maxLength)]
43
+ : state.politeMessages,
44
+ assertiveMessages: trimAssertive
45
+ ? [...state.assertiveMessages.slice(-state.maxLength)]
46
+ : state.assertiveMessages
47
+ };
48
+ }
49
+ default:
50
+ return state;
51
+ }
52
+ };
53
+ const LiveLog = ({ children, maxLength = 50 }) => {
54
+ const t = useI18n();
55
+ const [state, dispatch] = useReducer(reducer, {
56
+ maxLength,
57
+ politeMessages: [],
58
+ assertiveMessages: [],
59
+ suppressedTypes: [] // initialize via a11y settings once available.
60
+ });
61
+ // Manage log length.
62
+ useEffect(() => {
63
+ const timeout = setTimeout(() => {
64
+ dispatch({ type: 'trimLength' });
65
+ }, 1000);
66
+ return () => {
67
+ clearTimeout(timeout);
68
+ };
69
+ }, [state.assertiveMessages, state.politeMessages, state.maxLength]);
70
+ // Update max length
71
+ useEffect(() => {
72
+ dispatch({ type: 'setMaxLength', payload: maxLength });
73
+ }, [maxLength]);
74
+ // Don't create additional LiveLogContext.Providers.
75
+ const context = windowIsAvailable
76
+ ? window.cosmos.liveLogContext ?? LiveLogContext
77
+ : LiveLogContext;
78
+ const priorCtx = useContext(context);
79
+ if (priorCtx.initialized) {
80
+ return _jsx(context.Provider, { value: priorCtx, children: children });
81
+ }
82
+ return (_jsxs(context.Provider, { value: {
83
+ announce: ({ message, type = 'info', assertive = false }) => {
84
+ dispatch({
85
+ type: 'announce',
86
+ payload: { message, type, level: assertive ? 'assertive' : 'polite' }
87
+ });
88
+ },
89
+ announcePolite: ({ message, type = 'info' }) => {
90
+ dispatch({ type: 'announce', payload: { message, type, level: 'polite' } });
91
+ },
92
+ announceAssertive: ({ message, type = 'info' }) => {
93
+ dispatch({ type: 'announce', payload: { message, type, level: 'assertive' } });
94
+ },
95
+ initialized: true
96
+ }, children: [children, _jsxs(StyledLog, { role: 'log', "aria-relevant": 'additions', children: [_jsx("h6", { children: t('polite_announcements') }), state.politeMessages.map(({ message, id }) => (_jsx("p", { children: message }, id)))] }), _jsxs(StyledLog, { role: 'log', "aria-live": 'assertive', "aria-relevant": 'additions', children: [_jsx("h6", { children: t('assertive_announcements') }), state.assertiveMessages.map(({ message, id }) => (_jsx("p", { children: message }, id)))] })] }));
97
+ };
98
+ export default LiveLog;
99
+ //# sourceMappingURL=LiveLog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveLog.js","sourceRoot":"","sources":["../../../src/components/LiveLog/LiveLog.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n type FunctionComponent,\n type Reducer,\n type Context,\n useEffect,\n useContext,\n useReducer\n} from 'react';\n\nimport { createUID, windowIsAvailable } from '../../utils';\nimport { useI18n } from '../../hooks';\n\nimport { StyledLog } from './LiveLog.styles';\nimport type {\n LiveLogContextValue,\n LiveLogProps,\n LiveLogState,\n ReducerAction\n} from './LiveLog.types';\nimport { LiveLogContext } from './Context';\n\ndeclare module '../../init' {\n export interface CosmosGlobals {\n liveLogContext?: Context<LiveLogContextValue>;\n }\n}\n\nconst reducer = (state: LiveLogState, action: ReducerAction) => {\n const type = action.type;\n\n switch (type) {\n case 'announce': {\n const message = action.payload.message;\n const messageType = action.payload.type;\n const announceMessage =\n ['alert', 'error', 'exception'].includes(messageType) ||\n !state.suppressedTypes.includes(messageType);\n\n if (announceMessage) {\n const id = createUID();\n\n if (action.payload.level === 'assertive') {\n return {\n ...state,\n assertiveMessages: [...state.assertiveMessages, { message, id }]\n };\n }\n\n return {\n ...state,\n politeMessages: [...state.politeMessages, { message, id }]\n };\n }\n\n return state;\n }\n case 'setMaxLength': {\n return {\n ...state,\n maxLength: action.payload > 0 ? action.payload : 50\n };\n }\n case 'trimLength': {\n const trimPolite = state.politeMessages.length > state.maxLength;\n const trimAssertive = state.assertiveMessages.length > state.maxLength;\n\n return {\n ...state,\n politeMessages: trimPolite\n ? [...state.politeMessages.slice(-state.maxLength)]\n : state.politeMessages,\n assertiveMessages: trimAssertive\n ? [...state.assertiveMessages.slice(-state.maxLength)]\n : state.assertiveMessages\n };\n }\n default:\n return state;\n }\n};\n\nconst LiveLog: FunctionComponent<LiveLogProps> = ({ children, maxLength = 50 }: LiveLogProps) => {\n const t = useI18n();\n\n const [state, dispatch] = useReducer<Reducer<LiveLogState, ReducerAction>>(reducer, {\n maxLength,\n politeMessages: [],\n assertiveMessages: [],\n suppressedTypes: [] // initialize via a11y settings once available.\n });\n\n // Manage log length.\n useEffect(() => {\n const timeout = setTimeout(() => {\n dispatch({ type: 'trimLength' });\n }, 1000);\n\n return () => {\n clearTimeout(timeout);\n };\n }, [state.assertiveMessages, state.politeMessages, state.maxLength]);\n\n // Update max length\n useEffect(() => {\n dispatch({ type: 'setMaxLength', payload: maxLength });\n }, [maxLength]);\n\n // Don't create additional LiveLogContext.Providers.\n const context = windowIsAvailable\n ? window.cosmos.liveLogContext ?? LiveLogContext\n : LiveLogContext;\n const priorCtx = useContext(context);\n if (priorCtx.initialized) {\n return <context.Provider value={priorCtx}>{children}</context.Provider>;\n }\n\n return (\n <context.Provider\n value={{\n announce: ({ message, type = 'info', assertive = false }) => {\n dispatch({\n type: 'announce',\n payload: { message, type, level: assertive ? 'assertive' : 'polite' }\n });\n },\n announcePolite: ({ message, type = 'info' }) => {\n dispatch({ type: 'announce', payload: { message, type, level: 'polite' } });\n },\n announceAssertive: ({ message, type = 'info' }) => {\n dispatch({ type: 'announce', payload: { message, type, level: 'assertive' } });\n },\n initialized: true\n }}\n >\n {children}\n\n <StyledLog role='log' aria-relevant='additions'>\n <h6>{t('polite_announcements')}</h6>\n {state.politeMessages.map(({ message, id }) => (\n <p key={id}>{message}</p>\n ))}\n </StyledLog>\n\n <StyledLog role='log' aria-live='assertive' aria-relevant='additions'>\n <h6>{t('assertive_announcements')}</h6>\n {state.assertiveMessages.map(({ message, id }) => (\n <p key={id}>{message}</p>\n ))}\n </StyledLog>\n </context.Provider>\n );\n};\n\nexport default LiveLog;\n"]}
@@ -0,0 +1,3 @@
1
+ export declare const StyledLog: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
2
+ export default StyledLog;
3
+ //# sourceMappingURL=LiveLog.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveLog.styles.d.ts","sourceRoot":"","sources":["../../../src/components/LiveLog/LiveLog.styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,yGAIrB,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,9 @@
1
+ import styled from 'styled-components';
2
+ import { hideVisually } from 'polished';
3
+ export const StyledLog = styled.div `
4
+ ${hideVisually}
5
+ -webkit-user-select: none;
6
+ user-select: none;
7
+ `;
8
+ export default StyledLog;
9
+ //# sourceMappingURL=LiveLog.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveLog.styles.js","sourceRoot":"","sources":["../../../src/components/LiveLog/LiveLog.styles.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAA;IAC/B,YAAY;;;CAGf,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["import styled from 'styled-components';\nimport { hideVisually } from 'polished';\n\nexport const StyledLog = styled.div`\n ${hideVisually}\n -webkit-user-select: none;\n user-select: none;\n`;\n\nexport default StyledLog;\n"]}
@@ -0,0 +1,93 @@
1
+ import { type ReactNode } from 'react';
2
+ export declare type AnnouncementType =
3
+ /** Immediate attention req.
4
+ * (high priority)
5
+ * (cannot be disabled)
6
+ */
7
+ 'alert'
8
+ /** Immediate action req.
9
+ * (high priority)
10
+ * (cannot be disabled)
11
+ */
12
+ | 'error'
13
+ /** System failure
14
+ * (high priority)
15
+ * (cannot be disabled)
16
+ */
17
+ | 'exception'
18
+ /** No immediate action req.
19
+ * (medium priority)
20
+ */
21
+ | 'warning'
22
+ /** Feedback on actions
23
+ * (medium priority)
24
+ */
25
+ | 'acknowledgement'
26
+ /** Confirmation of action completion
27
+ * (medium priority)
28
+ */
29
+ | 'success'
30
+ /** Passive notification
31
+ * (low priority)
32
+ * (ex: "Kelly liked your comment.")
33
+ */
34
+ | 'info'
35
+ /** System feedback
36
+ * (low priority)
37
+ * (ex: "Loading create form.")
38
+ */
39
+ | 'status';
40
+ interface AnnounceMethodProps {
41
+ /** Message to announce */
42
+ message: string;
43
+ /** Announcement type
44
+ * @default 'info'
45
+ */
46
+ type?: AnnouncementType;
47
+ }
48
+ interface GenericAnnounceMethodProps extends AnnounceMethodProps {
49
+ /** Whether announcement is assertive.
50
+ * @default false
51
+ */
52
+ assertive?: boolean;
53
+ }
54
+ export interface LiveLogContextValue {
55
+ announce: (props: GenericAnnounceMethodProps) => void;
56
+ announcePolite: (props: AnnounceMethodProps) => void;
57
+ announceAssertive: (props: AnnounceMethodProps) => void;
58
+ /** @internal */
59
+ initialized: boolean;
60
+ }
61
+ export interface LiveLogProps {
62
+ /** Content that will be provided live log context. */
63
+ children: ReactNode;
64
+ /** Length at which to start shifting the window of persisted messages.
65
+ * @default 50
66
+ */
67
+ maxLength?: number;
68
+ }
69
+ interface MessageStateItem {
70
+ message: AnnounceMethodProps['message'];
71
+ id: string;
72
+ }
73
+ export interface LiveLogState {
74
+ maxLength: number;
75
+ politeMessages: MessageStateItem[];
76
+ assertiveMessages: MessageStateItem[];
77
+ suppressedTypes: AnnouncementType[];
78
+ }
79
+ export declare type ReducerAction = {
80
+ type: 'announce';
81
+ payload: {
82
+ message: AnnounceMethodProps['message'];
83
+ level: 'polite' | 'assertive';
84
+ type: AnnouncementType;
85
+ };
86
+ } | {
87
+ type: 'setMaxLength';
88
+ payload: number;
89
+ } | {
90
+ type: 'trimLength';
91
+ };
92
+ export {};
93
+ //# sourceMappingURL=LiveLog.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveLog.types.d.ts","sourceRoot":"","sources":["../../../src/components/LiveLog/LiveLog.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,oBAAY,gBAAgB;AAC1B;;;GAGG;AACD,OAAO;AACT;;;GAGG;GACD,OAAO;AACT;;;GAGG;GACD,WAAW;AACb;;GAEG;GACD,SAAS;AACX;;GAEG;GACD,iBAAiB;AACnB;;GAEG;GACD,SAAS;AACX;;;GAGG;GACD,MAAM;AACR;;;GAGG;GACD,QAAQ,CAAC;AAEb,UAAU,mBAAmB;IAC3B,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED,UAAU,0BAA2B,SAAQ,mBAAmB;IAC9D;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACtD,cAAc,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrD,iBAAiB,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACxD,gBAAgB;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACxC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,gBAAgB,EAAE,CAAC;IACnC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,eAAe,EAAE,gBAAgB,EAAE,CAAC;CACrC;AAED,oBAAY,aAAa,GACrB;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE;QACP,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACxC,KAAK,EAAE,QAAQ,GAAG,WAAW,CAAC;QAC9B,IAAI,EAAE,gBAAgB,CAAC;KACxB,CAAC;CACH,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=LiveLog.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveLog.types.js","sourceRoot":"","sources":["../../../src/components/LiveLog/LiveLog.types.ts"],"names":[],"mappings":"","sourcesContent":["import { type ReactNode } from 'react';\n\nexport type AnnouncementType =\n /** Immediate attention req.\n * (high priority)\n * (cannot be disabled)\n */\n | 'alert'\n /** Immediate action req.\n * (high priority)\n * (cannot be disabled)\n */\n | 'error'\n /** System failure\n * (high priority)\n * (cannot be disabled)\n */\n | 'exception'\n /** No immediate action req.\n * (medium priority)\n */\n | 'warning'\n /** Feedback on actions\n * (medium priority)\n */\n | 'acknowledgement'\n /** Confirmation of action completion\n * (medium priority)\n */\n | 'success'\n /** Passive notification\n * (low priority)\n * (ex: \"Kelly liked your comment.\")\n */\n | 'info'\n /** System feedback\n * (low priority)\n * (ex: \"Loading create form.\")\n */\n | 'status';\n\ninterface AnnounceMethodProps {\n /** Message to announce */\n message: string;\n /** Announcement type\n * @default 'info'\n */\n type?: AnnouncementType;\n}\n\ninterface GenericAnnounceMethodProps extends AnnounceMethodProps {\n /** Whether announcement is assertive.\n * @default false\n */\n assertive?: boolean;\n}\n\nexport interface LiveLogContextValue {\n announce: (props: GenericAnnounceMethodProps) => void;\n announcePolite: (props: AnnounceMethodProps) => void;\n announceAssertive: (props: AnnounceMethodProps) => void;\n /** @internal */\n initialized: boolean;\n}\n\nexport interface LiveLogProps {\n /** Content that will be provided live log context. */\n children: ReactNode;\n /** Length at which to start shifting the window of persisted messages.\n * @default 50\n */\n maxLength?: number;\n}\n\ninterface MessageStateItem {\n message: AnnounceMethodProps['message'];\n id: string;\n}\n\nexport interface LiveLogState {\n maxLength: number;\n politeMessages: MessageStateItem[];\n assertiveMessages: MessageStateItem[];\n suppressedTypes: AnnouncementType[];\n}\n\nexport type ReducerAction =\n | {\n type: 'announce';\n payload: {\n message: AnnounceMethodProps['message'];\n level: 'polite' | 'assertive';\n type: AnnouncementType;\n };\n }\n | {\n type: 'setMaxLength';\n payload: number;\n }\n | {\n type: 'trimLength';\n };\n"]}
@@ -0,0 +1,4 @@
1
+ export { default } from './LiveLog';
2
+ export { LiveLogProps, AnnouncementType } from './LiveLog.types';
3
+ export { LiveLogContext } from './Context';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/LiveLog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { default } from './LiveLog';
2
+ export { LiveLogContext } from './Context';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/LiveLog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC","sourcesContent":["export { default } from './LiveLog';\nexport { LiveLogProps, AnnouncementType } from './LiveLog.types';\nexport { LiveLogContext } from './Context';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAOlB,MAAM,OAAO,CAAC;AAWf,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAO3C,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAG3D,QAAA,MAAM,IAAI,EAAE,iBAAiB,CAAC,SAAS,GAAG,YAAY,CAyVrD,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAOlB,MAAM,OAAO,CAAC;AAWf,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAO3C,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAG3D,QAAA,MAAM,IAAI,EAAE,iBAAiB,CAAC,SAAS,GAAG,YAAY,CA2VrD,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -186,6 +186,7 @@ const Menu = forwardRef((props, ref) => {
186
186
  const contextValue = useMemo(() => {
187
187
  return {
188
188
  componentId: id,
189
+ 'aria-label': label,
189
190
  mode,
190
191
  arrowNavigationUnsupported,
191
192
  onItemClick,
@@ -210,6 +211,7 @@ const Menu = forwardRef((props, ref) => {
210
211
  };
211
212
  }, [
212
213
  id,
214
+ label,
213
215
  mode,
214
216
  arrowNavigationUnsupported,
215
217
  onItemClick,