@amboss/design-system 4.0.5 → 4.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/build/cjs/components/Internal/Drawer/Drawer.d.ts +0 -2
  2. package/build/cjs/components/Internal/Drawer/Drawer.js +8 -8
  3. package/build/cjs/components/Internal/Drawer/useExitAnimation.d.ts +21 -0
  4. package/build/cjs/components/Internal/Drawer/useExitAnimation.js +1 -0
  5. package/build/cjs/components/Internal/LayoutFloat/LayoutFloat.d.ts +14 -0
  6. package/build/cjs/components/Internal/LayoutFloat/LayoutFloat.js +1 -0
  7. package/build/cjs/components/Internal/Panel/Panel.d.ts +15 -2
  8. package/build/cjs/components/Internal/Panel/Panel.js +1 -1
  9. package/build/cjs/components/Internal/Sandwich/Sandwich.d.ts +8 -6
  10. package/build/cjs/components/Internal/Sandwich/Sandwich.js +1 -1
  11. package/build/cjs/components/Internal/Sandwich/SandwichFooter.d.ts +5 -1
  12. package/build/cjs/components/Internal/Sandwich/SandwichFooter.js +1 -1
  13. package/build/cjs/components/Internal/Sandwich/SandwichHeader.d.ts +5 -1
  14. package/build/cjs/components/Internal/Sandwich/SandwichHeader.js +1 -1
  15. package/build/cjs/components/Internal/Sandwich/useSandwichContext.d.ts +10 -1
  16. package/build/cjs/components/Internal/Sandwich/useSandwichContext.js +1 -1
  17. package/build/cjs/components/Layout/-types.d.ts +50 -13
  18. package/build/cjs/components/Layout/Layout.js +1 -1
  19. package/build/cjs/components/Layout/LayoutProvider.js +1 -1
  20. package/build/cjs/components/Layout/LeftPanel/LeftPanel.d.ts +6 -7
  21. package/build/cjs/components/Layout/LeftPanel/LeftPanel.js +1 -1
  22. package/build/cjs/components/Layout/LeftPanel/LeftPanelDocked.d.ts +20 -0
  23. package/build/cjs/components/Layout/LeftPanel/LeftPanelDocked.js +1 -0
  24. package/build/cjs/components/Layout/LeftPanel/LeftPanelDrawer.d.ts +15 -0
  25. package/build/cjs/components/Layout/LeftPanel/LeftPanelDrawer.js +1 -0
  26. package/build/cjs/components/Layout/PanelSlideBody.d.ts +18 -0
  27. package/build/cjs/components/Layout/PanelSlideBody.js +1 -0
  28. package/build/cjs/components/Layout/RightPanel/RightPanel.d.ts +7 -5
  29. package/build/cjs/components/Layout/RightPanel/RightPanel.js +1 -1
  30. package/build/cjs/components/Layout/RightPanel/RightPanelHeader.d.ts +8 -3
  31. package/build/cjs/components/Layout/RightPanel/RightPanelHeader.js +1 -1
  32. package/build/cjs/components/Layout/Split/Split.js +1 -1
  33. package/build/cjs/components/Layout/context.d.ts +14 -1
  34. package/build/cjs/components/Layout/context.js +1 -1
  35. package/build/cjs/components/Layout/registry.d.ts +38 -1
  36. package/build/cjs/components/Layout/registry.js +1 -1
  37. package/build/cjs/components/Layout/useFloatablePortalTargets.d.ts +37 -0
  38. package/build/cjs/components/Layout/useFloatablePortalTargets.js +1 -0
  39. package/build/cjs/components/Layout/usePanelDockedSlide.d.ts +28 -0
  40. package/build/cjs/components/Layout/usePanelDockedSlide.js +1 -0
  41. package/build/cjs/components/Link/Link.js +1 -1
  42. package/build/cjs/shared/prefersReducedMotion.d.ts +6 -0
  43. package/build/cjs/shared/prefersReducedMotion.js +1 -0
  44. package/build/cjs/web-tokens/_sizes.json +51 -51
  45. package/build/esm/components/Internal/Drawer/Drawer.d.ts +0 -2
  46. package/build/esm/components/Internal/Drawer/Drawer.js +8 -8
  47. package/build/esm/components/Internal/Drawer/useExitAnimation.d.ts +21 -0
  48. package/build/esm/components/Internal/Drawer/useExitAnimation.js +1 -0
  49. package/build/esm/components/Internal/LayoutFloat/LayoutFloat.d.ts +14 -0
  50. package/build/esm/components/Internal/LayoutFloat/LayoutFloat.js +1 -0
  51. package/build/esm/components/Internal/Panel/Panel.d.ts +15 -2
  52. package/build/esm/components/Internal/Panel/Panel.js +1 -1
  53. package/build/esm/components/Internal/Sandwich/Sandwich.d.ts +8 -6
  54. package/build/esm/components/Internal/Sandwich/Sandwich.js +1 -1
  55. package/build/esm/components/Internal/Sandwich/SandwichFooter.d.ts +5 -1
  56. package/build/esm/components/Internal/Sandwich/SandwichFooter.js +1 -1
  57. package/build/esm/components/Internal/Sandwich/SandwichHeader.d.ts +5 -1
  58. package/build/esm/components/Internal/Sandwich/SandwichHeader.js +1 -1
  59. package/build/esm/components/Internal/Sandwich/useSandwichContext.d.ts +10 -1
  60. package/build/esm/components/Internal/Sandwich/useSandwichContext.js +1 -1
  61. package/build/esm/components/Layout/-types.d.ts +50 -13
  62. package/build/esm/components/Layout/Layout.js +1 -1
  63. package/build/esm/components/Layout/LayoutProvider.js +1 -1
  64. package/build/esm/components/Layout/LeftPanel/LeftPanel.d.ts +6 -7
  65. package/build/esm/components/Layout/LeftPanel/LeftPanel.js +1 -1
  66. package/build/esm/components/Layout/LeftPanel/LeftPanelDocked.d.ts +20 -0
  67. package/build/esm/components/Layout/LeftPanel/LeftPanelDocked.js +1 -0
  68. package/build/esm/components/Layout/LeftPanel/LeftPanelDrawer.d.ts +15 -0
  69. package/build/esm/components/Layout/LeftPanel/LeftPanelDrawer.js +1 -0
  70. package/build/esm/components/Layout/PanelSlideBody.d.ts +18 -0
  71. package/build/esm/components/Layout/PanelSlideBody.js +1 -0
  72. package/build/esm/components/Layout/RightPanel/RightPanel.d.ts +7 -5
  73. package/build/esm/components/Layout/RightPanel/RightPanel.js +1 -1
  74. package/build/esm/components/Layout/RightPanel/RightPanelHeader.d.ts +8 -3
  75. package/build/esm/components/Layout/RightPanel/RightPanelHeader.js +1 -1
  76. package/build/esm/components/Layout/Split/Split.js +1 -1
  77. package/build/esm/components/Layout/context.d.ts +14 -1
  78. package/build/esm/components/Layout/context.js +1 -1
  79. package/build/esm/components/Layout/registry.d.ts +38 -1
  80. package/build/esm/components/Layout/registry.js +1 -1
  81. package/build/esm/components/Layout/useFloatablePortalTargets.d.ts +37 -0
  82. package/build/esm/components/Layout/useFloatablePortalTargets.js +1 -0
  83. package/build/esm/components/Layout/usePanelDockedSlide.d.ts +28 -0
  84. package/build/esm/components/Layout/usePanelDockedSlide.js +1 -0
  85. package/build/esm/components/Link/Link.js +1 -1
  86. package/build/esm/shared/prefersReducedMotion.d.ts +6 -0
  87. package/build/esm/shared/prefersReducedMotion.js +1 -0
  88. package/build/esm/web-tokens/_sizes.json +51 -51
  89. package/package.json +13 -12
  90. package/build/cjs/components/Internal/Drawer/useDrawerAnimation.d.ts +0 -26
  91. package/build/cjs/components/Internal/Drawer/useDrawerAnimation.js +0 -1
  92. package/build/cjs/components/Layout/usePortalContainerRefs.d.ts +0 -20
  93. package/build/cjs/components/Layout/usePortalContainerRefs.js +0 -1
  94. package/build/esm/components/Internal/Drawer/useDrawerAnimation.d.ts +0 -26
  95. package/build/esm/components/Internal/Drawer/useDrawerAnimation.js +0 -1
  96. package/build/esm/components/Layout/usePortalContainerRefs.d.ts +0 -20
  97. package/build/esm/components/Layout/usePortalContainerRefs.js +0 -1
@@ -1 +1 @@
1
- import React from"react";import{Slot}from"../-constants";import{useDeclarePanel,useLayoutPortal}from"../registry";import{useLayout}from"../useLayout";import{PanelContainer}from"../PanelContainer";export const Split=({children,"aria-label":ariaLabel,defaultSize,minSize,maxSize})=>{let{isVisible}=useLayout()[Slot.splitview];return useDeclarePanel(Slot.splitview,{defaultSize,minSize,maxSize,collapsible:!0}),useLayoutPortal(Slot.splitview,isVisible?React.createElement(PanelContainer,{"aria-label":ariaLabel,showBorderLeft:!0},children):null)};
1
+ import React from"react";import{Slot}from"../-constants";import{useDeclarePanel,useLayoutPortal}from"../registry";import{useLayout}from"../useLayout";import{useLayoutPanelsEnabled}from"../context";import{PanelContainer}from"../PanelContainer";export const Split=({children,"aria-label":ariaLabel,defaultSize,minSize,maxSize})=>{let{isVisible}=useLayout()[Slot.splitview],panelsEnabled=useLayoutPanelsEnabled();return useDeclarePanel(Slot.splitview,{defaultSize,minSize,maxSize,collapsible:!0}),useLayoutPortal(Slot.splitview,!0===panelsEnabled&&isVisible?React.createElement(PanelContainer,{"aria-label":ariaLabel,showBorderLeft:!0},children):null)};
@@ -1,7 +1,20 @@
1
- import type { LayoutState, LayoutStorage, LayoutStore } from "./-types";
1
+ import type { LayoutPanelsMode, LayoutState, LayoutStorage, LayoutStore } from "./-types";
2
2
  export declare const LayoutStoreProvider: React.Provider<LayoutStore>;
3
3
  /** Get the store from context, or throw if used outside the provider. */
4
4
  export declare function useLayoutStore(): LayoutStore;
5
+ export declare const LayoutPanelsEnabledProvider: React.Provider<LayoutPanelsMode>;
6
+ /** The panels mode from the nearest `Layout.Provider`'s
7
+ * `config.enablePanels`; `false` when unset. */
8
+ export declare function useLayoutPanelsEnabled(): LayoutPanelsMode;
9
+ /** TEMPORARY - part of the `enablePanels` kill switch for the staged panels
10
+ * rollout; remove (together with `LayoutPanelsMode`) once panels are enabled
11
+ * everywhere.
12
+ *
13
+ * Whether the calling panel marker may render for the current viewport:
14
+ * mode `true` always allows; `"mobile"` allows only below the mobile
15
+ * breakpoint (the overlay presentations - drawer/sheet - which never mount
16
+ * the resizable row); `false` never allows. */
17
+ export declare function useCanRenderPanel(): boolean;
5
18
  /**
6
19
  * Persistence config for the layout namespace. Set on `Layout.Provider` (single
7
20
  * external surface) and read by the nested `<Layout>`. The Provider only
@@ -1 +1 @@
1
- import{createContext,useContext,useSyncExternalStore}from"react";let LayoutStoreContext=createContext(null);export const LayoutStoreProvider=LayoutStoreContext.Provider;export function useLayoutStore(){let store=useContext(LayoutStoreContext);if(!store)throw Error("useLayout must be used within a <LayoutProvider>.");return store}let LayoutPersistenceContext=createContext({});export const LayoutPersistenceProvider=LayoutPersistenceContext.Provider;export function useLayoutPersistence(){return useContext(LayoutPersistenceContext)}export function useLayoutSelector(selector){let store=useLayoutStore(),getSnapshot=()=>selector(store.getState());return useSyncExternalStore(store.subscribe,getSnapshot,getSnapshot)}
1
+ import{createContext,useContext,useSyncExternalStore}from"react";import{useBreakpoints}from"../../shared/useBreakpoints";let LayoutStoreContext=createContext(null);export const LayoutStoreProvider=LayoutStoreContext.Provider;export function useLayoutStore(){let store=useContext(LayoutStoreContext);if(!store)throw Error("useLayout must be used within a <LayoutProvider>.");return store}let LayoutPanelsEnabledContext=createContext(!1);export const LayoutPanelsEnabledProvider=LayoutPanelsEnabledContext.Provider;export function useLayoutPanelsEnabled(){return useContext(LayoutPanelsEnabledContext)}export function useCanRenderPanel(){let mode=useLayoutPanelsEnabled(),{isMobile}=useBreakpoints();return!0===mode||"mobile"===mode&&isMobile}let LayoutPersistenceContext=createContext({});export const LayoutPersistenceProvider=LayoutPersistenceContext.Provider;export function useLayoutPersistence(){return useContext(LayoutPersistenceContext)}export function useLayoutSelector(selector){let store=useLayoutStore(),getSnapshot=()=>selector(store.getState());return useSyncExternalStore(store.subscribe,getSnapshot,getSnapshot)}
@@ -1,6 +1,7 @@
1
1
  import { type ReactNode } from "react";
2
+ import type { PanelImperativeHandle } from "react-resizable-panels";
2
3
  import type { Size, SlotKey } from "./-types";
3
- export type HostNodes = Partial<Record<SlotKey, HTMLElement | null>>;
4
+ export type PortalTargets = Partial<Record<SlotKey, HTMLElement | null>>;
4
5
  export declare const LayoutPortalContext: React.Context<Partial<Record<"content" | "leftPanel" | "splitview" | "rightPanel", HTMLElement>>>;
5
6
  /**
6
7
  * Portal `children` into the host DOM node registered for `slot`. Returns the
@@ -27,5 +28,41 @@ export type PanelRegistry = {
27
28
  export declare const PanelRegistryContext: React.Context<PanelRegistry>;
28
29
  /** Register this slot as a panel for the marker's lifetime. */
29
30
  export declare function useDeclarePanel(slot: SlotKey, reg: PanelReg): void;
