@kaizen/components 1.38.1 → 1.38.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Illustration/subcomponents/VideoPlayer/VideoPlayer.cjs +21 -7
- package/dist/cjs/Illustration/subcomponents/VideoPlayer/VideoPlayer.cjs.map +1 -1
- package/dist/cjs/Tabs/subcomponents/TabList.cjs +3 -2
- package/dist/cjs/Tabs/subcomponents/TabList.cjs.map +1 -1
- package/dist/cjs/TitleBlockZen/subcomponents/MainActions.cjs +1 -1
- package/dist/cjs/TitleBlockZen/subcomponents/MainActions.cjs.map +1 -1
- package/dist/cjs/TitleBlockZen/subcomponents/MobileActions.cjs +4 -4
- package/dist/cjs/TitleBlockZen/subcomponents/MobileActions.cjs.map +1 -1
- package/dist/cjs/TitleBlockZen/subcomponents/TitleBlockMenuItem.cjs.map +1 -1
- package/dist/cjs/TitleBlockZen/utils.cjs.map +1 -1
- package/dist/cjs/dts/TitleBlockZen/subcomponents/MainActions.d.ts +1 -2
- package/dist/cjs/dts/TitleBlockZen/subcomponents/MobileActions.d.ts +1 -2
- package/dist/cjs/dts/TitleBlockZen/subcomponents/TitleBlockMenuItem.d.ts +1 -5
- package/dist/cjs/dts/TitleBlockZen/types.d.ts +1 -3
- package/dist/cjs/dts/TitleBlockZen/utils.d.ts +0 -2
- package/dist/cjs/index.css +4 -4
- package/dist/esm/Illustration/subcomponents/VideoPlayer/VideoPlayer.mjs +21 -7
- package/dist/esm/Illustration/subcomponents/VideoPlayer/VideoPlayer.mjs.map +1 -1
- package/dist/esm/Tabs/subcomponents/TabList.mjs +3 -2
- package/dist/esm/Tabs/subcomponents/TabList.mjs.map +1 -1
- package/dist/esm/TitleBlockZen/subcomponents/MainActions.mjs +1 -1
- package/dist/esm/TitleBlockZen/subcomponents/MainActions.mjs.map +1 -1
- package/dist/esm/TitleBlockZen/subcomponents/MobileActions.mjs +4 -4
- package/dist/esm/TitleBlockZen/subcomponents/MobileActions.mjs.map +1 -1
- package/dist/esm/TitleBlockZen/subcomponents/TitleBlockMenuItem.mjs.map +1 -1
- package/dist/esm/TitleBlockZen/utils.mjs.map +1 -1
- package/dist/esm/dts/TitleBlockZen/subcomponents/MainActions.d.ts +1 -2
- package/dist/esm/dts/TitleBlockZen/subcomponents/MobileActions.d.ts +1 -2
- package/dist/esm/dts/TitleBlockZen/subcomponents/TitleBlockMenuItem.d.ts +1 -5
- package/dist/esm/dts/TitleBlockZen/types.d.ts +1 -3
- package/dist/esm/dts/TitleBlockZen/utils.d.ts +0 -2
- package/dist/esm/index.css +2 -2
- package/dist/index.d.ts +1 -3
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/src/Avatar/_docs/Avatar.mdx +1 -2
- package/src/AvatarGroup/_docs/AvatarGroup.mdx +1 -2
- package/src/Badge/_docs/Badge.mdx +1 -2
- package/src/Brand/_docs/Brand.mdx +1 -2
- package/src/BrandMoment/_docs/BrandMoment.mdx +1 -2
- package/src/Button/Button/_docs/Button.mdx +1 -2
- package/src/Button/IconButton/_docs/IconButton.mdx +1 -2
- package/src/Calendar/CalendarRange/_docs/CalendarRange.mdx +1 -2
- package/src/Calendar/CalendarSingle/_docs/CalendarSingle.mdx +1 -2
- package/src/Card/_docs/Card.mdx +1 -2
- package/src/Checkbox/Checkbox/_docs/Checkbox.mdx +1 -2
- package/src/Checkbox/CheckboxField/_docs/CheckboxField.mdx +1 -2
- package/src/Checkbox/CheckboxGroup/_docs/CheckboxGroup.mdx +1 -2
- package/src/Collapsible/Collapsible/_docs/Collapsible.mdx +1 -2
- package/src/Collapsible/CollapsibleGroup/_docs/CollapsibleGroup.mdx +2 -2
- package/src/Collapsible/ExpertAdviceCollapsible/_docs/ExpertAdviceCollapsible.mdx +1 -2
- package/src/Container/_docs/Container.mdx +1 -2
- package/src/Content/_docs/Content.mdx +1 -2
- package/src/DatePicker/_docs/DatePicker.mdx +1 -2
- package/src/DateRangePicker/_docs/DateRangePicker.mdx +1 -2
- package/src/Divider/_docs/Divider.mdx +1 -2
- package/src/EmptyState/_docs/EmptyState.mdx +1 -2
- package/src/FieldGroup/_docs/FieldGroup.mdx +1 -2
- package/src/FieldMessage/_docs/FieldMessage.mdx +1 -2
- package/src/Filter/Filter/_docs/Filter.mdx +1 -2
- package/src/Filter/FilterBar/_docs/FilterBar.mdx +1 -2
- package/src/Filter/FilterButton/_docs/filter-buttons.mdx +1 -2
- package/src/Filter/FilterDatePicker/_docs/FilterDatePicker.mdx +1 -2
- package/src/Filter/FilterDateRangePicker/_docs/FilterDateRangePicker.mdx +1 -2
- package/src/Filter/FilterSelect/_docs/FilterSelect.mdx +1 -2
- package/src/GuidanceBlock/_docs/GuidanceBlock.mdx +1 -2
- package/src/Heading/_docs/Heading.mdx +1 -2
- package/src/Icon/_docs/Icon.mdx +1 -2
- package/src/Illustration/Scene/BrandMomentCaptureIntro/_docs/BrandMomentCaptureIntro.mdx +1 -2
- package/src/Illustration/Scene/_docs/Scene.mdx +1 -2
- package/src/Illustration/Spot/_docs/Spot.mdx +1 -2
- package/src/Illustration/subcomponents/VideoPlayer/VideoPlayer.spec.tsx +2 -37
- package/src/Illustration/subcomponents/VideoPlayer/VideoPlayer.tsx +20 -9
- package/src/Illustration/subcomponents/VideoPlayer/__snapshots__/VideoPlayer.spec.tsx.snap +30 -0
- package/src/Input/Input/_docs/Input.mdx +1 -2
- package/src/Input/InputRange/_docs/InputRange.mdx +1 -2
- package/src/Input/InputSearch/_docs/InputSearch.mdx +1 -2
- package/src/KaizenProvider/_docs/KaizenProvider.mdx +0 -2
- package/src/Label/_docs/Label.mdx +1 -2
- package/src/LikertScaleLegacy/_docs/LikertScaleLegacy.mdx +1 -2
- package/src/Loading/LoadingGraphic/_docs/LoadingGraphic.mdx +1 -2
- package/src/Loading/LoadingHeading/_docs/LoadingHeading.mdx +1 -2
- package/src/Loading/LoadingInput/_docs/LoadingInput.mdx +1 -2
- package/src/Loading/LoadingParagraph/_docs/LoadingParagraph.mdx +1 -2
- package/src/Loading/LoadingSpinner/_docs/LoadingSpinner.mdx +1 -2
- package/src/Menu/_docs/Menu.mdx +1 -2
- package/src/Modal/ConfirmationModal/_docs/ConfirmationModal.mdx +1 -2
- package/src/Modal/ContextModal/_docs/ContextModal.mdx +1 -2
- package/src/Modal/GenericModal/_docs/GenericModal.mdx +1 -2
- package/src/Modal/InputEditModal/_docs/InputEditModal.mdx +1 -2
- package/src/MultiSelect/_docs/MultiSelect.mdx +2 -2
- package/src/Notification/GlobalNotification/_docs/GlobalNotification.mdx +1 -2
- package/src/Notification/InlineNotification/_docs/InlineNotification.mdx +1 -2
- package/src/Notification/ToastNotification/_docs/ToastNotification.mdx +1 -2
- package/src/Pagination/_docs/Pagination.mdx +1 -2
- package/src/Pagination/subcomponents/DirectionalLink/_docs/DirectionalLink.mdx +1 -2
- package/src/Pagination/subcomponents/PaginationLink/_docs/PaginationLink.mdx +1 -2
- package/src/Popover/_docs/Popover.mdx +1 -2
- package/src/ProgressBar/_docs/ProgressBar.mdx +1 -2
- package/src/Radio/Radio/_docs/Radio.mdx +1 -2
- package/src/Radio/RadioField/_docs/RadioField.mdx +1 -2
- package/src/Radio/RadioGroup/_docs/RadioGroup.mdx +1 -2
- package/src/RichTextEditor/EditableRichTextContent/_docs/EditableRichTextContent.mdx +1 -2
- package/src/RichTextEditor/RichTextContent/_docs/RichTextContent.mdx +1 -2
- package/src/RichTextEditor/RichTextEditor/_docs/RichTextEditor.mdx +1 -2
- package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/_docs/ToggleIconButton.mdx +1 -2
- package/src/RichTextEditor/RichTextEditor/subcomponents/Toolbar/_docs/Toolbar.mdx +1 -2
- package/src/SearchField/_docs/SearchField.mdx +1 -2
- package/src/Select/_docs/Select.mdx +1 -2
- package/src/Skirt/_docs/Skirt.mdx +1 -2
- package/src/Slider/_docs/Slider.mdx +1 -2
- package/src/SplitButton/_docs/SplitButton.mdx +1 -2
- package/src/Table/_docs/Table.mdx +2 -3
- package/src/Tabs/_docs/Tabs.mdx +1 -2
- package/src/Tabs/subcomponents/TabList.tsx +6 -1
- package/src/Tag/_docs/Tag.mdx +1 -2
- package/src/Text/_docs/Text.mdx +1 -2
- package/src/TextArea/_docs/TextArea.mdx +1 -2
- package/src/TextAreaField/_docs/TextAreaField.mdx +1 -2
- package/src/TextField/_docs/TextField.mdx +1 -2
- package/src/Tile/InformationTile/_docs/InformationTile.mdx +1 -2
- package/src/Tile/MultiActionTile/_docs/MultiActionTile.mdx +1 -2
- package/src/Tile/TileGrid/_docs/TileGrid.mdx +1 -2
- package/src/TimeField/_docs/TimeField.mdx +1 -2
- package/src/TitleBlockZen/_docs/TitleBlockZen.mdx +1 -2
- package/src/TitleBlockZen/_docs/TitleBlockZen.stories.tsx +0 -2
- package/src/TitleBlockZen/subcomponents/MainActions.tsx +6 -5
- package/src/TitleBlockZen/subcomponents/MobileActions.spec.tsx +2 -2
- package/src/TitleBlockZen/subcomponents/MobileActions.tsx +6 -8
- package/src/TitleBlockZen/subcomponents/TitleBlockMenuItem.tsx +2 -8
- package/src/TitleBlockZen/types.ts +1 -3
- package/src/TitleBlockZen/utils.ts +0 -5
- package/src/ToggleSwitch/ToggleSwitch/_docs/ToggleSwitch.mdx +1 -2
- package/src/ToggleSwitch/ToggleSwitchField/_docs/ToggleSwitchField.mdx +1 -2
- package/src/Tooltip/_docs/Tooltip.mdx +1 -2
- package/src/VisuallyHidden/_docs/VisuallyHidden.mdx +1 -2
- package/src/Well/_docs/Well.mdx +1 -2
- package/src/Workflow/_docs/Workflow.mdx +1 -2
- package/src/__future__/Select/_docs/Select.mdx +1 -2
- package/src/__future__/Tag/RemovableTag/_docs/RemovableTag.mdx +1 -2
- package/src/__future__/Tag/Tag/_docs/Tag.mdx +1 -2
- package/src/__future__/Workflow/_docs/ProgressStepper.mdx +1 -2
- package/src/__future__/Workflow/_docs/Workflow.mdx +1 -2
- package/src/__future__/Workflow/_docs/WorkflowFooter.mdx +1 -2
- package/src/__future__/Workflow/_docs/WorkflowHeader.mdx +1 -2
|
@@ -22,6 +22,9 @@ var VideoPlayer = function (_a) {
|
|
|
22
22
|
var _e = React.useState(true),
|
|
23
23
|
prefersReducedMotion = _e[0],
|
|
24
24
|
setPrefersReducedMotion = _e[1];
|
|
25
|
+
var _f = React.useState(),
|
|
26
|
+
sourceEl = _f[0],
|
|
27
|
+
setSourceEl = _f[1];
|
|
25
28
|
React.useEffect(function () {
|
|
26
29
|
/**
|
|
27
30
|
* Setting `muted` on the player is required in Safari/Webkit and older
|
|
@@ -102,6 +105,23 @@ var VideoPlayer = function (_a) {
|
|
|
102
105
|
videoElement.removeEventListener("ended", onEnded);
|
|
103
106
|
};
|
|
104
107
|
}, [videoRef]);
|
|
108
|
+
React.useEffect(function () {
|
|
109
|
+
/**
|
|
110
|
+
* This seems counter-intuitive, but webm support is codec specific.
|
|
111
|
+
* Only offer webm if we are positive the browser supports it.
|
|
112
|
+
* Reference: https://bugs.webkit.org/show_bug.cgi?id=216652#c1
|
|
113
|
+
*/
|
|
114
|
+
canPlayWebm.canPlayWebm() ? setSourceEl(React.createElement(React.Fragment, null, React.createElement("source", {
|
|
115
|
+
src: hostedAssets.assetUrl("".concat(source, ".webm")),
|
|
116
|
+
type: "video/webm"
|
|
117
|
+
}), React.createElement("source", {
|
|
118
|
+
src: hostedAssets.assetUrl("".concat(source, ".mp4")),
|
|
119
|
+
type: "video/mp4"
|
|
120
|
+
}))) : React.createElement("source", {
|
|
121
|
+
src: hostedAssets.assetUrl("".concat(source, ".mp4")),
|
|
122
|
+
type: "video/mp4"
|
|
123
|
+
});
|
|
124
|
+
}, [setSourceEl]);
|
|
105
125
|
var pausePlay = usePausePlay.usePausePlay(videoRef);
|
|
106
126
|
return React.createElement("figure", {
|
|
107
127
|
className: classnames(Base_module.figure, (_b = {}, _b["".concat(Base_module[aspectRatio], " ").concat(Base_module.aspectRatioWrapper)] = Boolean(aspectRatio), _b))
|
|
@@ -118,13 +138,7 @@ var VideoPlayer = function (_a) {
|
|
|
118
138
|
autoPlay: prefersReducedMotion ? false : autoplay,
|
|
119
139
|
playsInline: true,
|
|
120
140
|
tabIndex: -1
|
|
121
|
-
},
|
|
122
|
-
src: hostedAssets.assetUrl("".concat(source, ".webm")),
|
|
123
|
-
type: "video/webm"
|
|
124
|
-
}), React.createElement("source", {
|
|
125
|
-
src: hostedAssets.assetUrl("".concat(source, ".mp4")),
|
|
126
|
-
type: "video/mp4"
|
|
127
|
-
})), React.createElement(IconButton.IconButton, {
|
|
141
|
+
}, sourceEl), React.createElement(IconButton.IconButton, {
|
|
128
142
|
onClick: function () {
|
|
129
143
|
return pausePlay.toggle();
|
|
130
144
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoPlayer.cjs","sources":["../../../../../src/Illustration/subcomponents/VideoPlayer/VideoPlayer.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\"\nimport classnames from \"classnames\"\nimport { assetUrl } from \"@kaizen/hosted-assets\"\nimport { IconButton } from \"~components/Button\"\nimport { canPlayWebm } from \"../../utils/canPlayWebm\"\nimport { usePausePlay } from \"../../utils/usePausePlay\"\nimport styles from \"../Base/Base.module.scss\"\n\nexport type VideoPlayerProps = {\n /**\n * Specifies whether the animation plays as soon as it is rendered.\n * If the user has enabled prefer-reduced-motion their preferences\n * take precedent over this prop.\n */\n autoplay?: boolean\n\n /**\n * Replay from start when active animation reaches the end of the animation.\n */\n loop?: boolean\n\n /**\n * Fallback image. Used when rendering of the asset fails, or as a\n * poster for the video player.\n */\n fallback: string\n\n /**\n * The path of the animation source, excluding the file extension. This\n * Player will preference Webm over mp4.\n */\n source: string\n\n /**\n * Aspect ratio that is set on the illustration in Scene/Spot which wraps the\n * component in a container, forcing the aspect ratio.\n */\n aspectRatio?: \"landscape\" | \"portrait\" | \"square\"\n\n onEnded?: () => void\n}\n\nexport const VideoPlayer = ({\n autoplay = true,\n loop = false,\n fallback,\n source,\n aspectRatio,\n onEnded,\n}: VideoPlayerProps): JSX.Element => {\n const videoRef = useRef<HTMLVideoElement>(null)\n const [prefersReducedMotion, setPrefersReducedMotion] =\n React.useState<boolean>(true)\n\n useEffect(() => {\n /**\n * Setting `muted` on the player is required in Safari/Webkit and older\n * versions of Chome for the video to autoplay (regardless of whether\n * the format contains an audio stream or not).\n *\n * React does not guarentee the `muted` attribute is set on the\n * `video` element. So on load we force set this attribute. See issue:\n * https://github.com/facebook/react/issues/10389\n */\n const { current: videoElement } = videoRef\n if (videoElement !== null) {\n videoElement.setAttribute(\"muted\", \"\")\n }\n }, [])\n\n useEffect(() => {\n // when the source of the animation is updated, we need to reload the asset\n // to ensure the video player is in sync with the new source.\n const { current: videoElement } = videoRef\n if (videoElement !== null) {\n videoElement.load()\n }\n }, [source])\n\n useEffect(() => {\n if (!window) return\n\n const reducedMotionQuery = window.matchMedia(\n \"(prefers-reduced-motion: reduce)\"\n )\n setPrefersReducedMotion(reducedMotionQuery.matches)\n const updateMotionPreferences = (): void => {\n const { matches = false } = window.matchMedia(\n \"(prefers-reduced-motion: reduce)\"\n )\n setPrefersReducedMotion(matches)\n }\n\n const isLegacyEdge = navigator.userAgent.match(/Edge/)\n\n const isUnsupportedSafari =\n window.matchMedia(\"\").addEventListener === undefined\n\n if (isLegacyEdge || isUnsupportedSafari) return\n\n reducedMotionQuery.addEventListener(\"change\", updateMotionPreferences, true)\n\n return function cleanup() {\n reducedMotionQuery.removeEventListener(\"change\", updateMotionPreferences)\n }\n }, [])\n\n useEffect(() => {\n const { current: videoElement } = videoRef\n if (!videoElement) return\n\n if (prefersReducedMotion) {\n videoElement.pause()\n } else if (autoplay && !prefersReducedMotion) {\n try {\n // Older browsers may not return a promise, so .play could return undefined\n videoElement.play()?.catch(() => {\n /*\n * An DOMException _may_ be raised by some browsers if we\n * programatically interact with the video before the\n * user has interacted with the page. This is okay - so\n * we're going to catch this error without handling it. See:\n * https://developer.mozilla.org/en-US/docs/Web/Media/Autoplay_guide#autoplay_availability\n */\n })\n } catch (e) {\n /**\n * Older browsers will raise a synchronous error because their first implementation\n * of `.play` was not a promise.\n */\n }\n }\n /**\n * Chrome seems to have an issue with changes to autoplay after the video\n * has been mounted. If there is a change in autoplay we need to force the\n * play() method to be called.\n */\n }, [prefersReducedMotion, autoplay])\n\n useEffect(() => {\n // Add event listeners for the video element\n const { current: videoElement } = videoRef\n if (!videoElement || !onEnded) return\n\n videoElement.addEventListener(\"ended\", onEnded)\n\n return function cleanup() {\n videoElement.removeEventListener(\"ended\", onEnded)\n }\n }, [videoRef])\n\n const pausePlay = usePausePlay(videoRef)\n\n return (\n <figure\n className={classnames(styles.figure, {\n [`${styles[aspectRatio!]} ${styles.aspectRatioWrapper}`]:\n Boolean(aspectRatio),\n })}\n >\n <video\n muted={true}\n aria-hidden={true}\n preload=\"metadata\"\n ref={videoRef}\n width=\"100%\"\n data-testid=\"kz-video-player\"\n className={styles.wrapper}\n loop={loop}\n poster={assetUrl(`${fallback}.png`)}\n autoPlay={prefersReducedMotion ? false : autoplay}\n playsInline={true}\n tabIndex={-1}\n >\n {/**\n * This seems counter-intuitive, but webm support is codec specific.\n * Only offer webm if we are positive the browser supports it.\n * Reference: https://bugs.webkit.org/show_bug.cgi?id=216652#c1\n */}\n {canPlayWebm() && (\n <source src={assetUrl(`${source}.webm`)} type=\"video/webm\" />\n )}\n <source src={assetUrl(`${source}.mp4`)} type=\"video/mp4\" />\n </video>\n <IconButton\n onClick={(): void => pausePlay.toggle()}\n icon={pausePlay.icon}\n label={pausePlay.label}\n classNameOverride={styles.pausePlayButton}\n />\n </figure>\n )\n}\n"],"names":["VideoPlayer","_a","_c","autoplay","_d","loop","fallback","source","aspectRatio","onEnded","videoRef","useRef","_e","React","useState","prefersReducedMotion","setPrefersReducedMotion","useEffect","videoElement","current","setAttribute","load","window","reducedMotionQuery","matchMedia","matches","updateMotionPreferences","isLegacyEdge","navigator","userAgent","match","isUnsupportedSafari","addEventListener","undefined","cleanup","removeEventListener","pause","play","catch","e","pausePlay","usePausePlay","className","classnames","styles","figure","_b","concat","aspectRatioWrapper","Boolean","createElement","muted","preload","ref","width","wrapper","poster","assetUrl","autoPlay","playsInline","tabIndex","canPlayWebm","src","type","IconButton","onClick","toggle","icon","label","classNameOverride","pausePlayButton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VideoPlayer.cjs","sources":["../../../../../src/Illustration/subcomponents/VideoPlayer/VideoPlayer.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\"\nimport classnames from \"classnames\"\nimport { assetUrl } from \"@kaizen/hosted-assets\"\nimport { IconButton } from \"~components/Button\"\nimport { canPlayWebm } from \"../../utils/canPlayWebm\"\nimport { usePausePlay } from \"../../utils/usePausePlay\"\nimport styles from \"../Base/Base.module.scss\"\n\nexport type VideoPlayerProps = {\n /**\n * Specifies whether the animation plays as soon as it is rendered.\n * If the user has enabled prefer-reduced-motion their preferences\n * take precedent over this prop.\n */\n autoplay?: boolean\n\n /**\n * Replay from start when active animation reaches the end of the animation.\n */\n loop?: boolean\n\n /**\n * Fallback image. Used when rendering of the asset fails, or as a\n * poster for the video player.\n */\n fallback: string\n\n /**\n * The path of the animation source, excluding the file extension. This\n * Player will preference Webm over mp4.\n */\n source: string\n\n /**\n * Aspect ratio that is set on the illustration in Scene/Spot which wraps the\n * component in a container, forcing the aspect ratio.\n */\n aspectRatio?: \"landscape\" | \"portrait\" | \"square\"\n\n onEnded?: () => void\n}\n\nexport const VideoPlayer = ({\n autoplay = true,\n loop = false,\n fallback,\n source,\n aspectRatio,\n onEnded,\n}: VideoPlayerProps): JSX.Element => {\n const videoRef = useRef<HTMLVideoElement>(null)\n const [prefersReducedMotion, setPrefersReducedMotion] =\n React.useState<boolean>(true)\n const [sourceEl, setSourceEl] = React.useState<React.ReactNode>()\n\n useEffect(() => {\n /**\n * Setting `muted` on the player is required in Safari/Webkit and older\n * versions of Chome for the video to autoplay (regardless of whether\n * the format contains an audio stream or not).\n *\n * React does not guarentee the `muted` attribute is set on the\n * `video` element. So on load we force set this attribute. See issue:\n * https://github.com/facebook/react/issues/10389\n */\n const { current: videoElement } = videoRef\n if (videoElement !== null) {\n videoElement.setAttribute(\"muted\", \"\")\n }\n }, [])\n\n useEffect(() => {\n // when the source of the animation is updated, we need to reload the asset\n // to ensure the video player is in sync with the new source.\n const { current: videoElement } = videoRef\n if (videoElement !== null) {\n videoElement.load()\n }\n }, [source])\n\n useEffect(() => {\n if (!window) return\n\n const reducedMotionQuery = window.matchMedia(\n \"(prefers-reduced-motion: reduce)\"\n )\n setPrefersReducedMotion(reducedMotionQuery.matches)\n const updateMotionPreferences = (): void => {\n const { matches = false } = window.matchMedia(\n \"(prefers-reduced-motion: reduce)\"\n )\n setPrefersReducedMotion(matches)\n }\n\n const isLegacyEdge = navigator.userAgent.match(/Edge/)\n\n const isUnsupportedSafari =\n window.matchMedia(\"\").addEventListener === undefined\n\n if (isLegacyEdge || isUnsupportedSafari) return\n\n reducedMotionQuery.addEventListener(\"change\", updateMotionPreferences, true)\n\n return function cleanup() {\n reducedMotionQuery.removeEventListener(\"change\", updateMotionPreferences)\n }\n }, [])\n\n useEffect(() => {\n const { current: videoElement } = videoRef\n if (!videoElement) return\n\n if (prefersReducedMotion) {\n videoElement.pause()\n } else if (autoplay && !prefersReducedMotion) {\n try {\n // Older browsers may not return a promise, so .play could return undefined\n videoElement.play()?.catch(() => {\n /*\n * An DOMException _may_ be raised by some browsers if we\n * programatically interact with the video before the\n * user has interacted with the page. This is okay - so\n * we're going to catch this error without handling it. See:\n * https://developer.mozilla.org/en-US/docs/Web/Media/Autoplay_guide#autoplay_availability\n */\n })\n } catch (e) {\n /**\n * Older browsers will raise a synchronous error because their first implementation\n * of `.play` was not a promise.\n */\n }\n }\n /**\n * Chrome seems to have an issue with changes to autoplay after the video\n * has been mounted. If there is a change in autoplay we need to force the\n * play() method to be called.\n */\n }, [prefersReducedMotion, autoplay])\n\n useEffect(() => {\n // Add event listeners for the video element\n const { current: videoElement } = videoRef\n if (!videoElement || !onEnded) return\n\n videoElement.addEventListener(\"ended\", onEnded)\n\n return function cleanup() {\n videoElement.removeEventListener(\"ended\", onEnded)\n }\n }, [videoRef])\n\n useEffect(() => {\n /**\n * This seems counter-intuitive, but webm support is codec specific.\n * Only offer webm if we are positive the browser supports it.\n * Reference: https://bugs.webkit.org/show_bug.cgi?id=216652#c1\n */\n canPlayWebm() ? (\n setSourceEl(\n <>\n <source src={assetUrl(`${source}.webm`)} type=\"video/webm\" />\n <source src={assetUrl(`${source}.mp4`)} type=\"video/mp4\" />\n </>\n )\n ) : (\n <source src={assetUrl(`${source}.mp4`)} type=\"video/mp4\" />\n )\n }, [setSourceEl])\n\n const pausePlay = usePausePlay(videoRef)\n\n return (\n <figure\n className={classnames(styles.figure, {\n [`${styles[aspectRatio!]} ${styles.aspectRatioWrapper}`]:\n Boolean(aspectRatio),\n })}\n >\n <video\n muted={true}\n aria-hidden={true}\n preload=\"metadata\"\n ref={videoRef}\n width=\"100%\"\n data-testid=\"kz-video-player\"\n className={styles.wrapper}\n loop={loop}\n poster={assetUrl(`${fallback}.png`)}\n autoPlay={prefersReducedMotion ? false : autoplay}\n playsInline={true}\n tabIndex={-1}\n >\n {sourceEl}\n </video>\n <IconButton\n onClick={(): void => pausePlay.toggle()}\n icon={pausePlay.icon}\n label={pausePlay.label}\n classNameOverride={styles.pausePlayButton}\n />\n </figure>\n )\n}\n"],"names":["VideoPlayer","_a","_c","autoplay","_d","loop","fallback","source","aspectRatio","onEnded","videoRef","useRef","_e","React","useState","prefersReducedMotion","setPrefersReducedMotion","_f","sourceEl","setSourceEl","useEffect","videoElement","current","setAttribute","load","window","reducedMotionQuery","matchMedia","matches","updateMotionPreferences","isLegacyEdge","navigator","userAgent","match","isUnsupportedSafari","addEventListener","undefined","cleanup","removeEventListener","pause","play","catch","e","canPlayWebm","createElement","Fragment","src","assetUrl","concat","type","pausePlay","usePausePlay","className","classnames","styles","figure","_b","aspectRatioWrapper","Boolean","muted","preload","ref","width","wrapper","poster","autoPlay","playsInline","tabIndex","IconButton","onClick","toggle","icon","label","classNameOverride","pausePlayButton"],"mappings":"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"}
|
|
@@ -14,10 +14,11 @@ var TabList = function (props) {
|
|
|
14
14
|
_a = props.noPadding,
|
|
15
15
|
noPadding = _a === void 0 ? false : _a,
|
|
16
16
|
children = props.children,
|
|
17
|
-
|
|
17
|
+
classNameOverride = props.classNameOverride,
|
|
18
|
+
restProps = tslib.__rest(props, ["aria-label", "noPadding", "children", "classNameOverride"]);
|
|
18
19
|
return React.createElement(tabs.TabList, tslib.__assign({
|
|
19
20
|
"aria-label": ariaLabel,
|
|
20
|
-
className: classnames(TabList_module.tabList, noPadding && TabList_module.noPadding)
|
|
21
|
+
className: classnames(TabList_module.tabList, classNameOverride, noPadding && TabList_module.noPadding)
|
|
21
22
|
}, restProps), children);
|
|
22
23
|
};
|
|
23
24
|
exports.TabList = TabList;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabList.cjs","sources":["../../../../src/Tabs/subcomponents/TabList.tsx"],"sourcesContent":["import React, { HTMLAttributes, ReactNode } from \"react\"\nimport { TabList as ReachTabList } from \"@reach/tabs\"\nimport classnames from \"classnames\"\nimport { OverrideClassName } from \"~types/OverrideClassName\"\nimport styles from \"./TabList.module.scss\"\n\nexport type TabListProps = {\n /**\n * Accessible name for the set of tabs\n */\n \"aria-label\": string\n /**\n * Removes the built in padding\n */\n noPadding?: boolean\n children: ReactNode\n} & OverrideClassName<HTMLAttributes<HTMLDivElement>>\n\n/**\n * Wrapper for the tabs themselves\n */\nexport const TabList = (props: TabListProps): JSX.Element => {\n const {\n \"aria-label\": ariaLabel,\n noPadding = false,\n children,\n ...restProps\n } = props\n return (\n <ReachTabList\n aria-label={ariaLabel}\n className={classnames(styles.tabList
|
|
1
|
+
{"version":3,"file":"TabList.cjs","sources":["../../../../src/Tabs/subcomponents/TabList.tsx"],"sourcesContent":["import React, { HTMLAttributes, ReactNode } from \"react\"\nimport { TabList as ReachTabList } from \"@reach/tabs\"\nimport classnames from \"classnames\"\nimport { OverrideClassName } from \"~types/OverrideClassName\"\nimport styles from \"./TabList.module.scss\"\n\nexport type TabListProps = {\n /**\n * Accessible name for the set of tabs\n */\n \"aria-label\": string\n /**\n * Removes the built in padding\n */\n noPadding?: boolean\n children: ReactNode\n} & OverrideClassName<HTMLAttributes<HTMLDivElement>>\n\n/**\n * Wrapper for the tabs themselves\n */\nexport const TabList = (props: TabListProps): JSX.Element => {\n const {\n \"aria-label\": ariaLabel,\n noPadding = false,\n children,\n classNameOverride,\n ...restProps\n } = props\n return (\n <ReachTabList\n aria-label={ariaLabel}\n className={classnames(\n styles.tabList,\n classNameOverride,\n noPadding && styles.noPadding\n )}\n {...restProps}\n >\n {children}\n </ReachTabList>\n )\n}\n"],"names":["TabList","props","ariaLabel","_a","noPadding","children","classNameOverride","restProps","__rest","React","createElement","ReachTabList","__assign","className","classnames","styles","tabList"],"mappings":";;;;;;;;AAkBA;;AAEG;AACI,IAAMA,OAAO,GAAG,SAAAA,CAACC,KAAmB,EAAA;EAEvC,IAAcC,SAAS,GAKrBD,KAAK,CAAA,YAAA,CALgB;IACvBE,EAAA,GAIEF,KAAK,CAAAG,SAJU;IAAjBA,SAAS,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAK,KAAA;IACjBE,QAAQ,GAGNJ,KAAK,CAHCI,QAAA;IACRC,iBAAiB,GAEfL,KAAK,CAAAK,iBAFU;IACdC,SAAS,GACVC,KAAAA,CAAAA,MAAA,CAAAP,KAAK,EANH,CAAA,YAAA,EAAA,WAAA,EAAA,UAAA,EAAA,mBAAA,CAML,CADa;EAEd,OACEQ,KAAA,CAAAC,aAAA,CAACC,YAAY,EAAAC,KAAAA,CAAAA,QAAA,CAAA;IAAA,YAAA,EACCV,SAAS;IACrBW,SAAS,EAAEC,UAAU,CACnBC,cAAM,CAACC,OAAO,EACdV,iBAAiB,EACjBF,SAAS,IAAIW,cAAM,CAACX,SAAS;GAE3B,EAAAG,SAAS,CAEZ,EAAAF,QAAQ,CACI;AAEnB,CAAA;"}
|
|
@@ -30,7 +30,7 @@ const MainActions = /*#__PURE__*/function () {
|
|
|
30
30
|
var menuContent = primaryAction.menuItems.map(function (item, idx) {
|
|
31
31
|
return React.createElement(TitleBlockMenuItem.TitleBlockMenuItem, tslib.__assign({}, item, {
|
|
32
32
|
key: "main-action-primary-menu-item-".concat(idx),
|
|
33
|
-
|
|
33
|
+
"data-automation-id": "main-action-primary-menu-item-".concat(idx),
|
|
34
34
|
"data-testid": "main-action-primary-menu-item-".concat(idx)
|
|
35
35
|
}));
|
|
36
36
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MainActions.cjs","sources":["../../../../src/TitleBlockZen/subcomponents/MainActions.tsx"],"sourcesContent":["import React from \"react\"\nimport { Button, IconButton } from \"~components/Button\"\nimport { ChevronDownIcon, MeatballsIcon } from \"~components/Icon\"\nimport { Menu, MenuList } from \"~components/Menu\"\nimport { DefaultActionProps, PrimaryActionProps } from \"../types\"\nimport { isMenuGroupNotButton } from \"../utils\"\nimport {\n TitleBlockMenuItem,\n TitleBlockMenuItemProps,\n} from \"./TitleBlockMenuItem\"\nimport { Toolbar } from \"./Toolbar\"\nimport styles from \"./MainActions.module.scss\"\n\ntype MainActionsProps = {\n primaryAction?: PrimaryActionProps\n defaultAction?: DefaultActionProps\n reversed?: boolean\n overflowMenuItems?: TitleBlockMenuItemProps[]\n showOverflowMenu?: boolean\n}\n\nexport const MainActions = ({\n primaryAction,\n defaultAction,\n reversed = false,\n overflowMenuItems,\n showOverflowMenu = false,\n}: MainActionsProps): JSX.Element => {\n let items\n if (primaryAction && isMenuGroupNotButton(primaryAction)) {\n const menuContent = primaryAction.menuItems.map((item, idx) => (\n <TitleBlockMenuItem\n {...item}\n key={`main-action-primary-menu-item-${idx}`}\n automationId={`main-action-primary-menu-item-${idx}`}\n data-testid={`main-action-primary-menu-item-${idx}`}\n />\n ))\n\n items = [\n ...(defaultAction\n ? [\n {\n key: \"defaultAction\",\n node: (\n <Button\n {...{\n ...defaultAction,\n reversed:\n defaultAction.reversed !== undefined\n ? defaultAction.reversed\n : reversed,\n }}\n data-automation-id=\"title-block-default-action-button\"\n data-testid=\"title-block-default-action-button\"\n />\n ),\n },\n ]\n : []),\n ...(primaryAction\n ? [\n {\n key: \"primaryAction\",\n node: (\n <Menu\n align=\"right\"\n button={\n <Button\n label={primaryAction.label}\n primary\n reversed={reversed}\n icon={<ChevronDownIcon role=\"presentation\" />}\n iconPosition=\"end\"\n data-automation-id=\"title-block-primary-action-button\"\n data-testid=\"title-block-primary-action-button\"\n badge={\n primaryAction.badge\n ? {\n ...primaryAction.badge,\n variant: \"dark\",\n }\n : undefined\n }\n />\n }\n >\n <MenuList>{menuContent}</MenuList>\n </Menu>\n ),\n },\n ]\n : []),\n ]\n } else {\n items = [\n ...(defaultAction\n ? [\n {\n key: \"defaultAction\",\n node: (\n <Button\n {...{\n ...defaultAction,\n reversed:\n defaultAction.reversed !== undefined\n ? defaultAction.reversed\n : reversed,\n }}\n data-automation-id=\"title-block-default-action-button\"\n data-testid=\"title-block-default-action-button\"\n />\n ),\n },\n ]\n : []),\n ...(primaryAction\n ? [\n {\n key: \"primaryAction\",\n node: (\n <Button\n {...{\n ...primaryAction,\n primary:\n primaryAction.primary !== undefined\n ? primaryAction.primary\n : true,\n reversed:\n primaryAction.reversed !== undefined\n ? primaryAction.reversed\n : reversed,\n }}\n data-automation-id=\"title-block-primary-action-button\"\n data-testid=\"title-block-primary-action-button\"\n badge={\n primaryAction.badge\n ? {\n ...primaryAction.badge,\n variant: \"dark\",\n }\n : undefined\n }\n />\n ),\n },\n ]\n : []),\n ]\n }\n\n if (overflowMenuItems && showOverflowMenu && overflowMenuItems.length > 0) {\n items = [\n {\n key: \"overflowMenu\",\n node: (\n <Menu\n align=\"right\"\n button={\n <IconButton\n label=\"Open secondary menu\"\n reversed={reversed}\n icon={<MeatballsIcon role=\"presentation\" />}\n />\n }\n >\n <MenuList>\n {overflowMenuItems.map((menuItem, idx) => (\n <TitleBlockMenuItem\n {...menuItem}\n key={`main-action-overflow-item-menu-item-${idx}`}\n />\n ))}\n </MenuList>\n </Menu>\n ),\n },\n ...items,\n ]\n }\n\n return (\n <div className={styles.mainActionsContainer}>\n <Toolbar\n items={items}\n automationId=\"title-block-main-actions-toolbar\"\n data-testid=\"title-block-main-actions-toolbar\"\n />\n </div>\n )\n}\n\nMainActions.displayName = \"MainActions\"\n"],"names":["MainActions","_a","primaryAction","defaultAction","_b","reversed","overflowMenuItems","_c","showOverflowMenu","items","isMenuGroupNotButton","menuContent","menuItems","map","item","idx","React","createElement","TitleBlockMenuItem","key","automationId","concat","__spreadArray","node","Button","__assign","undefined","Menu","align","button","label","primary","icon","ChevronDownIcon","role","iconPosition","badge","variant","MenuList","length","IconButton","MeatballsIcon","menuItem","className","styles","mainActionsContainer","Toolbar","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MainActions.cjs","sources":["../../../../src/TitleBlockZen/subcomponents/MainActions.tsx"],"sourcesContent":["import React from \"react\"\nimport { Button, IconButton } from \"~components/Button\"\nimport { ChevronDownIcon, MeatballsIcon } from \"~components/Icon\"\nimport { Menu, MenuList } from \"~components/Menu\"\nimport {\n DefaultActionProps,\n PrimaryActionProps,\n TitleBlockMenuItemProps,\n} from \"../types\"\nimport { isMenuGroupNotButton } from \"../utils\"\nimport { TitleBlockMenuItem } from \"./TitleBlockMenuItem\"\nimport { Toolbar } from \"./Toolbar\"\nimport styles from \"./MainActions.module.scss\"\n\ntype MainActionsProps = {\n primaryAction?: PrimaryActionProps\n defaultAction?: DefaultActionProps\n reversed?: boolean\n overflowMenuItems?: TitleBlockMenuItemProps[]\n showOverflowMenu?: boolean\n}\n\nexport const MainActions = ({\n primaryAction,\n defaultAction,\n reversed = false,\n overflowMenuItems,\n showOverflowMenu = false,\n}: MainActionsProps): JSX.Element => {\n let items\n if (primaryAction && isMenuGroupNotButton(primaryAction)) {\n const menuContent = primaryAction.menuItems.map((item, idx) => (\n <TitleBlockMenuItem\n {...item}\n key={`main-action-primary-menu-item-${idx}`}\n data-automation-id={`main-action-primary-menu-item-${idx}`}\n data-testid={`main-action-primary-menu-item-${idx}`}\n />\n ))\n\n items = [\n ...(defaultAction\n ? [\n {\n key: \"defaultAction\",\n node: (\n <Button\n {...{\n ...defaultAction,\n reversed:\n defaultAction.reversed !== undefined\n ? defaultAction.reversed\n : reversed,\n }}\n data-automation-id=\"title-block-default-action-button\"\n data-testid=\"title-block-default-action-button\"\n />\n ),\n },\n ]\n : []),\n ...(primaryAction\n ? [\n {\n key: \"primaryAction\",\n node: (\n <Menu\n align=\"right\"\n button={\n <Button\n label={primaryAction.label}\n primary\n reversed={reversed}\n icon={<ChevronDownIcon role=\"presentation\" />}\n iconPosition=\"end\"\n data-automation-id=\"title-block-primary-action-button\"\n data-testid=\"title-block-primary-action-button\"\n badge={\n primaryAction.badge\n ? {\n ...primaryAction.badge,\n variant: \"dark\",\n }\n : undefined\n }\n />\n }\n >\n <MenuList>{menuContent}</MenuList>\n </Menu>\n ),\n },\n ]\n : []),\n ]\n } else {\n items = [\n ...(defaultAction\n ? [\n {\n key: \"defaultAction\",\n node: (\n <Button\n {...{\n ...defaultAction,\n reversed:\n defaultAction.reversed !== undefined\n ? defaultAction.reversed\n : reversed,\n }}\n data-automation-id=\"title-block-default-action-button\"\n data-testid=\"title-block-default-action-button\"\n />\n ),\n },\n ]\n : []),\n ...(primaryAction\n ? [\n {\n key: \"primaryAction\",\n node: (\n <Button\n {...{\n ...primaryAction,\n primary:\n primaryAction.primary !== undefined\n ? primaryAction.primary\n : true,\n reversed:\n primaryAction.reversed !== undefined\n ? primaryAction.reversed\n : reversed,\n }}\n data-automation-id=\"title-block-primary-action-button\"\n data-testid=\"title-block-primary-action-button\"\n badge={\n primaryAction.badge\n ? {\n ...primaryAction.badge,\n variant: \"dark\",\n }\n : undefined\n }\n />\n ),\n },\n ]\n : []),\n ]\n }\n\n if (overflowMenuItems && showOverflowMenu && overflowMenuItems.length > 0) {\n items = [\n {\n key: \"overflowMenu\",\n node: (\n <Menu\n align=\"right\"\n button={\n <IconButton\n label=\"Open secondary menu\"\n reversed={reversed}\n icon={<MeatballsIcon role=\"presentation\" />}\n />\n }\n >\n <MenuList>\n {overflowMenuItems.map((menuItem, idx) => (\n <TitleBlockMenuItem\n {...menuItem}\n key={`main-action-overflow-item-menu-item-${idx}`}\n />\n ))}\n </MenuList>\n </Menu>\n ),\n },\n ...items,\n ]\n }\n\n return (\n <div className={styles.mainActionsContainer}>\n <Toolbar\n items={items}\n automationId=\"title-block-main-actions-toolbar\"\n data-testid=\"title-block-main-actions-toolbar\"\n />\n </div>\n )\n}\n\nMainActions.displayName = \"MainActions\"\n"],"names":["MainActions","_a","primaryAction","defaultAction","_b","reversed","overflowMenuItems","_c","showOverflowMenu","items","isMenuGroupNotButton","menuContent","menuItems","map","item","idx","React","createElement","TitleBlockMenuItem","__assign","key","concat","__spreadArray","node","Button","undefined","Menu","align","button","label","primary","icon","ChevronDownIcon","role","iconPosition","badge","variant","MenuList","length","IconButton","MeatballsIcon","menuItem","className","styles","mainActionsContainer","Toolbar","automationId","displayName"],"mappings":"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"}
|
|
@@ -40,7 +40,7 @@ var renderPrimaryActionDrawerContent = function (primaryAction, actionType) {
|
|
|
40
40
|
var itemType = menuItemIsLink(item) ? "link" : "action";
|
|
41
41
|
return React.createElement(TitleBlockMenuItem.TitleBlockMenuItem, tslib.__assign({}, item, {
|
|
42
42
|
key: "title-block-mobile-actions-primary-".concat(itemType, "-").concat(idx),
|
|
43
|
-
|
|
43
|
+
"data-automation-id": "title-block-mobile-actions-primary-".concat(itemType, "-").concat(idx),
|
|
44
44
|
"data-testid": "title-block-mobile-actions-primary-".concat(itemType, "-").concat(idx)
|
|
45
45
|
}));
|
|
46
46
|
});
|
|
@@ -52,7 +52,7 @@ var renderDefaultLink = function (defaultAction) {
|
|
|
52
52
|
if ("component" in defaultAction) {
|
|
53
53
|
return React.createElement(TitleBlockMenuItem.TitleBlockMenuItem, tslib.__assign({}, defaultAction, {
|
|
54
54
|
key: "title-block-mobile-actions-default-link",
|
|
55
|
-
|
|
55
|
+
"data-automation-id": "title-block-mobile-actions-default-link",
|
|
56
56
|
"data-testid": "title-block-mobile-actions-default-link"
|
|
57
57
|
}));
|
|
58
58
|
}
|
|
@@ -62,7 +62,7 @@ var renderDefaultLink = function (defaultAction) {
|
|
|
62
62
|
icon: defaultAction.icon,
|
|
63
63
|
disabled: defaultAction.disabled,
|
|
64
64
|
key: "title-block-mobile-actions-default-link",
|
|
65
|
-
|
|
65
|
+
"data-automation-id": "title-block-mobile-actions-default-link",
|
|
66
66
|
"data-testid": "title-block-mobile-actions-default-link"
|
|
67
67
|
});
|
|
68
68
|
};
|
|
@@ -70,7 +70,7 @@ var renderDefaultAction = function (defaultAction) {
|
|
|
70
70
|
if (!defaultActionIsLink(defaultAction)) {
|
|
71
71
|
return React.createElement(TitleBlockMenuItem.TitleBlockMenuItem, tslib.__assign({}, defaultAction, {
|
|
72
72
|
key: "title-block-mobile-actions-default-action",
|
|
73
|
-
|
|
73
|
+
"data-automation-id": "title-block-mobile-actions-default-action",
|
|
74
74
|
"data-testid": "title-block-mobile-actions-default-action"
|
|
75
75
|
}));
|
|
76
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileActions.cjs","sources":["../../../../src/TitleBlockZen/subcomponents/MobileActions.tsx"],"sourcesContent":["import React, { useState } from \"react\"\nimport classnames from \"classnames\"\nimport { FocusOn } from \"react-focus-on\"\nimport { ButtonProps } from \"~components/Button\"\nimport { ChevronDownIcon, ChevronUpIcon } from \"~components/Icon\"\nimport { MenuItem, MenuList, MenuHeading } from \"~components/Menu\"\nimport {\n DefaultActionProps,\n PrimaryActionProps,\n SecondaryActionsProps,\n TitleBlockButtonProps,\n TitleBlockMenuGroup,\n} from \"../types\"\nimport {\n convertSecondaryActionsToMenuItems,\n isMenuGroupNotButton,\n} from \"../utils\"\nimport {\n TitleBlockMenuItem,\n TitleBlockMenuItemProps,\n} from \"./TitleBlockMenuItem\"\n\nimport styles from \"./MobileActions.module.scss\"\n\nconst menuItemIsLink: (item: TitleBlockMenuItemProps) => boolean = item =>\n \"href\" in item\n\nconst defaultActionIsLink: (action: DefaultActionProps) => boolean = action =>\n \"href\" in action\n\nconst defaultActionIsButton: (action: DefaultActionProps) => boolean = action =>\n (!(\"href\" in action) && \"onClick\" in action) || \"component\" in action\n\nconst filterActions = (\n menuItems: TitleBlockMenuItemProps[],\n filterType: \"link\" | \"action\"\n): TitleBlockMenuItemProps[] =>\n menuItems.filter(item =>\n filterType === \"link\" ? menuItemIsLink(item) : !menuItemIsLink(item)\n )\n\n/** Returns a filtered array of TitleBlockMenuItem based on actionType\n * This is use to sort a selectively render the action into a specifc order\n */\nconst renderPrimaryActionDrawerContent = (\n primaryAction: PrimaryActionProps,\n actionType: \"link\" | \"action\"\n): JSX.Element[] | null => {\n if (!primaryAction) return null\n\n if (isMenuGroupNotButton(primaryAction)) {\n const filteredActions = filterActions(primaryAction.menuItems, actionType)\n return filteredActions.map((item, idx) => {\n const itemType = menuItemIsLink(item) ? \"link\" : \"action\"\n\n return (\n <TitleBlockMenuItem\n {...item}\n key={`title-block-mobile-actions-primary-${itemType}-${idx}`}\n automationId={`title-block-mobile-actions-primary-${itemType}-${idx}`}\n data-testid={`title-block-mobile-actions-primary-${itemType}-${idx}`}\n />\n )\n })\n }\n\n return null\n}\n\nconst renderDefaultLink = (\n defaultAction: DefaultActionProps\n): JSX.Element | undefined => {\n if (!defaultActionIsLink(defaultAction)) return\n if (\"component\" in defaultAction) {\n return (\n <TitleBlockMenuItem\n {...defaultAction}\n key=\"title-block-mobile-actions-default-link\"\n automationId=\"title-block-mobile-actions-default-link\"\n data-testid=\"title-block-mobile-actions-default-link\"\n />\n )\n }\n return (\n <MenuItem\n href={defaultAction.href}\n label={defaultAction.label}\n icon={defaultAction.icon}\n disabled={defaultAction.disabled}\n key=\"title-block-mobile-actions-default-link\"\n automationId=\"title-block-mobile-actions-default-link\"\n data-testid=\"title-block-mobile-actions-default-link\"\n />\n )\n}\n\nconst renderDefaultAction = (\n defaultAction: DefaultActionProps\n): JSX.Element | null => {\n if (!defaultActionIsLink(defaultAction)) {\n return (\n <TitleBlockMenuItem\n {...defaultAction}\n key=\"title-block-mobile-actions-default-action\"\n automationId=\"title-block-mobile-actions-default-action\"\n data-testid=\"title-block-mobile-actions-default-action\"\n />\n )\n }\n\n return null\n}\n\nconst renderSecondaryActions = (\n secondaryActions: SecondaryActionsProps | undefined\n): JSX.Element[] | null => {\n if (!secondaryActions) return null\n const secondaryActionMenuItems: TitleBlockMenuItemProps[] =\n convertSecondaryActionsToMenuItems(secondaryActions)\n\n return secondaryActionMenuItems.map((item, idx) => (\n <TitleBlockMenuItem\n {...item}\n key={`title-block-mobile-actions-secondary-action-${idx}`}\n data-testid=\"title-block-mobile-actions-secondary-action\"\n />\n ))\n}\n\nconst renderSecondaryOverflowMenuItems = (\n secondaryOverflowMenuItems: TitleBlockMenuItemProps[]\n): JSX.Element[] =>\n secondaryOverflowMenuItems.map((item, idx) => (\n <TitleBlockMenuItem\n {...item}\n key={`title-block-mobile-actions-overflow-menu-item-${idx}`}\n data-testid=\"title-block-mobile-actions-overflow-menu-item\"\n />\n ))\n\ntype DrawerMenuContentProps = {\n primaryAction?: PrimaryActionProps\n defaultAction?: DefaultActionProps\n secondaryActions?: SecondaryActionsProps\n secondaryOverflowMenuItems?: TitleBlockMenuItemProps[]\n}\n\nconst DrawerMenuContent = ({\n primaryAction,\n defaultAction,\n secondaryActions,\n secondaryOverflowMenuItems,\n}: DrawerMenuContentProps): JSX.Element => {\n const showOtherActionsHeading =\n (defaultAction && defaultActionIsButton(defaultAction)) ||\n secondaryActions ||\n secondaryOverflowMenuItems\n\n return (\n <>\n <MenuList>\n {primaryAction &&\n renderPrimaryActionDrawerContent(primaryAction, \"link\")}\n {defaultAction && renderDefaultLink(defaultAction)}\n {primaryAction &&\n renderPrimaryActionDrawerContent(primaryAction, \"action\")}\n </MenuList>\n {(defaultAction || secondaryActions || secondaryOverflowMenuItems) && (\n <MenuList\n heading={\n showOtherActionsHeading && <MenuHeading>Other actions</MenuHeading>\n }\n >\n {defaultAction && renderDefaultAction(defaultAction)}\n {secondaryActions && renderSecondaryActions(secondaryActions)}\n {secondaryOverflowMenuItems &&\n renderSecondaryOverflowMenuItems(secondaryOverflowMenuItems)}\n </MenuList>\n )}\n </>\n )\n}\n\nconst renderDrawerHandleLabel = (\n label: string,\n icon?: JSX.Element,\n drawerHandleLabelIconPosition?: ButtonProps[\"iconPosition\"]\n): JSX.Element => {\n if (drawerHandleLabelIconPosition === \"end\") {\n return (\n <>\n <span\n className={styles.drawerHandleLabelText}\n data-testid=\"drawer-handle-lable-text\"\n >\n {label}\n </span>\n <>{icon && <span className={styles.drawerHandleIcon}>{icon}</span>}</>\n </>\n )\n } else {\n return (\n <>\n <>{icon && <span className={styles.drawerHandleIcon}>{icon}</span>}</>\n <span\n className={styles.drawerHandleLabelText}\n data-testid=\"drawer-handle-lable-text\"\n >\n {label}\n </span>\n </>\n )\n }\n}\n\ntype HrefAndOnClick = Pick<TitleBlockButtonProps, \"href\" | \"onClick\">\ntype ButtonOrLinkActionProps =\n | HrefAndOnClick\n | TitleBlockButtonProps[\"href\"]\n | TitleBlockButtonProps[\"onClick\"]\ntype ButtonOrLinkProps = {\n action?: ButtonOrLinkActionProps\n children: React.ReactNode\n}\n\nconst ButtonOrLink = ({ action, children }: ButtonOrLinkProps): JSX.Element => {\n if (typeof action === \"object\" && \"onClick\" in action && \"href\" in action) {\n return (\n <a\n onClick={action.onClick}\n href={action.href}\n className={classnames(\n styles.mobileActionsPrimaryLabel,\n styles.mobileActionsPrimaryButton\n )}\n data-testid=\"title-block-mobile-actions-primary-button\"\n >\n {children}\n </a>\n )\n }\n if (typeof action === \"function\") {\n return (\n <button\n type=\"button\"\n onClick={action}\n className={classnames(\n styles.mobileActionsPrimaryLabel,\n styles.mobileActionsPrimaryButton\n )}\n data-testid=\"title-block-mobile-actions-primary-button\"\n >\n {children}\n </button>\n )\n }\n if (typeof action === \"string\") {\n return (\n <a\n href={action}\n className={classnames(\n styles.mobileActionsPrimaryLabel,\n styles.mobileActionsPrimaryButton\n )}\n data-testid=\"title-block-mobile-actions-primary-button\"\n >\n {children}\n </a>\n )\n }\n\n // when there's no action (e.g. primary button is disabled)\n return (\n <button\n type=\"button\"\n className={classnames(\n styles.mobileActionsPrimaryLabel,\n styles.mobileActionsPrimaryButton\n )}\n data-testid=\"title-block-mobile-actions-primary-button\"\n >\n {children}\n </button>\n )\n}\n\nconst getAction = (\n primaryAction: TitleBlockButtonProps\n): ButtonOrLinkActionProps => {\n if (primaryAction && !primaryAction.disabled) {\n if (primaryAction.onClick && primaryAction.href) {\n return {\n href: primaryAction.href,\n onClick: primaryAction.onClick,\n }\n }\n if (primaryAction.onClick) {\n return primaryAction.onClick\n }\n if (primaryAction.href) {\n return primaryAction.href\n }\n }\n\n return undefined\n}\n\ntype DrawerHandleProps = {\n primaryAction: PrimaryActionProps | undefined\n secondaryActions: SecondaryActionsProps | undefined\n defaultAction?: DefaultActionProps | TitleBlockMenuGroup\n secondaryOverflowMenuItems?: TitleBlockMenuItemProps[]\n drawerHandleLabelIconPosition?: ButtonProps[\"iconPosition\"]\n toggleDisplay: () => void\n isOpen: boolean\n}\n\nconst DrawerHandle = ({\n primaryAction,\n secondaryActions,\n defaultAction,\n secondaryOverflowMenuItems,\n drawerHandleLabelIconPosition,\n toggleDisplay,\n isOpen,\n}: DrawerHandleProps): JSX.Element | null => {\n const showDrawer =\n defaultAction || secondaryActions || secondaryOverflowMenuItems\n if (primaryAction) {\n // If the primary action is a menu\n if (isMenuGroupNotButton(primaryAction)) {\n return (\n <div\n className={classnames(\n styles.mobileActionsTopRow,\n styles.mobileActionsTopRowSingleButton\n )}\n data-testid=\"title-block-mobile-actions-drawer-handle\"\n >\n <button\n type=\"button\"\n className={classnames(\n styles.mobileActionsExpandButton,\n styles.mobileActionsPrimaryLabel\n )}\n onClick={toggleDisplay}\n aria-expanded={isOpen}\n >\n {primaryAction.label}\n <span className={styles.mobileActionsChevronSquare}>\n {isOpen ? (\n <ChevronDownIcon role=\"presentation\" />\n ) : (\n <ChevronUpIcon role=\"presentation\" />\n )}\n </span>\n </button>\n </div>\n )\n }\n\n // If the primary action is a button, or has no onClick/href/action\n return (\n <div\n className={classnames(\n styles.mobileActionsTopRow,\n !showDrawer && styles.mobileActionsTopRowSingleButton\n )}\n data-testid=\"title-block-mobile-actions-drawer-handle\"\n >\n {\"component\" in primaryAction ? (\n <primaryAction.component\n className={classnames(\n styles.mobileActionsPrimaryLabel,\n styles.mobileActionsPrimaryButton\n )}\n {...primaryAction}\n >\n {primaryAction.label &&\n renderDrawerHandleLabel(\n primaryAction.label,\n primaryAction.icon,\n drawerHandleLabelIconPosition\n )}\n </primaryAction.component>\n ) : (\n <ButtonOrLink action={getAction(primaryAction)}>\n {renderDrawerHandleLabel(\n primaryAction.label,\n primaryAction.icon,\n drawerHandleLabelIconPosition\n )}\n </ButtonOrLink>\n )}\n\n {/* If there are no secondary etc. actions, just show the button without drawer */}\n {showDrawer && (\n <button\n type=\"button\"\n className={styles.mobileActionsExpandButton}\n onClick={toggleDisplay}\n aria-expanded={isOpen}\n aria-label=\"Other actions\"\n >\n {isOpen ? (\n <ChevronDownIcon role=\"presentation\" />\n ) : (\n <ChevronUpIcon role=\"presentation\" />\n )}\n </button>\n )}\n </div>\n )\n }\n\n // if there are default/secondary actions but no primary action\n if (showDrawer) {\n return (\n <div\n className={classnames(\n styles.mobileActionsTopRow,\n styles.mobileActionsTopRowSingleButton\n )}\n data-testid=\"title-block-mobile-actions-drawer-handle\"\n >\n <button\n type=\"button\"\n className={classnames(\n styles.mobileActionsExpandButton,\n styles.mobileActionsPrimaryLabel\n )}\n onClick={toggleDisplay}\n aria-expanded={isOpen}\n >\n {renderDrawerHandleLabel(\"Other actions\")}\n <span className={styles.mobileActionsChevronSquare}>\n {isOpen ? (\n <ChevronDownIcon role=\"presentation\" />\n ) : (\n <ChevronUpIcon role=\"presentation\" />\n )}\n </span>\n </button>\n </div>\n )\n }\n return null\n}\n\nexport type MobileActionsProps = {\n primaryAction?: PrimaryActionProps\n defaultAction?: DefaultActionProps\n secondaryActions?: SecondaryActionsProps\n secondaryOverflowMenuItems?: TitleBlockMenuItemProps[]\n drawerHandleLabelIconPosition?: ButtonProps[\"iconPosition\"]\n}\n\nexport const MobileActions = ({\n primaryAction,\n defaultAction,\n secondaryActions,\n secondaryOverflowMenuItems,\n drawerHandleLabelIconPosition,\n}: MobileActionsProps): JSX.Element => {\n const [isOpen, setIsOpen] = useState<boolean>(false)\n\n const toggleDisplay = (): void => {\n setIsOpen(!isOpen)\n }\n\n return (\n <div\n className={classnames(\n styles.mobileActionsContainer,\n isOpen && styles.isOpen\n )}\n >\n <FocusOn enabled={isOpen} scrollLock={false}>\n <DrawerHandle\n primaryAction={primaryAction}\n secondaryActions={secondaryActions}\n defaultAction={defaultAction}\n secondaryOverflowMenuItems={secondaryOverflowMenuItems}\n drawerHandleLabelIconPosition={drawerHandleLabelIconPosition}\n toggleDisplay={toggleDisplay}\n isOpen={isOpen}\n />\n {(defaultAction ||\n secondaryActions ||\n secondaryOverflowMenuItems ||\n (primaryAction && isMenuGroupNotButton(primaryAction))) && (\n <div className={styles.mobileActionsMenuContainer}>\n <DrawerMenuContent\n primaryAction={primaryAction}\n defaultAction={defaultAction}\n secondaryActions={secondaryActions}\n secondaryOverflowMenuItems={secondaryOverflowMenuItems}\n />\n </div>\n )}\n </FocusOn>\n </div>\n )\n}\n\nMobileActions.displayName = \"MobileActions\"\n"],"names":["menuItemIsLink","item","defaultActionIsLink","action","defaultActionIsButton","filterActions","menuItems","filterType","filter","renderPrimaryActionDrawerContent","primaryAction","actionType","isMenuGroupNotButton","filteredActions","map","idx","itemType","React","createElement","TitleBlockMenuItem","__assign","key","concat","automationId","renderDefaultLink","defaultAction","MenuItem","href","label","icon","disabled","renderDefaultAction","renderSecondaryActions","secondaryActions","secondaryActionMenuItems","convertSecondaryActionsToMenuItems","renderSecondaryOverflowMenuItems","secondaryOverflowMenuItems","DrawerMenuContent","_a","showOtherActionsHeading","Fragment","MenuList","heading","MenuHeading","renderDrawerHandleLabel","drawerHandleLabelIconPosition","className","styles","drawerHandleLabelText","drawerHandleIcon","ButtonOrLink","children","onClick","classnames","mobileActionsPrimaryLabel","mobileActionsPrimaryButton","type","getAction","undefined","DrawerHandle","toggleDisplay","isOpen","showDrawer","mobileActionsTopRow","mobileActionsTopRowSingleButton","mobileActionsExpandButton","mobileActionsChevronSquare","ChevronDownIcon","role","ChevronUpIcon","component","MobileActions","_b","useState","setIsOpen","mobileActionsContainer","FocusOn","enabled","scrollLock","mobileActionsMenuContainer","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MobileActions.cjs","sources":["../../../../src/TitleBlockZen/subcomponents/MobileActions.tsx"],"sourcesContent":["import React, { useState } from \"react\"\nimport classnames from \"classnames\"\nimport { FocusOn } from \"react-focus-on\"\nimport { ButtonProps } from \"~components/Button\"\nimport { ChevronDownIcon, ChevronUpIcon } from \"~components/Icon\"\nimport { MenuItem, MenuList, MenuHeading } from \"~components/Menu\"\nimport {\n DefaultActionProps,\n PrimaryActionProps,\n SecondaryActionsProps,\n TitleBlockButtonProps,\n TitleBlockMenuGroup,\n TitleBlockMenuItemProps,\n} from \"../types\"\nimport {\n convertSecondaryActionsToMenuItems,\n isMenuGroupNotButton,\n} from \"../utils\"\nimport { TitleBlockMenuItem } from \"./TitleBlockMenuItem\"\n\nimport styles from \"./MobileActions.module.scss\"\n\nconst menuItemIsLink: (item: TitleBlockMenuItemProps) => boolean = item =>\n \"href\" in item\n\nconst defaultActionIsLink: (action: DefaultActionProps) => boolean = action =>\n \"href\" in action\n\nconst defaultActionIsButton: (action: DefaultActionProps) => boolean = action =>\n (!(\"href\" in action) && \"onClick\" in action) || \"component\" in action\n\nconst filterActions = (\n menuItems: TitleBlockMenuItemProps[],\n filterType: \"link\" | \"action\"\n): TitleBlockMenuItemProps[] =>\n menuItems.filter(item =>\n filterType === \"link\" ? menuItemIsLink(item) : !menuItemIsLink(item)\n )\n\n/** Returns a filtered array of TitleBlockMenuItem based on actionType\n * This is use to sort a selectively render the action into a specifc order\n */\nconst renderPrimaryActionDrawerContent = (\n primaryAction: PrimaryActionProps,\n actionType: \"link\" | \"action\"\n): JSX.Element[] | null => {\n if (!primaryAction) return null\n\n if (isMenuGroupNotButton(primaryAction)) {\n const filteredActions = filterActions(primaryAction.menuItems, actionType)\n return filteredActions.map((item, idx) => {\n const itemType = menuItemIsLink(item) ? \"link\" : \"action\"\n\n return (\n <TitleBlockMenuItem\n {...item}\n key={`title-block-mobile-actions-primary-${itemType}-${idx}`}\n data-automation-id={`title-block-mobile-actions-primary-${itemType}-${idx}`}\n data-testid={`title-block-mobile-actions-primary-${itemType}-${idx}`}\n />\n )\n })\n }\n\n return null\n}\n\nconst renderDefaultLink = (\n defaultAction: DefaultActionProps\n): JSX.Element | undefined => {\n if (!defaultActionIsLink(defaultAction)) return\n if (\"component\" in defaultAction) {\n return (\n <TitleBlockMenuItem\n {...defaultAction}\n key=\"title-block-mobile-actions-default-link\"\n data-automation-id=\"title-block-mobile-actions-default-link\"\n data-testid=\"title-block-mobile-actions-default-link\"\n />\n )\n }\n return (\n <MenuItem\n href={defaultAction.href}\n label={defaultAction.label}\n icon={defaultAction.icon}\n disabled={defaultAction.disabled}\n key=\"title-block-mobile-actions-default-link\"\n data-automation-id=\"title-block-mobile-actions-default-link\"\n data-testid=\"title-block-mobile-actions-default-link\"\n />\n )\n}\n\nconst renderDefaultAction = (\n defaultAction: DefaultActionProps\n): JSX.Element | null => {\n if (!defaultActionIsLink(defaultAction)) {\n return (\n <TitleBlockMenuItem\n {...defaultAction}\n key=\"title-block-mobile-actions-default-action\"\n data-automation-id=\"title-block-mobile-actions-default-action\"\n data-testid=\"title-block-mobile-actions-default-action\"\n />\n )\n }\n\n return null\n}\n\nconst renderSecondaryActions = (\n secondaryActions: SecondaryActionsProps | undefined\n): JSX.Element[] | null => {\n if (!secondaryActions) return null\n const secondaryActionMenuItems: TitleBlockMenuItemProps[] =\n convertSecondaryActionsToMenuItems(secondaryActions)\n\n return secondaryActionMenuItems.map((item, idx) => (\n <TitleBlockMenuItem\n {...item}\n key={`title-block-mobile-actions-secondary-action-${idx}`}\n data-testid=\"title-block-mobile-actions-secondary-action\"\n />\n ))\n}\n\nconst renderSecondaryOverflowMenuItems = (\n secondaryOverflowMenuItems: TitleBlockMenuItemProps[]\n): JSX.Element[] =>\n secondaryOverflowMenuItems.map((item, idx) => (\n <TitleBlockMenuItem\n {...item}\n key={`title-block-mobile-actions-overflow-menu-item-${idx}`}\n data-testid=\"title-block-mobile-actions-overflow-menu-item\"\n />\n ))\n\ntype DrawerMenuContentProps = {\n primaryAction?: PrimaryActionProps\n defaultAction?: DefaultActionProps\n secondaryActions?: SecondaryActionsProps\n secondaryOverflowMenuItems?: TitleBlockMenuItemProps[]\n}\n\nconst DrawerMenuContent = ({\n primaryAction,\n defaultAction,\n secondaryActions,\n secondaryOverflowMenuItems,\n}: DrawerMenuContentProps): JSX.Element => {\n const showOtherActionsHeading =\n (defaultAction && defaultActionIsButton(defaultAction)) ||\n secondaryActions ||\n secondaryOverflowMenuItems\n\n return (\n <>\n <MenuList>\n {primaryAction &&\n renderPrimaryActionDrawerContent(primaryAction, \"link\")}\n {defaultAction && renderDefaultLink(defaultAction)}\n {primaryAction &&\n renderPrimaryActionDrawerContent(primaryAction, \"action\")}\n </MenuList>\n {(defaultAction || secondaryActions || secondaryOverflowMenuItems) && (\n <MenuList\n heading={\n showOtherActionsHeading && <MenuHeading>Other actions</MenuHeading>\n }\n >\n {defaultAction && renderDefaultAction(defaultAction)}\n {secondaryActions && renderSecondaryActions(secondaryActions)}\n {secondaryOverflowMenuItems &&\n renderSecondaryOverflowMenuItems(secondaryOverflowMenuItems)}\n </MenuList>\n )}\n </>\n )\n}\n\nconst renderDrawerHandleLabel = (\n label: string,\n icon?: JSX.Element,\n drawerHandleLabelIconPosition?: ButtonProps[\"iconPosition\"]\n): JSX.Element => {\n if (drawerHandleLabelIconPosition === \"end\") {\n return (\n <>\n <span\n className={styles.drawerHandleLabelText}\n data-testid=\"drawer-handle-lable-text\"\n >\n {label}\n </span>\n <>{icon && <span className={styles.drawerHandleIcon}>{icon}</span>}</>\n </>\n )\n } else {\n return (\n <>\n <>{icon && <span className={styles.drawerHandleIcon}>{icon}</span>}</>\n <span\n className={styles.drawerHandleLabelText}\n data-testid=\"drawer-handle-lable-text\"\n >\n {label}\n </span>\n </>\n )\n }\n}\n\ntype HrefAndOnClick = Pick<TitleBlockButtonProps, \"href\" | \"onClick\">\ntype ButtonOrLinkActionProps =\n | HrefAndOnClick\n | TitleBlockButtonProps[\"href\"]\n | TitleBlockButtonProps[\"onClick\"]\ntype ButtonOrLinkProps = {\n action?: ButtonOrLinkActionProps\n children: React.ReactNode\n}\n\nconst ButtonOrLink = ({ action, children }: ButtonOrLinkProps): JSX.Element => {\n if (typeof action === \"object\" && \"onClick\" in action && \"href\" in action) {\n return (\n <a\n onClick={action.onClick}\n href={action.href}\n className={classnames(\n styles.mobileActionsPrimaryLabel,\n styles.mobileActionsPrimaryButton\n )}\n data-testid=\"title-block-mobile-actions-primary-button\"\n >\n {children}\n </a>\n )\n }\n if (typeof action === \"function\") {\n return (\n <button\n type=\"button\"\n onClick={action}\n className={classnames(\n styles.mobileActionsPrimaryLabel,\n styles.mobileActionsPrimaryButton\n )}\n data-testid=\"title-block-mobile-actions-primary-button\"\n >\n {children}\n </button>\n )\n }\n if (typeof action === \"string\") {\n return (\n <a\n href={action}\n className={classnames(\n styles.mobileActionsPrimaryLabel,\n styles.mobileActionsPrimaryButton\n )}\n data-testid=\"title-block-mobile-actions-primary-button\"\n >\n {children}\n </a>\n )\n }\n\n // when there's no action (e.g. primary button is disabled)\n return (\n <button\n type=\"button\"\n className={classnames(\n styles.mobileActionsPrimaryLabel,\n styles.mobileActionsPrimaryButton\n )}\n data-testid=\"title-block-mobile-actions-primary-button\"\n >\n {children}\n </button>\n )\n}\n\nconst getAction = (\n primaryAction: TitleBlockButtonProps\n): ButtonOrLinkActionProps => {\n if (primaryAction && !primaryAction.disabled) {\n if (primaryAction.onClick && primaryAction.href) {\n return {\n href: primaryAction.href,\n onClick: primaryAction.onClick,\n }\n }\n if (primaryAction.onClick) {\n return primaryAction.onClick\n }\n if (primaryAction.href) {\n return primaryAction.href\n }\n }\n\n return undefined\n}\n\ntype DrawerHandleProps = {\n primaryAction: PrimaryActionProps | undefined\n secondaryActions: SecondaryActionsProps | undefined\n defaultAction?: DefaultActionProps | TitleBlockMenuGroup\n secondaryOverflowMenuItems?: TitleBlockMenuItemProps[]\n drawerHandleLabelIconPosition?: ButtonProps[\"iconPosition\"]\n toggleDisplay: () => void\n isOpen: boolean\n}\n\nconst DrawerHandle = ({\n primaryAction,\n secondaryActions,\n defaultAction,\n secondaryOverflowMenuItems,\n drawerHandleLabelIconPosition,\n toggleDisplay,\n isOpen,\n}: DrawerHandleProps): JSX.Element | null => {\n const showDrawer =\n defaultAction || secondaryActions || secondaryOverflowMenuItems\n if (primaryAction) {\n // If the primary action is a menu\n if (isMenuGroupNotButton(primaryAction)) {\n return (\n <div\n className={classnames(\n styles.mobileActionsTopRow,\n styles.mobileActionsTopRowSingleButton\n )}\n data-testid=\"title-block-mobile-actions-drawer-handle\"\n >\n <button\n type=\"button\"\n className={classnames(\n styles.mobileActionsExpandButton,\n styles.mobileActionsPrimaryLabel\n )}\n onClick={toggleDisplay}\n aria-expanded={isOpen}\n >\n {primaryAction.label}\n <span className={styles.mobileActionsChevronSquare}>\n {isOpen ? (\n <ChevronDownIcon role=\"presentation\" />\n ) : (\n <ChevronUpIcon role=\"presentation\" />\n )}\n </span>\n </button>\n </div>\n )\n }\n\n // If the primary action is a button, or has no onClick/href/action\n return (\n <div\n className={classnames(\n styles.mobileActionsTopRow,\n !showDrawer && styles.mobileActionsTopRowSingleButton\n )}\n data-testid=\"title-block-mobile-actions-drawer-handle\"\n >\n {\"component\" in primaryAction ? (\n <primaryAction.component\n className={classnames(\n styles.mobileActionsPrimaryLabel,\n styles.mobileActionsPrimaryButton\n )}\n {...primaryAction}\n >\n {primaryAction.label &&\n renderDrawerHandleLabel(\n primaryAction.label,\n primaryAction.icon,\n drawerHandleLabelIconPosition\n )}\n </primaryAction.component>\n ) : (\n <ButtonOrLink action={getAction(primaryAction)}>\n {renderDrawerHandleLabel(\n primaryAction.label,\n primaryAction.icon,\n drawerHandleLabelIconPosition\n )}\n </ButtonOrLink>\n )}\n\n {/* If there are no secondary etc. actions, just show the button without drawer */}\n {showDrawer && (\n <button\n type=\"button\"\n className={styles.mobileActionsExpandButton}\n onClick={toggleDisplay}\n aria-expanded={isOpen}\n aria-label=\"Other actions\"\n >\n {isOpen ? (\n <ChevronDownIcon role=\"presentation\" />\n ) : (\n <ChevronUpIcon role=\"presentation\" />\n )}\n </button>\n )}\n </div>\n )\n }\n\n // if there are default/secondary actions but no primary action\n if (showDrawer) {\n return (\n <div\n className={classnames(\n styles.mobileActionsTopRow,\n styles.mobileActionsTopRowSingleButton\n )}\n data-testid=\"title-block-mobile-actions-drawer-handle\"\n >\n <button\n type=\"button\"\n className={classnames(\n styles.mobileActionsExpandButton,\n styles.mobileActionsPrimaryLabel\n )}\n onClick={toggleDisplay}\n aria-expanded={isOpen}\n >\n {renderDrawerHandleLabel(\"Other actions\")}\n <span className={styles.mobileActionsChevronSquare}>\n {isOpen ? (\n <ChevronDownIcon role=\"presentation\" />\n ) : (\n <ChevronUpIcon role=\"presentation\" />\n )}\n </span>\n </button>\n </div>\n )\n }\n return null\n}\n\nexport type MobileActionsProps = {\n primaryAction?: PrimaryActionProps\n defaultAction?: DefaultActionProps\n secondaryActions?: SecondaryActionsProps\n secondaryOverflowMenuItems?: TitleBlockMenuItemProps[]\n drawerHandleLabelIconPosition?: ButtonProps[\"iconPosition\"]\n}\n\nexport const MobileActions = ({\n primaryAction,\n defaultAction,\n secondaryActions,\n secondaryOverflowMenuItems,\n drawerHandleLabelIconPosition,\n}: MobileActionsProps): JSX.Element => {\n const [isOpen, setIsOpen] = useState<boolean>(false)\n\n const toggleDisplay = (): void => {\n setIsOpen(!isOpen)\n }\n\n return (\n <div\n className={classnames(\n styles.mobileActionsContainer,\n isOpen && styles.isOpen\n )}\n >\n <FocusOn enabled={isOpen} scrollLock={false}>\n <DrawerHandle\n primaryAction={primaryAction}\n secondaryActions={secondaryActions}\n defaultAction={defaultAction}\n secondaryOverflowMenuItems={secondaryOverflowMenuItems}\n drawerHandleLabelIconPosition={drawerHandleLabelIconPosition}\n toggleDisplay={toggleDisplay}\n isOpen={isOpen}\n />\n {(defaultAction ||\n secondaryActions ||\n secondaryOverflowMenuItems ||\n (primaryAction && isMenuGroupNotButton(primaryAction))) && (\n <div className={styles.mobileActionsMenuContainer}>\n <DrawerMenuContent\n primaryAction={primaryAction}\n defaultAction={defaultAction}\n secondaryActions={secondaryActions}\n secondaryOverflowMenuItems={secondaryOverflowMenuItems}\n />\n </div>\n )}\n </FocusOn>\n </div>\n )\n}\n\nMobileActions.displayName = \"MobileActions\"\n"],"names":["menuItemIsLink","item","defaultActionIsLink","action","defaultActionIsButton","filterActions","menuItems","filterType","filter","renderPrimaryActionDrawerContent","primaryAction","actionType","isMenuGroupNotButton","filteredActions","map","idx","itemType","React","createElement","TitleBlockMenuItem","__assign","key","concat","renderDefaultLink","defaultAction","MenuItem","href","label","icon","disabled","renderDefaultAction","renderSecondaryActions","secondaryActions","secondaryActionMenuItems","convertSecondaryActionsToMenuItems","renderSecondaryOverflowMenuItems","secondaryOverflowMenuItems","DrawerMenuContent","_a","showOtherActionsHeading","Fragment","MenuList","heading","MenuHeading","renderDrawerHandleLabel","drawerHandleLabelIconPosition","className","styles","drawerHandleLabelText","drawerHandleIcon","ButtonOrLink","children","onClick","classnames","mobileActionsPrimaryLabel","mobileActionsPrimaryButton","type","getAction","undefined","DrawerHandle","toggleDisplay","isOpen","showDrawer","mobileActionsTopRow","mobileActionsTopRowSingleButton","mobileActionsExpandButton","mobileActionsChevronSquare","ChevronDownIcon","role","ChevronUpIcon","component","MobileActions","_b","useState","setIsOpen","mobileActionsContainer","FocusOn","enabled","scrollLock","mobileActionsMenuContainer","displayName"],"mappings":";;;;;;;;;;;;;;;;;AAsBA,IAAMA,cAAc,GAA+C,SAAAA,CAAAC,IAAI,EAAA;EACrE,OAAA,MAAM,IAAIA,IAAI;AAAd,CAAc;AAEhB,IAAMC,mBAAmB,GAA4C,SAAAA,CAAAC,MAAM,EAAA;EACzE,OAAA,MAAM,IAAIA,MAAM;AAAhB,CAAgB;AAElB,IAAMC,qBAAqB,GAA4C,SAAAA,CAAAD,MAAM,EAAA;EAC3E,OAAC,EAAE,MAAM,IAAIA,MAAM,CAAC,IAAI,SAAS,IAAIA,MAAM,IAAK,WAAW,IAAIA,MAAM;AAArE,CAAqE;AAEvE,IAAME,aAAa,GAAG,SAAAA,CACpBC,SAAoC,EACpCC,UAA6B,EAAA;EAE7B,OAAAD,SAAS,CAACE,MAAM,CAAC,UAAAP,IAAI,EAAA;IACnB,OAAAM,UAAU,KAAK,MAAM,GAAGP,cAAc,CAACC,IAAI,CAAC,GAAG,CAACD,cAAc,CAACC,IAAI,CAAC;EAApE,CAAoE,CACrE;AAFD,CAEC;AAEH;;AAEG;AACH,IAAMQ,gCAAgC,GAAG,SAAAA,CACvCC,aAAiC,EACjCC,UAA6B,EAAA;EAE7B,IAAI,CAACD,aAAa,EAAE,OAAO,IAAI;EAE/B,IAAIE,KAAAA,CAAAA,oBAAoB,CAACF,aAAa,CAAC,EAAE;IACvC,IAAMG,eAAe,GAAGR,aAAa,CAACK,aAAa,CAACJ,SAAS,EAAEK,UAAU,CAAC;IAC1E,OAAOE,eAAe,CAACC,GAAG,CAAC,UAACb,IAAI,EAAEc,GAAG,EAAA;MACnC,IAAMC,QAAQ,GAAGhB,cAAc,CAACC,IAAI,CAAC,GAAG,MAAM,GAAG,QAAQ;MAEzD,OACEgB,KAAC,CAAAC,aAAA,CAAAC,kBAAAA,CAAAA,kBAAkB,EACbC,KAAAA,CAAAA,QAAA,CAAA,CAAA,CAAA,EAAAnB,IAAI,EACR;QAAAoB,GAAG,EAAE,qCAAA,CAAAC,MAAA,CAAsCN,QAAQ,EAAA,GAAA,CAAA,CAAAM,MAAA,CAAIP,GAAG,CAAE;QACxC,oBAAA,EAAA,qCAAA,CAAAO,MAAA,CAAsCN,QAAQ,EAAA,GAAA,CAAA,CAAAM,MAAA,CAAIP,GAAG,CAAE;QAC9D,aAAA,EAAA,qCAAA,CAAAO,MAAA,CAAsCN,QAAQ,EAAA,GAAA,CAAA,CAAAM,MAAA,CAAIP,GAAG;MAClE,CAAA,CAAA,CAAA;IAEN,CAAC,CAAC;EACH;EAED,OAAO,IAAI;AACb,CAAC;AAED,IAAMQ,iBAAiB,GAAG,SAAAA,CACxBC,aAAiC,EAAA;EAEjC,IAAI,CAACtB,mBAAmB,CAACsB,aAAa,CAAC,EAAE;EACzC,IAAI,WAAW,IAAIA,aAAa,EAAE;IAChC,OACEP,KAAA,CAAAC,aAAA,CAACC,kBAAAA,CAAAA,kBAAkB,EAAAC,KAAAA,CAAAA,QAAA,CAAA,CAAA,CAAA,EACbI,aAAa,EACjB;MAAAH,GAAG,EAAC,yCAAyC;4BAC1B,yCAAyC;MAAA,aAAA,EAChD;IAAyC,CAAA,CAAA,CACrD;EAEL;EACD,OACEJ,KAAC,CAAAC,aAAA,CAAAO,QAAQ,CAAAA,QAAA,EACP;IAAAC,IAAI,EAAEF,aAAa,CAACE,IAAI;IACxBC,KAAK,EAAEH,aAAa,CAACG,KAAK;IAC1BC,IAAI,EAAEJ,aAAa,CAACI,IAAI;IACxBC,QAAQ,EAAEL,aAAa,CAACK,QAAQ;IAChCR,GAAG,EAAC,yCAAyC;IAC1B,oBAAA,EAAA,yCAAyC;mBAChD;EAAyC,CAAA,CACrD;AAEN,CAAC;AAED,IAAMS,mBAAmB,GAAG,SAAAA,CAC1BN,aAAiC,EAAA;EAEjC,IAAI,CAACtB,mBAAmB,CAACsB,aAAa,CAAC,EAAE;IACvC,OACEP,KAAA,CAAAC,aAAA,CAACC,kBAAAA,CAAAA,kBAAkB,EAAAC,KAAAA,CAAAA,QAAA,CAAA,CAAA,CAAA,EACbI,aAAa,EACjB;MAAAH,GAAG,EAAC,2CAA2C;4BAC5B,2CAA2C;MAAA,aAAA,EAClD;IAA2C,CAAA,CAAA,CACvD;EAEL;EAED,OAAO,IAAI;AACb,CAAC;AAED,IAAMU,sBAAsB,GAAG,SAAAA,CAC7BC,gBAAmD,EAAA;EAEnD,IAAI,CAACA,gBAAgB,EAAE,OAAO,IAAI;EAClC,IAAMC,wBAAwB,GAC5BC,wCAAkC,CAACF,gBAAgB,CAAC;EAEtD,OAAOC,wBAAwB,CAACnB,GAAG,CAAC,UAACb,IAAI,EAAEc,GAAG,EAAK;IAAA,OACjDE,KAAA,CAAAC,aAAA,CAACC,kBAAkB,CAAAA,kBAAA,EAAAC,cAAA,CAAA,CAAA,CAAA,EACbnB,IAAI,EAAA;MACRoB,GAAG,EAAE,8CAA+C,CAAAC,MAAA,CAAAP,GAAG,CAAE;MAAA,aAAA,EAC7C;IAA6C,CAAA,CAAA,CACzD;EACH,CAAA,CAAC;AACJ,CAAC;AAED,IAAMoB,gCAAgC,GAAG,SAAAA,CACvCC,0BAAqD,EAAA;EAErD,OAAAA,0BAA0B,CAACtB,GAAG,CAAC,UAACb,IAAI,EAAEc,GAAG,EAAA;IAAK,OAC5CE,KAAC,CAAAC,aAAA,CAAAC,kBAAkB,CAAAA,kBAAA,EACbC,cAAA,CAAA,CAAA,CAAA,EAAAnB,IAAI,EACR;MAAAoB,GAAG,EAAE,gDAAA,CAAAC,MAAA,CAAiDP,GAAG,CAAE;MAC/C,aAAA,EAAA;IACZ,CAAA,CAAA,CAAA;EAL0C,CAM7C,CAAC;AANF,CAME;AASJ,IAAMsB,iBAAiB,GAAG,SAAAA,CAACC,EAKF,EAAA;MAJvB5B,aAAa,GAAA4B,EAAA,CAAA5B,aAAA;IACbc,aAAa,GAAAc,EAAA,CAAAd,aAAA;IACbQ,gBAAgB,GAAAM,EAAA,CAAAN,gBAAA;IAChBI,0BAA0B,GAAAE,EAAA,CAAAF,0BAAA;EAE1B,IAAMG,uBAAuB,GAC1Bf,aAAa,IAAIpB,qBAAqB,CAACoB,aAAa,CAAC,IACtDQ,gBAAgB,IAChBI,0BAA0B;EAE5B,OACEnB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAuB,QAAA,EAAA,IAAA,EACEvB,KAAA,CAAAC,aAAA,CAACuB,QAAAA,CAAAA,QAAQ,EAAA,IAAA,EACN/B,aAAa,IACZD,gCAAgC,CAACC,aAAa,EAAE,MAAM,CAAC,EACxDc,aAAa,IAAID,iBAAiB,CAACC,aAAa,CAAC,EACjDd,aAAa,IACZD,gCAAgC,CAACC,aAAa,EAAE,QAAQ,CAAC,CAClD,EACV,CAACc,aAAa,IAAIQ,gBAAgB,IAAII,0BAA0B,KAC/DnB,KAAC,CAAAC,aAAA,CAAAuB,QAAAA,CAAAA,QAAQ;IACPC,OAAO,EACLH,uBAAuB,IAAItB,KAAA,CAAAC,aAAA,CAACyB,WAAW,CAAAA,WAAA,EAA4B,IAAA,EAAA,eAAA;EAAA,CAAA,EAGpEnB,aAAa,IAAIM,mBAAmB,CAACN,aAAa,CAAC,EACnDQ,gBAAgB,IAAID,sBAAsB,CAACC,gBAAgB,CAAC,EAC5DI,0BAA0B,IACzBD,gCAAgC,CAACC,0BAA0B,CAAC,CAEjE,CACA;AAEP,CAAC;AAED,IAAMQ,uBAAuB,GAAG,SAAAA,CAC9BjB,KAAa,EACbC,IAAkB,EAClBiB,6BAA2D,EAAA;EAE3D,IAAIA,6BAA6B,KAAK,KAAK,EAAE;IAC3C,OACE5B,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAuB,QAAA,EAAA,IAAA,EACEvB,KACE,CAAAC,aAAA,CAAA,MAAA,EAAA;MAAA4B,SAAS,EAAEC,oBAAM,CAACC,qBAAqB;MAC3B,aAAA,EAAA;IAEX,CAAA,EAAArB,KAAK,CACD,EACPV,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAuB,QAAA,EAAA,IAAA,EAAGZ,IAAI,IAAIX,KAAM,CAAAC,aAAA,CAAA,MAAA,EAAA;MAAA4B,SAAS,EAAEC,oBAAM,CAACE;IAAgB,CAAA,EAAGrB,IAAI,CAAQ,CAAI,CACrE;EAEN,CAAA,MAAM;IACL,OACEX,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAuB,QAAA,EAAA,IAAA,EACEvB,KAAG,CAAAC,aAAA,CAAAD,KAAA,CAAAuB,QAAA,EAAA,IAAA,EAAAZ,IAAI,IAAIX,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;MAAM4B,SAAS,EAAEC,oBAAM,CAACE;IAAgB,CAAA,EAAGrB,IAAI,CAAQ,CAAI,EACtEX,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;MACE4B,SAAS,EAAEC,oBAAM,CAACC,qBAAqB;MAAA,aAAA,EAC3B;KAA0B,EAErCrB,KAAK,CACD,CACN;EAEN;AACH,CAAC;AAYD,IAAMuB,YAAY,GAAG,SAAAA,CAACZ,EAAuC,EAAA;MAArCnC,MAAM,GAAAmC,EAAA,CAAAnC,MAAA;IAAEgD,QAAQ,GAAAb,EAAA,CAAAa,QAAA;EACtC,IAAI,OAAOhD,MAAM,KAAK,QAAQ,IAAI,SAAS,IAAIA,MAAM,IAAI,MAAM,IAAIA,MAAM,EAAE;IACzE,OACEc,KAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;MACEkC,OAAO,EAAEjD,MAAM,CAACiD,OAAO;MACvB1B,IAAI,EAAEvB,MAAM,CAACuB,IAAI;MACjBoB,SAAS,EAAEO,UAAU,CACnBN,oBAAM,CAACO,yBAAyB,EAChCP,oBAAM,CAACQ,0BAA0B,CAClC;MAAA,aAAA,EACW;KAA2C,EAEtDJ,QAAQ,CACP;EAEP;EACD,IAAI,OAAOhD,MAAM,KAAK,UAAU,EAAE;IAChC,OACEc,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;MACEsC,IAAI,EAAC,QAAQ;MACbJ,OAAO,EAAEjD,MAAM;MACf2C,SAAS,EAAEO,UAAU,CACnBN,oBAAM,CAACO,yBAAyB,EAChCP,oBAAM,CAACQ,0BAA0B,CAClC;MACW,aAAA,EAAA;IAA2C,CAEtD,EAAAJ,QAAQ,CACF;EAEZ;EACD,IAAI,OAAOhD,MAAM,KAAK,QAAQ,EAAE;IAC9B,OACEc,KACE,CAAAC,aAAA,CAAA,GAAA,EAAA;MAAAQ,IAAI,EAAEvB,MAAM;MACZ2C,SAAS,EAAEO,UAAU,CACnBN,oBAAM,CAACO,yBAAyB,EAChCP,oBAAM,CAACQ,0BAA0B,CAClC;MAAA,aAAA,EACW;IAA2C,CAEtD,EAAAJ,QAAQ,CACP;EAEP;;EAGD,OACElC,KACE,CAAAC,aAAA,CAAA,QAAA,EAAA;IAAAsC,IAAI,EAAC,QAAQ;IACbV,SAAS,EAAEO,UAAU,CACnBN,oBAAM,CAACO,yBAAyB,EAChCP,oBAAM,CAACQ,0BAA0B,CAClC;IAAA,aAAA,EACW;EAA2C,CAEtD,EAAAJ,QAAQ,CACF;AAEb,CAAC;AAED,IAAMM,SAAS,GAAG,SAAAA,CAChB/C,aAAoC,EAAA;EAEpC,IAAIA,aAAa,IAAI,CAACA,aAAa,CAACmB,QAAQ,EAAE;IAC5C,IAAInB,aAAa,CAAC0C,OAAO,IAAI1C,aAAa,CAACgB,IAAI,EAAE;MAC/C,OAAO;QACLA,IAAI,EAAEhB,aAAa,CAACgB,IAAI;QACxB0B,OAAO,EAAE1C,aAAa,CAAC0C;OACxB;IACF;IACD,IAAI1C,aAAa,CAAC0C,OAAO,EAAE;MACzB,OAAO1C,aAAa,CAAC0C,OAAO;IAC7B;IACD,IAAI1C,aAAa,CAACgB,IAAI,EAAE;MACtB,OAAOhB,aAAa,CAACgB,IAAI;IAC1B;EACF;EAED,OAAOgC,SAAS;AAClB,CAAC;AAYD,IAAMC,YAAY,GAAG,SAAAA,CAACrB,EAQF,EAAA;EAPlB,IAAA5B,aAAa,mBAAA;IACbsB,gBAAgB,sBAAA;IAChBR,aAAa,mBAAA;IACbY,0BAA0B,GAAAE,EAAA,CAAAF,0BAAA;IAC1BS,6BAA6B,GAAAP,EAAA,CAAAO,6BAAA;IAC7Be,aAAa,GAAAtB,EAAA,CAAAsB,aAAA;IACbC,MAAM,GAAAvB,EAAA,CAAAuB,MAAA;EAEN,IAAMC,UAAU,GACdtC,aAAa,IAAIQ,gBAAgB,IAAII,0BAA0B;EACjE,IAAI1B,aAAa,EAAE;;IAEjB,IAAIE,KAAAA,CAAAA,oBAAoB,CAACF,aAAa,CAAC,EAAE;MACvC,OACEO,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;QACE4B,SAAS,EAAEO,UAAU,CACnBN,oBAAM,CAACgB,mBAAmB,EAC1BhB,oBAAM,CAACiB,+BAA+B,CACvC;uBACW;MAA0C,CAAA,EAEtD/C,KACE,CAAAC,aAAA,CAAA,QAAA,EAAA;QAAAsC,IAAI,EAAC,QAAQ;QACbV,SAAS,EAAEO,UAAU,CACnBN,oBAAM,CAACkB,yBAAyB,EAChClB,oBAAM,CAACO,yBAAyB,CACjC;QACDF,OAAO,EAAEQ,aAAa;QAAA,eAAA,EACPC;MAAM,CAAA,EAEpBnD,aAAa,CAACiB,KAAK,EACpBV,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;QAAM4B,SAAS,EAAEC,oBAAM,CAACmB;MAA0B,CAC/C,EAAAL,MAAM,GACL5C,KAAA,CAAAC,aAAA,CAACiD,eAAe,CAAAA,eAAA,EAAA;QAACC,IAAI,EAAC;MAAiB,CAAA,CAAA,GAEvCnD,KAAA,CAAAC,aAAA,CAACmD,aAAAA,CAAAA,aAAa,EAAC;QAAAD,IAAI,EAAC;MAAc,EACnC,CACI,CACA,CACL;IAET;;IAGD,OACEnD,KACE,CAAAC,aAAA,CAAA,KAAA,EAAA;MAAA4B,SAAS,EAAEO,UAAU,CACnBN,oBAAM,CAACgB,mBAAmB,EAC1B,CAACD,UAAU,IAAIf,oBAAM,CAACiB,+BAA+B,CACtD;qBACW;IAA0C,CAAA,EAErD,WAAW,IAAItD,aAAa,GAC3BO,KAAC,CAAAC,aAAA,CAAAR,aAAa,CAAC4D,SAAS,EACtBlD,KAAA,CAAAA,QAAA,CAAA;MAAA0B,SAAS,EAAEO,UAAU,CACnBN,oBAAM,CAACO,yBAAyB,EAChCP,oBAAM,CAACQ,0BAA0B;IAClC,CAAA,EACG7C,aAAa,CAAA,EAEhBA,aAAa,CAACiB,KAAK,IAClBiB,uBAAuB,CACrBlC,aAAa,CAACiB,KAAK,EACnBjB,aAAa,CAACkB,IAAI,EAClBiB,6BAA6B,CAC9B,CACqB,GAE1B5B,oBAACiC,YAAY,EAAA;MAAC/C,MAAM,EAAEsD,SAAS,CAAC/C,aAAa;IAC1C,CAAA,EAAAkC,uBAAuB,CACtBlC,aAAa,CAACiB,KAAK,EACnBjB,aAAa,CAACkB,IAAI,EAClBiB,6BAA6B,CAC9B,CAEJ,EAGAiB,UAAU,IACT7C,KACE,CAAAC,aAAA,CAAA,QAAA,EAAA;MAAAsC,IAAI,EAAC,QAAQ;MACbV,SAAS,EAAEC,oBAAM,CAACkB,yBAAyB;MAC3Cb,OAAO,EAAEQ,aAAa;MACP,eAAA,EAAAC,MAAM;oBACV;IAAe,CAAA,EAEzBA,MAAM,GACL5C,KAAC,CAAAC,aAAA,CAAAiD,eAAAA,CAAAA,eAAe;MAACC,IAAI,EAAC;IAAc,CAAG,CAAA,GAEvCnD,oBAACoD,aAAAA,CAAAA,aAAa,EAAA;MAACD,IAAI,EAAC;IAAc,CAAA,CACnC,CAEJ,CACG;EAET;;EAGD,IAAIN,UAAU,EAAE;IACd,OACE7C,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;MACE4B,SAAS,EAAEO,UAAU,CACnBN,oBAAM,CAACgB,mBAAmB,EAC1BhB,oBAAM,CAACiB,+BAA+B,CACvC;qBACW;IAA0C,CAAA,EAEtD/C,KACE,CAAAC,aAAA,CAAA,QAAA,EAAA;MAAAsC,IAAI,EAAC,QAAQ;MACbV,SAAS,EAAEO,UAAU,CACnBN,oBAAM,CAACkB,yBAAyB,EAChClB,oBAAM,CAACO,yBAAyB,CACjC;MACDF,OAAO,EAAEQ,aAAa;MAAA,eAAA,EACPC;IAAM,CAAA,EAEpBjB,uBAAuB,CAAC,eAAe,CAAC,EACzC3B,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;MAAM4B,SAAS,EAAEC,oBAAM,CAACmB;IAA0B,CAC/C,EAAAL,MAAM,GACL5C,KAAA,CAAAC,aAAA,CAACiD,eAAe,CAAAA,eAAA,EAAA;MAACC,IAAI,EAAC;IAAiB,CAAA,CAAA,GAEvCnD,KAAA,CAAAC,aAAA,CAACmD,aAAAA,CAAAA,aAAa,EAAC;MAAAD,IAAI,EAAC;IAAc,EACnC,CACI,CACA,CACL;EAET;EACD,OAAO,IAAI;AACb,CAAC;AAAA,MAUYG,aAAa;EAAA,MAAbA,aAAa,GAAG,SAAAA,CAACjC,EAMT,EAAA;IALnB,IAAA5B,aAAa,GAAA4B,EAAA,CAAA5B,aAAA;MACbc,aAAa,GAAAc,EAAA,CAAAd,aAAA;MACbQ,gBAAgB,GAAAM,EAAA,CAAAN,gBAAA;MAChBI,0BAA0B,GAAAE,EAAA,CAAAF,0BAAA;MAC1BS,6BAA6B,GAAAP,EAAA,CAAAO,6BAAA;IAEvB,IAAA2B,EAAA,GAAsBC,KAAAA,CAAAA,QAAQ,CAAU,KAAK,CAAC;MAA7CZ,MAAM,GAAAW,EAAA,CAAA,CAAA,CAAA;MAAEE,SAAS,GAAAF,EAAA,CAAA,CAAA,CAA4B;IAEpD,IAAMZ,aAAa,GAAG,SAAAA,CAAA,EAAA;MACpBc,SAAS,CAAC,CAACb,MAAM,CAAC;IACpB,CAAC;IAED,OACE5C,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;MACE4B,SAAS,EAAEO,UAAU,CACnBN,oBAAM,CAAC4B,sBAAsB,EAC7Bd,MAAM,IAAId,oBAAM,CAACc,MAAM;IACxB,CAAA,EAED5C,KAAC,CAAAC,aAAA,CAAA0D,oBAAO;MAACC,OAAO,EAAEhB,MAAM;MAAEiB,UAAU,EAAE;IAAK,CAAA,EACzC7D,KAAA,CAAAC,aAAA,CAACyC,YAAY,EAAA;MACXjD,aAAa,EAAEA,aAAa;MAC5BsB,gBAAgB,EAAEA,gBAAgB;MAClCR,aAAa,EAAEA,aAAa;MAC5BY,0BAA0B,EAAEA,0BAA0B;MACtDS,6BAA6B,EAAEA,6BAA6B;MAC5De,aAAa,EAAEA,aAAa;MAC5BC,MAAM,EAAEA;KACR,CAAA,EACD,CAACrC,aAAa,IACbQ,gBAAgB,IAChBI,0BAA0B,IACzB1B,aAAa,IAAIE,KAAoB,CAAAA,oBAAA,CAACF,aAAa,CAAE,KACtDO,KAAK,CAAAC,aAAA,CAAA,KAAA,EAAA;MAAA4B,SAAS,EAAEC,oBAAM,CAACgC;IAA0B,CAAA,EAC/C9D,KAAC,CAAAC,aAAA,CAAAmB,iBAAiB;MAChB3B,aAAa,EAAEA,aAAa;MAC5Bc,aAAa,EAAEA,aAAa;MAC5BQ,gBAAgB,EAAEA,gBAAgB;MAClCI,0BAA0B,EAAEA;IAA0B,CAAA,CACtD,CAEL,CACO,CACN;EAEV,CAAC;EAEDmC,aAAa,CAACS,WAAW,GAAG,eAAe;EAAA,OAhD9BT,aAAa;AAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TitleBlockMenuItem.cjs","sources":["../../../../src/TitleBlockZen/subcomponents/TitleBlockMenuItem.tsx"],"sourcesContent":["import React from \"react\"\nimport classnames from \"classnames\"\nimport {
|
|
1
|
+
{"version":3,"file":"TitleBlockMenuItem.cjs","sources":["../../../../src/TitleBlockZen/subcomponents/TitleBlockMenuItem.tsx"],"sourcesContent":["import React from \"react\"\nimport classnames from \"classnames\"\nimport { MenuItem } from \"~components/Menu\"\nimport { TitleBlockMenuItemProps } from \"../types\"\nimport styles from \"./TitleBlockMenuItem.module.scss\"\n\nexport const TitleBlockMenuItem = (\n props: TitleBlockMenuItemProps\n): JSX.Element => {\n const className = classnames(\n styles.menuItem,\n styles.destructive && styles[\"menuItem--destructive\"],\n styles.disabled && styles[\"menuItem--disabled\"],\n styles.isActive && styles[\"menuItem--active\"]\n )\n\n if (\"component\" in props) {\n const { component: CustomMenuItem, label, icon, ...otherProps } = props\n const wrappedLabel = <span className={styles.menuItem__Label}>{label}</span>\n const iconNode = icon && (\n <span className={styles.menuItem__Icon}>{icon}</span>\n )\n return (\n <li className={styles.menuListItem}>\n <CustomMenuItem {...otherProps} className={className}>\n {iconNode}\n {wrappedLabel}\n </CustomMenuItem>\n </li>\n )\n }\n\n return <MenuItem {...props} />\n}\n\nTitleBlockMenuItem.displayName = \"TitleBlockMenuItem\"\n"],"names":["TitleBlockMenuItem","props","className","classnames","styles","menuItem","destructive","disabled","isActive","CustomMenuItem","component","label","icon","otherProps","wrappedLabel","React","createElement","menuItem__Label","iconNode","menuItem__Icon","menuListItem","__assign","MenuItem","displayName"],"mappings":";;;;;;;;;;;MAMaA,kBAAkB;EAAA,MAAlBA,kBAAkB,GAAG,SAAAA,CAChCC,KAA8B,EAAA;IAE9B,IAAMC,SAAS,GAAGC,UAAU,CAC1BC,yBAAM,CAACC,QAAQ,EACfD,yBAAM,CAACE,WAAW,IAAIF,yBAAM,CAAC,uBAAuB,CAAC,EACrDA,yBAAM,CAACG,QAAQ,IAAIH,yBAAM,CAAC,oBAAoB,CAAC,EAC/CA,yBAAM,CAACI,QAAQ,IAAIJ,yBAAM,CAAC,kBAAkB,CAAC,CAC9C;IAED,IAAI,WAAW,IAAIH,KAAK,EAAE;MAChB,IAAWQ,cAAc,GAAiCR,KAAK,CAAAS,SAAtC;QAAEC,KAAK,GAA0BV,KAAK,CAA/BU,KAAA;QAAEC,IAAI,GAAoBX,KAAK,KAAzB;QAAKY,UAAU,gBAAKZ,KAAK,EAAjE,CAAyD,WAAA,EAAA,OAAA,EAAA,MAAA,CAAA,CAAF;MAC7D,IAAMa,YAAY,GAAGC,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;QAAMd,SAAS,EAAEE,yBAAM,CAACa;OAAe,EAAGN,KAAK,CAAQ;MAC5E,IAAMO,QAAQ,GAAGN,IAAI,IACnBG,KAAM,CAAAC,aAAA,CAAA,MAAA,EAAA;QAAAd,SAAS,EAAEE,yBAAM,CAACe;OAAc,EAAGP,IAAI,CAC9C;MACD,OACEG,KAAI,CAAAC,aAAA,CAAA,IAAA,EAAA;QAAAd,SAAS,EAAEE,yBAAM,CAACgB;MAAY,CAAA,EAChCL,KAAA,CAAAC,aAAA,CAACP,cAAc,EAAKY,KAAA,CAAAA,QAAA,CAAA,CAAA,CAAA,EAAAR,UAAU,EAAE;QAAAX,SAAS,EAAEA;OAAS,CAAA,EACjDgB,QAAQ,EACRJ,YAAY,CACE,CACd;IAER;IAED,OAAOC,KAAC,CAAAC,aAAA,CAAAM,QAAQ,CAAAA,QAAA,EAAKD,KAAA,CAAAA,QAAA,CAAA,CAAA,CAAA,EAAApB,KAAK,EAAI;EAChC,CAAC;EAEDD,kBAAkB,CAACuB,WAAW,GAAG,oBAAoB;EAAA,OA7BxCvB,kBAAkB;AAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.cjs","sources":["../../../src/TitleBlockZen/utils.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"utils.cjs","sources":["../../../src/TitleBlockZen/utils.ts"],"sourcesContent":["import {\n TitleBlockButtonProps,\n TitleBlockCustomButtonProps,\n TitleBlockMenuGroup,\n TitleBlockVariant,\n SecondaryActionsProps,\n TitleBlockMenuItemProps,\n} from \"./types\"\n\nexport const isMenuGroupNotButton = (\n value:\n | (TitleBlockButtonProps | TitleBlockCustomButtonProps)\n | TitleBlockMenuGroup\n): value is TitleBlockMenuGroup => \"menuItems\" in value\n\nexport const NON_REVERSED_VARIANTS = [\"education\", \"admin\"]\n\nexport const isReversed = (variant: TitleBlockVariant | undefined): boolean => {\n // The default variant (no variant prop) is reversed (dark background)\n if (variant === undefined) return true\n return !NON_REVERSED_VARIANTS.includes(variant)\n}\n\nexport const convertSecondaryActionsToMenuItems = (\n secondaryActions: SecondaryActionsProps\n): TitleBlockMenuItemProps[] =>\n secondaryActions.reduce((acc, cur) => {\n if (\"menuItems\" in cur) {\n return [...acc, ...cur.menuItems]\n }\n\n if (\"component\" in cur) {\n return [...acc, cur]\n }\n\n const out = {\n label: cur.label,\n icon: cur.icon,\n destructive: cur.destructive,\n disabled: cur.disabled,\n }\n\n if (\"onClick\" in cur) {\n return [\n ...acc,\n {\n ...out,\n onClick: cur.onClick,\n },\n ]\n }\n if (\"href\" in cur) {\n return [\n ...acc,\n {\n ...out,\n href: cur.href,\n },\n ]\n }\n return acc\n }, new Array())\n\nexport const createTabletOverflowMenuItems = (\n secondaryActions?: SecondaryActionsProps,\n secondaryOverflowMenuItems?: TitleBlockMenuItemProps[]\n): TitleBlockMenuItemProps[] => {\n let secondaryActionsList: TitleBlockMenuItemProps[]\n if (secondaryActions) {\n secondaryActionsList = secondaryActions\n ? convertSecondaryActionsToMenuItems(secondaryActions)\n : []\n } else {\n secondaryActionsList = []\n }\n const flatSecondaryOverflowItemsList = secondaryOverflowMenuItems || []\n return secondaryActionsList.concat(flatSecondaryOverflowItemsList)\n}\n"],"names":["isMenuGroupNotButton","value","NON_REVERSED_VARIANTS","isReversed","variant","undefined","includes","convertSecondaryActionsToMenuItems","secondaryActions","reduce","acc","cur","__spreadArray","menuItems","out","label","icon","destructive","disabled","__assign","onClick","href","Array","createTabletOverflowMenuItems","secondaryOverflowMenuItems","secondaryActionsList","flatSecondaryOverflowItemsList","concat"],"mappings":";;;AASO,IAAMA,oBAAoB,GAAG,SAAAA,CAClCC,KAEuB,EACU;EAAA,OAAA,WAAW,IAAIA,KAAK;AAAA,CAAA;IAE1CC,qBAAqB,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;AAEpD,IAAMC,UAAU,GAAG,SAAAA,CAACC,OAAsC,EAAA;;EAE/D,IAAIA,OAAO,KAAKC,SAAS,EAAE,OAAO,IAAI;EACtC,OAAO,CAACH,qBAAqB,CAACI,QAAQ,CAACF,OAAO,CAAC;AACjD,CAAC;AAEM,IAAMG,kCAAkC,GAAG,SAAAA,CAChDC,gBAAuC,EAAA;EAEvC,OAAAA,gBAAgB,CAACC,MAAM,CAAC,UAACC,GAAG,EAAEC,GAAG,EAAA;IAC/B,IAAI,WAAW,IAAIA,GAAG,EAAE;MACtB,OAAAC,KAAA,CAAAA,aAAA,CAAAA,mBAAA,CAAA,EAAA,EAAWF,GAAG,EAAA,IAAA,CAAA,EAAKC,GAAG,CAACE,SAAS,EAAC,IAAA,CAAA;IAClC;IAED,IAAI,WAAW,IAAIF,GAAG,EAAE;MACtB,OAAWC,KAAA,CAAAA,aAAA,CAAAA,mBAAA,CAAA,EAAA,EAAAF,GAAG,EAAE,IAAA,CAAA,EAAA,CAAAC,GAAG,CAAC,EAAA,KAAA,CAAA;IACrB;IAED,IAAMG,GAAG,GAAG;MACVC,KAAK,EAAEJ,GAAG,CAACI,KAAK;MAChBC,IAAI,EAAEL,GAAG,CAACK,IAAI;MACdC,WAAW,EAAEN,GAAG,CAACM,WAAW;MAC5BC,QAAQ,EAAEP,GAAG,CAACO;KACf;IAED,IAAI,SAAS,IAAIP,GAAG,EAAE;MACpB,OAAAC,KAAA,CAAAA,aAAA,CAAAA,KAAA,CAAAA,aAAA,CAAA,EAAA,EACKF,GAAG,EAAA,IAAA,CAAA,EAAA,CAEDS,cAAA,CAAAA,KAAAA,CAAAA,QAAA,CAAA,CAAA,CAAA,EAAAL,GAAG,CACN,EAAA;QAAAM,OAAO,EAAET,GAAG,CAACS;OAAO,CAAA,CAEvB,EAAA,KAAA,CAAA;IACF;IACD,IAAI,MAAM,IAAIT,GAAG,EAAE;MACjB,OAAAC,KAAA,CAAAA,aAAA,CAAAA,KAAA,CAAAA,aAAA,CAAA,EAAA,EACKF,GAAG,EAAA,IAAA,CAAA,EAAA,CAEDS,cAAA,CAAAA,KAAAA,CAAAA,QAAA,CAAA,CAAA,CAAA,EAAAL,GAAG,CACN,EAAA;QAAAO,IAAI,EAAEV,GAAG,CAACU;OAAI,CAAA,CAEjB,EAAA,KAAA,CAAA;IACF;IACD,OAAOX,GAAG;EACZ,CAAC,EAAE,IAAIY,KAAK,CAAA,CAAE,CAAC;AAnCf,CAmCe;AAEJ,IAAAC,6BAA6B,GAAG,SAAAA,CAC3Cf,gBAAwC,EACxCgB,0BAAsD,EAAA;EAEtD,IAAIC,oBAA+C;EACnD,IAAIjB,gBAAgB,EAAE;IACpBiB,oBAAoB,GAAGjB,gBAAgB,GACnCD,kCAAkC,CAACC,gBAAgB,CAAC,GACpD,EAAE;EACP,CAAA,MAAM;IACLiB,oBAAoB,GAAG,EAAE;EAC1B;EACD,IAAMC,8BAA8B,GAAGF,0BAA0B,IAAI,EAAE;EACvE,OAAOC,oBAAoB,CAACE,MAAM,CAACD,8BAA8B,CAAC;AACpE,CAAA;;;;;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { DefaultActionProps, PrimaryActionProps } from "../types";
|
|
3
|
-
import { TitleBlockMenuItemProps } from "./TitleBlockMenuItem";
|
|
2
|
+
import { DefaultActionProps, PrimaryActionProps, TitleBlockMenuItemProps } from "../types";
|
|
4
3
|
type MainActionsProps = {
|
|
5
4
|
primaryAction?: PrimaryActionProps;
|
|
6
5
|
defaultAction?: DefaultActionProps;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { ButtonProps } from "../../Button";
|
|
3
|
-
import { DefaultActionProps, PrimaryActionProps, SecondaryActionsProps } from "../types";
|
|
4
|
-
import { TitleBlockMenuItemProps } from "./TitleBlockMenuItem";
|
|
3
|
+
import { DefaultActionProps, PrimaryActionProps, SecondaryActionsProps, TitleBlockMenuItemProps } from "../types";
|
|
5
4
|
export type MobileActionsProps = {
|
|
6
5
|
primaryAction?: PrimaryActionProps;
|
|
7
6
|
defaultAction?: DefaultActionProps;
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import {
|
|
3
|
-
import { MenuItemProps } from "../../Menu";
|
|
4
|
-
export type TitleBlockMenuItemProps = ({
|
|
5
|
-
component: (props: CustomButtonProps) => JSX.Element;
|
|
6
|
-
} & MenuItemProps) | MenuItemProps;
|
|
2
|
+
import { TitleBlockMenuItemProps } from "../types";
|
|
7
3
|
export declare const TitleBlockMenuItem: {
|
|
8
4
|
(props: TitleBlockMenuItemProps): JSX.Element;
|
|
9
5
|
displayName: string;
|
|
@@ -104,9 +104,7 @@ export type TitleBlockCustomButtonProps = TitleBlockDistributiveOmit<TitleBlockB
|
|
|
104
104
|
className?: string;
|
|
105
105
|
component: (props: CustomButtonProps) => JSX.Element;
|
|
106
106
|
};
|
|
107
|
-
export type TitleBlockMenuItemProps =
|
|
108
|
-
action: ((e: any) => void) | string;
|
|
109
|
-
}) | TitleBlockCustomButtonProps;
|
|
107
|
+
export type TitleBlockMenuItemProps = MenuItemProps | TitleBlockCustomButtonProps;
|
|
110
108
|
export type ButtonWithHrefNotOnClick = TitleBlockDistributiveOmit<ButtonProps, "onClick">;
|
|
111
109
|
export type ButtonWithOnClickNotHref = TitleBlockDistributiveOmit<TitleBlockButtonProps, "href">;
|
|
112
110
|
export type TitleBlockMenuGroup = {
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { MenuItemProps } from "../Menu";
|
|
2
1
|
import { TitleBlockButtonProps, TitleBlockCustomButtonProps, TitleBlockMenuGroup, TitleBlockVariant, SecondaryActionsProps, TitleBlockMenuItemProps } from "./types";
|
|
3
|
-
export declare const isMenuItemNotButton: (value: TitleBlockButtonProps | MenuItemProps) => value is MenuItemProps;
|
|
4
2
|
export declare const isMenuGroupNotButton: (value: (TitleBlockButtonProps | TitleBlockCustomButtonProps) | TitleBlockMenuGroup) => value is TitleBlockMenuGroup;
|
|
5
3
|
export declare const NON_REVERSED_VARIANTS: string[];
|
|
6
4
|
export declare const isReversed: (variant: TitleBlockVariant | undefined) => boolean;
|
package/dist/cjs/index.css
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
.Select-module_container__TaMKg{position:relative;width:100%}.Select-module_notFullWidth__Mr-3G{width:180px}
|
|
2
|
-
.Main-module_main__hMyB1{z-index:0}
|
|
3
2
|
.Wrapper-module_wrapper__89WmC{background:var(--color-gray-100,#f9f9f9);display:grid;grid-template-rows:min-content 1fr min-content;min-height:100vh;position:relative}
|
|
4
|
-
.
|
|
5
|
-
.Branding-module_branding__4h-rD{display:flex;flex-grow:1;grid-area:branding;justify-content:center;padding-top:var(--spacing-4,.25rem)}@media (min-width:768px){.Branding-module_branding__4h-rD{justify-content:unset}}.Branding-module_logo__vqqec{flex-basis:7.5rem}
|
|
6
|
-
.Titles-module_titles__JYwU0{align-items:center;flex-grow:1;grid-area:titles;justify-content:center}.Titles-module_pageTitle__YDp9S,.Titles-module_titles__JYwU0{display:flex;flex-direction:column}.Titles-module_prefix__40x8n{margin-bottom:var(--spacing-4,.25rem)}.Titles-module_status__huuP7{margin-top:var(--spacing-8,.5rem)}
|
|
3
|
+
.Main-module_main__hMyB1{z-index:0}
|
|
7
4
|
.FooterActions-module_footerAction__v7eL-{display:flex;flex-basis:auto;flex-grow:1}.FooterActions-module_footerActionPrevious__2XByZ{grid-area:"prev";justify-content:start}.FooterActions-module_footerActionNext__IKRta{grid-area:"next";justify-content:end}
|
|
5
|
+
.Titles-module_titles__JYwU0{align-items:center;flex-grow:1;grid-area:titles;justify-content:center}.Titles-module_pageTitle__YDp9S,.Titles-module_titles__JYwU0{display:flex;flex-direction:column}.Titles-module_prefix__40x8n{margin-bottom:var(--spacing-4,.25rem)}.Titles-module_status__huuP7{margin-top:var(--spacing-8,.5rem)}
|
|
6
|
+
.FooterRoot-module_footerRoot__N-6nQ{align-items:center;background:var(--color-blue-500,#0168b3);display:grid;flex-grow:1;gap:var(--spacing-16,1rem);grid-template-areas:"prev stepper next";grid-template-columns:1fr 2fr 1fr;justify-content:center;padding:var(--spacing-24,1.5rem) var(--spacing-12,.75rem)}@media (min-width:768px){.FooterRoot-module_footerRoot__N-6nQ{bottom:0;grid-template-columns:1fr 5fr 1fr;padding:var(--spacing-24,1.5rem) var(--spacing-32,2rem);position:sticky;z-index:1}}
|
|
8
7
|
.Actions-module_actions__Prrp0{align-items:center;display:flex;flex-direction:column;flex-grow:1;grid-area:actions;justify-content:center}@media (min-width:768px){.Actions-module_actions__Prrp0{align-items:flex-start;flex-direction:row;justify-content:flex-end;margin-top:calc(var(--spacing-12, .75rem)*-1)}}
|
|
8
|
+
.Branding-module_branding__4h-rD{display:flex;flex-grow:1;grid-area:branding;justify-content:center;padding-top:var(--spacing-4,.25rem)}@media (min-width:768px){.Branding-module_branding__4h-rD{justify-content:unset}}.Branding-module_logo__vqqec{flex-basis:7.5rem}
|
|
9
9
|
.ProgressStepper-module_stepsContainer__WMxXN{grid-area:stepper;width:100%}.ProgressStepper-module_stepList__b1wWX{align-items:flex-end;display:none;justify-content:center;list-style:none;margin:0;padding:0}@media (min-width:768px){.ProgressStepper-module_stepList__b1wWX{display:flex}}.ProgressStepper-module_step__-Ep19{container:step/inline-size;display:flex;flex-basis:100%;flex-grow:1;justify-content:center;max-width:var(--spacing-96,6rem);overflow-wrap:break-word;position:relative}.ProgressStepper-module_stepContent__B4uFS{align-items:center;display:flex;flex-direction:column}.ProgressStepper-module_stepIndicator__-qEWT{height:1.25rem;position:relative;width:1.25rem}.ProgressStepper-module_stepName__hS4lp{display:none;font-weight:var(--typography-paragraph-bold-font-weight,600);margin-bottom:var(--spacing-12,.75rem);text-align:center}.ProgressStepper-module_stepIcon__0Kh4y{color:var(--color-white,#fff);height:1.25rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:1.25rem}.ProgressStepper-module_stepDivider__KEZPU{border:var(--spacing-1,.0625rem) solid var(--color-white,#fff);border-radius:var(--border-solid-border-radius,7px);display:flex;flex-grow:1;height:0;left:100%;margin:0;min-width:calc(100% - var(--spacing-24, 1.5rem));position:absolute;top:calc(100% - .625rem);transform:translateX(-50%)}[dir=rtl] .ProgressStepper-module_stepDivider__KEZPU{left:unset;right:100%;transform:translateX(50%)}.ProgressStepper-module_stepperDescription__B00hX{display:flex;justify-content:center}@media (min-width:768px){.ProgressStepper-module_stepperDescription__B00hX{height:0;overflow:hidden;position:absolute;width:0}}@container step (min-width: 4.5rem){.ProgressStepper-module_stepName__hS4lp{display:inline}}
|
|
10
10
|
.Root-module_root__7DVw5{align-items:center;background-color:var(--color-white,#fff);box-shadow:var(--shadow-small-box-shadow,0 3px 16px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.1));display:grid;flex-grow:1;gap:var(--spacing-16,1rem);grid-template:"branding" min-content "titles" max-content "actions" min-content/1fr;justify-content:center;padding:var(--spacing-24,1.5rem);text-align:center}@media (min-width:768px){.Root-module_root__7DVw5{align-items:start;grid-template:"branding titles actions" min-content/1fr max-content 1fr;position:sticky;top:0;z-index:1}}
|
|
11
11
|
.SVG-module_icon__8J5Ev{display:inline-block;height:20px;width:20px}.SVG-module_icon__8J5Ev>use{pointer-events:none}@media screen and (-ms-high-contrast:active){.SVG-module_icon__8J5Ev{color:#000}}@media screen and (-ms-high-contrast:white-on-black){.SVG-module_icon__8J5Ev{color:#fff}}@media screen and (-ms-high-contrast:black-on-white){.SVG-module_icon__8J5Ev{color:#000}}.SVG-module_inheritSize__Q8iam{display:block;height:inherit;width:inherit}
|
|
@@ -20,6 +20,9 @@ var VideoPlayer = function (_a) {
|
|
|
20
20
|
var _e = React.useState(true),
|
|
21
21
|
prefersReducedMotion = _e[0],
|
|
22
22
|
setPrefersReducedMotion = _e[1];
|
|
23
|
+
var _f = React.useState(),
|
|
24
|
+
sourceEl = _f[0],
|
|
25
|
+
setSourceEl = _f[1];
|
|
23
26
|
useEffect(function () {
|
|
24
27
|
/**
|
|
25
28
|
* Setting `muted` on the player is required in Safari/Webkit and older
|
|
@@ -100,6 +103,23 @@ var VideoPlayer = function (_a) {
|
|
|
100
103
|
videoElement.removeEventListener("ended", onEnded);
|
|
101
104
|
};
|
|
102
105
|
}, [videoRef]);
|
|
106
|
+
useEffect(function () {
|
|
107
|
+
/**
|
|
108
|
+
* This seems counter-intuitive, but webm support is codec specific.
|
|
109
|
+
* Only offer webm if we are positive the browser supports it.
|
|
110
|
+
* Reference: https://bugs.webkit.org/show_bug.cgi?id=216652#c1
|
|
111
|
+
*/
|
|
112
|
+
canPlayWebm() ? setSourceEl( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("source", {
|
|
113
|
+
src: assetUrl("".concat(source, ".webm")),
|
|
114
|
+
type: "video/webm"
|
|
115
|
+
}), /*#__PURE__*/React.createElement("source", {
|
|
116
|
+
src: assetUrl("".concat(source, ".mp4")),
|
|
117
|
+
type: "video/mp4"
|
|
118
|
+
}))) : ( /*#__PURE__*/React.createElement("source", {
|
|
119
|
+
src: assetUrl("".concat(source, ".mp4")),
|
|
120
|
+
type: "video/mp4"
|
|
121
|
+
}));
|
|
122
|
+
}, [setSourceEl]);
|
|
103
123
|
var pausePlay = usePausePlay(videoRef);
|
|
104
124
|
return /*#__PURE__*/React.createElement("figure", {
|
|
105
125
|
className: classnames(styles.figure, (_b = {}, _b["".concat(styles[aspectRatio], " ").concat(styles.aspectRatioWrapper)] = Boolean(aspectRatio), _b))
|
|
@@ -116,13 +136,7 @@ var VideoPlayer = function (_a) {
|
|
|
116
136
|
autoPlay: prefersReducedMotion ? false : autoplay,
|
|
117
137
|
playsInline: true,
|
|
118
138
|
tabIndex: -1
|
|
119
|
-
},
|
|
120
|
-
src: assetUrl("".concat(source, ".webm")),
|
|
121
|
-
type: "video/webm"
|
|
122
|
-
})), /*#__PURE__*/React.createElement("source", {
|
|
123
|
-
src: assetUrl("".concat(source, ".mp4")),
|
|
124
|
-
type: "video/mp4"
|
|
125
|
-
})), /*#__PURE__*/React.createElement(IconButton, {
|
|
139
|
+
}, sourceEl), /*#__PURE__*/React.createElement(IconButton, {
|
|
126
140
|
onClick: function () {
|
|
127
141
|
return pausePlay.toggle();
|
|
128
142
|
},
|