@pega/cosmos-react-core 7.0.11 → 7.1.1
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/lib/components/AppShell/Drawer.d.ts.map +1 -1
- package/lib/components/AppShell/Drawer.js +3 -2
- package/lib/components/AppShell/Drawer.js.map +1 -1
- package/lib/components/AppShell/style-utils.d.ts +1 -0
- package/lib/components/AppShell/style-utils.d.ts.map +1 -1
- package/lib/components/AppShell/style-utils.js +3 -1
- package/lib/components/AppShell/style-utils.js.map +1 -1
- package/lib/components/HiddenText/HiddenText.d.ts +11 -0
- package/lib/components/HiddenText/HiddenText.d.ts.map +1 -0
- package/lib/components/HiddenText/HiddenText.js +15 -0
- package/lib/components/HiddenText/HiddenText.js.map +1 -0
- package/lib/components/HiddenText/index.d.ts +2 -0
- package/lib/components/HiddenText/index.d.ts.map +1 -0
- package/lib/components/HiddenText/index.js +2 -0
- package/lib/components/HiddenText/index.js.map +1 -0
- package/lib/components/Icon/streamline-icons/arrow-micro-up-down.icon.d.ts +5 -0
- package/lib/components/Icon/streamline-icons/arrow-micro-up-down.icon.d.ts.map +1 -0
- package/lib/components/Icon/streamline-icons/arrow-micro-up-down.icon.js +7 -0
- package/lib/components/Icon/streamline-icons/arrow-micro-up-down.icon.js.map +1 -0
- package/lib/components/Icon/streamlineIconNames.d.ts +1 -1
- package/lib/components/Icon/streamlineIconNames.d.ts.map +1 -1
- package/lib/components/Icon/streamlineIconNames.js +1 -0
- package/lib/components/Icon/streamlineIconNames.js.map +1 -1
- package/lib/components/Link/Link.d.ts.map +1 -1
- package/lib/components/Link/Link.js +5 -6
- package/lib/components/Link/Link.js.map +1 -1
- package/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/lib/components/Tooltip/Tooltip.js +4 -1
- package/lib/components/Tooltip/Tooltip.js.map +1 -1
- package/lib/i18n/default.js +1 -1
- package/lib/i18n/default.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.d.ts.map +1 -1
- package/lib/utils/index.js +1 -0
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/mouseState.d.ts +9 -0
- package/lib/utils/mouseState.d.ts.map +1 -0
- package/lib/utils/mouseState.js +26 -0
- package/lib/utils/mouseState.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../src/components/AppShell/Drawer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA+BvC,UAAU,eAAe;IACvB,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;sGASE,eAAe;AAPlB,
|
|
1
|
+
{"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../src/components/AppShell/Drawer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA+BvC,UAAU,eAAe;IACvB,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;sGASE,eAAe;AAPlB,wBA0FE"}
|
|
@@ -26,13 +26,14 @@ export default ({ content, header, onDrawerOpen, onDrawerClose, drawerOpen, setD
|
|
|
26
26
|
setDrawerOpen(false);
|
|
27
27
|
}, drawerEl, [drawerEl]);
|
|
28
28
|
useFocusTrap(drawerRef);
|
|
29
|
-
const { foreground, interactive } = navContrastColors(theme);
|
|
29
|
+
const { foreground, interactive, urgent } = navContrastColors(theme);
|
|
30
30
|
const navTheme = {
|
|
31
31
|
base: {
|
|
32
32
|
palette: {
|
|
33
33
|
'primary-background': theme.components['app-shell'].nav['background-color'],
|
|
34
34
|
'foreground-color': foreground,
|
|
35
|
-
interactive
|
|
35
|
+
interactive,
|
|
36
|
+
urgent
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drawer.js","sourceRoot":"","sources":["../../../src/components/AppShell/Drawer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,aAAa,MAAM,+BAA+B,CAAC;AAC/D,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,SAAS,EACT,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,MAAM,EACP,MAAM,aAAa,CAAC;AACrB,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAE3D,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,YAAY,CAAC,aAAa,CAAC,CAAC;AAW5B,eAAe,CAAC,EACd,OAAO,EACP,MAAM,EACN,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,EACG,EAAE,EAAE;IACpB,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EAAE,mBAAmB,EAAE,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAC5D,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,cAAc,GAAG,MAAM,EAAe,CAAC;IAC7C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,UAAU,EAAkB,CAAC;IAC7D,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;IAE1B,SAAS,CACP,GAAG,EAAE;QACH,aAAa,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,EACD,QAAQ,EACR,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,YAAY,CAAC,SAAS,CAAC,CAAC;IAExB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Drawer.js","sourceRoot":"","sources":["../../../src/components/AppShell/Drawer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useContext, useRef } from 'react';\nimport type { ReactNode } from 'react';\n\nimport BareButton from '../Button/BareButton';\nimport Drawer from '../Drawer';\nimport Flex from '../Flex';\nimport Icon, { registerIcon } from '../Icon';\nimport * as arrowLeftIcon from '../Icon/icons/arrow-left.icon';\nimport Text from '../Text';\nimport {\n useConsolidatedRef,\n useDirection,\n useElement,\n useEscape,\n useFocusTrap,\n useI18n,\n useTheme,\n useUID\n} from '../../hooks';\nimport Configuration from '../Configuration/Configuration';\n\nimport AppShellContext from './AppShellContext';\nimport {\n StyledDrawerWrapper,\n StyledDrawerBackButton,\n StyledDrawerHeading,\n StyledDrawerListContainer\n} from './Drawer.styles';\nimport { navContrastColors } from './style-utils';\n\nregisterIcon(arrowLeftIcon);\n\ninterface DrawerViewProps {\n content: ReactNode;\n header: string;\n onDrawerOpen?: () => void;\n onDrawerClose?: () => void;\n drawerOpen: boolean;\n setDrawerOpen: (open: boolean) => void;\n}\n\nexport default ({\n content,\n header,\n onDrawerOpen,\n onDrawerClose,\n drawerOpen,\n setDrawerOpen\n}: DrawerViewProps) => {\n const t = useI18n();\n const theme = useTheme();\n const { focusedImperatively } = useContext(AppShellContext);\n const { start } = useDirection();\n const returnFocusRef = useRef<HTMLElement>();\n const [drawerEl, setDrawerEl] = useElement<HTMLDivElement>();\n const drawerRef = useConsolidatedRef(setDrawerEl);\n const backButtonRef = useRef<HTMLButtonElement>(null);\n const headerId = useUID();\n\n useEscape(\n () => {\n setDrawerOpen(false);\n },\n drawerEl,\n [drawerEl]\n );\n\n useFocusTrap(drawerRef);\n\n const { foreground, interactive, urgent } = navContrastColors(theme);\n const navTheme = {\n base: {\n palette: {\n 'primary-background': theme.components['app-shell'].nav['background-color'],\n 'foreground-color': foreground,\n interactive,\n urgent\n }\n }\n };\n\n return (\n <Configuration theme={navTheme} portalTarget={drawerEl ?? undefined}>\n <Drawer\n role='dialog'\n aria-labelledby={headerId}\n as={StyledDrawerWrapper}\n position='fixed'\n placement={start}\n open={drawerOpen}\n nullWhenClosed\n onBeforeOpen={() => {\n returnFocusRef.current = (document.activeElement as HTMLElement) ?? undefined;\n }}\n onAfterOpen={() => {\n if (backButtonRef.current && document.activeElement !== backButtonRef.current) {\n focusedImperatively.current = true;\n backButtonRef.current.focus();\n }\n onDrawerOpen?.();\n }}\n onAfterClose={() => {\n onDrawerClose?.();\n returnFocusRef.current?.focus();\n }}\n onOuterClick={() => setDrawerOpen(false)}\n ref={drawerRef}\n >\n <Flex as={StyledDrawerHeading} container={{ alignItems: 'center' }}>\n <BareButton\n as={StyledDrawerBackButton}\n ref={backButtonRef}\n onClick={() => setDrawerOpen(false)}\n aria-label={t('close_noun', [header])}\n >\n <Icon name={`arrow-${start}`} />\n </BareButton>\n <Text variant='h2' id={headerId}>\n {header}\n </Text>\n </Flex>\n <Flex\n as={StyledDrawerListContainer}\n container={{ direction: 'column' }}\n aria-labelledby={headerId}\n >\n {content}\n </Flex>\n </Drawer>\n </Configuration>\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style-utils.d.ts","sourceRoot":"","sources":["../../../src/components/AppShell/style-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,eAAO,MAAM,iBAAiB,UACrB,YAAY;aAEV,MAAM;gBACH,MAAM;YACV,MAAM;iBACD,MAAM;
|
|
1
|
+
{"version":3,"file":"style-utils.d.ts","sourceRoot":"","sources":["../../../src/components/AppShell/style-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,eAAO,MAAM,iBAAiB,UACrB,YAAY;aAEV,MAAM;gBACH,MAAM;YACV,MAAM;iBACD,MAAM;YACX,MAAM;gBACF,MAAM;CAoCnB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,oBA0CrD,CAAC;AAEF,eAAO,MAAM,OAAO,MAAO,MAAM,KAAG,MAA4B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { darken, getContrast, lighten, transparentize } from 'polished';
|
|
2
2
|
import { readableColor, readableHue } from '../../styles';
|
|
3
3
|
export const navContrastColors = (theme) => {
|
|
4
|
-
const { base: { palette: { interactive } }, components: { 'app-shell': { nav: { 'background-color': navBg } } } } = theme;
|
|
4
|
+
const { base: { palette: { interactive, urgent } }, components: { 'app-shell': { nav: { 'background-color': navBg } } } } = theme;
|
|
5
5
|
let hoverBg = darken(0.05, navBg);
|
|
6
6
|
if (getContrast(navBg, hoverBg) === 1) {
|
|
7
7
|
hoverBg = lighten(0.15, navBg);
|
|
@@ -13,11 +13,13 @@ export const navContrastColors = (theme) => {
|
|
|
13
13
|
const foregroundColor = readableColor(navBg);
|
|
14
14
|
const borderColor = transparentize(0.8, foregroundColor);
|
|
15
15
|
const interactiveColor = readableHue(interactive, navBg);
|
|
16
|
+
const urgentColor = readableHue(urgent, navBg);
|
|
16
17
|
return {
|
|
17
18
|
hoverBg,
|
|
18
19
|
foreground: foregroundColor,
|
|
19
20
|
border: borderColor,
|
|
20
21
|
interactive: interactiveColor,
|
|
22
|
+
urgent: urgentColor,
|
|
21
23
|
nestedList: nestedListBg
|
|
22
24
|
};
|
|
23
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style-utils.js","sourceRoot":"","sources":["../../../src/components/AppShell/style-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAGxE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,KAAmB,
|
|
1
|
+
{"version":3,"file":"style-utils.js","sourceRoot":"","sources":["../../../src/components/AppShell/style-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { darken, getContrast, lighten, transparentize } from 'polished';\nimport type { DefaultTheme } from 'styled-components';\n\nimport { readableColor, readableHue } from '../../styles';\nimport type { DefaultSettableTheme } from '../../theme';\n\nexport const navContrastColors = (\n theme: DefaultTheme\n): {\n hoverBg: string;\n foreground: string;\n border: string;\n interactive: string;\n urgent: string;\n nestedList: string;\n} => {\n const {\n base: {\n palette: { interactive, urgent }\n },\n components: {\n 'app-shell': {\n nav: { 'background-color': navBg }\n }\n }\n } = theme;\n\n let hoverBg = darken(0.05, navBg);\n if (getContrast(navBg, hoverBg) === 1) {\n hoverBg = lighten(0.15, navBg);\n }\n\n let nestedListBg = darken(0.075, navBg);\n if (getContrast(navBg, nestedListBg) === 1) {\n nestedListBg = lighten(0.2, nestedListBg);\n }\n\n const foregroundColor = readableColor(navBg);\n const borderColor = transparentize(0.8, foregroundColor);\n const interactiveColor = readableHue(interactive, navBg);\n const urgentColor = readableHue(urgent, navBg);\n\n return {\n hoverBg,\n foreground: foregroundColor,\n border: borderColor,\n interactive: interactiveColor,\n urgent: urgentColor,\n nestedList: nestedListBg\n };\n};\n\nexport const getHeaderTheme: (theme: DefaultTheme) => DefaultSettableTheme = ({\n base: {\n palette: { interactive }\n },\n components: {\n 'app-shell': {\n header: { 'background-color': headerBg }\n }\n }\n}) => {\n const foregroundColor = readableColor(headerBg);\n const hoverBorderColor = transparentize(0.3, foregroundColor);\n const borderLineColor = transparentize(0.8, foregroundColor);\n const interactiveColor = readableHue(interactive, headerBg);\n const formControlBorderColor = transparentize(0.5, foregroundColor);\n return {\n base: {\n palette: {\n 'primary-background': headerBg,\n 'foreground-color': foregroundColor,\n 'border-line': borderLineColor,\n interactive: interactiveColor\n }\n },\n components: {\n 'form-control': {\n 'border-color': formControlBorderColor,\n ':hover': {\n 'border-color': hoverBorderColor\n },\n 'background-color': headerBg\n },\n input: {\n 'border-color': formControlBorderColor\n },\n 'radio-check': {\n ':checked': {\n 'background-color': interactiveColor\n }\n }\n }\n };\n};\n\nexport const pxToRem = (n: number): string => `${n * 0.0625}rem`;\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { WithAttributes } from '../../types';
|
|
2
|
+
type HiddenTextProps = WithAttributes<'span', {
|
|
3
|
+
/** A DOM id that other elements can reference for an accessible label/description text. */
|
|
4
|
+
id: string;
|
|
5
|
+
/** Text content for an accessible label/description. */
|
|
6
|
+
children: string;
|
|
7
|
+
}>;
|
|
8
|
+
export declare const StyledHiddenText: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, {}, never>;
|
|
9
|
+
declare const _default: import("react").ForwardRefExoticComponent<Omit<HiddenTextProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
10
|
+
export default _default;
|
|
11
|
+
//# sourceMappingURL=HiddenText.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HiddenText.d.ts","sourceRoot":"","sources":["../../../src/components/HiddenText/HiddenText.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,aAAa,CAAC;AAG9D,KAAK,eAAe,GAAG,cAAc,CACnC,MAAM,EACN;IACE,2FAA2F;IAC3F,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;CAClB,CACF,CAAC;AAEF,eAAO,MAAM,gBAAgB,0GAE5B,CAAC;;AAEF,wBAQE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import { createPortal } from 'react-dom';
|
|
4
|
+
import styled from 'styled-components';
|
|
5
|
+
import { useConfiguration } from '../../hooks';
|
|
6
|
+
export const StyledHiddenText = styled.span `
|
|
7
|
+
display: none;
|
|
8
|
+
`;
|
|
9
|
+
export default forwardRef(function HiddenText(props, ref) {
|
|
10
|
+
const { portalTarget } = useConfiguration();
|
|
11
|
+
return portalTarget
|
|
12
|
+
? createPortal(_jsx(StyledHiddenText, { ...props, ref: ref }), portalTarget)
|
|
13
|
+
: null;
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=HiddenText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HiddenText.js","sourceRoot":"","sources":["../../../src/components/HiddenText/HiddenText.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAY/C,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAA;;CAE1C,CAAC;AAEF,eAAe,UAAU,CACvB,SAAS,UAAU,CAAC,KAAK,EAAE,GAAG;IAC5B,MAAM,EAAE,YAAY,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAE5C,OAAO,YAAY;QACjB,CAAC,CAAC,YAAY,CAAC,KAAC,gBAAgB,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,GAAI,EAAE,YAAY,CAAC;QACvE,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CACF,CAAC","sourcesContent":["import { forwardRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport type { PropsWithoutRef } from 'react';\nimport styled from 'styled-components';\n\nimport type { RefElement, WithAttributes } from '../../types';\nimport { useConfiguration } from '../../hooks';\n\ntype HiddenTextProps = WithAttributes<\n 'span',\n {\n /** A DOM id that other elements can reference for an accessible label/description text. */\n id: string;\n /** Text content for an accessible label/description. */\n children: string;\n }\n>;\n\nexport const StyledHiddenText = styled.span`\n display: none;\n`;\n\nexport default forwardRef<RefElement<HiddenTextProps>, PropsWithoutRef<HiddenTextProps>>(\n function HiddenText(props, ref) {\n const { portalTarget } = useConfiguration();\n\n return portalTarget\n ? createPortal(<StyledHiddenText {...props} ref={ref} />, portalTarget)\n : null;\n }\n);\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/HiddenText/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/HiddenText/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC","sourcesContent":["export { default } from './HiddenText';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrow-micro-up-down.icon.d.ts","sourceRoot":"","sources":["../../../../src/components/Icon/streamline-icons/arrow-micro-up-down.icon.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,GAAG,eAAe,CAAC;AAEhC,eAAO,MAAM,IAAI,wBAAwB,CAAC;AAE1C,eAAO,MAAM,SAAS,mBAQrB,CAAC;AAEF,eAAO,MAAM,OAAO,cAAc,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// This file is autogenerated. Any changes will be overwritten.
|
|
3
|
+
export const set = 'streamline';
|
|
4
|
+
export const name = 'arrow-micro-up-down';
|
|
5
|
+
export const Component = () => (_jsx("path", { fill: 'currentColor', stroke: 'currentColor', strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M6.415 7.47h5.17c.31 0 .517-.147.362-.265L9.362 4.58a.654.654 0 0 0-.62-.059c-.052.03-.104.03-.104.06L6.053 7.205c-.155.118.051.265.362.265zm5.17 3.06h-5.17c-.31 0-.517.147-.362.265l2.585 2.625a.654.654 0 0 0 .62.059c.052-.03.104-.03.104-.06l2.585-2.624c.155-.118-.051-.265-.362-.265z' }));
|
|
6
|
+
export const viewBox = '0 0 18 18';
|
|
7
|
+
//# sourceMappingURL=arrow-micro-up-down.icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrow-micro-up-down.icon.js","sourceRoot":"","sources":["../../../../src/components/Icon/streamline-icons/arrow-micro-up-down.icon.tsx"],"names":[],"mappings":";AAAA,+DAA+D;AAE/D,MAAM,CAAC,MAAM,GAAG,GAAG,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;AAE1C,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAC7B,eACE,IAAI,EAAC,cAAc,EACnB,MAAM,EAAC,cAAc,EACrB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,CAAC,EAAC,8RAA8R,GAChS,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC","sourcesContent":["// This file is autogenerated. Any changes will be overwritten.\n\nexport const set = 'streamline';\n\nexport const name = 'arrow-micro-up-down';\n\nexport const Component = () => (\n <path\n fill='currentColor'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n d='M6.415 7.47h5.17c.31 0 .517-.147.362-.265L9.362 4.58a.654.654 0 0 0-.62-.059c-.052.03-.104.03-.104.06L6.053 7.205c-.155.118.051.265.362.265zm5.17 3.06h-5.17c-.31 0-.517.147-.362.265l2.585 2.625a.654.654 0 0 0 .62.059c.052-.03.104-.03.104-.06l2.585-2.624c.155-.118-.051-.265-.362-.265z'\n />\n);\n\nexport const viewBox = '0 0 18 18';\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const streamlineIconNames: readonly ["ai-assist", "alexa", "align-center", "align-left", "align-right", "amazon", "api", "app", "arrow-above-row-right", "arrow-bend-left", "arrow-down", "arrow-left-column", "arrow-left", "arrow-micro-down", "arrow-micro-left", "arrow-micro-right", "arrow-micro-up", "arrow-out", "arrow-right-column", "arrow-right", "arrow-up-down", "arrow-up", "bank", "bars", "bell-push-notification", "bell", "bluetooth", "book-open", "bookmark", "box-4", "box", "browser-code", "browser", "bug", "building-2", "building-3-solid", "building-3", "bulb", "calendar-empty", "calendar-now", "calendar-range", "calendar", "car", "caret-down", "caret-left", "caret-right", "caret-up", "case-medical", "case-solid", "case", "chain", "chart-line", "chart-pie", "chat-check", "chat-exclamation-mark", "chat-help", "chat-quote", "chat-transfer", "chat-typing", "chat-unavailable", "chat", "chats", "check-badge", "check", "chevron-solid", "chevron", "circle-mixed-left", "circle", "clipboard-check", "clipboard-medical", "clipboard-pencil-solid", "clipboard-pencil", "clipboard-plus", "clipboard", "clock-solid", "clock", "cloud", "code-search", "code", "column-delete", "conversation", "copy", "credit", "csr-agent", "currency", "custom-column", "database-search", "dataviz-area-multi", "dataviz-area-stacked", "dataviz-area", "dataviz-bar-clustered", "dataviz-bar-stacked", "dataviz-bar", "dataviz-bell-curve", "dataviz-bubble", "dataviz-column-clustered", "dataviz-column-stacked", "dataviz-column", "dataviz-combo", "dataviz-datetime-field", "dataviz-donut", "dataviz-flip-counter", "dataviz-forecast", "dataviz-funnel", "dataviz-gauge-linear", "dataviz-gauge-progress", "dataviz-gauge", "dataviz-geo-choropleth", "dataviz-heatmap", "dataviz-histogram", "dataviz-line-horizontal", "dataviz-line-multi", "dataviz-line-stepped", "dataviz-line", "dataviz-numeric-field", "dataviz-pareto", "dataviz-pie", "dataviz-pivot-table", "dataviz-radar", "dataviz-scatter", "dataviz-spark", "dataviz-sparklines-area", "dataviz-sparklines-columns", "dataviz-sparklines-line", "dataviz-sparklines-pies", "dataviz-spline", "dataviz-string-field", "dataviz-table-with-bars", "dataviz-trend-down", "dataviz-trend-up", "dataviz-waterfall", "desktop", "diamond", "disc-stack-solid", "disc-stack", "dock", "doctor-female", "doctor-male", "document-pdf", "document", "docusign", "dot-9-solid", "download", "drag", "email-open", "exchange", "expression", "eye-off", "face-blank", "face-happy", "face-sad", "facebook", "farming-wheat", "fast-forward", "field-cursor", "filetype-text", "filter", "fingerprint-search", "flag-check", "flag-finish", "flag-wave-solid", "flag-wave", "flashlight", "flow-process", "folder-closed", "folder-empty", "folder-hierarchy", "folder-nested", "folder-search", "folder", "folders", "forward-all", "forward", "function", "gear-play", "gear-solid", "gear", "globe", "google", "government", "graduate", "hand-book-open", "hand-over-paper", "hand", "handshake", "header", "headset", "home-solid", "home", "house-bed", "house-person", "indent", "infinity", "information-solid", "information", "ios-face-id", "ios-finger-id", "layers", "letter", "linkedin", "list-number", "list", "location-solid", "location", "mail-warning", "mail", "megaphone", "merge", "messages-to-chat", "mic-off", "mic", "micro-arrow-down", "micro-arrow-left", "micro-arrow-right", "micro-arrow-up", "minus", "mobile-phone", "module", "money-atm", "money", "monitor-lock", "more", "mountain-top", "multi-device", "navigation", "newspaper-fold", "newspaper", "nodes-down", "note-pin", "notepad", "number-decimal", "offer-list", "offer-table", "offer", "open-new-tab", "open", "opportunity-refresh", "opportunity", "os-apple", "paper-clip", "paper-search", "password-lock", "pause", "paypal", "pega", "pegasus", "pencil", "people-group-stakeholders", "percentage", "person-connection", "person-hierarchy-check", "person-stars", "person", "persons-group", "phone-call", "phone-dial", "phone-hangup", "phone-in", "phone-ivr", "phone-off", "phone-out", "phone-split", "phone-transfer", "phone", "phonebook", "picture", "play-solid", "play", "plug-solid", "plug", "plus", "polaris-solid", "polaris", "presentation", "product", "project-plan", "project", "qr", "receipt", "reply-all", "reply", "reset", "robot-happy", "robot-sad", "robot", "roof-people", "row-delete", "row-insert", "row", "rule-library-solid", "rule-library", "rule", "scale-down", "scale-up", "script", "search-analytics-solid", "search-analytics", "search", "send", "server", "set", "share", "shield-solid", "shield", "shipment-box", "shop", "shuffle", "sigma", "slideshow", "snow", "speaker", "split", "stakeholders", "star-mixed", "star-solid", "star", "sub-step", "table-bolt-solid", "table-bolt", "table", "tag", "target-path", "team", "thumbs-down-solid", "thumbs-down", "thumbs-up-solid", "thumbs-up", "times", "todo", "toolbox-open", "toolbox-wrench", "transform", "trash", "tribox", "twitter", "two-disk-stacks", "type-cursor", "umbrella", "undock", "unindent", "user-check", "user-document", "user-information", "user-pencil", "user-solid", "user-star", "user-unavailable", "user", "variable", "voice", "wand", "warn-solid", "warn", "widget", "wifi", "youtube"];
|
|
1
|
+
declare const streamlineIconNames: readonly ["ai-assist", "alexa", "align-center", "align-left", "align-right", "amazon", "api", "app", "arrow-above-row-right", "arrow-bend-left", "arrow-down", "arrow-left-column", "arrow-left", "arrow-micro-down", "arrow-micro-left", "arrow-micro-right", "arrow-micro-up-down", "arrow-micro-up", "arrow-out", "arrow-right-column", "arrow-right", "arrow-up-down", "arrow-up", "bank", "bars", "bell-push-notification", "bell", "bluetooth", "book-open", "bookmark", "box-4", "box", "browser-code", "browser", "bug", "building-2", "building-3-solid", "building-3", "bulb", "calendar-empty", "calendar-now", "calendar-range", "calendar", "car", "caret-down", "caret-left", "caret-right", "caret-up", "case-medical", "case-solid", "case", "chain", "chart-line", "chart-pie", "chat-check", "chat-exclamation-mark", "chat-help", "chat-quote", "chat-transfer", "chat-typing", "chat-unavailable", "chat", "chats", "check-badge", "check", "chevron-solid", "chevron", "circle-mixed-left", "circle", "clipboard-check", "clipboard-medical", "clipboard-pencil-solid", "clipboard-pencil", "clipboard-plus", "clipboard", "clock-solid", "clock", "cloud", "code-search", "code", "column-delete", "conversation", "copy", "credit", "csr-agent", "currency", "custom-column", "database-search", "dataviz-area-multi", "dataviz-area-stacked", "dataviz-area", "dataviz-bar-clustered", "dataviz-bar-stacked", "dataviz-bar", "dataviz-bell-curve", "dataviz-bubble", "dataviz-column-clustered", "dataviz-column-stacked", "dataviz-column", "dataviz-combo", "dataviz-datetime-field", "dataviz-donut", "dataviz-flip-counter", "dataviz-forecast", "dataviz-funnel", "dataviz-gauge-linear", "dataviz-gauge-progress", "dataviz-gauge", "dataviz-geo-choropleth", "dataviz-heatmap", "dataviz-histogram", "dataviz-line-horizontal", "dataviz-line-multi", "dataviz-line-stepped", "dataviz-line", "dataviz-numeric-field", "dataviz-pareto", "dataviz-pie", "dataviz-pivot-table", "dataviz-radar", "dataviz-scatter", "dataviz-spark", "dataviz-sparklines-area", "dataviz-sparklines-columns", "dataviz-sparklines-line", "dataviz-sparklines-pies", "dataviz-spline", "dataviz-string-field", "dataviz-table-with-bars", "dataviz-trend-down", "dataviz-trend-up", "dataviz-waterfall", "desktop", "diamond", "disc-stack-solid", "disc-stack", "dock", "doctor-female", "doctor-male", "document-pdf", "document", "docusign", "dot-9-solid", "download", "drag", "email-open", "exchange", "expression", "eye-off", "face-blank", "face-happy", "face-sad", "facebook", "farming-wheat", "fast-forward", "field-cursor", "filetype-text", "filter", "fingerprint-search", "flag-check", "flag-finish", "flag-wave-solid", "flag-wave", "flashlight", "flow-process", "folder-closed", "folder-empty", "folder-hierarchy", "folder-nested", "folder-search", "folder", "folders", "forward-all", "forward", "function", "gear-play", "gear-solid", "gear", "globe", "google", "government", "graduate", "hand-book-open", "hand-over-paper", "hand", "handshake", "header", "headset", "home-solid", "home", "house-bed", "house-person", "indent", "infinity", "information-solid", "information", "ios-face-id", "ios-finger-id", "layers", "letter", "linkedin", "list-number", "list", "location-solid", "location", "mail-warning", "mail", "megaphone", "merge", "messages-to-chat", "mic-off", "mic", "micro-arrow-down", "micro-arrow-left", "micro-arrow-right", "micro-arrow-up", "minus", "mobile-phone", "module", "money-atm", "money", "monitor-lock", "more", "mountain-top", "multi-device", "navigation", "newspaper-fold", "newspaper", "nodes-down", "note-pin", "notepad", "number-decimal", "offer-list", "offer-table", "offer", "open-new-tab", "open", "opportunity-refresh", "opportunity", "os-apple", "paper-clip", "paper-search", "password-lock", "pause", "paypal", "pega", "pegasus", "pencil", "people-group-stakeholders", "percentage", "person-connection", "person-hierarchy-check", "person-stars", "person", "persons-group", "phone-call", "phone-dial", "phone-hangup", "phone-in", "phone-ivr", "phone-off", "phone-out", "phone-split", "phone-transfer", "phone", "phonebook", "picture", "play-solid", "play", "plug-solid", "plug", "plus", "polaris-solid", "polaris", "presentation", "product", "project-plan", "project", "qr", "receipt", "reply-all", "reply", "reset", "robot-happy", "robot-sad", "robot", "roof-people", "row-delete", "row-insert", "row", "rule-library-solid", "rule-library", "rule", "scale-down", "scale-up", "script", "search-analytics-solid", "search-analytics", "search", "send", "server", "set", "share", "shield-solid", "shield", "shipment-box", "shop", "shuffle", "sigma", "slideshow", "snow", "speaker", "split", "stakeholders", "star-mixed", "star-solid", "star", "sub-step", "table-bolt-solid", "table-bolt", "table", "tag", "target-path", "team", "thumbs-down-solid", "thumbs-down", "thumbs-up-solid", "thumbs-up", "times", "todo", "toolbox-open", "toolbox-wrench", "transform", "trash", "tribox", "twitter", "two-disk-stacks", "type-cursor", "umbrella", "undock", "unindent", "user-check", "user-document", "user-information", "user-pencil", "user-solid", "user-star", "user-unavailable", "user", "variable", "voice", "wand", "warn-solid", "warn", "widget", "wifi", "youtube"];
|
|
2
2
|
export default streamlineIconNames;
|
|
3
3
|
export type StreamlineIconName = (typeof streamlineIconNames)[number];
|
|
4
4
|
//# sourceMappingURL=streamlineIconNames.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamlineIconNames.d.ts","sourceRoot":"","sources":["../../../src/components/Icon/streamlineIconNames.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"streamlineIconNames.d.ts","sourceRoot":"","sources":["../../../src/components/Icon/streamlineIconNames.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,mBAAmB,smKAsWf,CAAC;AAEX,eAAe,mBAAmB,CAAC;AAEnC,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamlineIconNames.js","sourceRoot":"","sources":["../../../src/components/Icon/streamlineIconNames.ts"],"names":[],"mappings":"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","sourcesContent":["// This file is autogenerated. Any changes will be overwritten.\n\nconst streamlineIconNames = [\n 'ai-assist',\n 'alexa',\n 'align-center',\n 'align-left',\n 'align-right',\n 'amazon',\n 'api',\n 'app',\n 'arrow-above-row-right',\n 'arrow-bend-left',\n 'arrow-down',\n 'arrow-left-column',\n 'arrow-left',\n 'arrow-micro-down',\n 'arrow-micro-left',\n 'arrow-micro-right',\n 'arrow-micro-up',\n 'arrow-out',\n 'arrow-right-column',\n 'arrow-right',\n 'arrow-up-down',\n 'arrow-up',\n 'bank',\n 'bars',\n 'bell-push-notification',\n 'bell',\n 'bluetooth',\n 'book-open',\n 'bookmark',\n 'box-4',\n 'box',\n 'browser-code',\n 'browser',\n 'bug',\n 'building-2',\n 'building-3-solid',\n 'building-3',\n 'bulb',\n 'calendar-empty',\n 'calendar-now',\n 'calendar-range',\n 'calendar',\n 'car',\n 'caret-down',\n 'caret-left',\n 'caret-right',\n 'caret-up',\n 'case-medical',\n 'case-solid',\n 'case',\n 'chain',\n 'chart-line',\n 'chart-pie',\n 'chat-check',\n 'chat-exclamation-mark',\n 'chat-help',\n 'chat-quote',\n 'chat-transfer',\n 'chat-typing',\n 'chat-unavailable',\n 'chat',\n 'chats',\n 'check-badge',\n 'check',\n 'chevron-solid',\n 'chevron',\n 'circle-mixed-left',\n 'circle',\n 'clipboard-check',\n 'clipboard-medical',\n 'clipboard-pencil-solid',\n 'clipboard-pencil',\n 'clipboard-plus',\n 'clipboard',\n 'clock-solid',\n 'clock',\n 'cloud',\n 'code-search',\n 'code',\n 'column-delete',\n 'conversation',\n 'copy',\n 'credit',\n 'csr-agent',\n 'currency',\n 'custom-column',\n 'database-search',\n 'dataviz-area-multi',\n 'dataviz-area-stacked',\n 'dataviz-area',\n 'dataviz-bar-clustered',\n 'dataviz-bar-stacked',\n 'dataviz-bar',\n 'dataviz-bell-curve',\n 'dataviz-bubble',\n 'dataviz-column-clustered',\n 'dataviz-column-stacked',\n 'dataviz-column',\n 'dataviz-combo',\n 'dataviz-datetime-field',\n 'dataviz-donut',\n 'dataviz-flip-counter',\n 'dataviz-forecast',\n 'dataviz-funnel',\n 'dataviz-gauge-linear',\n 'dataviz-gauge-progress',\n 'dataviz-gauge',\n 'dataviz-geo-choropleth',\n 'dataviz-heatmap',\n 'dataviz-histogram',\n 'dataviz-line-horizontal',\n 'dataviz-line-multi',\n 'dataviz-line-stepped',\n 'dataviz-line',\n 'dataviz-numeric-field',\n 'dataviz-pareto',\n 'dataviz-pie',\n 'dataviz-pivot-table',\n 'dataviz-radar',\n 'dataviz-scatter',\n 'dataviz-spark',\n 'dataviz-sparklines-area',\n 'dataviz-sparklines-columns',\n 'dataviz-sparklines-line',\n 'dataviz-sparklines-pies',\n 'dataviz-spline',\n 'dataviz-string-field',\n 'dataviz-table-with-bars',\n 'dataviz-trend-down',\n 'dataviz-trend-up',\n 'dataviz-waterfall',\n 'desktop',\n 'diamond',\n 'disc-stack-solid',\n 'disc-stack',\n 'dock',\n 'doctor-female',\n 'doctor-male',\n 'document-pdf',\n 'document',\n 'docusign',\n 'dot-9-solid',\n 'download',\n 'drag',\n 'email-open',\n 'exchange',\n 'expression',\n 'eye-off',\n 'face-blank',\n 'face-happy',\n 'face-sad',\n 'facebook',\n 'farming-wheat',\n 'fast-forward',\n 'field-cursor',\n 'filetype-text',\n 'filter',\n 'fingerprint-search',\n 'flag-check',\n 'flag-finish',\n 'flag-wave-solid',\n 'flag-wave',\n 'flashlight',\n 'flow-process',\n 'folder-closed',\n 'folder-empty',\n 'folder-hierarchy',\n 'folder-nested',\n 'folder-search',\n 'folder',\n 'folders',\n 'forward-all',\n 'forward',\n 'function',\n 'gear-play',\n 'gear-solid',\n 'gear',\n 'globe',\n 'google',\n 'government',\n 'graduate',\n 'hand-book-open',\n 'hand-over-paper',\n 'hand',\n 'handshake',\n 'header',\n 'headset',\n 'home-solid',\n 'home',\n 'house-bed',\n 'house-person',\n 'indent',\n 'infinity',\n 'information-solid',\n 'information',\n 'ios-face-id',\n 'ios-finger-id',\n 'layers',\n 'letter',\n 'linkedin',\n 'list-number',\n 'list',\n 'location-solid',\n 'location',\n 'mail-warning',\n 'mail',\n 'megaphone',\n 'merge',\n 'messages-to-chat',\n 'mic-off',\n 'mic',\n 'micro-arrow-down',\n 'micro-arrow-left',\n 'micro-arrow-right',\n 'micro-arrow-up',\n 'minus',\n 'mobile-phone',\n 'module',\n 'money-atm',\n 'money',\n 'monitor-lock',\n 'more',\n 'mountain-top',\n 'multi-device',\n 'navigation',\n 'newspaper-fold',\n 'newspaper',\n 'nodes-down',\n 'note-pin',\n 'notepad',\n 'number-decimal',\n 'offer-list',\n 'offer-table',\n 'offer',\n 'open-new-tab',\n 'open',\n 'opportunity-refresh',\n 'opportunity',\n 'os-apple',\n 'paper-clip',\n 'paper-search',\n 'password-lock',\n 'pause',\n 'paypal',\n 'pega',\n 'pegasus',\n 'pencil',\n 'people-group-stakeholders',\n 'percentage',\n 'person-connection',\n 'person-hierarchy-check',\n 'person-stars',\n 'person',\n 'persons-group',\n 'phone-call',\n 'phone-dial',\n 'phone-hangup',\n 'phone-in',\n 'phone-ivr',\n 'phone-off',\n 'phone-out',\n 'phone-split',\n 'phone-transfer',\n 'phone',\n 'phonebook',\n 'picture',\n 'play-solid',\n 'play',\n 'plug-solid',\n 'plug',\n 'plus',\n 'polaris-solid',\n 'polaris',\n 'presentation',\n 'product',\n 'project-plan',\n 'project',\n 'qr',\n 'receipt',\n 'reply-all',\n 'reply',\n 'reset',\n 'robot-happy',\n 'robot-sad',\n 'robot',\n 'roof-people',\n 'row-delete',\n 'row-insert',\n 'row',\n 'rule-library-solid',\n 'rule-library',\n 'rule',\n 'scale-down',\n 'scale-up',\n 'script',\n 'search-analytics-solid',\n 'search-analytics',\n 'search',\n 'send',\n 'server',\n 'set',\n 'share',\n 'shield-solid',\n 'shield',\n 'shipment-box',\n 'shop',\n 'shuffle',\n 'sigma',\n 'slideshow',\n 'snow',\n 'speaker',\n 'split',\n 'stakeholders',\n 'star-mixed',\n 'star-solid',\n 'star',\n 'sub-step',\n 'table-bolt-solid',\n 'table-bolt',\n 'table',\n 'tag',\n 'target-path',\n 'team',\n 'thumbs-down-solid',\n 'thumbs-down',\n 'thumbs-up-solid',\n 'thumbs-up',\n 'times',\n 'todo',\n 'toolbox-open',\n 'toolbox-wrench',\n 'transform',\n 'trash',\n 'tribox',\n 'twitter',\n 'two-disk-stacks',\n 'type-cursor',\n 'umbrella',\n 'undock',\n 'unindent',\n 'user-check',\n 'user-document',\n 'user-information',\n 'user-pencil',\n 'user-solid',\n 'user-star',\n 'user-unavailable',\n 'user',\n 'variable',\n 'voice',\n 'wand',\n 'warn-solid',\n 'warn',\n 'widget',\n 'wifi',\n 'youtube'\n] as const;\n\nexport default streamlineIconNames;\n\nexport type StreamlineIconName = (typeof streamlineIconNames)[number];\n"]}
|
|
1
|
+
{"version":3,"file":"streamlineIconNames.js","sourceRoot":"","sources":["../../../src/components/Icon/streamlineIconNames.ts"],"names":[],"mappings":"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","sourcesContent":["// This file is autogenerated. Any changes will be overwritten.\n\nconst streamlineIconNames = [\n 'ai-assist',\n 'alexa',\n 'align-center',\n 'align-left',\n 'align-right',\n 'amazon',\n 'api',\n 'app',\n 'arrow-above-row-right',\n 'arrow-bend-left',\n 'arrow-down',\n 'arrow-left-column',\n 'arrow-left',\n 'arrow-micro-down',\n 'arrow-micro-left',\n 'arrow-micro-right',\n 'arrow-micro-up-down',\n 'arrow-micro-up',\n 'arrow-out',\n 'arrow-right-column',\n 'arrow-right',\n 'arrow-up-down',\n 'arrow-up',\n 'bank',\n 'bars',\n 'bell-push-notification',\n 'bell',\n 'bluetooth',\n 'book-open',\n 'bookmark',\n 'box-4',\n 'box',\n 'browser-code',\n 'browser',\n 'bug',\n 'building-2',\n 'building-3-solid',\n 'building-3',\n 'bulb',\n 'calendar-empty',\n 'calendar-now',\n 'calendar-range',\n 'calendar',\n 'car',\n 'caret-down',\n 'caret-left',\n 'caret-right',\n 'caret-up',\n 'case-medical',\n 'case-solid',\n 'case',\n 'chain',\n 'chart-line',\n 'chart-pie',\n 'chat-check',\n 'chat-exclamation-mark',\n 'chat-help',\n 'chat-quote',\n 'chat-transfer',\n 'chat-typing',\n 'chat-unavailable',\n 'chat',\n 'chats',\n 'check-badge',\n 'check',\n 'chevron-solid',\n 'chevron',\n 'circle-mixed-left',\n 'circle',\n 'clipboard-check',\n 'clipboard-medical',\n 'clipboard-pencil-solid',\n 'clipboard-pencil',\n 'clipboard-plus',\n 'clipboard',\n 'clock-solid',\n 'clock',\n 'cloud',\n 'code-search',\n 'code',\n 'column-delete',\n 'conversation',\n 'copy',\n 'credit',\n 'csr-agent',\n 'currency',\n 'custom-column',\n 'database-search',\n 'dataviz-area-multi',\n 'dataviz-area-stacked',\n 'dataviz-area',\n 'dataviz-bar-clustered',\n 'dataviz-bar-stacked',\n 'dataviz-bar',\n 'dataviz-bell-curve',\n 'dataviz-bubble',\n 'dataviz-column-clustered',\n 'dataviz-column-stacked',\n 'dataviz-column',\n 'dataviz-combo',\n 'dataviz-datetime-field',\n 'dataviz-donut',\n 'dataviz-flip-counter',\n 'dataviz-forecast',\n 'dataviz-funnel',\n 'dataviz-gauge-linear',\n 'dataviz-gauge-progress',\n 'dataviz-gauge',\n 'dataviz-geo-choropleth',\n 'dataviz-heatmap',\n 'dataviz-histogram',\n 'dataviz-line-horizontal',\n 'dataviz-line-multi',\n 'dataviz-line-stepped',\n 'dataviz-line',\n 'dataviz-numeric-field',\n 'dataviz-pareto',\n 'dataviz-pie',\n 'dataviz-pivot-table',\n 'dataviz-radar',\n 'dataviz-scatter',\n 'dataviz-spark',\n 'dataviz-sparklines-area',\n 'dataviz-sparklines-columns',\n 'dataviz-sparklines-line',\n 'dataviz-sparklines-pies',\n 'dataviz-spline',\n 'dataviz-string-field',\n 'dataviz-table-with-bars',\n 'dataviz-trend-down',\n 'dataviz-trend-up',\n 'dataviz-waterfall',\n 'desktop',\n 'diamond',\n 'disc-stack-solid',\n 'disc-stack',\n 'dock',\n 'doctor-female',\n 'doctor-male',\n 'document-pdf',\n 'document',\n 'docusign',\n 'dot-9-solid',\n 'download',\n 'drag',\n 'email-open',\n 'exchange',\n 'expression',\n 'eye-off',\n 'face-blank',\n 'face-happy',\n 'face-sad',\n 'facebook',\n 'farming-wheat',\n 'fast-forward',\n 'field-cursor',\n 'filetype-text',\n 'filter',\n 'fingerprint-search',\n 'flag-check',\n 'flag-finish',\n 'flag-wave-solid',\n 'flag-wave',\n 'flashlight',\n 'flow-process',\n 'folder-closed',\n 'folder-empty',\n 'folder-hierarchy',\n 'folder-nested',\n 'folder-search',\n 'folder',\n 'folders',\n 'forward-all',\n 'forward',\n 'function',\n 'gear-play',\n 'gear-solid',\n 'gear',\n 'globe',\n 'google',\n 'government',\n 'graduate',\n 'hand-book-open',\n 'hand-over-paper',\n 'hand',\n 'handshake',\n 'header',\n 'headset',\n 'home-solid',\n 'home',\n 'house-bed',\n 'house-person',\n 'indent',\n 'infinity',\n 'information-solid',\n 'information',\n 'ios-face-id',\n 'ios-finger-id',\n 'layers',\n 'letter',\n 'linkedin',\n 'list-number',\n 'list',\n 'location-solid',\n 'location',\n 'mail-warning',\n 'mail',\n 'megaphone',\n 'merge',\n 'messages-to-chat',\n 'mic-off',\n 'mic',\n 'micro-arrow-down',\n 'micro-arrow-left',\n 'micro-arrow-right',\n 'micro-arrow-up',\n 'minus',\n 'mobile-phone',\n 'module',\n 'money-atm',\n 'money',\n 'monitor-lock',\n 'more',\n 'mountain-top',\n 'multi-device',\n 'navigation',\n 'newspaper-fold',\n 'newspaper',\n 'nodes-down',\n 'note-pin',\n 'notepad',\n 'number-decimal',\n 'offer-list',\n 'offer-table',\n 'offer',\n 'open-new-tab',\n 'open',\n 'opportunity-refresh',\n 'opportunity',\n 'os-apple',\n 'paper-clip',\n 'paper-search',\n 'password-lock',\n 'pause',\n 'paypal',\n 'pega',\n 'pegasus',\n 'pencil',\n 'people-group-stakeholders',\n 'percentage',\n 'person-connection',\n 'person-hierarchy-check',\n 'person-stars',\n 'person',\n 'persons-group',\n 'phone-call',\n 'phone-dial',\n 'phone-hangup',\n 'phone-in',\n 'phone-ivr',\n 'phone-off',\n 'phone-out',\n 'phone-split',\n 'phone-transfer',\n 'phone',\n 'phonebook',\n 'picture',\n 'play-solid',\n 'play',\n 'plug-solid',\n 'plug',\n 'plus',\n 'polaris-solid',\n 'polaris',\n 'presentation',\n 'product',\n 'project-plan',\n 'project',\n 'qr',\n 'receipt',\n 'reply-all',\n 'reply',\n 'reset',\n 'robot-happy',\n 'robot-sad',\n 'robot',\n 'roof-people',\n 'row-delete',\n 'row-insert',\n 'row',\n 'rule-library-solid',\n 'rule-library',\n 'rule',\n 'scale-down',\n 'scale-up',\n 'script',\n 'search-analytics-solid',\n 'search-analytics',\n 'search',\n 'send',\n 'server',\n 'set',\n 'share',\n 'shield-solid',\n 'shield',\n 'shipment-box',\n 'shop',\n 'shuffle',\n 'sigma',\n 'slideshow',\n 'snow',\n 'speaker',\n 'split',\n 'stakeholders',\n 'star-mixed',\n 'star-solid',\n 'star',\n 'sub-step',\n 'table-bolt-solid',\n 'table-bolt',\n 'table',\n 'tag',\n 'target-path',\n 'team',\n 'thumbs-down-solid',\n 'thumbs-down',\n 'thumbs-up-solid',\n 'thumbs-up',\n 'times',\n 'todo',\n 'toolbox-open',\n 'toolbox-wrench',\n 'transform',\n 'trash',\n 'tribox',\n 'twitter',\n 'two-disk-stacks',\n 'type-cursor',\n 'umbrella',\n 'undock',\n 'unindent',\n 'user-check',\n 'user-document',\n 'user-information',\n 'user-pencil',\n 'user-solid',\n 'user-star',\n 'user-unavailable',\n 'user',\n 'variable',\n 'voice',\n 'wand',\n 'warn-solid',\n 'warn',\n 'widget',\n 'wifi',\n 'youtube'\n] as const;\n\nexport default streamlineIconNames;\n\nexport type StreamlineIconName = (typeof streamlineIconNames)[number];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/components/Link/Link.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,iBAAiB,EACjB,GAAG,EAIJ,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAI7C,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAyBvE,MAAM,WAAW,SAAU,SAAQ,SAAS,EAAE,UAAU;IACtD,oCAAoC;IACpC,QAAQ,EAAE,SAAS,CAAC;IACpB,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iFAAiF;IACjF,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1C,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,iBAAiB;aAAyB,OAAO;SAU7D,CAAC;AAIF,eAAO,MAAM,oBAAoB,oLA0C/B,CAAC;AAIH,eAAO,MAAM,2BAA2B,oLA+BtC,CAAC;AAIH,eAAO,MAAM,UAAU,iJAQtB,CAAC;;;;
|
|
1
|
+
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/components/Link/Link.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,iBAAiB,EACjB,GAAG,EAIJ,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAI7C,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAyBvE,MAAM,WAAW,SAAU,SAAQ,SAAS,EAAE,UAAU;IACtD,oCAAoC;IACpC,QAAQ,EAAE,SAAS,CAAC;IACpB,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iFAAiF;IACjF,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1C,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,iBAAiB;aAAyB,OAAO;SAU7D,CAAC;AAIF,eAAO,MAAM,oBAAoB,oLA0C/B,CAAC;AAIH,eAAO,MAAM,2BAA2B,oLA+BtC,CAAC;AAIH,eAAO,MAAM,UAAU,iJAQtB,CAAC;;;;AAsOF,wBAAiD"}
|
|
@@ -115,13 +115,12 @@ export const StyledLink = styled(Button) `
|
|
|
115
115
|
`;
|
|
116
116
|
StyledLink.defaultProps = defaultThemeProp;
|
|
117
117
|
registerIcon(openIcon);
|
|
118
|
-
//
|
|
119
|
-
// https://github.com/
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|about):|[^a-z]|[a-z+.-]+(?:[^a-z+.\-:]|$))/i;
|
|
118
|
+
// Blocks usage of "javascript:" scheme.
|
|
119
|
+
// @see https://github.com/facebook/react/blob/main/packages/react-dom-bindings/src/shared/sanitizeURL.js#L19-L20
|
|
120
|
+
const disallowedURI = // eslint-disable-next-line no-control-regex
|
|
121
|
+
/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;
|
|
123
122
|
const Link = forwardRef(function Link({ testId, href: hrefProp, variant = 'link', icon = false, previewable: showPreviewOpenInTabPopoverProp = false, onPreview, target: targetProp, children, ...restProps }, ref) {
|
|
124
|
-
const href =
|
|
123
|
+
const href = disallowedURI.test(hrefProp) ? undefined : hrefProp;
|
|
125
124
|
const { initialized: inModal } = useModalContext();
|
|
126
125
|
const fullscreen = useFullscreenContext();
|
|
127
126
|
const inFullscreen = !!(fullscreen && fullscreen[0]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.js","sourceRoot":"","sources":["../../../src/components/Link/Link.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useState, useRef, useContext, useEffect } from 'react';\nimport type {\n ReactNode,\n FunctionComponent,\n Ref,\n PropsWithoutRef,\n KeyboardEvent,\n MouseEvent\n} from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Button from '../Button';\nimport type { ButtonProps } from '../Button';\nimport Popover from '../Popover';\nimport type { PopoverProps } from '../Popover';\nimport BareButton from '../Button/BareButton';\nimport type { BaseProps, ForwardProps, TestIdProp } from '../../types';\nimport { defaultThemeProp } from '../../theme';\nimport {\n useBreakpoint,\n useConsolidatedRef,\n useI18n,\n useUID,\n useModalContext,\n useOS,\n useTestIds\n} from '../../hooks';\nimport { documentIsAvailable, tryCatch, withTestIds } from '../../utils';\nimport { calculateFontSize, readableColor } from '../../styles';\nimport AppShellContext from '../AppShell/AppShellContext';\nimport { Keyboard } from '../Badges';\nimport Text, { StyledText } from '../Text';\nimport { StyledKeyboard } from '../Badges/Keyboard';\nimport Flex from '../Flex';\nimport Icon, { StyledIcon, registerIcon } from '../Icon';\nimport * as openIcon from '../Icon/icons/open.icon';\nimport VisuallyHiddenText from '../VisuallyHiddenText';\nimport { useFullscreenContext } from '../Fullscreen';\n\nimport { getLinkTestIds } from './Link.test-ids';\n\nexport interface LinkProps extends BaseProps, TestIdProp {\n /** Text or content for the Link. */\n children: ReactNode;\n /** URL or DOM id to navigate to. */\n href: string;\n /**\n * Controls the styling of the Link.\n * @default 'link'\n */\n variant?: ButtonProps['variant'];\n /**\n * Set the Icon prop to `true` if you're using just an Icon in your Link. Make sure to pass an Icon as children if `true`.\n * @default false\n */\n icon?: ButtonProps['icon'];\n /**\n * Determines if the Link should render a popover when focused or hovered over.\n * @default false\n */\n previewable?: boolean;\n /** Callback function that is run when the preview popover is interacted with. */\n onPreview?: (e: { href: string }) => void;\n /** Specifies where to open the link href. */\n target?: string;\n /** Ref for the wrapping element. */\n ref?: Ref<HTMLAnchorElement>;\n}\n\nexport const StyledLinkPopover = styled.div<{ preview: boolean }>(\n ({ theme, preview }) => css`\n background-color: ${theme.components.tooltip['background-color']};\n z-index: ${theme.base['z-index'].tooltip};\n\n ${preview &&\n css`\n padding: ${theme.base.spacing};\n `}\n `\n);\n\nStyledLinkPopover.defaultProps = defaultThemeProp;\n\nexport const StyledLinkPopoverBtn = styled(BareButton)(({ theme }) => {\n const contrastColor = tryCatch(() => readableColor(theme.components.tooltip['background-color']));\n const fontSize = calculateFontSize(theme.base['font-size'], theme.base['font-scale']);\n\n return css`\n position: relative;\n display: inline-flex;\n align-items: center;\n z-index: 1;\n padding: 0 ${theme.base.spacing};\n min-height: 1.5rem;\n line-height: 1;\n color: ${contrastColor};\n font-size: ${fontSize.xs};\n text-decoration: none;\n\n /* FIXME: Button selector specificity... */\n & + & {\n margin: 0;\n }\n\n & + &::before {\n content: '';\n position: absolute;\n inset-inline-start: 0;\n inset-block: 0;\n width: 1px; /* stylelint-disable-line unit-allowed-list */\n background-color: ${contrastColor};\n opacity: ${theme.base.transparency['transparent-3']};\n }\n\n &:hover,\n &:active {\n text-decoration: underline;\n }\n\n &:focus {\n box-shadow:\n inset 0 0 0 0.0625rem ${theme.base.palette.light},\n 0 0 0.125rem 0.0625rem ${theme.base.palette.interactive};\n }\n `;\n});\n\nStyledLinkPopoverBtn.defaultProps = defaultThemeProp;\n\nexport const StyledLinkPreviewPopoverBtn = styled(StyledLinkPopoverBtn)(({ theme }) => {\n return css`\n width: 100%;\n padding: unset;\n\n &:hover,\n &:active {\n text-decoration: none;\n ${StyledText} span {\n text-decoration: underline;\n }\n }\n\n ${StyledText} {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n }\n\n ${StyledKeyboard} {\n color: ${theme.base.palette.light};\n background-color: ${theme.base.colors.gray.dark};\n border-color: ${theme.base.colors.gray.medium};\n inset-block-start: unset;\n\n &:first-of-type {\n margin-inline: ${theme.base.spacing};\n }\n }\n `;\n});\n\nStyledLinkPreviewPopoverBtn.defaultProps = defaultThemeProp;\n\nexport const StyledLink = styled(Button)`\n &:has(> img) {\n display: inline-block;\n\n ${StyledIcon} {\n vertical-align: top;\n }\n }\n`;\n\nStyledLink.defaultProps = defaultThemeProp;\n\nregisterIcon(openIcon);\n\n// Extended pattern from DOMPurify below to allow \"about\" scheme\n// https://github.com/cure53/DOMPurify/blob/main/src/regexp.js#L9-L11\nconst isAllowedURI =\n // cspell:disable-next\n /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|about):|[^a-z]|[a-z+.-]+(?:[^a-z+.\\-:]|$))/i;\n\nconst Link: FunctionComponent<LinkProps & ForwardProps> = forwardRef(function Link(\n {\n testId,\n href: hrefProp,\n variant = 'link',\n icon = false,\n previewable: showPreviewOpenInTabPopoverProp = false,\n onPreview,\n target: targetProp,\n children,\n ...restProps\n }: PropsWithoutRef<LinkProps>,\n ref: LinkProps['ref']\n) {\n const href = isAllowedURI.test(hrefProp) ? hrefProp : undefined;\n\n const { initialized: inModal } = useModalContext();\n const fullscreen = useFullscreenContext();\n const inFullscreen = !!(fullscreen && fullscreen[0]);\n const { previewTriggerRef } = useContext(AppShellContext);\n const uid = useUID();\n const linkRef = useConsolidatedRef(ref);\n const [popover, setPopover] = useState(false);\n const [popoverHideDelay, setPopoverHideDelay] = useState<PopoverProps['hideDelay']>('short');\n const [previewPopover, setPreviewPopover] = useState(false);\n const previewBtnRef = useRef<HTMLButtonElement>(null);\n const isSmallOrAbove = useBreakpoint('sm');\n const t = useI18n();\n const { macintosh } = useOS();\n const contextMenuOpened = useRef(false);\n const testIds = useTestIds(testId, getLinkTestIds);\n\n const previewable = showPreviewOpenInTabPopoverProp && !inModal && !inFullscreen;\n\n let crossOrigin: boolean;\n try {\n if (href) {\n const url = new URL(href, document.location.href);\n crossOrigin = documentIsAvailable\n ? /^https?:$/.test(url.protocol) && document.location.origin !== url.origin\n : false;\n } else {\n crossOrigin = false;\n }\n } catch {\n crossOrigin = false;\n }\n\n const target = crossOrigin ? '_blank' : targetProp;\n\n const showPopover = () => {\n if (isSmallOrAbove && !previewPopover) {\n setPopover(true);\n }\n };\n\n const showPreviewPopover = () => {\n if (isSmallOrAbove && !popover && !contextMenuOpened.current) setPreviewPopover(true);\n };\n\n const hidePopover = () => {\n setPopover(false);\n };\n\n const hidePreviewPopover = () => {\n setPreviewPopover(false);\n };\n\n const onBlurLink = () => {\n contextMenuOpened.current = false;\n hidePreviewPopover();\n };\n\n const onPreviewClick = () => {\n previewTriggerRef.current = linkRef.current;\n if (href !== undefined) {\n onPreview?.({ href });\n }\n };\n\n const onKeyUp = (e: KeyboardEvent) => {\n if (e.getModifierState('Alt') && e.code === 'KeyP') {\n onPreviewClick();\n }\n };\n\n useEffect(() => {\n if (popoverHideDelay === 'none' && !popover && !previewPopover) {\n setPopoverHideDelay('short');\n }\n }, [popoverHideDelay, popover, previewPopover]);\n\n return (\n <>\n <StyledLink\n data-testid={testIds.root}\n href={href}\n variant={variant}\n ref={linkRef as any}\n target={target}\n {...restProps}\n aria-describedby={previewable ? `${uid}-preview-instructions` : undefined}\n onMouseEnter={\n showPreviewOpenInTabPopoverProp\n ? () => {\n showPopover();\n }\n : undefined\n }\n onMouseLeave={hidePopover}\n onFocus={\n showPreviewOpenInTabPopoverProp\n ? () => {\n showPreviewPopover();\n }\n : undefined\n }\n onBlur={onBlurLink}\n onKeyUp={onKeyUp}\n onContextMenu={() => {\n contextMenuOpened.current = true;\n\n setPopoverHideDelay('none');\n setPreviewPopover(false);\n setPopover(false);\n }}\n >\n {children}\n {target === '_blank' && <VisuallyHiddenText>{t('opens_in_a_new_tab')}</VisuallyHiddenText>}\n {!icon && target === '_blank' && <Icon name='open' />}\n </StyledLink>\n\n {previewable && (\n <Popover\n data-testid={testIds.previewPopover}\n show={previewPopover}\n groupId='link_preview'\n showDelay='short'\n hideDelay={popoverHideDelay}\n placement='bottom'\n target={linkRef.current}\n as={StyledLinkPopover}\n arrow\n preview\n portal\n onHide={hidePreviewPopover}\n onClick={(e: MouseEvent) => {\n e.stopPropagation();\n }}\n >\n <StyledLinkPreviewPopoverBtn\n data-testid={testIds.preview}\n preview\n type='button'\n ref={previewBtnRef}\n onClick={onPreviewClick}\n tabIndex='-1'\n >\n <Text>\n <span>{t('preview')}</span>\n <Flex container={{ inline: true, justify: 'end' }}>\n <Keyboard keyName='Alt' />\n <Keyboard keyName='P' />\n </Flex>\n </Text>\n </StyledLinkPreviewPopoverBtn>\n </Popover>\n )}\n\n <Popover\n data-testid={testIds.previewPopover}\n show={popover}\n groupId='link_preview'\n showDelay='short'\n hideDelay={popoverHideDelay}\n placement='bottom'\n target={linkRef.current}\n onMouseEnter={showPopover}\n onMouseLeave={hidePopover}\n as={StyledLinkPopover}\n arrow\n portal\n onClick={(e: MouseEvent) => {\n e.stopPropagation();\n }}\n >\n {previewable && (\n <StyledLinkPopoverBtn\n data-testid={testIds.preview}\n preview\n type='button'\n ref={previewBtnRef}\n onClick={onPreviewClick}\n tabIndex='-1'\n >\n {t('preview')}\n </StyledLinkPopoverBtn>\n )}\n <StyledLinkPopoverBtn\n data-testid={testIds.newTab}\n forwardedAs='a'\n href={href}\n target='_blank'\n rel='noreferrer'\n tabIndex='-1'\n >\n {t('link_open_in_tab_text')}\n </StyledLinkPopoverBtn>\n </Popover>\n\n {previewable && (\n <span id={`${uid}-preview-instructions`} hidden>\n {t('preview_link_instruction', [macintosh ? 'option' : 'alt'])}\n </span>\n )}\n </>\n );\n});\n\nexport default withTestIds(Link, getLinkTestIds);\n"]}
|
|
1
|
+
{"version":3,"file":"Link.js","sourceRoot":"","sources":["../../../src/components/Link/Link.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useState, useRef, useContext, useEffect } from 'react';\nimport type {\n ReactNode,\n FunctionComponent,\n Ref,\n PropsWithoutRef,\n KeyboardEvent,\n MouseEvent\n} from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Button from '../Button';\nimport type { ButtonProps } from '../Button';\nimport Popover from '../Popover';\nimport type { PopoverProps } from '../Popover';\nimport BareButton from '../Button/BareButton';\nimport type { BaseProps, ForwardProps, TestIdProp } from '../../types';\nimport { defaultThemeProp } from '../../theme';\nimport {\n useBreakpoint,\n useConsolidatedRef,\n useI18n,\n useUID,\n useModalContext,\n useOS,\n useTestIds\n} from '../../hooks';\nimport { documentIsAvailable, tryCatch, withTestIds } from '../../utils';\nimport { calculateFontSize, readableColor } from '../../styles';\nimport AppShellContext from '../AppShell/AppShellContext';\nimport { Keyboard } from '../Badges';\nimport Text, { StyledText } from '../Text';\nimport { StyledKeyboard } from '../Badges/Keyboard';\nimport Flex from '../Flex';\nimport Icon, { StyledIcon, registerIcon } from '../Icon';\nimport * as openIcon from '../Icon/icons/open.icon';\nimport VisuallyHiddenText from '../VisuallyHiddenText';\nimport { useFullscreenContext } from '../Fullscreen';\n\nimport { getLinkTestIds } from './Link.test-ids';\n\nexport interface LinkProps extends BaseProps, TestIdProp {\n /** Text or content for the Link. */\n children: ReactNode;\n /** URL or DOM id to navigate to. */\n href: string;\n /**\n * Controls the styling of the Link.\n * @default 'link'\n */\n variant?: ButtonProps['variant'];\n /**\n * Set the Icon prop to `true` if you're using just an Icon in your Link. Make sure to pass an Icon as children if `true`.\n * @default false\n */\n icon?: ButtonProps['icon'];\n /**\n * Determines if the Link should render a popover when focused or hovered over.\n * @default false\n */\n previewable?: boolean;\n /** Callback function that is run when the preview popover is interacted with. */\n onPreview?: (e: { href: string }) => void;\n /** Specifies where to open the link href. */\n target?: string;\n /** Ref for the wrapping element. */\n ref?: Ref<HTMLAnchorElement>;\n}\n\nexport const StyledLinkPopover = styled.div<{ preview: boolean }>(\n ({ theme, preview }) => css`\n background-color: ${theme.components.tooltip['background-color']};\n z-index: ${theme.base['z-index'].tooltip};\n\n ${preview &&\n css`\n padding: ${theme.base.spacing};\n `}\n `\n);\n\nStyledLinkPopover.defaultProps = defaultThemeProp;\n\nexport const StyledLinkPopoverBtn = styled(BareButton)(({ theme }) => {\n const contrastColor = tryCatch(() => readableColor(theme.components.tooltip['background-color']));\n const fontSize = calculateFontSize(theme.base['font-size'], theme.base['font-scale']);\n\n return css`\n position: relative;\n display: inline-flex;\n align-items: center;\n z-index: 1;\n padding: 0 ${theme.base.spacing};\n min-height: 1.5rem;\n line-height: 1;\n color: ${contrastColor};\n font-size: ${fontSize.xs};\n text-decoration: none;\n\n /* FIXME: Button selector specificity... */\n & + & {\n margin: 0;\n }\n\n & + &::before {\n content: '';\n position: absolute;\n inset-inline-start: 0;\n inset-block: 0;\n width: 1px; /* stylelint-disable-line unit-allowed-list */\n background-color: ${contrastColor};\n opacity: ${theme.base.transparency['transparent-3']};\n }\n\n &:hover,\n &:active {\n text-decoration: underline;\n }\n\n &:focus {\n box-shadow:\n inset 0 0 0 0.0625rem ${theme.base.palette.light},\n 0 0 0.125rem 0.0625rem ${theme.base.palette.interactive};\n }\n `;\n});\n\nStyledLinkPopoverBtn.defaultProps = defaultThemeProp;\n\nexport const StyledLinkPreviewPopoverBtn = styled(StyledLinkPopoverBtn)(({ theme }) => {\n return css`\n width: 100%;\n padding: unset;\n\n &:hover,\n &:active {\n text-decoration: none;\n ${StyledText} span {\n text-decoration: underline;\n }\n }\n\n ${StyledText} {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n }\n\n ${StyledKeyboard} {\n color: ${theme.base.palette.light};\n background-color: ${theme.base.colors.gray.dark};\n border-color: ${theme.base.colors.gray.medium};\n inset-block-start: unset;\n\n &:first-of-type {\n margin-inline: ${theme.base.spacing};\n }\n }\n `;\n});\n\nStyledLinkPreviewPopoverBtn.defaultProps = defaultThemeProp;\n\nexport const StyledLink = styled(Button)`\n &:has(> img) {\n display: inline-block;\n\n ${StyledIcon} {\n vertical-align: top;\n }\n }\n`;\n\nStyledLink.defaultProps = defaultThemeProp;\n\nregisterIcon(openIcon);\n\n// Blocks usage of \"javascript:\" scheme.\n// @see https://github.com/facebook/react/blob/main/packages/react-dom-bindings/src/shared/sanitizeURL.js#L19-L20\nconst disallowedURI = // eslint-disable-next-line no-control-regex\n /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i;\n\nconst Link: FunctionComponent<LinkProps & ForwardProps> = forwardRef(function Link(\n {\n testId,\n href: hrefProp,\n variant = 'link',\n icon = false,\n previewable: showPreviewOpenInTabPopoverProp = false,\n onPreview,\n target: targetProp,\n children,\n ...restProps\n }: PropsWithoutRef<LinkProps>,\n ref: LinkProps['ref']\n) {\n const href = disallowedURI.test(hrefProp) ? undefined : hrefProp;\n\n const { initialized: inModal } = useModalContext();\n const fullscreen = useFullscreenContext();\n const inFullscreen = !!(fullscreen && fullscreen[0]);\n const { previewTriggerRef } = useContext(AppShellContext);\n const uid = useUID();\n const linkRef = useConsolidatedRef(ref);\n const [popover, setPopover] = useState(false);\n const [popoverHideDelay, setPopoverHideDelay] = useState<PopoverProps['hideDelay']>('short');\n const [previewPopover, setPreviewPopover] = useState(false);\n const previewBtnRef = useRef<HTMLButtonElement>(null);\n const isSmallOrAbove = useBreakpoint('sm');\n const t = useI18n();\n const { macintosh } = useOS();\n const contextMenuOpened = useRef(false);\n const testIds = useTestIds(testId, getLinkTestIds);\n\n const previewable = showPreviewOpenInTabPopoverProp && !inModal && !inFullscreen;\n\n let crossOrigin: boolean;\n try {\n if (href) {\n const url = new URL(href, document.location.href);\n crossOrigin = documentIsAvailable\n ? /^https?:$/.test(url.protocol) && document.location.origin !== url.origin\n : false;\n } else {\n crossOrigin = false;\n }\n } catch {\n crossOrigin = false;\n }\n\n const target = crossOrigin ? '_blank' : targetProp;\n\n const showPopover = () => {\n if (isSmallOrAbove && !previewPopover) {\n setPopover(true);\n }\n };\n\n const showPreviewPopover = () => {\n if (isSmallOrAbove && !popover && !contextMenuOpened.current) setPreviewPopover(true);\n };\n\n const hidePopover = () => {\n setPopover(false);\n };\n\n const hidePreviewPopover = () => {\n setPreviewPopover(false);\n };\n\n const onBlurLink = () => {\n contextMenuOpened.current = false;\n hidePreviewPopover();\n };\n\n const onPreviewClick = () => {\n previewTriggerRef.current = linkRef.current;\n if (href !== undefined) {\n onPreview?.({ href });\n }\n };\n\n const onKeyUp = (e: KeyboardEvent) => {\n if (e.getModifierState('Alt') && e.code === 'KeyP') {\n onPreviewClick();\n }\n };\n\n useEffect(() => {\n if (popoverHideDelay === 'none' && !popover && !previewPopover) {\n setPopoverHideDelay('short');\n }\n }, [popoverHideDelay, popover, previewPopover]);\n\n return (\n <>\n <StyledLink\n data-testid={testIds.root}\n href={href}\n variant={variant}\n ref={linkRef as any}\n target={target}\n {...restProps}\n aria-describedby={previewable ? `${uid}-preview-instructions` : undefined}\n onMouseEnter={\n showPreviewOpenInTabPopoverProp\n ? () => {\n showPopover();\n }\n : undefined\n }\n onMouseLeave={hidePopover}\n onFocus={\n showPreviewOpenInTabPopoverProp\n ? () => {\n showPreviewPopover();\n }\n : undefined\n }\n onBlur={onBlurLink}\n onKeyUp={onKeyUp}\n onContextMenu={() => {\n contextMenuOpened.current = true;\n\n setPopoverHideDelay('none');\n setPreviewPopover(false);\n setPopover(false);\n }}\n >\n {children}\n {target === '_blank' && <VisuallyHiddenText>{t('opens_in_a_new_tab')}</VisuallyHiddenText>}\n {!icon && target === '_blank' && <Icon name='open' />}\n </StyledLink>\n\n {previewable && (\n <Popover\n data-testid={testIds.previewPopover}\n show={previewPopover}\n groupId='link_preview'\n showDelay='short'\n hideDelay={popoverHideDelay}\n placement='bottom'\n target={linkRef.current}\n as={StyledLinkPopover}\n arrow\n preview\n portal\n onHide={hidePreviewPopover}\n onClick={(e: MouseEvent) => {\n e.stopPropagation();\n }}\n >\n <StyledLinkPreviewPopoverBtn\n data-testid={testIds.preview}\n preview\n type='button'\n ref={previewBtnRef}\n onClick={onPreviewClick}\n tabIndex='-1'\n >\n <Text>\n <span>{t('preview')}</span>\n <Flex container={{ inline: true, justify: 'end' }}>\n <Keyboard keyName='Alt' />\n <Keyboard keyName='P' />\n </Flex>\n </Text>\n </StyledLinkPreviewPopoverBtn>\n </Popover>\n )}\n\n <Popover\n data-testid={testIds.previewPopover}\n show={popover}\n groupId='link_preview'\n showDelay='short'\n hideDelay={popoverHideDelay}\n placement='bottom'\n target={linkRef.current}\n onMouseEnter={showPopover}\n onMouseLeave={hidePopover}\n as={StyledLinkPopover}\n arrow\n portal\n onClick={(e: MouseEvent) => {\n e.stopPropagation();\n }}\n >\n {previewable && (\n <StyledLinkPopoverBtn\n data-testid={testIds.preview}\n preview\n type='button'\n ref={previewBtnRef}\n onClick={onPreviewClick}\n tabIndex='-1'\n >\n {t('preview')}\n </StyledLinkPopoverBtn>\n )}\n <StyledLinkPopoverBtn\n data-testid={testIds.newTab}\n forwardedAs='a'\n href={href}\n target='_blank'\n rel='noreferrer'\n tabIndex='-1'\n >\n {t('link_open_in_tab_text')}\n </StyledLinkPopoverBtn>\n </Popover>\n\n {previewable && (\n <span id={`${uid}-preview-instructions`} hidden>\n {t('preview_link_instruction', [macintosh ? 'option' : 'alt'])}\n </span>\n )}\n </>\n );\n});\n\nexport default withTestIds(Link, getLinkTestIds);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAqC,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGlG,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGvE,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAQtD,MAAM,WAAW,YAAa,SAAQ,SAAS,EAAE,UAAU;IACzD,oCAAoC;IACpC,QAAQ,EAAE,SAAS,CAAC;IACpB,gDAAgD;IAChD,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,SAAS,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACtC;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,aAAa,yGAaxB,CAAC;;;;
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAqC,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGlG,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGvE,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAQtD,MAAM,WAAW,YAAa,SAAQ,SAAS,EAAE,UAAU;IACzD,oCAAoC;IACpC,QAAQ,EAAE,SAAS,CAAC;IACpB,gDAAgD;IAChD,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,SAAS,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACtC;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,aAAa,yGAaxB,CAAC;;;;AAkKH,wBAAuD"}
|
|
@@ -5,7 +5,7 @@ import { defaultThemeProp } from '../../theme';
|
|
|
5
5
|
import Popover from '../Popover';
|
|
6
6
|
import { useConsolidatedRef, useTestIds, useTheme, useUID } from '../../hooks';
|
|
7
7
|
import { calculateFontSize, readableHue } from '../../styles';
|
|
8
|
-
import { getActiveElement, withTestIds } from '../../utils';
|
|
8
|
+
import { getActiveElement, mouseState, withTestIds } from '../../utils';
|
|
9
9
|
import { ThemeOverride } from '../Configuration';
|
|
10
10
|
import { getTooltipTestIds } from './Tooltip.test-ids';
|
|
11
11
|
export const StyledTooltip = styled.div(({ theme }) => {
|
|
@@ -57,6 +57,9 @@ const Tooltip = forwardRef(function Tooltip({ testId, children, target, showDela
|
|
|
57
57
|
lastClickedRef.current = null;
|
|
58
58
|
};
|
|
59
59
|
const onMouseEnter = () => {
|
|
60
|
+
if (mouseState.primary) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
60
63
|
showTooltip();
|
|
61
64
|
};
|
|
62
65
|
const onMouseLeave = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useCallback, useEffect, useRef, useState } from 'react';\nimport type { FunctionComponent, MutableRefObject, PropsWithoutRef, ReactNode, Ref } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport type { BaseProps, ForwardProps, TestIdProp } from '../../types';\nimport { defaultThemeProp } from '../../theme';\nimport Popover from '../Popover';\nimport type { Delay, PopoverProps } from '../Popover';\nimport { useConsolidatedRef, useTestIds, useTheme, useUID } from '../../hooks';\nimport { calculateFontSize, readableHue } from '../../styles';\nimport { getActiveElement, withTestIds } from '../../utils';\nimport { ThemeOverride } from '../Configuration';\n\nimport { getTooltipTestIds } from './Tooltip.test-ids';\n\nexport interface TooltipProps extends BaseProps, TestIdProp {\n /** Text content for the tooltip. */\n children: ReactNode;\n /** Element to serve as the tooltip's target. */\n target: Element | null;\n /**\n * Delay showing the tooltip on mouseenter.\n * @default 'short'\n */\n showDelay?: Delay;\n /**\n * Delay hiding the tooltip on mouseleave.\n * @default 'long'\n */\n hideDelay?: Delay;\n /**\n * If true, the Tooltip will render outside of the current DOM hierarchy in a [portal](https://reactjs.org/docs/portals.html).\n * @default true\n */\n portal?: PopoverProps['portal'];\n /**\n * If true, the Tooltip will automatically apply an aria-describedby attribute to its target.\n * @default true\n */\n describeTarget?: boolean;\n /**\n * Sets the placement of the tooltip relative to the target.\n * @default 'bottom'\n */\n placement?: PopoverProps['placement'];\n /**\n * Conditionally renders a tooltip only if the associated element's text content is truncated.\n * To work, the associated element must be be displayed as a CSS \"block box\" i.e. block, inline-block, etc...\n * @default false\n */\n smart?: boolean;\n /**\n * The group that the Popover belongs to. Popovers in the same group will be closed when others open.\n * @default 'tooltip'\n */\n groupId?: PopoverProps['groupId'];\n ref?: Ref<HTMLDivElement>;\n}\n\nexport const StyledTooltip = styled.div(({ theme }) => {\n const fontSize = calculateFontSize(theme.base['font-size'], theme.base['font-scale']);\n\n return css`\n background-color: ${theme.components.tooltip['background-color']};\n color: ${theme.components.tooltip['foreground-color']};\n font-size: ${fontSize.xxs};\n max-width: 40ch;\n padding: ${theme.base.spacing};\n white-space: pre-line;\n word-break: break-word;\n pointer-events: none;\n `;\n});\n\nStyledTooltip.defaultProps = defaultThemeProp;\n\nconst Tooltip: FunctionComponent<TooltipProps & ForwardProps> = forwardRef(function Tooltip(\n {\n testId,\n children,\n target,\n showDelay = 'short',\n hideDelay = 'long',\n placement = 'bottom',\n describeTarget = true,\n smart,\n groupId = 'tooltip',\n ...restProps\n }: PropsWithoutRef<TooltipProps>,\n ref: Ref<HTMLDivElement>\n) {\n const id = useUID();\n const [show, setShow] = useState(false);\n const tooltipRef = useConsolidatedRef(ref);\n const lastClickedRef: MutableRefObject<EventTarget | null> = useRef(null);\n const testIds = useTestIds(testId, getTooltipTestIds);\n\n const stringContentOnly =\n typeof children === 'string' ||\n (Array.isArray(children) && children.every(child => typeof child === 'string'));\n\n const onMouseDown = useCallback(\n ({ target: eTarget }: MouseEvent) => {\n lastClickedRef.current = eTarget;\n if (eTarget === tooltipRef.current || eTarget === target) return;\n setShow(false);\n },\n [target]\n );\n\n useEffect(() => {\n if (!target) return;\n\n const showTooltip = () => {\n setShow(\n // This approach may result in a tooltip NOT appearing 1px before it should due to browser specifics. Enhance as needed.\n // https://stackoverflow.com/a/64747288\n smart\n ? target.scrollWidth > target.clientWidth || target.scrollHeight > target.clientHeight\n : true\n );\n };\n\n const onFocusIn = () => {\n showTooltip();\n };\n\n const onFocusOut = () => {\n if (!lastClickedRef.current || lastClickedRef.current !== tooltipRef.current) {\n setShow(false);\n }\n lastClickedRef.current = null;\n };\n\n const onMouseEnter = () => {\n showTooltip();\n };\n\n const onMouseLeave = () => {\n if (getActiveElement() !== target) {\n setShow(false);\n }\n };\n\n const onKeyDown = ({ key }: KeyboardEvent) => {\n if (key === 'Escape' && getActiveElement() === target) {\n setShow(false);\n }\n };\n\n document.addEventListener('keydown', onKeyDown);\n document.addEventListener('mousedown', onMouseDown);\n\n target.addEventListener('focusin', onFocusIn);\n target.addEventListener('focusout', onFocusOut);\n\n target.addEventListener('mouseenter', onMouseEnter);\n target.addEventListener('mouseleave', onMouseLeave);\n\n return () => {\n document.removeEventListener('keydown', onKeyDown);\n document.removeEventListener('mousedown', onMouseDown);\n\n target.removeEventListener('focusin', onFocusIn);\n target.removeEventListener('focusout', onFocusOut);\n\n target.removeEventListener('mouseenter', onMouseEnter);\n target.removeEventListener('mouseleave', onMouseLeave);\n };\n }, [target, onMouseDown, smart]);\n\n useEffect(() => {\n if (target && describeTarget && show) {\n const describedBy = target.getAttribute('aria-describedby');\n // Set the attribute to the old attribute plus the id\n target.setAttribute('aria-describedby', describedBy ? `${describedBy} ${id}` : id);\n } else if (target) {\n // Get the old attribute\n const describedBy = target.getAttribute('aria-describedby');\n if (describedBy) {\n // If the old attribute matches the id just remove it entirely\n if (describedBy === id) {\n target.removeAttribute('aria-describedby');\n } else {\n // Otherwise we want to just remove the id that was added and reset the attribute to what it was before\n const oldDescribedBy = describedBy.replace(new RegExp(`(?:^|\\\\s+)${id}`), '');\n target.setAttribute('aria-describedby', oldDescribedBy);\n }\n }\n }\n }, [describeTarget, target, show]);\n\n const theme = useTheme();\n const tooltipTheme = {\n base: {\n palette: {\n 'primary-background': theme.components.tooltip['background-color'],\n 'foreground-color': theme.components.tooltip['foreground-color'],\n interactive: readableHue(\n theme.base.palette.interactive,\n theme.components.tooltip['background-color']\n )\n }\n }\n };\n\n return (\n <ThemeOverride theme={tooltipTheme}>\n <Popover\n data-testid={testIds.root}\n id={id}\n groupId={groupId}\n {...restProps}\n show={show}\n showDelay={showDelay}\n hideDelay={hideDelay}\n strategy='fixed'\n as={StyledTooltip}\n role={stringContentOnly ? 'tooltip' : 'dialog'}\n target={target}\n arrow\n placement={placement}\n onMouseDown={onMouseDown}\n hideOnTargetHidden\n ref={tooltipRef}\n >\n {children}\n </Popover>\n </ThemeOverride>\n );\n});\n\nexport default withTestIds(Tooltip, getTooltipTestIds);\n"]}
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useCallback, useEffect, useRef, useState } from 'react';\nimport type { FunctionComponent, MutableRefObject, PropsWithoutRef, ReactNode, Ref } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport type { BaseProps, ForwardProps, TestIdProp } from '../../types';\nimport { defaultThemeProp } from '../../theme';\nimport Popover from '../Popover';\nimport type { Delay, PopoverProps } from '../Popover';\nimport { useConsolidatedRef, useTestIds, useTheme, useUID } from '../../hooks';\nimport { calculateFontSize, readableHue } from '../../styles';\nimport { getActiveElement, mouseState, withTestIds } from '../../utils';\nimport { ThemeOverride } from '../Configuration';\n\nimport { getTooltipTestIds } from './Tooltip.test-ids';\n\nexport interface TooltipProps extends BaseProps, TestIdProp {\n /** Text content for the tooltip. */\n children: ReactNode;\n /** Element to serve as the tooltip's target. */\n target: Element | null;\n /**\n * Delay showing the tooltip on mouseenter.\n * @default 'short'\n */\n showDelay?: Delay;\n /**\n * Delay hiding the tooltip on mouseleave.\n * @default 'long'\n */\n hideDelay?: Delay;\n /**\n * If true, the Tooltip will render outside of the current DOM hierarchy in a [portal](https://reactjs.org/docs/portals.html).\n * @default true\n */\n portal?: PopoverProps['portal'];\n /**\n * If true, the Tooltip will automatically apply an aria-describedby attribute to its target.\n * @default true\n */\n describeTarget?: boolean;\n /**\n * Sets the placement of the tooltip relative to the target.\n * @default 'bottom'\n */\n placement?: PopoverProps['placement'];\n /**\n * Conditionally renders a tooltip only if the associated element's text content is truncated.\n * To work, the associated element must be be displayed as a CSS \"block box\" i.e. block, inline-block, etc...\n * @default false\n */\n smart?: boolean;\n /**\n * The group that the Popover belongs to. Popovers in the same group will be closed when others open.\n * @default 'tooltip'\n */\n groupId?: PopoverProps['groupId'];\n ref?: Ref<HTMLDivElement>;\n}\n\nexport const StyledTooltip = styled.div(({ theme }) => {\n const fontSize = calculateFontSize(theme.base['font-size'], theme.base['font-scale']);\n\n return css`\n background-color: ${theme.components.tooltip['background-color']};\n color: ${theme.components.tooltip['foreground-color']};\n font-size: ${fontSize.xxs};\n max-width: 40ch;\n padding: ${theme.base.spacing};\n white-space: pre-line;\n word-break: break-word;\n pointer-events: none;\n `;\n});\n\nStyledTooltip.defaultProps = defaultThemeProp;\n\nconst Tooltip: FunctionComponent<TooltipProps & ForwardProps> = forwardRef(function Tooltip(\n {\n testId,\n children,\n target,\n showDelay = 'short',\n hideDelay = 'long',\n placement = 'bottom',\n describeTarget = true,\n smart,\n groupId = 'tooltip',\n ...restProps\n }: PropsWithoutRef<TooltipProps>,\n ref: Ref<HTMLDivElement>\n) {\n const id = useUID();\n const [show, setShow] = useState(false);\n const tooltipRef = useConsolidatedRef(ref);\n const lastClickedRef: MutableRefObject<EventTarget | null> = useRef(null);\n const testIds = useTestIds(testId, getTooltipTestIds);\n\n const stringContentOnly =\n typeof children === 'string' ||\n (Array.isArray(children) && children.every(child => typeof child === 'string'));\n\n const onMouseDown = useCallback(\n ({ target: eTarget }: MouseEvent) => {\n lastClickedRef.current = eTarget;\n if (eTarget === tooltipRef.current || eTarget === target) return;\n setShow(false);\n },\n [target]\n );\n\n useEffect(() => {\n if (!target) return;\n\n const showTooltip = () => {\n setShow(\n // This approach may result in a tooltip NOT appearing 1px before it should due to browser specifics. Enhance as needed.\n // https://stackoverflow.com/a/64747288\n smart\n ? target.scrollWidth > target.clientWidth || target.scrollHeight > target.clientHeight\n : true\n );\n };\n\n const onFocusIn = () => {\n showTooltip();\n };\n\n const onFocusOut = () => {\n if (!lastClickedRef.current || lastClickedRef.current !== tooltipRef.current) {\n setShow(false);\n }\n lastClickedRef.current = null;\n };\n\n const onMouseEnter = () => {\n if (mouseState.primary) {\n return;\n }\n\n showTooltip();\n };\n\n const onMouseLeave = () => {\n if (getActiveElement() !== target) {\n setShow(false);\n }\n };\n\n const onKeyDown = ({ key }: KeyboardEvent) => {\n if (key === 'Escape' && getActiveElement() === target) {\n setShow(false);\n }\n };\n\n document.addEventListener('keydown', onKeyDown);\n document.addEventListener('mousedown', onMouseDown);\n\n target.addEventListener('focusin', onFocusIn);\n target.addEventListener('focusout', onFocusOut);\n target.addEventListener('mouseenter', onMouseEnter);\n target.addEventListener('mouseleave', onMouseLeave);\n\n return () => {\n document.removeEventListener('keydown', onKeyDown);\n document.removeEventListener('mousedown', onMouseDown);\n\n target.removeEventListener('focusin', onFocusIn);\n target.removeEventListener('focusout', onFocusOut);\n target.removeEventListener('mouseenter', onMouseEnter);\n target.removeEventListener('mouseleave', onMouseLeave);\n };\n }, [target, onMouseDown, smart]);\n\n useEffect(() => {\n if (target && describeTarget && show) {\n const describedBy = target.getAttribute('aria-describedby');\n // Set the attribute to the old attribute plus the id\n target.setAttribute('aria-describedby', describedBy ? `${describedBy} ${id}` : id);\n } else if (target) {\n // Get the old attribute\n const describedBy = target.getAttribute('aria-describedby');\n if (describedBy) {\n // If the old attribute matches the id just remove it entirely\n if (describedBy === id) {\n target.removeAttribute('aria-describedby');\n } else {\n // Otherwise we want to just remove the id that was added and reset the attribute to what it was before\n const oldDescribedBy = describedBy.replace(new RegExp(`(?:^|\\\\s+)${id}`), '');\n target.setAttribute('aria-describedby', oldDescribedBy);\n }\n }\n }\n }, [describeTarget, target, show]);\n\n const theme = useTheme();\n const tooltipTheme = {\n base: {\n palette: {\n 'primary-background': theme.components.tooltip['background-color'],\n 'foreground-color': theme.components.tooltip['foreground-color'],\n interactive: readableHue(\n theme.base.palette.interactive,\n theme.components.tooltip['background-color']\n )\n }\n }\n };\n\n return (\n <ThemeOverride theme={tooltipTheme}>\n <Popover\n data-testid={testIds.root}\n id={id}\n groupId={groupId}\n {...restProps}\n show={show}\n showDelay={showDelay}\n hideDelay={hideDelay}\n strategy='fixed'\n as={StyledTooltip}\n role={stringContentOnly ? 'tooltip' : 'dialog'}\n target={target}\n arrow\n placement={placement}\n onMouseDown={onMouseDown}\n hideOnTargetHidden\n ref={tooltipRef}\n >\n {children}\n </Popover>\n </ThemeOverride>\n );\n});\n\nexport default withTestIds(Tooltip, getTooltipTestIds);\n"]}
|
package/lib/i18n/default.js
CHANGED
|
@@ -378,7 +378,7 @@ export default {
|
|
|
378
378
|
shortcut_JumpToToast: 'Jump to toast',
|
|
379
379
|
shortcut_DismissToast: 'Dismiss toast',
|
|
380
380
|
/* dnd:DragHandle */
|
|
381
|
-
drag_handle_description: 'Press
|
|
381
|
+
drag_handle_description: 'Press Enter or Space to activate dragging. Use arrow keys to drag up or down. Press Enter or Space again to drop.',
|
|
382
382
|
/* work:Assignments */
|
|
383
383
|
assignments: 'Assignments',
|
|
384
384
|
/* work:Hierarchial Assignment */
|