31
+ /**
32
+ * Keeps an animating-out panel in the resizable row while its exit plays - the
33
+ * Group would otherwise drop the column the instant it's hidden. The panel
34
+ * reports its live presence (mounted incl. mid-exit); the Layout keeps any
35
+ * present slot in the row until presence flips false.
36
+ */
37
+ export type PanelPresence = {
38
+ setPresent: (slot: SlotKey, isPresent: boolean) => void;
39
+ };
40
+ export declare const PanelPresenceContext: React.Context<PanelPresence>;
41
+ /** Report this slot's live presence so the Layout keeps its column mounted
42
+ * through the exit animation. No-op outside a Layout. */
43
+ export declare function usePanelPresence(slot: SlotKey, isPresent: boolean): void;
44
+ /**
45
+ * Lets a sliding side panel reach its column's `react-resizable-panels`
46
+ * imperative handle and DOM element, and mute the Group's layout callbacks
47
+ * mid-slide - the 0-width start of an open would otherwise be read as a
48
+ * drag-to-collapse, and mid-slide sizes would be persisted.
49
+ */
50
+ export type PanelAnimationControl = {
51
+ /** Register/clear the RRP handle for a slot's column (wired by the Group). */
52
+ setHandle: (slot: SlotKey, handle: PanelImperativeHandle | null) => void;
53
+ /** Read a slot's current RRP handle (null until its column has mounted). */
54
+ getHandle: (slot: SlotKey) => PanelImperativeHandle | null;
55
+ /** Register/clear the DOM element for a slot's column (wired by the Group). */
56
+ setElement: (slot: SlotKey, element: HTMLElement | null) => void;
57
+ /** Read a slot's column element (null until its column has mounted). */
58
+ getElement: (slot: SlotKey) => HTMLElement | null;
59
+ /** Mute the Group's resize/collapse/persist callbacks for a slot mid-slide. */
60
+ setResizeSuppressed: (slot: SlotKey, suppressed: boolean) => void;
61
+ };
62
+ export declare const PanelAnimationContext: React.Context<PanelAnimationControl>;
63
+ /** Access the Layout's panel-animation control. Null outside a Layout. */
64
+ export declare function usePanelAnimationControl(): PanelAnimationControl | null;
65
+ /** Run `onChange(value)` when `value` transitions (not on initial mount). */
66
+ export declare function useRunCallbackOnValueChange<T>(value: T, onChange?: (value: T) => void): void;
30
67
  /** Fire `onChange(visible)` when `visible` transitions (not on initial mount). */
31
68
  export declare function useVisibleChange(visible: boolean, onChange?: (visible: boolean) => void): void;
@@ -1 +1 @@
1
- import{createContext,useContext,useEffect,useLayoutEffect,useRef}from"react";import{createPortal}from"react-dom";export const LayoutPortalContext=createContext({});export function useLayoutPortal(slot,children){let slotNode=useContext(LayoutPortalContext)[slot]??null;return slotNode?createPortal(children,slotNode):null}export const PanelRegistryContext=createContext(null);export function useDeclarePanel(slot,reg){let registry=useContext(PanelRegistryContext),{defaultSize,minSize,maxSize,collapsible}=reg;useLayoutEffect(()=>{if(registry)return registry.register(slot,{defaultSize,minSize,maxSize,collapsible}),()=>registry.unregister(slot)},[registry,slot,defaultSize,minSize,maxSize,collapsible])}export function useVisibleChange(visible,onChange){let prev=useRef(visible);useEffect(()=>{prev.current!==visible&&(prev.current=visible,onChange?.(visible))},[visible,onChange])}
1
+ import{createContext,useContext,useEffect,useLayoutEffect,useRef}from"react";import{createPortal}from"react-dom";import{Slot}from"./-constants";import{useLayoutPanelsEnabled}from"./context";export const LayoutPortalContext=createContext({});export function useLayoutPortal(slot,children){let slotNode=useContext(LayoutPortalContext)[slot]??null;return slotNode?createPortal(children,slotNode):null}export const PanelRegistryContext=createContext(null);export function useDeclarePanel(slot,reg){let registry=useContext(PanelRegistryContext),declarationEnabled=!0===useLayoutPanelsEnabled()||slot===Slot.content,{defaultSize,minSize,maxSize,collapsible}=reg;useLayoutEffect(()=>{if(registry&&declarationEnabled)return registry.register(slot,{defaultSize,minSize,maxSize,collapsible}),()=>registry.unregister(slot)},[registry,declarationEnabled,slot,defaultSize,minSize,maxSize,collapsible])}export const PanelPresenceContext=createContext(null);export function usePanelPresence(slot,isPresent){let presence=useContext(PanelPresenceContext);useLayoutEffect(()=>{if(presence)return presence.setPresent(slot,isPresent),()=>presence.setPresent(slot,!1)},[presence,slot,isPresent])}export const PanelAnimationContext=createContext(null);export function usePanelAnimationControl(){return useContext(PanelAnimationContext)}export function useRunCallbackOnValueChange(value,onChange){let prev=useRef(value);useEffect(()=>{prev.current!==value&&(prev.current=value,onChange?.(value))},[value,onChange])}export function useVisibleChange(visible,onChange){useRunCallbackOnValueChange(visible,onChange)}
@@ -0,0 +1,37 @@
1
+ import type { PortalTargets } from "./registry";
2
+ import type { SlotKey } from "./-types";
3
+ /**
4
+ * Portal-target wiring for the Layout, including the one slot that can float.
5
+ *
6
+ * The vocabulary:
7
+ * - **slot host** - the `<div>` a panel occupies in the docked row (one per
8
+ * shown slot, captured via ref).
9
+ * - **float host** - the `<div>` inside the floating window's shell.
10
+ * - **carrier** - a persistent `<div>` that carries the floatable slot's
11
+ * children, physically reparented between its slot host (docked) and the
12
+ * float host (floating).
13
+ * - **portal target** - what a marker portals its content into. For normal
14
+ * slots the target IS the slot host; for the floatable slot it is the
15
+ * carrier, whose identity never changes - so the panel's children keep
16
+ * their state across dock ↔ float instead of remounting.
17
+ */
18
+ type FloatablePortalTargetsArgs = {
19
+ /** All slots, in row order. */
20
+ slots: readonly SlotKey[];
21
+ /** The single slot whose content may move into the floating window. */
22
+ floatableSlot: SlotKey;
23
+ /** Whether the floatable slot is currently floating. */
24
+ isFloating: boolean;
25
+ };
26
+ type FloatablePortalTargetsResult = {
27
+ /** Per-slot portal targets - what markers portal content into. */
28
+ portalTargets: PortalTargets;
29
+ /** The docked-row host elements, keyed by slot (for width observers etc.). */
30
+ slotHosts: PortalTargets;
31
+ /** Stable ref callbacks - attach one to each slot's docked host `<div>`. */
32
+ slotHostRefs: Record<SlotKey, (el: HTMLElement | null) => void>;
33
+ /** Ref callback for the floating window's content host `<div>`. */
34
+ floatHostRef: (el: HTMLElement | null) => void;
35
+ };
36
+ export declare const useFloatablePortalTargets: ({ slots, floatableSlot, isFloating, }: FloatablePortalTargetsArgs) => FloatablePortalTargetsResult;
37
+ export {};
@@ -0,0 +1 @@
1
+ import{useLayoutEffect,useMemo,useState}from"react";import{useDocument}from"../../shared/useDocument";let usePortalContainerRefs=keys=>{let[elements,setElements]=useState({});return[elements,useMemo(()=>{let map={};return keys.forEach(key=>{map[key]=el=>setElements(prev=>prev[key]===el?prev:{...prev,[key]:el})}),map},[keys])]},useReparentingPortalNode=hostNode=>{let document=useDocument(),[portalNode]=useState(()=>{if(!document)return null;let node=document.createElement("div");return node.style.height="100%",node.style.width="100%",node.style.position="relative",node});return useLayoutEffect(()=>{portalNode&&hostNode&&portalNode.parentElement!==hostNode&&hostNode.appendChild(portalNode)},[portalNode,hostNode]),portalNode};export const useFloatablePortalTargets=({slots,floatableSlot,isFloating})=>{let[slotHosts,slotHostRefs]=usePortalContainerRefs(slots),[floatHost,setFloatHost]=useState(null),carrier=useReparentingPortalNode(isFloating?floatHost:slotHosts[floatableSlot]??null);return{portalTargets:useMemo(()=>carrier?{...slotHosts,[floatableSlot]:carrier}:slotHosts,[slotHosts,floatableSlot,carrier]),slotHosts,slotHostRefs,floatHostRef:setFloatHost}};
@@ -0,0 +1,28 @@
1
+ import type { SidePanelKey } from "./-constants";
2
+ import type { Size } from "./-types";
3
+ export type PanelDockedSlideOptions = {
4
+ /** Which side-panel slot this animates. */
5
+ slot: SidePanelKey;
6
+ defaultSize?: Size;
7
+ minSize?: Size;
8
+ maxSize?: Size;
9
+ collapsible: boolean;
10
+ };
11
+ export type PanelDockedSlide = {
12
+ /** Whether the panel's content should render at all (entering, open, or
13
+ * mid-exit). Kept true through the close so the exit slide can play. */
14
+ isMounted: boolean;
15
+ /** Body width (px) while the column slides; `null` at rest, where the body
16
+ * fills the column and the panel stays resizable. */
17
+ pinnedWidth: number | null;
18
+ };
19
+ /**
20
+ * Animates a docked side panel's open/close as a width slide on its
21
+ * `react-resizable-panels` column, pushing neighbouring content smoothly
22
+ * instead of snapping. Slot-generic - works for either side panel; render the
23
+ * returned state with {@link PanelSlideBody}. Falls back to an instant
24
+ * open/close when the panel isn't collapsible, no handle is available, or
25
+ * reduced motion is requested. The mobile modal-drawer lifecycle lives in
26
+ * {@link useExitAnimation} and the Drawer's styled components.
27
+ */
28
+ export declare function usePanelDockedSlide({ slot, defaultSize, minSize, maxSize, collapsible, }: PanelDockedSlideOptions): PanelDockedSlide;
@@ -0,0 +1 @@
1
+ import{useLayoutEffect,useState}from"react";import{useTheme}from"@emotion/react";import{useWindow}from"../../shared/useWindow";import{prefersReducedMotion}from"../../shared/prefersReducedMotion";import{useDeclarePanel,usePanelAnimationControl,usePanelPresence}from"./registry";import{useLayout}from"./useLayout";let parseDurationMs=duration=>{let trimmed=duration.trim();return trimmed.endsWith("ms")?parseFloat(trimmed):trimmed.endsWith("s")?1e3*parseFloat(trimmed):parseFloat(trimmed)||0},resolveSizePx=(size,groupWidthPx)=>{if("number"==typeof size)return size;if("string"!=typeof size)return null;let parsed=parseFloat(size);return Number.isFinite(parsed)?size.trim().endsWith("px")?parsed:null!=groupWidthPx?parsed/100*groupWidthPx:null:null},groupColumnsOf=element=>{let columns=element.closest("[data-group]")?.querySelectorAll("[data-panel]");return columns?Array.from(columns):[element]},isHandleReady=handle=>{try{return handle.isCollapsed(),!0}catch{return!1}};export function usePanelDockedSlide({slot,defaultSize,minSize,maxSize,collapsible}){let{isVisible,state}=useLayout()[slot],theme=useTheme(),window=useWindow(),animation=usePanelAnimationControl(),reducedMotion=prefersReducedMotion(window),[isMounted,setIsMounted]=useState(isVisible),[phase,setPhase]=useState("idle"),[pinnedWidth,setPinnedWidth]=useState(null),[prevVisible,setPrevVisible]=useState(isVisible);return isVisible!==prevVisible&&(setPrevVisible(isVisible),setPhase(isVisible?"entering":"exiting"),isVisible&&setIsMounted(!0)),useDeclarePanel(slot,{defaultSize:"entering"===phase&&collapsible&&!reducedMotion?0:defaultSize,minSize,maxSize,collapsible}),usePanelPresence(slot,isMounted),useLayoutEffect(()=>{if("idle"===phase)return;let cancelled=!1,frame=0,settleTimer=0,animatedColumns=[];animation?.setResizeSuppressed(slot,!0);let{duration,timingFunction}=theme.variables.animation.navSlide.open,durationMs=parseDurationMs(duration),setColumnTransitions=enabled=>{animatedColumns.forEach(column=>{enabled?column.style.setProperty("transition",`flex-grow ${duration} ${timingFunction}`):column.style.removeProperty("transition")})},targetSize=state.size??defaultSize??minSize,openColumn=(handle,targetPx)=>{handle.isCollapsed()&&handle.expand(),handle.resize(targetPx??targetSize??minSize??"20%")},settle=handle=>{if(setColumnTransitions(!1),animation?.setResizeSuppressed(slot,!1),"entering"===phase&&handle)try{handle.getSize().inPixels<1&&openColumn(handle,null)}catch{}setPinnedWidth(null),"exiting"===phase&&setIsMounted(!1),setPhase("idle")},runSlide=(handle,element)=>{animatedColumns=groupColumnsOf(element);let targetPx=resolveSizePx(targetSize,element.closest("[data-group]")?.getBoundingClientRect().width??null);setPinnedWidth("entering"===phase?targetPx:handle.getSize().inPixels),setColumnTransitions(!0),element.getBoundingClientRect();try{"entering"===phase?openColumn(handle,targetPx):handle.collapse()}catch{settle(handle);return}settleTimer=window.setTimeout(()=>settle(handle),durationMs+80)},waitForColumn=attempt=>{if(cancelled)return;let handle=animation?.getHandle(slot)??null,element=animation?.getElement(slot)??null;return handle&&element&&isHandleReady(handle)?void runSlide(handle,element):"exiting"===phase||!animation||attempt>=30?void settle(handle):void(frame=window.requestAnimationFrame(()=>waitForColumn(attempt+1)))};return!collapsible||reducedMotion?settle(animation?.getHandle(slot)??null):waitForColumn(0),()=>{cancelled=!0,window.cancelAnimationFrame(frame),window.clearTimeout(settleTimer),setColumnTransitions(!1),animation?.setResizeSuppressed(slot,!1)}},[phase,slot,collapsible,animation,window,theme]),{isMounted,pinnedWidth}}
@@ -1 +1 @@
1
- import React,{useContext,useMemo}from"react";import styled from"@emotion/styled";import isPropValid from"@emotion/is-prop-valid";import{TextContext}from"../Typography/Text/Text";import{LinkContext}from"./LinkContext";import{getLinkDecorationStyles}from"./getLinkDecorationStyles";import{Icon}from"../Icon/Icon";let StyledLink=styled("a",{shouldForwardProp:prop=>isPropValid(prop)&&"inline"!==prop,target:"e1wevig90",label:"StyledLink"})(({theme,weight,size,color,inline})=>({cursor:"pointer",background:"none",border:"none",padding:0,fontSize:theme.variables.size.font[size]??"inherit",fontWeight:theme.variables.weight[weight]??"inherit",lineHeight:({xs:theme.variables.size.lineHeight.xl,s:theme.variables.size.lineHeight.l,m:theme.variables.size.lineHeight.xl,l:theme.variables.size.lineHeight.xl})[size],fontFamily:theme.variables.fontFamily.lato,color:color?theme.values.color.text[color].default:"inherit",...getLinkDecorationStyles({theme,color,showsUnderline:!!inline,hoverSelector:"&:hover",includeHoverTextColor:!0}),"&[data-ds-id='Link']:has([data-ds-id='Text'], [data-ds-id='TextClamped'], [data-ds-id='ContentText'])":{"&, &:hover":{textDecorationLine:"none"}}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTGluay9MaW5rLnRzeCIsInNvdXJjZXMiOlsic3JjL2NvbXBvbmVudHMvTGluay9MaW5rLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nICovXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlTWVtbywgdHlwZSBBcmlhQXR0cmlidXRlcyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBDU1NPYmplY3QgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IGlzUHJvcFZhbGlkIGZyb20gXCJAZW1vdGlvbi9pcy1wcm9wLXZhbGlkXCI7XG5pbXBvcnQgeyBUZXh0Q29udGV4dCB9IGZyb20gXCIuLi9UeXBvZ3JhcGh5L1RleHQvVGV4dFwiO1xuaW1wb3J0IHsgTGlua0NvbnRleHQgfSBmcm9tIFwiLi9MaW5rQ29udGV4dFwiO1xuaW1wb3J0IHsgZ2V0TGlua0RlY29yYXRpb25TdHlsZXMgfSBmcm9tIFwiLi9nZXRMaW5rRGVjb3JhdGlvblN0eWxlc1wiO1xuaW1wb3J0IHR5cGUgeyBJY29uUHJvcHMgfSBmcm9tIFwiLi4vSWNvbi9JY29uXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uL0ljb24vSWNvblwiO1xuaW1wb3J0IHR5cGUge1xuICBUZXh0Q29sb3JzLFxuICBUZXh0U2l6ZSxcbiAgVGV4dFdlaWdodCxcbiAgUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWYsXG4gIFBvbHltb3JwaGljUmVmLFxuICBMaW5rVmFyaWF0aW9ucyxcbn0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5cbnR5cGUgU3VwcGxlbWVudGFyeUljb25Qcm9wcyA9IFBpY2s8SWNvblByb3BzLCBcIm5hbWVcIiB8IFwiY29sb3JcIj47XG5cbmV4cG9ydCB0eXBlIExpbmtDb25kaXRpb25hbFByb3BzID1cbiAgfCB7XG4gICAgICAvKiogSXQgZm9yY2VzIHRvIGluaGVyaXQgY29sb3IsIHdlaWdodCwgc2l6ZSBmcm9tIHBhcmVudCAqL1xuICAgICAgaW5saW5lOiB0cnVlO1xuICAgICAgLyoqIEEgY29sb3IgaXMgaW5oZXJpdGVkIGZyb20gaXRzIHBhcmVudCBUZXh0IG90aGVyd2lzZSBzZXQgYXMgJ3ByaW1hcnknICovXG4gICAgICBjb2xvcjogVGV4dENvbG9ycztcbiAgICAgIC8qKiBJY29ucyBhcmUgbm90IHN1cHBvcnRlZCBmb3IgaW5saW5lIGxpbmtzICovXG4gICAgICBpY29uTGVmdD86IG5ldmVyO1xuICAgICAgLyoqIEljb25zIGFyZSBub3Qgc3VwcG9ydGVkIGZvciBpbmxpbmUgbGlua3MgKi9cbiAgICAgIGljb25SaWdodD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbmxpbmU/OiBmYWxzZSB8IHVuZGVmaW5lZDtcbiAgICAgIGNvbG9yPzogVGV4dENvbG9ycztcbiAgICAgIC8qKiBJY29uIGRpc3BsYXllZCBvbiB0aGUgbGVmdCBzaWRlIG9mIHRoZSBsaW5rICovXG4gICAgICBpY29uTGVmdD86IFN1cHBsZW1lbnRhcnlJY29uUHJvcHM7XG4gICAgICAvKiogSWNvbiBkaXNwbGF5ZWQgb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGxpbmsgKi9cbiAgICAgIGljb25SaWdodD86IFN1cHBsZW1lbnRhcnlJY29uUHJvcHM7XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTGlua1Byb3BzID0ge1xuICAvKiogQSBzaXplIGlzIGluaGVyaXRlZCBmcm9tIGl0cyBwYXJlbnQgKi9cbiAgc2l6ZT86IFRleHRTaXplO1xuICAvKiogQSB3ZWlnaHQgaXMgaW5oZXJpdGVkIGZyb20gaXRzIHBhcmVudCAqL1xuICB3ZWlnaHQ/OiBUZXh0V2VpZ2h0O1xuICAvKiogQGRlcHJlY2F0ZWQgdmFyaWFudCwgcGxlYXNlIHVzZSBcImNvbG9yXCIgcHJvcCBpbnN0ZWFkICovXG4gIHZhcmlhbnQ/OiBMaW5rVmFyaWF0aW9ucztcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG59ICYgTGlua0NvbmRpdGlvbmFsUHJvcHMgJlxuICBBcmlhQXR0cmlidXRlcztcblxuZXhwb3J0IHR5cGUgTGlua0NvbXBvbmVudCA9IDxDIGV4dGVuZHMgUmVhY3QuRWxlbWVudFR5cGUgPSBcImFcIj4oXG4gIHByb3BzOiBQb2x5bW9ycGhpY0NvbXBvbmVudFByb3BzV2l0aFJlZjxDLCBMaW5rUHJvcHM+XG4pID0+IFJlYWN0LlJlYWN0Tm9kZSB8IG51bGw7XG5cbi8vIEEgbmVzdGVkIFRleHQvVGV4dENsYW1wZWQvQ29udGVudFRleHQgcGFpbnRzIGl0cyBvd24gdW5kZXJsaW5lIGluIGl0cyByZXNvbHZlZFxuLy8gY29sb3I7IG1hdGNoaW5nIG9uZSBvZiB0aGVzZSBsZXRzIHRoZSBhbmNob3Igc3RlcCBiYWNrIHNvIHRoZSB0d28gdW5kZXJsaW5lc1xuLy8gZG9uJ3QgY29tcGV0ZSAoc2VlIHRoZSB1bmRlcmxpbmUtc3VwcHJlc3Npb24gcnVsZSBpbiBTdHlsZWRMaW5rKS5cbmNvbnN0IE5FU1RFRF9URVhUX1NFTEVDVE9SID1cbiAgXCJbZGF0YS1kcy1pZD0nVGV4dCddLCBbZGF0YS1kcy1pZD0nVGV4dENsYW1wZWQnXSwgW2RhdGEtZHMtaWQ9J0NvbnRlbnRUZXh0J11cIjtcblxuY29uc3QgU3R5bGVkTGluayA9IHN0eWxlZChcImFcIiwge1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IGlzUHJvcFZhbGlkKHByb3ApICYmIHByb3AgIT09IFwiaW5saW5lXCIsXG59KTxQYXJ0aWFsPExpbmtQcm9wcz4+KFxuICAoeyB0aGVtZSwgd2VpZ2h0LCBzaXplLCBjb2xvciwgaW5saW5lIH0pID0+XG4gICAgKHtcbiAgICAgIGN1cnNvcjogXCJwb2ludGVyXCIsXG4gICAgICBiYWNrZ3JvdW5kOiBcIm5vbmVcIixcbiAgICAgIGJvcmRlcjogXCJub25lXCIsXG4gICAgICBwYWRkaW5nOiAwLFxuICAgICAgZm9udFNpemU6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmZvbnRbc2l6ZV0gPz8gXCJpbmhlcml0XCIsXG4gICAgICBmb250V2VpZ2h0OiB0aGVtZS52YXJpYWJsZXMud2VpZ2h0W3dlaWdodF0gPz8gXCJpbmhlcml0XCIsXG4gICAgICBsaW5lSGVpZ2h0OiB7XG4gICAgICAgIHhzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5saW5lSGVpZ2h0LnhsLFxuICAgICAgICBzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5saW5lSGVpZ2h0LmwsXG4gICAgICAgIG06IHRoZW1lLnZhcmlhYmxlcy5zaXplLmxpbmVIZWlnaHQueGwsXG4gICAgICAgIGw6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmxpbmVIZWlnaHQueGwsXG4gICAgICB9W3NpemVdLFxuICAgICAgZm9udEZhbWlseTogdGhlbWUudmFyaWFibGVzLmZvbnRGYW1pbHkubGF0byxcblxuICAgICAgY29sb3I6IGNvbG9yID8gdGhlbWUudmFsdWVzLmNvbG9yLnRleHRbY29sb3JdLmRlZmF1bHQgOiBcImluaGVyaXRcIixcblxuICAgICAgLi4uZ2V0TGlua0RlY29yYXRpb25TdHlsZXMoe1xuICAgICAgICB0aGVtZSxcbiAgICAgICAgY29sb3IsXG4gICAgICAgIHNob3dzVW5kZXJsaW5lOiAhIWlubGluZSxcbiAgICAgICAgaG92ZXJTZWxlY3RvcjogXCImOmhvdmVyXCIsXG4gICAgICAgIGluY2x1ZGVIb3ZlclRleHRDb2xvcjogdHJ1ZSxcbiAgICAgIH0pLFxuXG4gICAgICAvLyBXaGVuIGEgcGxhaW4gTGluayB3cmFwcyBhIERTIHRleHQgY29tcG9uZW50LCB0aGF0IGNvbXBvbmVudCBwYWludHMgdGhlXG4gICAgICAvLyB1bmRlcmxpbmUgaW4gaXRzIG93biByZXNvbHZlZCBjb2xvci4gU3VwcHJlc3MgdGhlIGFuY2hvcidzIG93biB1bmRlcmxpbmVcbiAgICAgIC8vIChyZXN0aW5nIGFuZCBob3Zlcikgc28gYSBkaWZmZXJpbmcgbmVzdGVkIGNvbG9yIGlzbid0IG92ZXJyaWRkZW4gYnkgdGhlXG4gICAgICAvLyBsaW5rJ3MgdW5kZXJsaW5lLiBTY29wZWQgdG8gYGRhdGEtZHMtaWQ9J0xpbmsnYCBzbyBDb250ZW50TGluayDigJQgd2hpY2hcbiAgICAgIC8vIHJldXNlcyB0aGlzIGFuY2hvciBidXQgc2V0cyBpdHMgb3duIGNvbnRlbnQtY29sb3IgdW5kZXJsaW5lIGFuZCByZW5kZXJzXG4gICAgICAvLyBpdHMgb3duIGBkYXRhLWRzLWlkYCDigJQga2VlcHMgZHJhd2luZyBpdHMgZGVjb3JhdGlvbi5cbiAgICAgIFtgJltkYXRhLWRzLWlkPSdMaW5rJ106aGFzKCR7TkVTVEVEX1RFWFRfU0VMRUNUT1J9KWBdOiB7XG4gICAgICAgIFwiJiwgJjpob3ZlclwiOiB7XG4gICAgICAgICAgdGV4dERlY29yYXRpb25MaW5lOiBcIm5vbmVcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSBhcyBDU1NPYmplY3QpXG4pO1xuXG5jb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEljb24pPHsgcG9zaXRpb246IFwibGVmdFwiIHwgXCJyaWdodFwiIH0+KFxuICAoeyBwb3NpdGlvbiwgdGhlbWUgfSkgPT4gKHtcbiAgICAuLi4ocG9zaXRpb24gPT09IFwibGVmdFwiICYmIHtcbiAgICAgIG1hcmdpblJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4cyxcbiAgICB9KSxcbiAgICAuLi4ocG9zaXRpb24gPT09IFwicmlnaHRcIiAmJiB7XG4gICAgICBtYXJnaW5MZWZ0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4cyxcbiAgICB9KSxcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBMaW5rOiBMaW5rQ29tcG9uZW50ID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgPEMgZXh0ZW5kcyBSZWFjdC5FbGVtZW50VHlwZSA9IFwiYVwiPihcbiAgICB7XG4gICAgICB3ZWlnaHQsXG4gICAgICBjb2xvcjogY29sb3JQcm9wLFxuICAgICAgc2l6ZSxcbiAgICAgIHZhcmlhbnQsXG4gICAgICBpbmxpbmUsXG4gICAgICBpY29uTGVmdCxcbiAgICAgIGljb25SaWdodCxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gICAgICAuLi5yZXN0XG4gICAgfTogUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWY8QywgTGlua1Byb3BzPixcbiAgICByZWY/OiBQb2x5bW9ycGhpY1JlZjxDPlxuICApID0+IHtcbiAgICBjb25zdCBpbmhlcml0UHJvcHNGcm9tVGV4dCA9IHVzZUNvbnRleHQoVGV4dENvbnRleHQpO1xuXG4gICAgY29uc3QgZ2V0Q29sb3IgPSAoKSA9PiB7XG4gICAgICBpZiAodmFyaWFudCkge1xuICAgICAgICAvLyB0aGlzIGlzIGdvaW5nIHRvIGJlIGRlbGV0ZWQgYWZ0ZXIgbWlncmF0aW9uXG4gICAgICAgIGlmICh2YXJpYW50ID09PSBcInByaW1hcnlcIikgcmV0dXJuIFwiYWNjZW50XCI7XG4gICAgICAgIGlmICh2YXJpYW50ID09PSBcInNlY29uZGFyeVwiKSByZXR1cm4gXCJwcmltYXJ5XCI7XG4gICAgICAgIHJldHVybiB2YXJpYW50O1xuICAgICAgfVxuICAgICAgaWYgKGNvbG9yUHJvcCkgcmV0dXJuIGNvbG9yUHJvcDtcbiAgICAgIGlmIChpbmhlcml0UHJvcHNGcm9tVGV4dD8uY29sb3IpIHJldHVybiBpbmhlcml0UHJvcHNGcm9tVGV4dD8uY29sb3I7XG4gICAgICBpZiAoIWlubGluZSkgcmV0dXJuIFwiYWNjZW50XCI7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH07XG5cbiAgICBjb25zdCBsaW5rQ29sb3IgPSBnZXRDb2xvcigpO1xuXG4gICAgLyogV2h5IGRvIHdlIG5lZWQgaW5saW5lIHByb3A/IFdlIGluaGVyaXQgc2l6ZSBhbmQgY29sb3IgZnJvbSBUZXh0IChpZiBMaW5rIGlzIHdyYXBwZWQgaW4gaXQpLCBidXQgd2UgbmVlZCB0byBzdXBwb3J0IExpbmtzIHdpdGhpbiBIZWFkZXJzIGFuZCBvdGhlciBjdXN0b20gY29tcG9uZW50cy4gVGh1cyBieSBkZWZhdWx0LCBzaXplIGFuZCBjb2xvciBhcmUgbm90IHJlcXVpcmVkIHByb3BzICovXG4gICAgY29uc3QgaXNJbmxpbmVMaW5rID0gaW5saW5lIHx8ICEhaW5oZXJpdFByb3BzRnJvbVRleHQ7XG5cbiAgICAvLyBPbmx5IGEgcGxhaW4gTGluayBzdXBwcmVzc2VzIGl0cyBvd24gdW5kZXJsaW5lIChzZWUgU3R5bGVkTGluayk7IENvbnRlbnRMaW5rXG4gICAgLy8gcmVuZGVycyBpdHMgb3duIGRhdGEtZHMtaWQgYW5kIGtlZXBzIGRyYXdpbmcgaXRzIGNvbnRlbnQtY29sb3IgdW5kZXJsaW5lLCBzb1xuICAgIC8vIGEgbmVzdGVkIHRleHQgbXVzdCBub3QgcGFpbnQgYSBjb21wZXRpbmcgb25lIG9uIHRvcCBvZiBpdC5cbiAgICBjb25zdCBkYXRhRHNJZCA9IChyZXN0IGFzIHsgXCJkYXRhLWRzLWlkXCI/OiBzdHJpbmcgfSlbXCJkYXRhLWRzLWlkXCJdO1xuICAgIGNvbnN0IHVuZGVybGluZU93bmVkQnlDaGlsZCA9IChkYXRhRHNJZCA/PyBcIkxpbmtcIikgPT09IFwiTGlua1wiO1xuXG4gICAgLy8gUHJvdmlkZSB0aGUgbGluayBjb2xvciBhbmQgdW5kZXJsaW5lIHN0YXRlIHRvIHRoZSBjb250ZXh0IHNvIGEgbmVzdGVkXG4gICAgLy8gVGV4dC9UZXh0Q2xhbXBlZCBjYW4gaW5oZXJpdCB0aGUgbGluaydzIHJlc29sdmVkIGNvbG9yIHdoZW4gaXQgZG9lc24ndCBzZXRcbiAgICAvLyBpdHMgb3duIGBjb2xvcmAgcHJvcCwgYW5kIHJlLWRyYXcgdGhlIHVuZGVybGluZSBpbiBpdHMgb3duIGNvbG9yIHdoZW4gaXRcbiAgICAvLyBkb2VzLiBUaGlzIGtlZXBzIHRoZSBnbHlwaCBjb2xvciBhbmQgdW5kZXJsaW5lIGluIHN5bmMgd2l0aCB0aGUgYW5jaG9yIOKAlFxuICAgIC8vIG5vdGFibHkgdW5kZXIgYSBTdWJUaGVtZVByb3ZpZGVyLCB3aGVyZSBhIHN1YnRoZW1lIG1heSBvdmVycmlkZSBvbmx5IHNvbWVcbiAgICAvLyBjb2xvciB0b2tlbnMuXG4gICAgY29uc3QgbGlua0NvbnRleHRWYWx1ZSA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBsaW5rQ29sb3JcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgY29sb3I6IGxpbmtDb2xvcixcbiAgICAgICAgICAgICAgc2hvd3NVbmRlcmxpbmU6IGlzSW5saW5lTGluayxcbiAgICAgICAgICAgICAgdW5kZXJsaW5lT3duZWRCeUNoaWxkLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogbnVsbCxcbiAgICAgIFtsaW5rQ29sb3IsIGlzSW5saW5lTGluaywgdW5kZXJsaW5lT3duZWRCeUNoaWxkXVxuICAgICk7XG5cbiAgICBjb25zdCBoYXNJY29ucyA9ICFpc0lubGluZUxpbmsgJiYgKGljb25MZWZ0IHx8IGljb25SaWdodCk7XG5cbiAgICBjb25zdCBsaW5rQ29udGVudCA9IGhhc0ljb25zID8gKFxuICAgICAgPD5cbiAgICAgICAge2ljb25MZWZ0ICYmIChcbiAgICAgICAgICA8U3R5bGVkSWNvblxuICAgICAgICAgICAgYXJpYS1oaWRkZW5cbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIG5hbWU9e2ljb25MZWZ0Lm5hbWV9XG4gICAgICAgICAgICBjb2xvcj17aWNvbkxlZnQuY29sb3IgPz8gbGlua0NvbG9yfVxuICAgICAgICAgICAgaW5saW5lXG4gICAgICAgICAgICBwb3NpdGlvbj1cImxlZnRcIlxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAge2ljb25SaWdodCAmJiAoXG4gICAgICAgICAgPFN0eWxlZEljb25cbiAgICAgICAgICAgIGFyaWEtaGlkZGVuXG4gICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICBuYW1lPXtpY29uUmlnaHQubmFtZX1cbiAgICAgICAgICAgIGNvbG9yPXtpY29uUmlnaHQuY29sb3IgPz8gbGlua0NvbG9yfVxuICAgICAgICAgICAgaW5saW5lXG4gICAgICAgICAgICBwb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC8+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTGlua1xuICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICBkYXRhLWRzLWlkPVwiTGlua1wiXG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBpbmxpbmU9e2lzSW5saW5lTGlua31cbiAgICAgICAgY29sb3I9e2xpbmtDb2xvcn1cbiAgICAgICAgc2l6ZT17c2l6ZSB8fCBpbmhlcml0UHJvcHNGcm9tVGV4dD8uc2l6ZX1cbiAgICAgICAgd2VpZ2h0PXt3ZWlnaHQgfHwgaW5oZXJpdFByb3BzRnJvbVRleHQ/LndlaWdodH1cbiAgICAgICAgey4uLnJlc3R9XG4gICAgICA+XG4gICAgICAgIDxMaW5rQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17bGlua0NvbnRleHRWYWx1ZX0+XG4gICAgICAgICAge2xpbmtDb250ZW50fVxuICAgICAgICA8L0xpbmtDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgPC9TdHlsZWRMaW5rPlxuICAgICk7XG4gIH1cbik7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOERtQiJ9 */"),StyledIcon=styled(Icon,{target:"e1wevig91",label:"StyledIcon"})(({position,theme})=>({..."left"===position&&{marginRight:theme.variables.size.spacing.xxs},..."right"===position&&{marginLeft:theme.variables.size.spacing.xxs}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTGluay9MaW5rLnRzeCIsInNvdXJjZXMiOlsic3JjL2NvbXBvbmVudHMvTGluay9MaW5rLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nICovXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlTWVtbywgdHlwZSBBcmlhQXR0cmlidXRlcyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBDU1NPYmplY3QgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IGlzUHJvcFZhbGlkIGZyb20gXCJAZW1vdGlvbi9pcy1wcm9wLXZhbGlkXCI7XG5pbXBvcnQgeyBUZXh0Q29udGV4dCB9IGZyb20gXCIuLi9UeXBvZ3JhcGh5L1RleHQvVGV4dFwiO1xuaW1wb3J0IHsgTGlua0NvbnRleHQgfSBmcm9tIFwiLi9MaW5rQ29udGV4dFwiO1xuaW1wb3J0IHsgZ2V0TGlua0RlY29yYXRpb25TdHlsZXMgfSBmcm9tIFwiLi9nZXRMaW5rRGVjb3JhdGlvblN0eWxlc1wiO1xuaW1wb3J0IHR5cGUgeyBJY29uUHJvcHMgfSBmcm9tIFwiLi4vSWNvbi9JY29uXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uL0ljb24vSWNvblwiO1xuaW1wb3J0IHR5cGUge1xuICBUZXh0Q29sb3JzLFxuICBUZXh0U2l6ZSxcbiAgVGV4dFdlaWdodCxcbiAgUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWYsXG4gIFBvbHltb3JwaGljUmVmLFxuICBMaW5rVmFyaWF0aW9ucyxcbn0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5cbnR5cGUgU3VwcGxlbWVudGFyeUljb25Qcm9wcyA9IFBpY2s8SWNvblByb3BzLCBcIm5hbWVcIiB8IFwiY29sb3JcIj47XG5cbmV4cG9ydCB0eXBlIExpbmtDb25kaXRpb25hbFByb3BzID1cbiAgfCB7XG4gICAgICAvKiogSXQgZm9yY2VzIHRvIGluaGVyaXQgY29sb3IsIHdlaWdodCwgc2l6ZSBmcm9tIHBhcmVudCAqL1xuICAgICAgaW5saW5lOiB0cnVlO1xuICAgICAgLyoqIEEgY29sb3IgaXMgaW5oZXJpdGVkIGZyb20gaXRzIHBhcmVudCBUZXh0IG90aGVyd2lzZSBzZXQgYXMgJ3ByaW1hcnknICovXG4gICAgICBjb2xvcjogVGV4dENvbG9ycztcbiAgICAgIC8qKiBJY29ucyBhcmUgbm90IHN1cHBvcnRlZCBmb3IgaW5saW5lIGxpbmtzICovXG4gICAgICBpY29uTGVmdD86IG5ldmVyO1xuICAgICAgLyoqIEljb25zIGFyZSBub3Qgc3VwcG9ydGVkIGZvciBpbmxpbmUgbGlua3MgKi9cbiAgICAgIGljb25SaWdodD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbmxpbmU/OiBmYWxzZSB8IHVuZGVmaW5lZDtcbiAgICAgIGNvbG9yPzogVGV4dENvbG9ycztcbiAgICAgIC8qKiBJY29uIGRpc3BsYXllZCBvbiB0aGUgbGVmdCBzaWRlIG9mIHRoZSBsaW5rICovXG4gICAgICBpY29uTGVmdD86IFN1cHBsZW1lbnRhcnlJY29uUHJvcHM7XG4gICAgICAvKiogSWNvbiBkaXNwbGF5ZWQgb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGxpbmsgKi9cbiAgICAgIGljb25SaWdodD86IFN1cHBsZW1lbnRhcnlJY29uUHJvcHM7XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTGlua1Byb3BzID0ge1xuICAvKiogQSBzaXplIGlzIGluaGVyaXRlZCBmcm9tIGl0cyBwYXJlbnQgKi9cbiAgc2l6ZT86IFRleHRTaXplO1xuICAvKiogQSB3ZWlnaHQgaXMgaW5oZXJpdGVkIGZyb20gaXRzIHBhcmVudCAqL1xuICB3ZWlnaHQ/OiBUZXh0V2VpZ2h0O1xuICAvKiogQGRlcHJlY2F0ZWQgdmFyaWFudCwgcGxlYXNlIHVzZSBcImNvbG9yXCIgcHJvcCBpbnN0ZWFkICovXG4gIHZhcmlhbnQ/OiBMaW5rVmFyaWF0aW9ucztcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG59ICYgTGlua0NvbmRpdGlvbmFsUHJvcHMgJlxuICBBcmlhQXR0cmlidXRlcztcblxuZXhwb3J0IHR5cGUgTGlua0NvbXBvbmVudCA9IDxDIGV4dGVuZHMgUmVhY3QuRWxlbWVudFR5cGUgPSBcImFcIj4oXG4gIHByb3BzOiBQb2x5bW9ycGhpY0NvbXBvbmVudFByb3BzV2l0aFJlZjxDLCBMaW5rUHJvcHM+XG4pID0+IFJlYWN0LlJlYWN0Tm9kZSB8IG51bGw7XG5cbi8vIEEgbmVzdGVkIFRleHQvVGV4dENsYW1wZWQvQ29udGVudFRleHQgcGFpbnRzIGl0cyBvd24gdW5kZXJsaW5lIGluIGl0cyByZXNvbHZlZFxuLy8gY29sb3I7IG1hdGNoaW5nIG9uZSBvZiB0aGVzZSBsZXRzIHRoZSBhbmNob3Igc3RlcCBiYWNrIHNvIHRoZSB0d28gdW5kZXJsaW5lc1xuLy8gZG9uJ3QgY29tcGV0ZSAoc2VlIHRoZSB1bmRlcmxpbmUtc3VwcHJlc3Npb24gcnVsZSBpbiBTdHlsZWRMaW5rKS5cbmNvbnN0IE5FU1RFRF9URVhUX1NFTEVDVE9SID1cbiAgXCJbZGF0YS1kcy1pZD0nVGV4dCddLCBbZGF0YS1kcy1pZD0nVGV4dENsYW1wZWQnXSwgW2RhdGEtZHMtaWQ9J0NvbnRlbnRUZXh0J11cIjtcblxuY29uc3QgU3R5bGVkTGluayA9IHN0eWxlZChcImFcIiwge1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IGlzUHJvcFZhbGlkKHByb3ApICYmIHByb3AgIT09IFwiaW5saW5lXCIsXG59KTxQYXJ0aWFsPExpbmtQcm9wcz4+KFxuICAoeyB0aGVtZSwgd2VpZ2h0LCBzaXplLCBjb2xvciwgaW5saW5lIH0pID0+XG4gICAgKHtcbiAgICAgIGN1cnNvcjogXCJwb2ludGVyXCIsXG4gICAgICBiYWNrZ3JvdW5kOiBcIm5vbmVcIixcbiAgICAgIGJvcmRlcjogXCJub25lXCIsXG4gICAgICBwYWRkaW5nOiAwLFxuICAgICAgZm9udFNpemU6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmZvbnRbc2l6ZV0gPz8gXCJpbmhlcml0XCIsXG4gICAgICBmb250V2VpZ2h0OiB0aGVtZS52YXJpYWJsZXMud2VpZ2h0W3dlaWdodF0gPz8gXCJpbmhlcml0XCIsXG4gICAgICBsaW5lSGVpZ2h0OiB7XG4gICAgICAgIHhzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5saW5lSGVpZ2h0LnhsLFxuICAgICAgICBzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5saW5lSGVpZ2h0LmwsXG4gICAgICAgIG06IHRoZW1lLnZhcmlhYmxlcy5zaXplLmxpbmVIZWlnaHQueGwsXG4gICAgICAgIGw6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmxpbmVIZWlnaHQueGwsXG4gICAgICB9W3NpemVdLFxuICAgICAgZm9udEZhbWlseTogdGhlbWUudmFyaWFibGVzLmZvbnRGYW1pbHkubGF0byxcblxuICAgICAgY29sb3I6IGNvbG9yID8gdGhlbWUudmFsdWVzLmNvbG9yLnRleHRbY29sb3JdLmRlZmF1bHQgOiBcImluaGVyaXRcIixcblxuICAgICAgLi4uZ2V0TGlua0RlY29yYXRpb25TdHlsZXMoe1xuICAgICAgICB0aGVtZSxcbiAgICAgICAgY29sb3IsXG4gICAgICAgIHNob3dzVW5kZXJsaW5lOiAhIWlubGluZSxcbiAgICAgICAgaG92ZXJTZWxlY3RvcjogXCImOmhvdmVyXCIsXG4gICAgICAgIGluY2x1ZGVIb3ZlclRleHRDb2xvcjogdHJ1ZSxcbiAgICAgIH0pLFxuXG4gICAgICAvLyBXaGVuIGEgcGxhaW4gTGluayB3cmFwcyBhIERTIHRleHQgY29tcG9uZW50LCB0aGF0IGNvbXBvbmVudCBwYWludHMgdGhlXG4gICAgICAvLyB1bmRlcmxpbmUgaW4gaXRzIG93biByZXNvbHZlZCBjb2xvci4gU3VwcHJlc3MgdGhlIGFuY2hvcidzIG93biB1bmRlcmxpbmVcbiAgICAgIC8vIChyZXN0aW5nIGFuZCBob3Zlcikgc28gYSBkaWZmZXJpbmcgbmVzdGVkIGNvbG9yIGlzbid0IG92ZXJyaWRkZW4gYnkgdGhlXG4gICAgICAvLyBsaW5rJ3MgdW5kZXJsaW5lLiBTY29wZWQgdG8gYGRhdGEtZHMtaWQ9J0xpbmsnYCBzbyBDb250ZW50TGluayDigJQgd2hpY2hcbiAgICAgIC8vIHJldXNlcyB0aGlzIGFuY2hvciBidXQgc2V0cyBpdHMgb3duIGNvbnRlbnQtY29sb3IgdW5kZXJsaW5lIGFuZCByZW5kZXJzXG4gICAgICAvLyBpdHMgb3duIGBkYXRhLWRzLWlkYCDigJQga2VlcHMgZHJhd2luZyBpdHMgZGVjb3JhdGlvbi5cbiAgICAgIFtgJltkYXRhLWRzLWlkPSdMaW5rJ106aGFzKCR7TkVTVEVEX1RFWFRfU0VMRUNUT1J9KWBdOiB7XG4gICAgICAgIFwiJiwgJjpob3ZlclwiOiB7XG4gICAgICAgICAgdGV4dERlY29yYXRpb25MaW5lOiBcIm5vbmVcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSBhcyBDU1NPYmplY3QpXG4pO1xuXG5jb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEljb24pPHsgcG9zaXRpb246IFwibGVmdFwiIHwgXCJyaWdodFwiIH0+KFxuICAoeyBwb3NpdGlvbiwgdGhlbWUgfSkgPT4gKHtcbiAgICAuLi4ocG9zaXRpb24gPT09IFwibGVmdFwiICYmIHtcbiAgICAgIG1hcmdpblJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4cyxcbiAgICB9KSxcbiAgICAuLi4ocG9zaXRpb24gPT09IFwicmlnaHRcIiAmJiB7XG4gICAgICBtYXJnaW5MZWZ0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4cyxcbiAgICB9KSxcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBMaW5rOiBMaW5rQ29tcG9uZW50ID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgPEMgZXh0ZW5kcyBSZWFjdC5FbGVtZW50VHlwZSA9IFwiYVwiPihcbiAgICB7XG4gICAgICB3ZWlnaHQsXG4gICAgICBjb2xvcjogY29sb3JQcm9wLFxuICAgICAgc2l6ZSxcbiAgICAgIHZhcmlhbnQsXG4gICAgICBpbmxpbmUsXG4gICAgICBpY29uTGVmdCxcbiAgICAgIGljb25SaWdodCxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gICAgICAuLi5yZXN0XG4gICAgfTogUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWY8QywgTGlua1Byb3BzPixcbiAgICByZWY/OiBQb2x5bW9ycGhpY1JlZjxDPlxuICApID0+IHtcbiAgICBjb25zdCBpbmhlcml0UHJvcHNGcm9tVGV4dCA9IHVzZUNvbnRleHQoVGV4dENvbnRleHQpO1xuXG4gICAgY29uc3QgZ2V0Q29sb3IgPSAoKSA9PiB7XG4gICAgICBpZiAodmFyaWFudCkge1xuICAgICAgICAvLyB0aGlzIGlzIGdvaW5nIHRvIGJlIGRlbGV0ZWQgYWZ0ZXIgbWlncmF0aW9uXG4gICAgICAgIGlmICh2YXJpYW50ID09PSBcInByaW1hcnlcIikgcmV0dXJuIFwiYWNjZW50XCI7XG4gICAgICAgIGlmICh2YXJpYW50ID09PSBcInNlY29uZGFyeVwiKSByZXR1cm4gXCJwcmltYXJ5XCI7XG4gICAgICAgIHJldHVybiB2YXJpYW50O1xuICAgICAgfVxuICAgICAgaWYgKGNvbG9yUHJvcCkgcmV0dXJuIGNvbG9yUHJvcDtcbiAgICAgIGlmIChpbmhlcml0UHJvcHNGcm9tVGV4dD8uY29sb3IpIHJldHVybiBpbmhlcml0UHJvcHNGcm9tVGV4dD8uY29sb3I7XG4gICAgICBpZiAoIWlubGluZSkgcmV0dXJuIFwiYWNjZW50XCI7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH07XG5cbiAgICBjb25zdCBsaW5rQ29sb3IgPSBnZXRDb2xvcigpO1xuXG4gICAgLyogV2h5IGRvIHdlIG5lZWQgaW5saW5lIHByb3A/IFdlIGluaGVyaXQgc2l6ZSBhbmQgY29sb3IgZnJvbSBUZXh0IChpZiBMaW5rIGlzIHdyYXBwZWQgaW4gaXQpLCBidXQgd2UgbmVlZCB0byBzdXBwb3J0IExpbmtzIHdpdGhpbiBIZWFkZXJzIGFuZCBvdGhlciBjdXN0b20gY29tcG9uZW50cy4gVGh1cyBieSBkZWZhdWx0LCBzaXplIGFuZCBjb2xvciBhcmUgbm90IHJlcXVpcmVkIHByb3BzICovXG4gICAgY29uc3QgaXNJbmxpbmVMaW5rID0gaW5saW5lIHx8ICEhaW5oZXJpdFByb3BzRnJvbVRleHQ7XG5cbiAgICAvLyBPbmx5IGEgcGxhaW4gTGluayBzdXBwcmVzc2VzIGl0cyBvd24gdW5kZXJsaW5lIChzZWUgU3R5bGVkTGluayk7IENvbnRlbnRMaW5rXG4gICAgLy8gcmVuZGVycyBpdHMgb3duIGRhdGEtZHMtaWQgYW5kIGtlZXBzIGRyYXdpbmcgaXRzIGNvbnRlbnQtY29sb3IgdW5kZXJsaW5lLCBzb1xuICAgIC8vIGEgbmVzdGVkIHRleHQgbXVzdCBub3QgcGFpbnQgYSBjb21wZXRpbmcgb25lIG9uIHRvcCBvZiBpdC5cbiAgICBjb25zdCBkYXRhRHNJZCA9IChyZXN0IGFzIHsgXCJkYXRhLWRzLWlkXCI/OiBzdHJpbmcgfSlbXCJkYXRhLWRzLWlkXCJdO1xuICAgIGNvbnN0IHVuZGVybGluZU93bmVkQnlDaGlsZCA9IChkYXRhRHNJZCA/PyBcIkxpbmtcIikgPT09IFwiTGlua1wiO1xuXG4gICAgLy8gUHJvdmlkZSB0aGUgbGluayBjb2xvciBhbmQgdW5kZXJsaW5lIHN0YXRlIHRvIHRoZSBjb250ZXh0IHNvIGEgbmVzdGVkXG4gICAgLy8gVGV4dC9UZXh0Q2xhbXBlZCBjYW4gaW5oZXJpdCB0aGUgbGluaydzIHJlc29sdmVkIGNvbG9yIHdoZW4gaXQgZG9lc24ndCBzZXRcbiAgICAvLyBpdHMgb3duIGBjb2xvcmAgcHJvcCwgYW5kIHJlLWRyYXcgdGhlIHVuZGVybGluZSBpbiBpdHMgb3duIGNvbG9yIHdoZW4gaXRcbiAgICAvLyBkb2VzLiBUaGlzIGtlZXBzIHRoZSBnbHlwaCBjb2xvciBhbmQgdW5kZXJsaW5lIGluIHN5bmMgd2l0aCB0aGUgYW5jaG9yIOKAlFxuICAgIC8vIG5vdGFibHkgdW5kZXIgYSBTdWJUaGVtZVByb3ZpZGVyLCB3aGVyZSBhIHN1YnRoZW1lIG1heSBvdmVycmlkZSBvbmx5IHNvbWVcbiAgICAvLyBjb2xvciB0b2tlbnMuXG4gICAgY29uc3QgbGlua0NvbnRleHRWYWx1ZSA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBsaW5rQ29sb3JcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgY29sb3I6IGxpbmtDb2xvcixcbiAgICAgICAgICAgICAgc2hvd3NVbmRlcmxpbmU6IGlzSW5saW5lTGluayxcbiAgICAgICAgICAgICAgdW5kZXJsaW5lT3duZWRCeUNoaWxkLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogbnVsbCxcbiAgICAgIFtsaW5rQ29sb3IsIGlzSW5saW5lTGluaywgdW5kZXJsaW5lT3duZWRCeUNoaWxkXVxuICAgICk7XG5cbiAgICBjb25zdCBoYXNJY29ucyA9ICFpc0lubGluZUxpbmsgJiYgKGljb25MZWZ0IHx8IGljb25SaWdodCk7XG5cbiAgICBjb25zdCBsaW5rQ29udGVudCA9IGhhc0ljb25zID8gKFxuICAgICAgPD5cbiAgICAgICAge2ljb25MZWZ0ICYmIChcbiAgICAgICAgICA8U3R5bGVkSWNvblxuICAgICAgICAgICAgYXJpYS1oaWRkZW5cbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIG5hbWU9e2ljb25MZWZ0Lm5hbWV9XG4gICAgICAgICAgICBjb2xvcj17aWNvbkxlZnQuY29sb3IgPz8gbGlua0NvbG9yfVxuICAgICAgICAgICAgaW5saW5lXG4gICAgICAgICAgICBwb3NpdGlvbj1cImxlZnRcIlxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAge2ljb25SaWdodCAmJiAoXG4gICAgICAgICAgPFN0eWxlZEljb25cbiAgICAgICAgICAgIGFyaWEtaGlkZGVuXG4gICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICBuYW1lPXtpY29uUmlnaHQubmFtZX1cbiAgICAgICAgICAgIGNvbG9yPXtpY29uUmlnaHQuY29sb3IgPz8gbGlua0NvbG9yfVxuICAgICAgICAgICAgaW5saW5lXG4gICAgICAgICAgICBwb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC8+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTGlua1xuICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICBkYXRhLWRzLWlkPVwiTGlua1wiXG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBpbmxpbmU9e2lzSW5saW5lTGlua31cbiAgICAgICAgY29sb3I9e2xpbmtDb2xvcn1cbiAgICAgICAgc2l6ZT17c2l6ZSB8fCBpbmhlcml0UHJvcHNGcm9tVGV4dD8uc2l6ZX1cbiAgICAgICAgd2VpZ2h0PXt3ZWlnaHQgfHwgaW5oZXJpdFByb3BzRnJvbVRleHQ/LndlaWdodH1cbiAgICAgICAgey4uLnJlc3R9XG4gICAgICA+XG4gICAgICAgIDxMaW5rQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17bGlua0NvbnRleHRWYWx1ZX0+XG4gICAgICAgICAge2xpbmtDb250ZW50fVxuICAgICAgICA8L0xpbmtDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgPC9TdHlsZWRMaW5rPlxuICAgICk7XG4gIH1cbik7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUdtQiJ9 */");export const Link=React.forwardRef(({weight,color:colorProp,size,variant,inline,iconLeft,iconRight,children,"data-e2e-test-id":dataE2eTestId,...rest},ref)=>{let inheritPropsFromText=useContext(TextContext),linkColor=variant?"primary"===variant?"accent":"secondary"===variant?"primary":variant:colorProp||(inheritPropsFromText?.color?inheritPropsFromText?.color:inline?void 0:"accent"),isInlineLink=inline||!!inheritPropsFromText,underlineOwnedByChild=(rest["data-ds-id"]??"Link")==="Link",linkContextValue=useMemo(()=>linkColor?{color:linkColor,showsUnderline:isInlineLink,underlineOwnedByChild}:null,[linkColor,isInlineLink,underlineOwnedByChild]),linkContent=!isInlineLink&&(iconLeft||iconRight)?React.createElement(React.Fragment,null,iconLeft&&React.createElement(StyledIcon,{"aria-hidden":!0,size:"s",name:iconLeft.name,color:iconLeft.color??linkColor,inline:!0,position:"left"}),children,iconRight&&React.createElement(StyledIcon,{"aria-hidden":!0,size:"s",name:iconRight.name,color:iconRight.color??linkColor,inline:!0,position:"right"})):children;return React.createElement(StyledLink,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Link",ref:ref,inline:isInlineLink,color:linkColor,size:size||inheritPropsFromText?.size,weight:weight||inheritPropsFromText?.weight,...rest},React.createElement(LinkContext.Provider,{value:linkContextValue},linkContent))});
1
+ import React,{useContext,useMemo}from"react";import styled from"@emotion/styled";import isPropValid from"@emotion/is-prop-valid";import{TextContext}from"../Typography/Text/Text";import{LinkContext}from"./LinkContext";import{getLinkDecorationStyles}from"./getLinkDecorationStyles";import{Icon}from"../Icon/Icon";let nestedTextSuppressionSelector=["Text","TextClamped","ContentText"].map(id=>`&[data-ds-id='Link']:has([data-ds-id='${id}'])`).join(", "),StyledLink=styled("a",{shouldForwardProp:prop=>isPropValid(prop)&&"inline"!==prop,target:"e1khz5hq0",label:"StyledLink"})(({theme,weight,size,color,inline})=>({cursor:"pointer",background:"none",border:"none",padding:0,fontSize:theme.variables.size.font[size]??"inherit",fontWeight:theme.variables.weight[weight]??"inherit",lineHeight:({xs:theme.variables.size.lineHeight.xl,s:theme.variables.size.lineHeight.l,m:theme.variables.size.lineHeight.xl,l:theme.variables.size.lineHeight.xl})[size],fontFamily:theme.variables.fontFamily.lato,color:color?theme.values.color.text[color].default:"inherit",...getLinkDecorationStyles({theme,color,showsUnderline:!!inline,hoverSelector:"&:hover",includeHoverTextColor:!0}),[nestedTextSuppressionSelector]:{"&, &:hover":{textDecorationLine:"none"}}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTGluay9MaW5rLnRzeCIsInNvdXJjZXMiOlsic3JjL2NvbXBvbmVudHMvTGluay9MaW5rLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nICovXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlTWVtbywgdHlwZSBBcmlhQXR0cmlidXRlcyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBDU1NPYmplY3QgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IGlzUHJvcFZhbGlkIGZyb20gXCJAZW1vdGlvbi9pcy1wcm9wLXZhbGlkXCI7XG5pbXBvcnQgeyBUZXh0Q29udGV4dCB9IGZyb20gXCIuLi9UeXBvZ3JhcGh5L1RleHQvVGV4dFwiO1xuaW1wb3J0IHsgTGlua0NvbnRleHQgfSBmcm9tIFwiLi9MaW5rQ29udGV4dFwiO1xuaW1wb3J0IHsgZ2V0TGlua0RlY29yYXRpb25TdHlsZXMgfSBmcm9tIFwiLi9nZXRMaW5rRGVjb3JhdGlvblN0eWxlc1wiO1xuaW1wb3J0IHR5cGUgeyBJY29uUHJvcHMgfSBmcm9tIFwiLi4vSWNvbi9JY29uXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uL0ljb24vSWNvblwiO1xuaW1wb3J0IHR5cGUge1xuICBUZXh0Q29sb3JzLFxuICBUZXh0U2l6ZSxcbiAgVGV4dFdlaWdodCxcbiAgUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWYsXG4gIFBvbHltb3JwaGljUmVmLFxuICBMaW5rVmFyaWF0aW9ucyxcbn0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5cbnR5cGUgU3VwcGxlbWVudGFyeUljb25Qcm9wcyA9IFBpY2s8SWNvblByb3BzLCBcIm5hbWVcIiB8IFwiY29sb3JcIj47XG5cbmV4cG9ydCB0eXBlIExpbmtDb25kaXRpb25hbFByb3BzID1cbiAgfCB7XG4gICAgICAvKiogSXQgZm9yY2VzIHRvIGluaGVyaXQgY29sb3IsIHdlaWdodCwgc2l6ZSBmcm9tIHBhcmVudCAqL1xuICAgICAgaW5saW5lOiB0cnVlO1xuICAgICAgLyoqIEEgY29sb3IgaXMgaW5oZXJpdGVkIGZyb20gaXRzIHBhcmVudCBUZXh0IG90aGVyd2lzZSBzZXQgYXMgJ3ByaW1hcnknICovXG4gICAgICBjb2xvcjogVGV4dENvbG9ycztcbiAgICAgIC8qKiBJY29ucyBhcmUgbm90IHN1cHBvcnRlZCBmb3IgaW5saW5lIGxpbmtzICovXG4gICAgICBpY29uTGVmdD86IG5ldmVyO1xuICAgICAgLyoqIEljb25zIGFyZSBub3Qgc3VwcG9ydGVkIGZvciBpbmxpbmUgbGlua3MgKi9cbiAgICAgIGljb25SaWdodD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbmxpbmU/OiBmYWxzZSB8IHVuZGVmaW5lZDtcbiAgICAgIGNvbG9yPzogVGV4dENvbG9ycztcbiAgICAgIC8qKiBJY29uIGRpc3BsYXllZCBvbiB0aGUgbGVmdCBzaWRlIG9mIHRoZSBsaW5rICovXG4gICAgICBpY29uTGVmdD86IFN1cHBsZW1lbnRhcnlJY29uUHJvcHM7XG4gICAgICAvKiogSWNvbiBkaXNwbGF5ZWQgb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGxpbmsgKi9cbiAgICAgIGljb25SaWdodD86IFN1cHBsZW1lbnRhcnlJY29uUHJvcHM7XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTGlua1Byb3BzID0ge1xuICAvKiogQSBzaXplIGlzIGluaGVyaXRlZCBmcm9tIGl0cyBwYXJlbnQgKi9cbiAgc2l6ZT86IFRleHRTaXplO1xuICAvKiogQSB3ZWlnaHQgaXMgaW5oZXJpdGVkIGZyb20gaXRzIHBhcmVudCAqL1xuICB3ZWlnaHQ/OiBUZXh0V2VpZ2h0O1xuICAvKiogQGRlcHJlY2F0ZWQgdmFyaWFudCwgcGxlYXNlIHVzZSBcImNvbG9yXCIgcHJvcCBpbnN0ZWFkICovXG4gIHZhcmlhbnQ/OiBMaW5rVmFyaWF0aW9ucztcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG59ICYgTGlua0NvbmRpdGlvbmFsUHJvcHMgJlxuICBBcmlhQXR0cmlidXRlcztcblxuZXhwb3J0IHR5cGUgTGlua0NvbXBvbmVudCA9IDxDIGV4dGVuZHMgUmVhY3QuRWxlbWVudFR5cGUgPSBcImFcIj4oXG4gIHByb3BzOiBQb2x5bW9ycGhpY0NvbXBvbmVudFByb3BzV2l0aFJlZjxDLCBMaW5rUHJvcHM+XG4pID0+IFJlYWN0LlJlYWN0Tm9kZSB8IG51bGw7XG5cbi8vIEEgbmVzdGVkIFRleHQvVGV4dENsYW1wZWQvQ29udGVudFRleHQgcGFpbnRzIGl0cyBvd24gdW5kZXJsaW5lIGluIGl0cyByZXNvbHZlZFxuLy8gY29sb3I7IG1hdGNoaW5nIG9uZSBvZiB0aGVzZSBsZXRzIHRoZSBhbmNob3Igc3RlcCBiYWNrIHNvIHRoZSB0d28gdW5kZXJsaW5lc1xuLy8gZG9uJ3QgY29tcGV0ZSAoc2VlIHRoZSB1bmRlcmxpbmUtc3VwcHJlc3Npb24gcnVsZSBpbiBTdHlsZWRMaW5rKS5cbmNvbnN0IE5FU1RFRF9URVhUX0RTX0lEUyA9IFtcIlRleHRcIiwgXCJUZXh0Q2xhbXBlZFwiLCBcIkNvbnRlbnRUZXh0XCJdO1xuXG4vLyBPbmUgc2luZ2xlLWFyZyBgOmhhcygpYCBwZXIgaWQsIG5vdCBvbmUgYDpoYXMoKWAgd2l0aCBhIHNlbGVjdG9yIGxpc3Q6IHRoZVxuLy8gbGlzdCBmb3JtIGlzIHZhbGlkIENTUyBidXQganNkb20ncyBud3NhcGkgcGFyc2VyIHJlamVjdHMgaXQsIGJyZWFraW5nXG4vLyBgZ2V0Q29tcHV0ZWRTdHlsZWAgaW4gY29uc3VtZXJzJyBqc2RvbSB0ZXN0cy5cbmNvbnN0IG5lc3RlZFRleHRTdXBwcmVzc2lvblNlbGVjdG9yID0gTkVTVEVEX1RFWFRfRFNfSURTLm1hcChcbiAgKGlkKSA9PiBgJltkYXRhLWRzLWlkPSdMaW5rJ106aGFzKFtkYXRhLWRzLWlkPScke2lkfSddKWBcbikuam9pbihcIiwgXCIpO1xuXG5jb25zdCBTdHlsZWRMaW5rID0gc3R5bGVkKFwiYVwiLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gaXNQcm9wVmFsaWQocHJvcCkgJiYgcHJvcCAhPT0gXCJpbmxpbmVcIixcbn0pPFBhcnRpYWw8TGlua1Byb3BzPj4oXG4gICh7IHRoZW1lLCB3ZWlnaHQsIHNpemUsIGNvbG9yLCBpbmxpbmUgfSkgPT5cbiAgICAoe1xuICAgICAgY3Vyc29yOiBcInBvaW50ZXJcIixcbiAgICAgIGJhY2tncm91bmQ6IFwibm9uZVwiLFxuICAgICAgYm9yZGVyOiBcIm5vbmVcIixcbiAgICAgIHBhZGRpbmc6IDAsXG4gICAgICBmb250U2l6ZTogdGhlbWUudmFyaWFibGVzLnNpemUuZm9udFtzaXplXSA/PyBcImluaGVyaXRcIixcbiAgICAgIGZvbnRXZWlnaHQ6IHRoZW1lLnZhcmlhYmxlcy53ZWlnaHRbd2VpZ2h0XSA/PyBcImluaGVyaXRcIixcbiAgICAgIGxpbmVIZWlnaHQ6IHtcbiAgICAgICAgeHM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmxpbmVIZWlnaHQueGwsXG4gICAgICAgIHM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmxpbmVIZWlnaHQubCxcbiAgICAgICAgbTogdGhlbWUudmFyaWFibGVzLnNpemUubGluZUhlaWdodC54bCxcbiAgICAgICAgbDogdGhlbWUudmFyaWFibGVzLnNpemUubGluZUhlaWdodC54bCxcbiAgICAgIH1bc2l6ZV0sXG4gICAgICBmb250RmFtaWx5OiB0aGVtZS52YXJpYWJsZXMuZm9udEZhbWlseS5sYXRvLFxuXG4gICAgICBjb2xvcjogY29sb3IgPyB0aGVtZS52YWx1ZXMuY29sb3IudGV4dFtjb2xvcl0uZGVmYXVsdCA6IFwiaW5oZXJpdFwiLFxuXG4gICAgICAuLi5nZXRMaW5rRGVjb3JhdGlvblN0eWxlcyh7XG4gICAgICAgIHRoZW1lLFxuICAgICAgICBjb2xvcixcbiAgICAgICAgc2hvd3NVbmRlcmxpbmU6ICEhaW5saW5lLFxuICAgICAgICBob3ZlclNlbGVjdG9yOiBcIiY6aG92ZXJcIixcbiAgICAgICAgaW5jbHVkZUhvdmVyVGV4dENvbG9yOiB0cnVlLFxuICAgICAgfSksXG5cbiAgICAgIC8vIFdoZW4gYSBwbGFpbiBMaW5rIHdyYXBzIGEgRFMgdGV4dCBjb21wb25lbnQsIHRoYXQgY29tcG9uZW50IHBhaW50cyB0aGVcbiAgICAgIC8vIHVuZGVybGluZSBpbiBpdHMgb3duIHJlc29sdmVkIGNvbG9yLiBTdXBwcmVzcyB0aGUgYW5jaG9yJ3Mgb3duIHVuZGVybGluZVxuICAgICAgLy8gKHJlc3RpbmcgYW5kIGhvdmVyKSBzbyBhIGRpZmZlcmluZyBuZXN0ZWQgY29sb3IgaXNuJ3Qgb3ZlcnJpZGRlbiBieSB0aGVcbiAgICAgIC8vIGxpbmsncyB1bmRlcmxpbmUuIFNjb3BlZCB0byBgZGF0YS1kcy1pZD0nTGluaydgIHNvIENvbnRlbnRMaW5rIOKAlCB3aGljaFxuICAgICAgLy8gcmV1c2VzIHRoaXMgYW5jaG9yIGJ1dCBzZXRzIGl0cyBvd24gY29udGVudC1jb2xvciB1bmRlcmxpbmUgYW5kIHJlbmRlcnNcbiAgICAgIC8vIGl0cyBvd24gYGRhdGEtZHMtaWRgIOKAlCBrZWVwcyBkcmF3aW5nIGl0cyBkZWNvcmF0aW9uLlxuICAgICAgW25lc3RlZFRleHRTdXBwcmVzc2lvblNlbGVjdG9yXToge1xuICAgICAgICBcIiYsICY6aG92ZXJcIjoge1xuICAgICAgICAgIHRleHREZWNvcmF0aW9uTGluZTogXCJub25lXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0gYXMgQ1NTT2JqZWN0KVxuKTtcblxuY29uc3QgU3R5bGVkSWNvbiA9IHN0eWxlZChJY29uKTx7IHBvc2l0aW9uOiBcImxlZnRcIiB8IFwicmlnaHRcIiB9PihcbiAgKHsgcG9zaXRpb24sIHRoZW1lIH0pID0+ICh7XG4gICAgLi4uKHBvc2l0aW9uID09PSBcImxlZnRcIiAmJiB7XG4gICAgICBtYXJnaW5SaWdodDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eHMsXG4gICAgfSksXG4gICAgLi4uKHBvc2l0aW9uID09PSBcInJpZ2h0XCIgJiYge1xuICAgICAgbWFyZ2luTGVmdDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eHMsXG4gICAgfSksXG4gIH0pXG4pO1xuXG5leHBvcnQgY29uc3QgTGluazogTGlua0NvbXBvbmVudCA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIDxDIGV4dGVuZHMgUmVhY3QuRWxlbWVudFR5cGUgPSBcImFcIj4oXG4gICAge1xuICAgICAgd2VpZ2h0LFxuICAgICAgY29sb3I6IGNvbG9yUHJvcCxcbiAgICAgIHNpemUsXG4gICAgICB2YXJpYW50LFxuICAgICAgaW5saW5lLFxuICAgICAgaWNvbkxlZnQsXG4gICAgICBpY29uUmlnaHQsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICAgICAgLi4ucmVzdFxuICAgIH06IFBvbHltb3JwaGljQ29tcG9uZW50UHJvcHNXaXRoUmVmPEMsIExpbmtQcm9wcz4sXG4gICAgcmVmPzogUG9seW1vcnBoaWNSZWY8Qz5cbiAgKSA9PiB7XG4gICAgY29uc3QgaW5oZXJpdFByb3BzRnJvbVRleHQgPSB1c2VDb250ZXh0KFRleHRDb250ZXh0KTtcblxuICAgIGNvbnN0IGdldENvbG9yID0gKCkgPT4ge1xuICAgICAgaWYgKHZhcmlhbnQpIHtcbiAgICAgICAgLy8gdGhpcyBpcyBnb2luZyB0byBiZSBkZWxldGVkIGFmdGVyIG1pZ3JhdGlvblxuICAgICAgICBpZiAodmFyaWFudCA9PT0gXCJwcmltYXJ5XCIpIHJldHVybiBcImFjY2VudFwiO1xuICAgICAgICBpZiAodmFyaWFudCA9PT0gXCJzZWNvbmRhcnlcIikgcmV0dXJuIFwicHJpbWFyeVwiO1xuICAgICAgICByZXR1cm4gdmFyaWFudDtcbiAgICAgIH1cbiAgICAgIGlmIChjb2xvclByb3ApIHJldHVybiBjb2xvclByb3A7XG4gICAgICBpZiAoaW5oZXJpdFByb3BzRnJvbVRleHQ/LmNvbG9yKSByZXR1cm4gaW5oZXJpdFByb3BzRnJvbVRleHQ/LmNvbG9yO1xuICAgICAgaWYgKCFpbmxpbmUpIHJldHVybiBcImFjY2VudFwiO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9O1xuXG4gICAgY29uc3QgbGlua0NvbG9yID0gZ2V0Q29sb3IoKTtcblxuICAgIC8qIFdoeSBkbyB3ZSBuZWVkIGlubGluZSBwcm9wPyBXZSBpbmhlcml0IHNpemUgYW5kIGNvbG9yIGZyb20gVGV4dCAoaWYgTGluayBpcyB3cmFwcGVkIGluIGl0KSwgYnV0IHdlIG5lZWQgdG8gc3VwcG9ydCBMaW5rcyB3aXRoaW4gSGVhZGVycyBhbmQgb3RoZXIgY3VzdG9tIGNvbXBvbmVudHMuIFRodXMgYnkgZGVmYXVsdCwgc2l6ZSBhbmQgY29sb3IgYXJlIG5vdCByZXF1aXJlZCBwcm9wcyAqL1xuICAgIGNvbnN0IGlzSW5saW5lTGluayA9IGlubGluZSB8fCAhIWluaGVyaXRQcm9wc0Zyb21UZXh0O1xuXG4gICAgLy8gT25seSBhIHBsYWluIExpbmsgc3VwcHJlc3NlcyBpdHMgb3duIHVuZGVybGluZSAoc2VlIFN0eWxlZExpbmspOyBDb250ZW50TGlua1xuICAgIC8vIHJlbmRlcnMgaXRzIG93biBkYXRhLWRzLWlkIGFuZCBrZWVwcyBkcmF3aW5nIGl0cyBjb250ZW50LWNvbG9yIHVuZGVybGluZSwgc29cbiAgICAvLyBhIG5lc3RlZCB0ZXh0IG11c3Qgbm90IHBhaW50IGEgY29tcGV0aW5nIG9uZSBvbiB0b3Agb2YgaXQuXG4gICAgY29uc3QgZGF0YURzSWQgPSAocmVzdCBhcyB7IFwiZGF0YS1kcy1pZFwiPzogc3RyaW5nIH0pW1wiZGF0YS1kcy1pZFwiXTtcbiAgICBjb25zdCB1bmRlcmxpbmVPd25lZEJ5Q2hpbGQgPSAoZGF0YURzSWQgPz8gXCJMaW5rXCIpID09PSBcIkxpbmtcIjtcblxuICAgIC8vIFByb3ZpZGUgdGhlIGxpbmsgY29sb3IgYW5kIHVuZGVybGluZSBzdGF0ZSB0byB0aGUgY29udGV4dCBzbyBhIG5lc3RlZFxuICAgIC8vIFRleHQvVGV4dENsYW1wZWQgY2FuIGluaGVyaXQgdGhlIGxpbmsncyByZXNvbHZlZCBjb2xvciB3aGVuIGl0IGRvZXNuJ3Qgc2V0XG4gICAgLy8gaXRzIG93biBgY29sb3JgIHByb3AsIGFuZCByZS1kcmF3IHRoZSB1bmRlcmxpbmUgaW4gaXRzIG93biBjb2xvciB3aGVuIGl0XG4gICAgLy8gZG9lcy4gVGhpcyBrZWVwcyB0aGUgZ2x5cGggY29sb3IgYW5kIHVuZGVybGluZSBpbiBzeW5jIHdpdGggdGhlIGFuY2hvciDigJRcbiAgICAvLyBub3RhYmx5IHVuZGVyIGEgU3ViVGhlbWVQcm92aWRlciwgd2hlcmUgYSBzdWJ0aGVtZSBtYXkgb3ZlcnJpZGUgb25seSBzb21lXG4gICAgLy8gY29sb3IgdG9rZW5zLlxuICAgIGNvbnN0IGxpbmtDb250ZXh0VmFsdWUgPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAgbGlua0NvbG9yXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGNvbG9yOiBsaW5rQ29sb3IsXG4gICAgICAgICAgICAgIHNob3dzVW5kZXJsaW5lOiBpc0lubGluZUxpbmssXG4gICAgICAgICAgICAgIHVuZGVybGluZU93bmVkQnlDaGlsZCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IG51bGwsXG4gICAgICBbbGlua0NvbG9yLCBpc0lubGluZUxpbmssIHVuZGVybGluZU93bmVkQnlDaGlsZF1cbiAgICApO1xuXG4gICAgY29uc3QgaGFzSWNvbnMgPSAhaXNJbmxpbmVMaW5rICYmIChpY29uTGVmdCB8fCBpY29uUmlnaHQpO1xuXG4gICAgY29uc3QgbGlua0NvbnRlbnQgPSBoYXNJY29ucyA/IChcbiAgICAgIDw+XG4gICAgICAgIHtpY29uTGVmdCAmJiAoXG4gICAgICAgICAgPFN0eWxlZEljb25cbiAgICAgICAgICAgIGFyaWEtaGlkZGVuXG4gICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICBuYW1lPXtpY29uTGVmdC5uYW1lfVxuICAgICAgICAgICAgY29sb3I9e2ljb25MZWZ0LmNvbG9yID8/IGxpbmtDb2xvcn1cbiAgICAgICAgICAgIGlubGluZVxuICAgICAgICAgICAgcG9zaXRpb249XCJsZWZ0XCJcbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIHtpY29uUmlnaHQgJiYgKFxuICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICBhcmlhLWhpZGRlblxuICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgbmFtZT17aWNvblJpZ2h0Lm5hbWV9XG4gICAgICAgICAgICBjb2xvcj17aWNvblJpZ2h0LmNvbG9yID8/IGxpbmtDb2xvcn1cbiAgICAgICAgICAgIGlubGluZVxuICAgICAgICAgICAgcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvPlxuICAgICkgOiAoXG4gICAgICBjaGlsZHJlblxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZExpbmtcbiAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgZGF0YS1kcy1pZD1cIkxpbmtcIlxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgaW5saW5lPXtpc0lubGluZUxpbmt9XG4gICAgICAgIGNvbG9yPXtsaW5rQ29sb3J9XG4gICAgICAgIHNpemU9e3NpemUgfHwgaW5oZXJpdFByb3BzRnJvbVRleHQ/LnNpemV9XG4gICAgICAgIHdlaWdodD17d2VpZ2h0IHx8IGluaGVyaXRQcm9wc0Zyb21UZXh0Py53ZWlnaHR9XG4gICAgICAgIHsuLi5yZXN0fVxuICAgICAgPlxuICAgICAgICA8TGlua0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2xpbmtDb250ZXh0VmFsdWV9PlxuICAgICAgICAgIHtsaW5rQ29udGVudH1cbiAgICAgICAgPC9MaW5rQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgIDwvU3R5bGVkTGluaz5cbiAgICApO1xuICB9XG4pO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9FbUIifQ== */"),StyledIcon=styled(Icon,{target:"e1khz5hq1",label:"StyledIcon"})(({position,theme})=>({..."left"===position&&{marginRight:theme.variables.size.spacing.xxs},..."right"===position&&{marginLeft:theme.variables.size.spacing.xxs}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTGluay9MaW5rLnRzeCIsInNvdXJjZXMiOlsic3JjL2NvbXBvbmVudHMvTGluay9MaW5rLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nICovXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlTWVtbywgdHlwZSBBcmlhQXR0cmlidXRlcyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBDU1NPYmplY3QgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IGlzUHJvcFZhbGlkIGZyb20gXCJAZW1vdGlvbi9pcy1wcm9wLXZhbGlkXCI7XG5pbXBvcnQgeyBUZXh0Q29udGV4dCB9IGZyb20gXCIuLi9UeXBvZ3JhcGh5L1RleHQvVGV4dFwiO1xuaW1wb3J0IHsgTGlua0NvbnRleHQgfSBmcm9tIFwiLi9MaW5rQ29udGV4dFwiO1xuaW1wb3J0IHsgZ2V0TGlua0RlY29yYXRpb25TdHlsZXMgfSBmcm9tIFwiLi9nZXRMaW5rRGVjb3JhdGlvblN0eWxlc1wiO1xuaW1wb3J0IHR5cGUgeyBJY29uUHJvcHMgfSBmcm9tIFwiLi4vSWNvbi9JY29uXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uL0ljb24vSWNvblwiO1xuaW1wb3J0IHR5cGUge1xuICBUZXh0Q29sb3JzLFxuICBUZXh0U2l6ZSxcbiAgVGV4dFdlaWdodCxcbiAgUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWYsXG4gIFBvbHltb3JwaGljUmVmLFxuICBMaW5rVmFyaWF0aW9ucyxcbn0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5cbnR5cGUgU3VwcGxlbWVudGFyeUljb25Qcm9wcyA9IFBpY2s8SWNvblByb3BzLCBcIm5hbWVcIiB8IFwiY29sb3JcIj47XG5cbmV4cG9ydCB0eXBlIExpbmtDb25kaXRpb25hbFByb3BzID1cbiAgfCB7XG4gICAgICAvKiogSXQgZm9yY2VzIHRvIGluaGVyaXQgY29sb3IsIHdlaWdodCwgc2l6ZSBmcm9tIHBhcmVudCAqL1xuICAgICAgaW5saW5lOiB0cnVlO1xuICAgICAgLyoqIEEgY29sb3IgaXMgaW5oZXJpdGVkIGZyb20gaXRzIHBhcmVudCBUZXh0IG90aGVyd2lzZSBzZXQgYXMgJ3ByaW1hcnknICovXG4gICAgICBjb2xvcjogVGV4dENvbG9ycztcbiAgICAgIC8qKiBJY29ucyBhcmUgbm90IHN1cHBvcnRlZCBmb3IgaW5saW5lIGxpbmtzICovXG4gICAgICBpY29uTGVmdD86IG5ldmVyO1xuICAgICAgLyoqIEljb25zIGFyZSBub3Qgc3VwcG9ydGVkIGZvciBpbmxpbmUgbGlua3MgKi9cbiAgICAgIGljb25SaWdodD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbmxpbmU/OiBmYWxzZSB8IHVuZGVmaW5lZDtcbiAgICAgIGNvbG9yPzogVGV4dENvbG9ycztcbiAgICAgIC8qKiBJY29uIGRpc3BsYXllZCBvbiB0aGUgbGVmdCBzaWRlIG9mIHRoZSBsaW5rICovXG4gICAgICBpY29uTGVmdD86IFN1cHBsZW1lbnRhcnlJY29uUHJvcHM7XG4gICAgICAvKiogSWNvbiBkaXNwbGF5ZWQgb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGxpbmsgKi9cbiAgICAgIGljb25SaWdodD86IFN1cHBsZW1lbnRhcnlJY29uUHJvcHM7XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTGlua1Byb3BzID0ge1xuICAvKiogQSBzaXplIGlzIGluaGVyaXRlZCBmcm9tIGl0cyBwYXJlbnQgKi9cbiAgc2l6ZT86IFRleHRTaXplO1xuICAvKiogQSB3ZWlnaHQgaXMgaW5oZXJpdGVkIGZyb20gaXRzIHBhcmVudCAqL1xuICB3ZWlnaHQ/OiBUZXh0V2VpZ2h0O1xuICAvKiogQGRlcHJlY2F0ZWQgdmFyaWFudCwgcGxlYXNlIHVzZSBcImNvbG9yXCIgcHJvcCBpbnN0ZWFkICovXG4gIHZhcmlhbnQ/OiBMaW5rVmFyaWF0aW9ucztcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG59ICYgTGlua0NvbmRpdGlvbmFsUHJvcHMgJlxuICBBcmlhQXR0cmlidXRlcztcblxuZXhwb3J0IHR5cGUgTGlua0NvbXBvbmVudCA9IDxDIGV4dGVuZHMgUmVhY3QuRWxlbWVudFR5cGUgPSBcImFcIj4oXG4gIHByb3BzOiBQb2x5bW9ycGhpY0NvbXBvbmVudFByb3BzV2l0aFJlZjxDLCBMaW5rUHJvcHM+XG4pID0+IFJlYWN0LlJlYWN0Tm9kZSB8IG51bGw7XG5cbi8vIEEgbmVzdGVkIFRleHQvVGV4dENsYW1wZWQvQ29udGVudFRleHQgcGFpbnRzIGl0cyBvd24gdW5kZXJsaW5lIGluIGl0cyByZXNvbHZlZFxuLy8gY29sb3I7IG1hdGNoaW5nIG9uZSBvZiB0aGVzZSBsZXRzIHRoZSBhbmNob3Igc3RlcCBiYWNrIHNvIHRoZSB0d28gdW5kZXJsaW5lc1xuLy8gZG9uJ3QgY29tcGV0ZSAoc2VlIHRoZSB1bmRlcmxpbmUtc3VwcHJlc3Npb24gcnVsZSBpbiBTdHlsZWRMaW5rKS5cbmNvbnN0IE5FU1RFRF9URVhUX0RTX0lEUyA9IFtcIlRleHRcIiwgXCJUZXh0Q2xhbXBlZFwiLCBcIkNvbnRlbnRUZXh0XCJdO1xuXG4vLyBPbmUgc2luZ2xlLWFyZyBgOmhhcygpYCBwZXIgaWQsIG5vdCBvbmUgYDpoYXMoKWAgd2l0aCBhIHNlbGVjdG9yIGxpc3Q6IHRoZVxuLy8gbGlzdCBmb3JtIGlzIHZhbGlkIENTUyBidXQganNkb20ncyBud3NhcGkgcGFyc2VyIHJlamVjdHMgaXQsIGJyZWFraW5nXG4vLyBgZ2V0Q29tcHV0ZWRTdHlsZWAgaW4gY29uc3VtZXJzJyBqc2RvbSB0ZXN0cy5cbmNvbnN0IG5lc3RlZFRleHRTdXBwcmVzc2lvblNlbGVjdG9yID0gTkVTVEVEX1RFWFRfRFNfSURTLm1hcChcbiAgKGlkKSA9PiBgJltkYXRhLWRzLWlkPSdMaW5rJ106aGFzKFtkYXRhLWRzLWlkPScke2lkfSddKWBcbikuam9pbihcIiwgXCIpO1xuXG5jb25zdCBTdHlsZWRMaW5rID0gc3R5bGVkKFwiYVwiLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gaXNQcm9wVmFsaWQocHJvcCkgJiYgcHJvcCAhPT0gXCJpbmxpbmVcIixcbn0pPFBhcnRpYWw8TGlua1Byb3BzPj4oXG4gICh7IHRoZW1lLCB3ZWlnaHQsIHNpemUsIGNvbG9yLCBpbmxpbmUgfSkgPT5cbiAgICAoe1xuICAgICAgY3Vyc29yOiBcInBvaW50ZXJcIixcbiAgICAgIGJhY2tncm91bmQ6IFwibm9uZVwiLFxuICAgICAgYm9yZGVyOiBcIm5vbmVcIixcbiAgICAgIHBhZGRpbmc6IDAsXG4gICAgICBmb250U2l6ZTogdGhlbWUudmFyaWFibGVzLnNpemUuZm9udFtzaXplXSA/PyBcImluaGVyaXRcIixcbiAgICAgIGZvbnRXZWlnaHQ6IHRoZW1lLnZhcmlhYmxlcy53ZWlnaHRbd2VpZ2h0XSA/PyBcImluaGVyaXRcIixcbiAgICAgIGxpbmVIZWlnaHQ6IHtcbiAgICAgICAgeHM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmxpbmVIZWlnaHQueGwsXG4gICAgICAgIHM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmxpbmVIZWlnaHQubCxcbiAgICAgICAgbTogdGhlbWUudmFyaWFibGVzLnNpemUubGluZUhlaWdodC54bCxcbiAgICAgICAgbDogdGhlbWUudmFyaWFibGVzLnNpemUubGluZUhlaWdodC54bCxcbiAgICAgIH1bc2l6ZV0sXG4gICAgICBmb250RmFtaWx5OiB0aGVtZS52YXJpYWJsZXMuZm9udEZhbWlseS5sYXRvLFxuXG4gICAgICBjb2xvcjogY29sb3IgPyB0aGVtZS52YWx1ZXMuY29sb3IudGV4dFtjb2xvcl0uZGVmYXVsdCA6IFwiaW5oZXJpdFwiLFxuXG4gICAgICAuLi5nZXRMaW5rRGVjb3JhdGlvblN0eWxlcyh7XG4gICAgICAgIHRoZW1lLFxuICAgICAgICBjb2xvcixcbiAgICAgICAgc2hvd3NVbmRlcmxpbmU6ICEhaW5saW5lLFxuICAgICAgICBob3ZlclNlbGVjdG9yOiBcIiY6aG92ZXJcIixcbiAgICAgICAgaW5jbHVkZUhvdmVyVGV4dENvbG9yOiB0cnVlLFxuICAgICAgfSksXG5cbiAgICAgIC8vIFdoZW4gYSBwbGFpbiBMaW5rIHdyYXBzIGEgRFMgdGV4dCBjb21wb25lbnQsIHRoYXQgY29tcG9uZW50IHBhaW50cyB0aGVcbiAgICAgIC8vIHVuZGVybGluZSBpbiBpdHMgb3duIHJlc29sdmVkIGNvbG9yLiBTdXBwcmVzcyB0aGUgYW5jaG9yJ3Mgb3duIHVuZGVybGluZVxuICAgICAgLy8gKHJlc3RpbmcgYW5kIGhvdmVyKSBzbyBhIGRpZmZlcmluZyBuZXN0ZWQgY29sb3IgaXNuJ3Qgb3ZlcnJpZGRlbiBieSB0aGVcbiAgICAgIC8vIGxpbmsncyB1bmRlcmxpbmUuIFNjb3BlZCB0byBgZGF0YS1kcy1pZD0nTGluaydgIHNvIENvbnRlbnRMaW5rIOKAlCB3aGljaFxuICAgICAgLy8gcmV1c2VzIHRoaXMgYW5jaG9yIGJ1dCBzZXRzIGl0cyBvd24gY29udGVudC1jb2xvciB1bmRlcmxpbmUgYW5kIHJlbmRlcnNcbiAgICAgIC8vIGl0cyBvd24gYGRhdGEtZHMtaWRgIOKAlCBrZWVwcyBkcmF3aW5nIGl0cyBkZWNvcmF0aW9uLlxuICAgICAgW25lc3RlZFRleHRTdXBwcmVzc2lvblNlbGVjdG9yXToge1xuICAgICAgICBcIiYsICY6aG92ZXJcIjoge1xuICAgICAgICAgIHRleHREZWNvcmF0aW9uTGluZTogXCJub25lXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0gYXMgQ1NTT2JqZWN0KVxuKTtcblxuY29uc3QgU3R5bGVkSWNvbiA9IHN0eWxlZChJY29uKTx7IHBvc2l0aW9uOiBcImxlZnRcIiB8IFwicmlnaHRcIiB9PihcbiAgKHsgcG9zaXRpb24sIHRoZW1lIH0pID0+ICh7XG4gICAgLi4uKHBvc2l0aW9uID09PSBcImxlZnRcIiAmJiB7XG4gICAgICBtYXJnaW5SaWdodDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eHMsXG4gICAgfSksXG4gICAgLi4uKHBvc2l0aW9uID09PSBcInJpZ2h0XCIgJiYge1xuICAgICAgbWFyZ2luTGVmdDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eHMsXG4gICAgfSksXG4gIH0pXG4pO1xuXG5leHBvcnQgY29uc3QgTGluazogTGlua0NvbXBvbmVudCA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIDxDIGV4dGVuZHMgUmVhY3QuRWxlbWVudFR5cGUgPSBcImFcIj4oXG4gICAge1xuICAgICAgd2VpZ2h0LFxuICAgICAgY29sb3I6IGNvbG9yUHJvcCxcbiAgICAgIHNpemUsXG4gICAgICB2YXJpYW50LFxuICAgICAgaW5saW5lLFxuICAgICAgaWNvbkxlZnQsXG4gICAgICBpY29uUmlnaHQsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICAgICAgLi4ucmVzdFxuICAgIH06IFBvbHltb3JwaGljQ29tcG9uZW50UHJvcHNXaXRoUmVmPEMsIExpbmtQcm9wcz4sXG4gICAgcmVmPzogUG9seW1vcnBoaWNSZWY8Qz5cbiAgKSA9PiB7XG4gICAgY29uc3QgaW5oZXJpdFByb3BzRnJvbVRleHQgPSB1c2VDb250ZXh0KFRleHRDb250ZXh0KTtcblxuICAgIGNvbnN0IGdldENvbG9yID0gKCkgPT4ge1xuICAgICAgaWYgKHZhcmlhbnQpIHtcbiAgICAgICAgLy8gdGhpcyBpcyBnb2luZyB0byBiZSBkZWxldGVkIGFmdGVyIG1pZ3JhdGlvblxuICAgICAgICBpZiAodmFyaWFudCA9PT0gXCJwcmltYXJ5XCIpIHJldHVybiBcImFjY2VudFwiO1xuICAgICAgICBpZiAodmFyaWFudCA9PT0gXCJzZWNvbmRhcnlcIikgcmV0dXJuIFwicHJpbWFyeVwiO1xuICAgICAgICByZXR1cm4gdmFyaWFudDtcbiAgICAgIH1cbiAgICAgIGlmIChjb2xvclByb3ApIHJldHVybiBjb2xvclByb3A7XG4gICAgICBpZiAoaW5oZXJpdFByb3BzRnJvbVRleHQ/LmNvbG9yKSByZXR1cm4gaW5oZXJpdFByb3BzRnJvbVRleHQ/LmNvbG9yO1xuICAgICAgaWYgKCFpbmxpbmUpIHJldHVybiBcImFjY2VudFwiO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9O1xuXG4gICAgY29uc3QgbGlua0NvbG9yID0gZ2V0Q29sb3IoKTtcblxuICAgIC8qIFdoeSBkbyB3ZSBuZWVkIGlubGluZSBwcm9wPyBXZSBpbmhlcml0IHNpemUgYW5kIGNvbG9yIGZyb20gVGV4dCAoaWYgTGluayBpcyB3cmFwcGVkIGluIGl0KSwgYnV0IHdlIG5lZWQgdG8gc3VwcG9ydCBMaW5rcyB3aXRoaW4gSGVhZGVycyBhbmQgb3RoZXIgY3VzdG9tIGNvbXBvbmVudHMuIFRodXMgYnkgZGVmYXVsdCwgc2l6ZSBhbmQgY29sb3IgYXJlIG5vdCByZXF1aXJlZCBwcm9wcyAqL1xuICAgIGNvbnN0IGlzSW5saW5lTGluayA9IGlubGluZSB8fCAhIWluaGVyaXRQcm9wc0Zyb21UZXh0O1xuXG4gICAgLy8gT25seSBhIHBsYWluIExpbmsgc3VwcHJlc3NlcyBpdHMgb3duIHVuZGVybGluZSAoc2VlIFN0eWxlZExpbmspOyBDb250ZW50TGlua1xuICAgIC8vIHJlbmRlcnMgaXRzIG93biBkYXRhLWRzLWlkIGFuZCBrZWVwcyBkcmF3aW5nIGl0cyBjb250ZW50LWNvbG9yIHVuZGVybGluZSwgc29cbiAgICAvLyBhIG5lc3RlZCB0ZXh0IG11c3Qgbm90IHBhaW50IGEgY29tcGV0aW5nIG9uZSBvbiB0b3Agb2YgaXQuXG4gICAgY29uc3QgZGF0YURzSWQgPSAocmVzdCBhcyB7IFwiZGF0YS1kcy1pZFwiPzogc3RyaW5nIH0pW1wiZGF0YS1kcy1pZFwiXTtcbiAgICBjb25zdCB1bmRlcmxpbmVPd25lZEJ5Q2hpbGQgPSAoZGF0YURzSWQgPz8gXCJMaW5rXCIpID09PSBcIkxpbmtcIjtcblxuICAgIC8vIFByb3ZpZGUgdGhlIGxpbmsgY29sb3IgYW5kIHVuZGVybGluZSBzdGF0ZSB0byB0aGUgY29udGV4dCBzbyBhIG5lc3RlZFxuICAgIC8vIFRleHQvVGV4dENsYW1wZWQgY2FuIGluaGVyaXQgdGhlIGxpbmsncyByZXNvbHZlZCBjb2xvciB3aGVuIGl0IGRvZXNuJ3Qgc2V0XG4gICAgLy8gaXRzIG93biBgY29sb3JgIHByb3AsIGFuZCByZS1kcmF3IHRoZSB1bmRlcmxpbmUgaW4gaXRzIG93biBjb2xvciB3aGVuIGl0XG4gICAgLy8gZG9lcy4gVGhpcyBrZWVwcyB0aGUgZ2x5cGggY29sb3IgYW5kIHVuZGVybGluZSBpbiBzeW5jIHdpdGggdGhlIGFuY2hvciDigJRcbiAgICAvLyBub3RhYmx5IHVuZGVyIGEgU3ViVGhlbWVQcm92aWRlciwgd2hlcmUgYSBzdWJ0aGVtZSBtYXkgb3ZlcnJpZGUgb25seSBzb21lXG4gICAgLy8gY29sb3IgdG9rZW5zLlxuICAgIGNvbnN0IGxpbmtDb250ZXh0VmFsdWUgPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAgbGlua0NvbG9yXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGNvbG9yOiBsaW5rQ29sb3IsXG4gICAgICAgICAgICAgIHNob3dzVW5kZXJsaW5lOiBpc0lubGluZUxpbmssXG4gICAgICAgICAgICAgIHVuZGVybGluZU93bmVkQnlDaGlsZCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IG51bGwsXG4gICAgICBbbGlua0NvbG9yLCBpc0lubGluZUxpbmssIHVuZGVybGluZU93bmVkQnlDaGlsZF1cbiAgICApO1xuXG4gICAgY29uc3QgaGFzSWNvbnMgPSAhaXNJbmxpbmVMaW5rICYmIChpY29uTGVmdCB8fCBpY29uUmlnaHQpO1xuXG4gICAgY29uc3QgbGlua0NvbnRlbnQgPSBoYXNJY29ucyA/IChcbiAgICAgIDw+XG4gICAgICAgIHtpY29uTGVmdCAmJiAoXG4gICAgICAgICAgPFN0eWxlZEljb25cbiAgICAgICAgICAgIGFyaWEtaGlkZGVuXG4gICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICBuYW1lPXtpY29uTGVmdC5uYW1lfVxuICAgICAgICAgICAgY29sb3I9e2ljb25MZWZ0LmNvbG9yID8/IGxpbmtDb2xvcn1cbiAgICAgICAgICAgIGlubGluZVxuICAgICAgICAgICAgcG9zaXRpb249XCJsZWZ0XCJcbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIHtpY29uUmlnaHQgJiYgKFxuICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICBhcmlhLWhpZGRlblxuICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgbmFtZT17aWNvblJpZ2h0Lm5hbWV9XG4gICAgICAgICAgICBjb2xvcj17aWNvblJpZ2h0LmNvbG9yID8/IGxpbmtDb2xvcn1cbiAgICAgICAgICAgIGlubGluZVxuICAgICAgICAgICAgcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvPlxuICAgICkgOiAoXG4gICAgICBjaGlsZHJlblxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZExpbmtcbiAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgZGF0YS1kcy1pZD1cIkxpbmtcIlxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgaW5saW5lPXtpc0lubGluZUxpbmt9XG4gICAgICAgIGNvbG9yPXtsaW5rQ29sb3J9XG4gICAgICAgIHNpemU9e3NpemUgfHwgaW5oZXJpdFByb3BzRnJvbVRleHQ/LnNpemV9XG4gICAgICAgIHdlaWdodD17d2VpZ2h0IHx8IGluaGVyaXRQcm9wc0Zyb21UZXh0Py53ZWlnaHR9XG4gICAgICAgIHsuLi5yZXN0fVxuICAgICAgPlxuICAgICAgICA8TGlua0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2xpbmtDb250ZXh0VmFsdWV9PlxuICAgICAgICAgIHtsaW5rQ29udGVudH1cbiAgICAgICAgPC9MaW5rQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgIDwvU3R5bGVkTGluaz5cbiAgICApO1xuICB9XG4pO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStHbUIifQ== */");export const Link=React.forwardRef(({weight,color:colorProp,size,variant,inline,iconLeft,iconRight,children,"data-e2e-test-id":dataE2eTestId,...rest},ref)=>{let inheritPropsFromText=useContext(TextContext),linkColor=variant?"primary"===variant?"accent":"secondary"===variant?"primary":variant:colorProp||(inheritPropsFromText?.color?inheritPropsFromText?.color:inline?void 0:"accent"),isInlineLink=inline||!!inheritPropsFromText,underlineOwnedByChild=(rest["data-ds-id"]??"Link")==="Link",linkContextValue=useMemo(()=>linkColor?{color:linkColor,showsUnderline:isInlineLink,underlineOwnedByChild}:null,[linkColor,isInlineLink,underlineOwnedByChild]),linkContent=!isInlineLink&&(iconLeft||iconRight)?React.createElement(React.Fragment,null,iconLeft&&React.createElement(StyledIcon,{"aria-hidden":!0,size:"s",name:iconLeft.name,color:iconLeft.color??linkColor,inline:!0,position:"left"}),children,iconRight&&React.createElement(StyledIcon,{"aria-hidden":!0,size:"s",name:iconRight.name,color:iconRight.color??linkColor,inline:!0,position:"right"})):children;return React.createElement(StyledLink,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Link",ref:ref,inline:isInlineLink,color:linkColor,size:size||inheritPropsFromText?.size,weight:weight||inheritPropsFromText?.weight,...rest},React.createElement(LinkContext.Provider,{value:linkContextValue},linkContent))});
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Whether the user has requested reduced motion. Animations should skip to
3
+ * their end state when this is true. Pass the `window` from `useWindow()` rather
4
+ * than the global. Returns `false` when `matchMedia` is unavailable (e.g. jsdom).
5
+ */
6
+ export declare const prefersReducedMotion: (window: Window) => boolean;
@@ -0,0 +1 @@
1
+ export const prefersReducedMotion=window=>!!window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches;