@lumx/react 3.20.1-alpha.29 → 3.20.1-alpha.30
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/_internal/Button-4b67daa8.js +98 -0
- package/_internal/Button-4b67daa8.js.map +1 -0
- package/_internal/ButtonRoot-a70baf82.js +118 -0
- package/_internal/ButtonRoot-a70baf82.js.map +1 -0
- package/_internal/Chip-70af04b4.js +144 -0
- package/_internal/Chip-70af04b4.js.map +1 -0
- package/_internal/ClickAwayProvider-1204f237.js +95 -0
- package/_internal/ClickAwayProvider-1204f237.js.map +1 -0
- package/_internal/DisabledStateContext-ea04260d.js +29 -0
- package/_internal/DisabledStateContext-ea04260d.js.map +1 -0
- package/_internal/HeadingLevelProvider-ebdcb0c7.js +61 -0
- package/_internal/HeadingLevelProvider-ebdcb0c7.js.map +1 -0
- package/_internal/IconButton-8d61f5be.js +77 -0
- package/_internal/IconButton-8d61f5be.js.map +1 -0
- package/_internal/ImageCaption-db44ec9e.js +75 -0
- package/_internal/ImageCaption-db44ec9e.js.map +1 -0
- package/_internal/List-c75646f2.js +818 -0
- package/_internal/List-c75646f2.js.map +1 -0
- package/_internal/PopoverDialog-35b2d87d.js +657 -0
- package/_internal/PopoverDialog-35b2d87d.js.map +1 -0
- package/_internal/Portal-3f86608e.js +45 -0
- package/_internal/Portal-3f86608e.js.map +1 -0
- package/_internal/RawClickable-2c2b6a89.js +52 -0
- package/_internal/RawClickable-2c2b6a89.js.map +1 -0
- package/_internal/Slides-ce641b5f.js +679 -0
- package/_internal/Slides-ce641b5f.js.map +1 -0
- package/_internal/ThemeContext-3181f000.js +14 -0
- package/_internal/ThemeContext-3181f000.js.map +1 -0
- package/_internal/Thumbnail-02bd6869.js +314 -0
- package/_internal/Thumbnail-02bd6869.js.map +1 -0
- package/_internal/components/alert-dialog-a24330ed.js +166 -0
- package/_internal/components/alert-dialog-a24330ed.js.map +1 -0
- package/_internal/components/autocomplete-70749e51.js +262 -0
- package/_internal/components/autocomplete-70749e51.js.map +1 -0
- package/_internal/components/avatar-ed9f4869.js +84 -0
- package/_internal/components/avatar-ed9f4869.js.map +1 -0
- package/_internal/components/badge-ccf47147.js +82 -0
- package/_internal/components/badge-ccf47147.js.map +1 -0
- package/_internal/components/button-9f710830.js +48 -0
- package/_internal/components/button-9f710830.js.map +1 -0
- package/_internal/components/checkbox-8ab51ef9.js +142 -0
- package/_internal/components/checkbox-8ab51ef9.js.map +1 -0
- package/_internal/components/chip-19e40755.js +103 -0
- package/_internal/components/chip-19e40755.js.map +1 -0
- package/_internal/components/comment-block-bb6a0603.js +139 -0
- package/_internal/components/comment-block-bb6a0603.js.map +1 -0
- package/_internal/components/date-picker-e4209b01.js +2 -0
- package/_internal/components/date-picker-e4209b01.js.map +1 -0
- package/_internal/components/dialog-30336ccb.js +239 -0
- package/_internal/components/dialog-30336ccb.js.map +1 -0
- package/_internal/components/divider-0e93aa3d.js +51 -0
- package/_internal/components/divider-0e93aa3d.js.map +1 -0
- package/_internal/components/drag-handle-ba2e7e67.js +52 -0
- package/_internal/components/drag-handle-ba2e7e67.js.map +1 -0
- package/_internal/components/dropdown-d18122d7.js +148 -0
- package/_internal/components/dropdown-d18122d7.js.map +1 -0
- package/_internal/components/expansion-panel-0b263437.js +169 -0
- package/_internal/components/expansion-panel-0b263437.js.map +1 -0
- package/_internal/components/flag-8f9a498a.js +60 -0
- package/_internal/components/flag-8f9a498a.js.map +1 -0
- package/_internal/components/flex-box-15be92f6.js +57 -0
- package/_internal/components/flex-box-15be92f6.js.map +1 -0
- package/_internal/components/generic-block-5d843f1e.js +128 -0
- package/_internal/components/generic-block-5d843f1e.js.map +1 -0
- package/_internal/components/grid-8c08dc4b.js +105 -0
- package/_internal/components/grid-8c08dc4b.js.map +1 -0
- package/_internal/components/grid-column-85e305e7.js +59 -0
- package/_internal/components/grid-column-85e305e7.js.map +1 -0
- package/_internal/components/heading-7bfafd7d.js +54 -0
- package/_internal/components/heading-7bfafd7d.js.map +1 -0
- package/_internal/components/icon-ee15673b.js +103 -0
- package/_internal/components/icon-ee15673b.js.map +1 -0
- package/_internal/components/image-block-3479abda.js +111 -0
- package/_internal/components/image-block-3479abda.js.map +1 -0
- package/_internal/components/image-lightbox-1d7ca133.js +758 -0
- package/_internal/components/image-lightbox-1d7ca133.js.map +1 -0
- package/_internal/components/inline-list-5ba8bb0f.js +75 -0
- package/_internal/components/inline-list-5ba8bb0f.js.map +1 -0
- package/_internal/components/input-helper-2e4e49fd.js +72 -0
- package/_internal/components/input-helper-2e4e49fd.js.map +1 -0
- package/_internal/components/input-label-30d199c3.js +60 -0
- package/_internal/components/input-label-30d199c3.js.map +1 -0
- package/_internal/components/lightbox-c5f9afd0.js +156 -0
- package/_internal/components/lightbox-c5f9afd0.js.map +1 -0
- package/_internal/components/link-43ee103e.js +73 -0
- package/_internal/components/link-43ee103e.js.map +1 -0
- package/_internal/components/link-preview-db0ee2d6.js +118 -0
- package/_internal/components/link-preview-db0ee2d6.js.map +1 -0
- package/_internal/components/list-2f256244.js +72 -0
- package/_internal/components/list-2f256244.js.map +1 -0
- package/_internal/components/message-f7674e0e.js +101 -0
- package/_internal/components/message-f7674e0e.js.map +1 -0
- package/_internal/components/mosaic-3effd0cf.js +95 -0
- package/_internal/components/mosaic-3effd0cf.js.map +1 -0
- package/_internal/components/navigation-3a5dc270.js +227 -0
- package/_internal/components/navigation-3a5dc270.js.map +1 -0
- package/_internal/components/notification-098c5600.js +146 -0
- package/_internal/components/notification-098c5600.js.map +1 -0
- package/_internal/components/popover-dfcddda4.js +3 -0
- package/_internal/components/popover-dfcddda4.js.map +1 -0
- package/_internal/components/post-block-69797e4d.js +110 -0
- package/_internal/components/post-block-69797e4d.js.map +1 -0
- package/_internal/components/progress-44bb0301.js +183 -0
- package/_internal/components/progress-44bb0301.js.map +1 -0
- package/_internal/components/progress-tracker-e0981fcc.js +309 -0
- package/_internal/components/progress-tracker-e0981fcc.js.map +1 -0
- package/_internal/components/radio-button-929c7bee.js +150 -0
- package/_internal/components/radio-button-929c7bee.js.map +1 -0
- package/_internal/components/select-64bc72a0.js +458 -0
- package/_internal/components/select-64bc72a0.js.map +1 -0
- package/_internal/components/side-navigation-c610c689.js +166 -0
- package/_internal/components/side-navigation-c610c689.js.map +1 -0
- package/_internal/components/skeleton-1ea8c82a.js +167 -0
- package/_internal/components/skeleton-1ea8c82a.js.map +1 -0
- package/_internal/components/slider-78cfaa67.js +312 -0
- package/_internal/components/slider-78cfaa67.js.map +1 -0
- package/_internal/components/slideshow-d8a943a7.js +151 -0
- package/_internal/components/slideshow-d8a943a7.js.map +1 -0
- package/_internal/components/switch-25b65051.js +122 -0
- package/_internal/components/switch-25b65051.js.map +1 -0
- package/_internal/components/table-ec20c66c.js +296 -0
- package/_internal/components/table-ec20c66c.js.map +1 -0
- package/_internal/components/tabs-89c055bd.js +299 -0
- package/_internal/components/tabs-89c055bd.js.map +1 -0
- package/_internal/components/text-d04d0f1b.js +2 -0
- package/_internal/components/text-d04d0f1b.js.map +1 -0
- package/_internal/components/text-field-8f13957e.js +361 -0
- package/_internal/components/text-field-8f13957e.js.map +1 -0
- package/_internal/components/thumbnail-1255957f.js +42 -0
- package/_internal/components/thumbnail-1255957f.js.map +1 -0
- package/_internal/components/toolbar-e7c984e6.js +62 -0
- package/_internal/components/toolbar-e7c984e6.js.map +1 -0
- package/_internal/components/tooltip-dcb43bbe.js +328 -0
- package/_internal/components/tooltip-dcb43bbe.js.map +1 -0
- package/_internal/components/uploader-7ef4db39.js +154 -0
- package/_internal/components/uploader-7ef4db39.js.map +1 -0
- package/_internal/components/user-block-24d97650.js +145 -0
- package/_internal/components/user-block-24d97650.js.map +1 -0
- package/_internal/constants-43721918.js +2170 -0
- package/_internal/constants-43721918.js.map +1 -0
- package/_internal/constants-d0e3f49e.js +24 -0
- package/_internal/constants-d0e3f49e.js.map +1 -0
- package/_internal/context-9d1336a1.js +19 -0
- package/_internal/context-9d1336a1.js.map +1 -0
- package/_internal/forwardRef-8bce732e.js +9 -0
- package/_internal/forwardRef-8bce732e.js.map +1 -0
- package/_internal/getFocusableElements-230173a8.js +13 -0
- package/_internal/getFocusableElements-230173a8.js.map +1 -0
- package/_internal/index-25c9e8c2.js +118 -0
- package/_internal/index-25c9e8c2.js.map +1 -0
- package/_internal/index-25d2a45e.js +437 -0
- package/_internal/index-25d2a45e.js.map +1 -0
- package/_internal/isComponent-b9762ff1.js +18 -0
- package/_internal/isComponent-b9762ff1.js.map +1 -0
- package/_internal/isComponentType-e806b848.js +9 -0
- package/_internal/isComponentType-e806b848.js.map +1 -0
- package/_internal/mergeRefs-f0d7d6ea.js +30 -0
- package/_internal/mergeRefs-f0d7d6ea.js.map +1 -0
- package/_internal/state-db358714.js +130 -0
- package/_internal/state-db358714.js.map +1 -0
- package/_internal/useBooleanState-2a3d237c.js +12 -0
- package/_internal/useBooleanState-2a3d237c.js.map +1 -0
- package/_internal/useCallbackOnEscape-b956a85d.js +64 -0
- package/_internal/useCallbackOnEscape-b956a85d.js.map +1 -0
- package/_internal/useDisableBodyScroll-36bd7352.js +219 -0
- package/_internal/useDisableBodyScroll-36bd7352.js.map +1 -0
- package/_internal/useDisableStateProps-69e16b7c.js +36 -0
- package/_internal/useDisableStateProps-69e16b7c.js.map +1 -0
- package/_internal/useFocusTrap-2dbae79e.js +112 -0
- package/_internal/useFocusTrap-2dbae79e.js.map +1 -0
- package/_internal/useId-3a1facc0.js +18 -0
- package/_internal/useId-3a1facc0.js.map +1 -0
- package/_internal/useRovingTabIndex-7daf0f24.js +77 -0
- package/_internal/useRovingTabIndex-7daf0f24.js.map +1 -0
- package/_internal/useTransitionVisibility-321fdbfa.js +50 -0
- package/_internal/useTransitionVisibility-321fdbfa.js.map +1 -0
- package/_internal/wrapChildrenIconWithSpaces-50d705e6.js +20 -0
- package/_internal/wrapChildrenIconWithSpaces-50d705e6.js.map +1 -0
- package/index.js +63 -14033
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/utils/index.js +3 -158
- package/utils/index.js.map +1 -1
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import classNames from 'classnames';
|
|
2
|
+
import { getRootClassName, resolveColorWithVariants, handleBasicClasses, getTypographyClassName } from '@lumx/core/js/utils/className';
|
|
3
|
+
import { f as forwardRef } from '../forwardRef-8bce732e.js';
|
|
4
|
+
import { w as wrapChildrenIconWithSpaces } from '../wrapChildrenIconWithSpaces-50d705e6.js';
|
|
5
|
+
import { R as RawClickable } from '../RawClickable-2c2b6a89.js';
|
|
6
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
|
+
import { u as useDisableStateProps } from '../useDisableStateProps-69e16b7c.js';
|
|
8
|
+
import { Icon } from './icon-ee15673b.js';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Component display name.
|
|
12
|
+
*/
|
|
13
|
+
const COMPONENT_NAME = 'Link';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Component default class name and class prefix.
|
|
17
|
+
*/
|
|
18
|
+
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Link component.
|
|
22
|
+
*
|
|
23
|
+
* @param props Component props.
|
|
24
|
+
* @param ref Component ref.
|
|
25
|
+
* @return React element.
|
|
26
|
+
*/
|
|
27
|
+
const Link = forwardRef((props, ref) => {
|
|
28
|
+
const {
|
|
29
|
+
disabledStateProps,
|
|
30
|
+
otherProps
|
|
31
|
+
} = useDisableStateProps(props);
|
|
32
|
+
const {
|
|
33
|
+
children,
|
|
34
|
+
className,
|
|
35
|
+
color: propColor,
|
|
36
|
+
colorVariant: propColorVariant,
|
|
37
|
+
leftIcon,
|
|
38
|
+
rightIcon,
|
|
39
|
+
typography,
|
|
40
|
+
linkAs,
|
|
41
|
+
...forwardedProps
|
|
42
|
+
} = otherProps;
|
|
43
|
+
const [color, colorVariant] = resolveColorWithVariants(propColor, propColorVariant);
|
|
44
|
+
return /*#__PURE__*/jsx(RawClickable, {
|
|
45
|
+
ref: ref,
|
|
46
|
+
as: linkAs || (forwardedProps.href ? 'a' : 'button'),
|
|
47
|
+
...forwardedProps,
|
|
48
|
+
...disabledStateProps,
|
|
49
|
+
className: classNames(className, handleBasicClasses({
|
|
50
|
+
prefix: CLASSNAME,
|
|
51
|
+
color,
|
|
52
|
+
colorVariant,
|
|
53
|
+
hasTypography: !!typography
|
|
54
|
+
}), typography && getTypographyClassName(typography)),
|
|
55
|
+
children: wrapChildrenIconWithSpaces(/*#__PURE__*/jsxs(Fragment, {
|
|
56
|
+
children: [leftIcon && /*#__PURE__*/jsx(Icon, {
|
|
57
|
+
icon: leftIcon,
|
|
58
|
+
className: `${CLASSNAME}__left-icon`
|
|
59
|
+
}), children && /*#__PURE__*/jsx("span", {
|
|
60
|
+
className: `${CLASSNAME}__content`,
|
|
61
|
+
children: children
|
|
62
|
+
}), rightIcon && /*#__PURE__*/jsx(Icon, {
|
|
63
|
+
icon: rightIcon,
|
|
64
|
+
className: `${CLASSNAME}__right-icon`
|
|
65
|
+
})]
|
|
66
|
+
}))
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
Link.displayName = COMPONENT_NAME;
|
|
70
|
+
Link.className = CLASSNAME;
|
|
71
|
+
|
|
72
|
+
export { Link };
|
|
73
|
+
//# sourceMappingURL=link-43ee103e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-43ee103e.js","sources":["../../../src/components/link/Link.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport { ColorVariant, ColorWithVariants, Icon, Typography } from '@lumx/react';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport {\n getRootClassName,\n getTypographyClassName,\n handleBasicClasses,\n resolveColorWithVariants,\n} from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { wrapChildrenIconWithSpaces } from '@lumx/react/utils/react/wrapChildrenIconWithSpaces';\nimport { HasAriaDisabled } from '@lumx/react/utils/type/HasAriaDisabled';\nimport { RawClickable } from '@lumx/react/utils/react/RawClickable';\nimport { useDisableStateProps } from '@lumx/react/utils/disabled';\n\ntype HTMLAnchorProps = React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>;\n\n/**\n * Defines the props of the component.\n */\nexport interface LinkProps extends GenericProps, HasAriaDisabled {\n /** Color variant. */\n color?: ColorWithVariants;\n /** Lightened or darkened variant of the selected icon color. */\n colorVariant?: ColorVariant;\n /** Link href. */\n href?: HTMLAnchorProps['href'];\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /**\n * Left icon (SVG path).\n * @deprecated Instead, simply nest `<Icon />` in the children\n */\n leftIcon?: string;\n /** Custom react component for the link (can be used to inject react router Link). */\n linkAs?: 'a' | any;\n /**\n * Right icon (SVG path).\n * @deprecated Instead, simply nest `<Icon />` in the children\n */\n rightIcon?: string;\n /** Link target. */\n target?: HTMLAnchorProps['target'];\n /** Typography variant. */\n typography?: Typography;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Link';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Link component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Link = forwardRef<LinkProps, HTMLAnchorElement | HTMLButtonElement>((props, ref) => {\n const { disabledStateProps, otherProps } = useDisableStateProps(props);\n const {\n children,\n className,\n color: propColor,\n colorVariant: propColorVariant,\n leftIcon,\n rightIcon,\n typography,\n linkAs,\n ...forwardedProps\n } = otherProps;\n const [color, colorVariant] = resolveColorWithVariants(propColor, propColorVariant);\n\n return (\n <RawClickable\n ref={ref as any}\n as={linkAs || (forwardedProps.href ? 'a' : 'button')}\n {...forwardedProps}\n {...disabledStateProps}\n className={classNames(\n className,\n handleBasicClasses({ prefix: CLASSNAME, color, colorVariant, hasTypography: !!typography }),\n typography && getTypographyClassName(typography),\n )}\n >\n {wrapChildrenIconWithSpaces(\n <>\n {leftIcon && <Icon icon={leftIcon} className={`${CLASSNAME}__left-icon`} />}\n {children && <span className={`${CLASSNAME}__content`}>{children}</span>}\n {rightIcon && <Icon icon={rightIcon} className={`${CLASSNAME}__right-icon`} />}\n </>,\n )}\n </RawClickable>\n );\n});\nLink.displayName = COMPONENT_NAME;\nLink.className = CLASSNAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","Link","forwardRef","props","ref","disabledStateProps","otherProps","useDisableStateProps","children","className","color","propColor","colorVariant","propColorVariant","leftIcon","rightIcon","typography","linkAs","forwardedProps","resolveColorWithVariants","_jsx","RawClickable","as","href","classNames","handleBasicClasses","prefix","hasTypography","getTypographyClassName","wrapChildrenIconWithSpaces","_jsxs","_Fragment","Icon","icon","displayName"],"mappings":";;;;;;;;;AAkDA;AACA;AACA;AACA,MAAMA,cAAc,GAAG,MAAM,CAAA;;AAE7B;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,IAAI,GAAGC,UAAU,CAAmD,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC7F,MAAM;IAAEC,kBAAkB;AAAEC,IAAAA,UAAAA;AAAW,GAAC,GAAGC,oBAAoB,CAACJ,KAAK,CAAC,CAAA;EACtE,MAAM;IACFK,QAAQ;IACRC,SAAS;AACTC,IAAAA,KAAK,EAAEC,SAAS;AAChBC,IAAAA,YAAY,EAAEC,gBAAgB;IAC9BC,QAAQ;IACRC,SAAS;IACTC,UAAU;IACVC,MAAM;IACN,GAAGC,cAAAA;AACP,GAAC,GAAGZ,UAAU,CAAA;EACd,MAAM,CAACI,KAAK,EAAEE,YAAY,CAAC,GAAGO,wBAAwB,CAACR,SAAS,EAAEE,gBAAgB,CAAC,CAAA;EAEnF,oBACIO,GAAA,CAACC,YAAY,EAAA;AACTjB,IAAAA,GAAG,EAAEA,GAAW;IAChBkB,EAAE,EAAEL,MAAM,KAAKC,cAAc,CAACK,IAAI,GAAG,GAAG,GAAG,QAAQ,CAAE;AAAA,IAAA,GACjDL,cAAc;AAAA,IAAA,GACdb,kBAAkB;AACtBI,IAAAA,SAAS,EAAEe,UAAU,CACjBf,SAAS,EACTgB,kBAAkB,CAAC;AAAEC,MAAAA,MAAM,EAAE3B,SAAS;MAAEW,KAAK;MAAEE,YAAY;MAAEe,aAAa,EAAE,CAAC,CAACX,UAAAA;KAAY,CAAC,EAC3FA,UAAU,IAAIY,sBAAsB,CAACZ,UAAU,CACnD,CAAE;AAAAR,IAAAA,QAAA,EAEDqB,0BAA0B,cACvBC,IAAA,CAAAC,QAAA,EAAA;AAAAvB,MAAAA,QAAA,EACKM,CAAAA,QAAQ,iBAAIM,GAAA,CAACY,IAAI,EAAA;AAACC,QAAAA,IAAI,EAAEnB,QAAS;QAACL,SAAS,EAAE,GAAGV,SAAS,CAAA,WAAA,CAAA;AAAc,OAAE,CAAC,EAC1ES,QAAQ,iBAAIY,GAAA,CAAA,MAAA,EAAA;QAAMX,SAAS,EAAE,CAAGV,EAAAA,SAAS,CAAY,SAAA,CAAA;AAAAS,QAAAA,QAAA,EAAEA,QAAAA;AAAQ,OAAO,CAAC,EACvEO,SAAS,iBAAIK,GAAA,CAACY,IAAI,EAAA;AAACC,QAAAA,IAAI,EAAElB,SAAU;QAACN,SAAS,EAAE,GAAGV,SAAS,CAAA,YAAA,CAAA;AAAe,OAAE,CAAC,CAAA;AAAA,KAChF,CACN,CAAA;AAAC,GACS,CAAC,CAAA;AAEvB,CAAC,EAAC;AACFE,IAAI,CAACiC,WAAW,GAAGpC,cAAc,CAAA;AACjCG,IAAI,CAACQ,SAAS,GAAGV,SAAS;;;;"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import classNames from 'classnames';
|
|
2
|
+
import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
|
|
3
|
+
import { u as useTheme } from '../ThemeContext-3181f000.js';
|
|
4
|
+
import { f as forwardRef } from '../forwardRef-8bce732e.js';
|
|
5
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
6
|
+
import { Link } from './link-43ee103e.js';
|
|
7
|
+
import { Size, Theme, AspectRatio, ColorPalette, ColorVariant } from '@lumx/core/js/constants';
|
|
8
|
+
import { T as Thumbnail } from '../Thumbnail-02bd6869.js';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Component display name.
|
|
12
|
+
*/
|
|
13
|
+
const COMPONENT_NAME = 'LinkPreview';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Component default class name and class prefix.
|
|
17
|
+
*/
|
|
18
|
+
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Component default props.
|
|
22
|
+
*/
|
|
23
|
+
const DEFAULT_PROPS = {
|
|
24
|
+
size: Size.regular,
|
|
25
|
+
titleHeading: 'h2'
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* LinkPreview component.
|
|
30
|
+
*
|
|
31
|
+
* @param props Component props.
|
|
32
|
+
* @param ref Component ref.
|
|
33
|
+
* @return React element.
|
|
34
|
+
*/
|
|
35
|
+
const LinkPreview = forwardRef((props, ref) => {
|
|
36
|
+
const defaultTheme = useTheme() || Theme.light;
|
|
37
|
+
const {
|
|
38
|
+
className,
|
|
39
|
+
description,
|
|
40
|
+
link,
|
|
41
|
+
linkAs,
|
|
42
|
+
linkProps,
|
|
43
|
+
size = DEFAULT_PROPS.size,
|
|
44
|
+
theme = defaultTheme,
|
|
45
|
+
thumbnailProps,
|
|
46
|
+
title,
|
|
47
|
+
titleHeading = DEFAULT_PROPS.titleHeading,
|
|
48
|
+
...forwardedProps
|
|
49
|
+
} = props;
|
|
50
|
+
// Use title heading as title wrapper (see DEFAULT_PROPS for the default value).
|
|
51
|
+
const TitleHeading = titleHeading;
|
|
52
|
+
return /*#__PURE__*/jsx("article", {
|
|
53
|
+
ref: ref,
|
|
54
|
+
...forwardedProps,
|
|
55
|
+
className: classNames(className, handleBasicClasses({
|
|
56
|
+
prefix: CLASSNAME,
|
|
57
|
+
size: size === Size.big && thumbnailProps ? Size.big : Size.regular,
|
|
58
|
+
theme
|
|
59
|
+
})),
|
|
60
|
+
children: /*#__PURE__*/jsxs("div", {
|
|
61
|
+
className: `${CLASSNAME}__wrapper`,
|
|
62
|
+
children: [thumbnailProps && /*#__PURE__*/jsx("div", {
|
|
63
|
+
className: `${CLASSNAME}__thumbnail`,
|
|
64
|
+
children: /*#__PURE__*/jsx(Thumbnail, {
|
|
65
|
+
...thumbnailProps,
|
|
66
|
+
linkAs: linkAs,
|
|
67
|
+
linkProps: {
|
|
68
|
+
...linkProps,
|
|
69
|
+
href: link,
|
|
70
|
+
target: '_blank',
|
|
71
|
+
// Avoid redundant links in focus order
|
|
72
|
+
tabIndex: -1
|
|
73
|
+
},
|
|
74
|
+
aspectRatio: AspectRatio.free,
|
|
75
|
+
fillHeight: true
|
|
76
|
+
})
|
|
77
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
78
|
+
className: `${CLASSNAME}__container`,
|
|
79
|
+
children: [title && /*#__PURE__*/jsx(TitleHeading, {
|
|
80
|
+
className: `${CLASSNAME}__title`,
|
|
81
|
+
children: /*#__PURE__*/jsx(Link, {
|
|
82
|
+
...linkProps,
|
|
83
|
+
linkAs: linkAs,
|
|
84
|
+
target: "_blank",
|
|
85
|
+
href: link,
|
|
86
|
+
color: theme === Theme.light ? ColorPalette.dark : ColorPalette.light,
|
|
87
|
+
colorVariant: ColorVariant.N,
|
|
88
|
+
children: title
|
|
89
|
+
})
|
|
90
|
+
}), description && /*#__PURE__*/jsx("p", {
|
|
91
|
+
className: `${CLASSNAME}__description`,
|
|
92
|
+
children: description
|
|
93
|
+
}), /*#__PURE__*/jsx("div", {
|
|
94
|
+
className: `${CLASSNAME}__link`,
|
|
95
|
+
children: /*#__PURE__*/jsx(Link, {
|
|
96
|
+
...linkProps,
|
|
97
|
+
linkAs: linkAs,
|
|
98
|
+
className: classNames(`${CLASSNAME}__link`, linkProps?.className),
|
|
99
|
+
target: "_blank",
|
|
100
|
+
href: link,
|
|
101
|
+
color: theme === Theme.light ? ColorPalette.primary : ColorPalette.light,
|
|
102
|
+
colorVariant: ColorVariant.N
|
|
103
|
+
// Avoid redundant links in focus order
|
|
104
|
+
,
|
|
105
|
+
tabIndex: title ? '-1' : undefined,
|
|
106
|
+
children: link
|
|
107
|
+
})
|
|
108
|
+
})]
|
|
109
|
+
})]
|
|
110
|
+
})
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
LinkPreview.displayName = COMPONENT_NAME;
|
|
114
|
+
LinkPreview.className = CLASSNAME;
|
|
115
|
+
LinkPreview.defaultProps = DEFAULT_PROPS;
|
|
116
|
+
|
|
117
|
+
export { LinkPreview };
|
|
118
|
+
//# sourceMappingURL=link-preview-db0ee2d6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-preview-db0ee2d6.js","sources":["../../../src/components/link-preview/LinkPreview.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport {\n AspectRatio,\n ColorPalette,\n ColorVariant,\n Link,\n LinkProps,\n Size,\n Theme,\n Thumbnail,\n ThumbnailProps,\n} from '@lumx/react';\n\nimport { GenericProps, HeadingElement, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface LinkPreviewProps extends GenericProps, HasTheme {\n /** Description. */\n description?: string;\n /** Link URL. */\n link: string;\n /** Custom react component for the link (can be used to inject react router Link). */\n linkAs?: 'a' | any;\n /** Props to pass to the link (minus those already set by the LinkPreview props). */\n linkProps?: Omit<LinkProps, 'color' | 'colorVariant' | 'href' | 'target'>;\n /** Size variant. */\n size?: Extract<Size, 'regular' | 'big'>;\n /** Thumbnail for the link preview. */\n thumbnailProps?: ThumbnailProps;\n /** Title. */\n title?: string;\n /** Customize the title heading tag. */\n titleHeading?: HeadingElement;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'LinkPreview';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS = {\n size: Size.regular,\n titleHeading: 'h2',\n} as const;\n\n/**\n * LinkPreview component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const LinkPreview = forwardRef<LinkPreviewProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n className,\n description,\n link,\n linkAs,\n linkProps,\n size = DEFAULT_PROPS.size,\n theme = defaultTheme,\n thumbnailProps,\n title,\n titleHeading = DEFAULT_PROPS.titleHeading,\n ...forwardedProps\n } = props;\n // Use title heading as title wrapper (see DEFAULT_PROPS for the default value).\n const TitleHeading = titleHeading as HeadingElement;\n\n return (\n <article\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n size: size === Size.big && thumbnailProps ? Size.big : Size.regular,\n theme,\n }),\n )}\n >\n <div className={`${CLASSNAME}__wrapper`}>\n {thumbnailProps && (\n <div className={`${CLASSNAME}__thumbnail`}>\n <Thumbnail\n {...thumbnailProps}\n linkAs={linkAs}\n linkProps={{\n ...linkProps,\n href: link,\n target: '_blank',\n // Avoid redundant links in focus order\n tabIndex: -1,\n }}\n aspectRatio={AspectRatio.free}\n fillHeight\n />\n </div>\n )}\n\n <div className={`${CLASSNAME}__container`}>\n {title && (\n <TitleHeading className={`${CLASSNAME}__title`}>\n <Link\n {...linkProps}\n linkAs={linkAs}\n target=\"_blank\"\n href={link}\n color={theme === Theme.light ? ColorPalette.dark : ColorPalette.light}\n colorVariant={ColorVariant.N}\n >\n {title}\n </Link>\n </TitleHeading>\n )}\n\n {description && <p className={`${CLASSNAME}__description`}>{description}</p>}\n\n <div className={`${CLASSNAME}__link`}>\n <Link\n {...linkProps}\n linkAs={linkAs}\n className={classNames(`${CLASSNAME}__link`, linkProps?.className)}\n target=\"_blank\"\n href={link}\n color={theme === Theme.light ? ColorPalette.primary : ColorPalette.light}\n colorVariant={ColorVariant.N}\n // Avoid redundant links in focus order\n tabIndex={title ? '-1' : undefined}\n >\n {link}\n </Link>\n </div>\n </div>\n </div>\n </article>\n );\n});\n\nLinkPreview.displayName = COMPONENT_NAME;\nLinkPreview.className = CLASSNAME;\nLinkPreview.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","size","Size","regular","titleHeading","LinkPreview","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","className","description","link","linkAs","linkProps","theme","thumbnailProps","title","forwardedProps","TitleHeading","_jsx","classNames","handleBasicClasses","prefix","big","children","_jsxs","Thumbnail","href","target","tabIndex","aspectRatio","AspectRatio","free","fillHeight","Link","color","ColorPalette","dark","colorVariant","ColorVariant","N","primary","undefined","displayName","defaultProps"],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
export { L as List, a as ListItem, i as isClickable } from '../List-c75646f2.js';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import { getRootClassName } from '@lumx/core/js/utils/className';
|
|
4
|
+
import { f as forwardRef } from '../forwardRef-8bce732e.js';
|
|
5
|
+
import { jsx } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Component display name.
|
|
9
|
+
*/
|
|
10
|
+
const COMPONENT_NAME$1 = 'ListDivider';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Component default class name and class prefix.
|
|
14
|
+
*/
|
|
15
|
+
const CLASSNAME$1 = getRootClassName(COMPONENT_NAME$1);
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* ListDivider component.
|
|
19
|
+
*
|
|
20
|
+
* @param props Component props.
|
|
21
|
+
* @param ref Component ref.
|
|
22
|
+
* @return React element.
|
|
23
|
+
*/
|
|
24
|
+
const ListDivider = forwardRef((props, ref) => {
|
|
25
|
+
const {
|
|
26
|
+
className,
|
|
27
|
+
...forwardedProps
|
|
28
|
+
} = props;
|
|
29
|
+
return /*#__PURE__*/jsx("li", {
|
|
30
|
+
ref: ref,
|
|
31
|
+
...forwardedProps,
|
|
32
|
+
className: classNames(className, CLASSNAME$1)
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
ListDivider.displayName = COMPONENT_NAME$1;
|
|
36
|
+
ListDivider.className = CLASSNAME$1;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Component display name.
|
|
40
|
+
*/
|
|
41
|
+
const COMPONENT_NAME = 'ListSubheader';
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Component default class name and class prefix.
|
|
45
|
+
*/
|
|
46
|
+
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* ListSubheader component.
|
|
50
|
+
*
|
|
51
|
+
* @param props Component props.
|
|
52
|
+
* @param ref Component ref.
|
|
53
|
+
* @return React element.
|
|
54
|
+
*/
|
|
55
|
+
const ListSubheader = forwardRef((props, ref) => {
|
|
56
|
+
const {
|
|
57
|
+
children,
|
|
58
|
+
className,
|
|
59
|
+
...forwardedProps
|
|
60
|
+
} = props;
|
|
61
|
+
return /*#__PURE__*/jsx("li", {
|
|
62
|
+
ref: ref,
|
|
63
|
+
...forwardedProps,
|
|
64
|
+
className: classNames(className, CLASSNAME),
|
|
65
|
+
children: children
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
ListSubheader.displayName = COMPONENT_NAME;
|
|
69
|
+
ListSubheader.className = CLASSNAME;
|
|
70
|
+
|
|
71
|
+
export { ListDivider, ListSubheader };
|
|
72
|
+
//# sourceMappingURL=list-2f256244.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-2f256244.js","sources":["../../../src/components/list/ListDivider.tsx","../../../src/components/list/ListSubheader.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport type ListDividerProps = GenericProps;\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ListDivider';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * ListDivider component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ListDivider = forwardRef<ListDividerProps, HTMLLIElement>((props, ref) => {\n const { className, ...forwardedProps } = props;\n\n return <li ref={ref} {...forwardedProps} className={classNames(className, CLASSNAME)} />;\n});\nListDivider.displayName = COMPONENT_NAME;\nListDivider.className = CLASSNAME;\n","import { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface ListSubheaderProps extends GenericProps {\n /** Content. */\n children: string | ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ListSubheader';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * ListSubheader component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ListSubheader = forwardRef<ListSubheaderProps, HTMLLIElement>((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n return (\n <li ref={ref} {...forwardedProps} className={classNames(className, CLASSNAME)}>\n {children}\n </li>\n );\n});\nListSubheader.displayName = COMPONENT_NAME;\nListSubheader.className = CLASSNAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","ListDivider","forwardRef","props","ref","className","forwardedProps","_jsx","classNames","displayName","ListSubheader","children"],"mappings":";;;;;;AAWA;AACA;AACA;AACA,MAAMA,gBAAc,GAAG,aAAa,CAAA;;AAEpC;AACA;AACA;AACA,MAAMC,WAAS,GAAGC,gBAAgB,CAACF,gBAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,WAAW,GAAGC,UAAU,CAAkC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACnF,MAAM;IAAEC,SAAS;IAAE,GAAGC,cAAAA;AAAe,GAAC,GAAGH,KAAK,CAAA;AAE9C,EAAA,oBAAOI,GAAA,CAAA,IAAA,EAAA;AAAIH,IAAAA,GAAG,EAAEA,GAAI;AAAA,IAAA,GAAKE,cAAc;AAAED,IAAAA,SAAS,EAAEG,UAAU,CAACH,SAAS,EAAEN,WAAS,CAAA;AAAE,GAAE,CAAC,CAAA;AAC5F,CAAC,EAAC;AACFE,WAAW,CAACQ,WAAW,GAAGX,gBAAc,CAAA;AACxCG,WAAW,CAACI,SAAS,GAAGN,WAAS;;AClBjC;AACA;AACA;AACA,MAAMD,cAAc,GAAG,eAAe,CAAA;;AAEtC;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMY,aAAa,GAAGR,UAAU,CAAoC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACvF,MAAM;IAAEO,QAAQ;IAAEN,SAAS;IAAE,GAAGC,cAAAA;AAAe,GAAC,GAAGH,KAAK,CAAA;AAExD,EAAA,oBACII,GAAA,CAAA,IAAA,EAAA;AAAIH,IAAAA,GAAG,EAAEA,GAAI;AAAA,IAAA,GAAKE,cAAc;AAAED,IAAAA,SAAS,EAAEG,UAAU,CAACH,SAAS,EAAEN,SAAS,CAAE;AAAAY,IAAAA,QAAA,EACzEA,QAAAA;AAAQ,GACT,CAAC,CAAA;AAEb,CAAC,EAAC;AACFD,aAAa,CAACD,WAAW,GAAGX,cAAc,CAAA;AAC1CY,aAAa,CAACL,SAAS,GAAGN,SAAS;;;;"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import classNames from 'classnames';
|
|
2
|
+
import { mdiAlert } from '@lumx/icons/esm/alert';
|
|
3
|
+
import { mdiAlertCircle } from '@lumx/icons/esm/alert-circle';
|
|
4
|
+
import { mdiCheckCircle } from '@lumx/icons/esm/check-circle';
|
|
5
|
+
import { mdiClose } from '@lumx/icons/esm/close';
|
|
6
|
+
import { mdiInformation } from '@lumx/icons/esm/information';
|
|
7
|
+
import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
|
|
8
|
+
import { f as forwardRef } from '../forwardRef-8bce732e.js';
|
|
9
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
10
|
+
import { Kind, ColorPalette, Size, Emphasis } from '@lumx/core/js/constants';
|
|
11
|
+
import { Icon } from './icon-ee15673b.js';
|
|
12
|
+
import { I as IconButton } from '../IconButton-8d61f5be.js';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Component display name.
|
|
16
|
+
*/
|
|
17
|
+
const COMPONENT_NAME = 'Message';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Component default class name and class prefix.
|
|
21
|
+
*/
|
|
22
|
+
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Associative map from message kind to color and icon.
|
|
26
|
+
*/
|
|
27
|
+
const CONFIG = {
|
|
28
|
+
[Kind.error]: {
|
|
29
|
+
color: ColorPalette.red,
|
|
30
|
+
icon: mdiAlert
|
|
31
|
+
},
|
|
32
|
+
[Kind.info]: {
|
|
33
|
+
color: ColorPalette.blue,
|
|
34
|
+
icon: mdiInformation
|
|
35
|
+
},
|
|
36
|
+
[Kind.success]: {
|
|
37
|
+
color: ColorPalette.green,
|
|
38
|
+
icon: mdiCheckCircle
|
|
39
|
+
},
|
|
40
|
+
[Kind.warning]: {
|
|
41
|
+
color: ColorPalette.yellow,
|
|
42
|
+
icon: mdiAlertCircle
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Message component.
|
|
48
|
+
*
|
|
49
|
+
* @param props Component props.
|
|
50
|
+
* @param ref Component ref.
|
|
51
|
+
* @return React element.
|
|
52
|
+
*/
|
|
53
|
+
const Message = forwardRef((props, ref) => {
|
|
54
|
+
const {
|
|
55
|
+
children,
|
|
56
|
+
className,
|
|
57
|
+
hasBackground,
|
|
58
|
+
kind,
|
|
59
|
+
icon: customIcon,
|
|
60
|
+
closeButtonProps,
|
|
61
|
+
...forwardedProps
|
|
62
|
+
} = props;
|
|
63
|
+
const {
|
|
64
|
+
color,
|
|
65
|
+
icon
|
|
66
|
+
} = CONFIG[kind] || {};
|
|
67
|
+
const {
|
|
68
|
+
onClick,
|
|
69
|
+
label: closeButtonLabel
|
|
70
|
+
} = closeButtonProps || {};
|
|
71
|
+
const isCloseButtonDisplayed = hasBackground && kind === 'info' && onClick && closeButtonLabel;
|
|
72
|
+
return /*#__PURE__*/jsxs("div", {
|
|
73
|
+
ref: ref,
|
|
74
|
+
className: classNames(className, handleBasicClasses({
|
|
75
|
+
color,
|
|
76
|
+
hasBackground,
|
|
77
|
+
prefix: CLASSNAME
|
|
78
|
+
})),
|
|
79
|
+
...forwardedProps,
|
|
80
|
+
children: [(customIcon || icon) && /*#__PURE__*/jsx(Icon, {
|
|
81
|
+
className: `${CLASSNAME}__icon`,
|
|
82
|
+
icon: customIcon || icon,
|
|
83
|
+
size: Size.xs,
|
|
84
|
+
color: color
|
|
85
|
+
}), /*#__PURE__*/jsx("div", {
|
|
86
|
+
className: `${CLASSNAME}__text`,
|
|
87
|
+
children: children
|
|
88
|
+
}), isCloseButtonDisplayed && /*#__PURE__*/jsx(IconButton, {
|
|
89
|
+
className: `${CLASSNAME}__close-button`,
|
|
90
|
+
icon: mdiClose,
|
|
91
|
+
onClick: onClick,
|
|
92
|
+
label: closeButtonLabel,
|
|
93
|
+
emphasis: Emphasis.low
|
|
94
|
+
})]
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
Message.displayName = COMPONENT_NAME;
|
|
98
|
+
Message.className = CLASSNAME;
|
|
99
|
+
|
|
100
|
+
export { Message };
|
|
101
|
+
//# sourceMappingURL=message-f7674e0e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-f7674e0e.js","sources":["../../../src/components/message/Message.tsx"],"sourcesContent":["import { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { mdiAlert } from '@lumx/icons/esm/alert';\nimport { mdiAlertCircle } from '@lumx/icons/esm/alert-circle';\nimport { mdiCheckCircle } from '@lumx/icons/esm/check-circle';\nimport { mdiClose } from '@lumx/icons/esm/close';\nimport { mdiInformation } from '@lumx/icons/esm/information';\nimport { ColorPalette, Emphasis, Icon, IconButton, Kind, Size } from '@lumx/react';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface MessageProps extends GenericProps {\n /** Content. */\n children?: ReactNode;\n /** Whether the message has a background or not. */\n hasBackground?: boolean;\n /** Message variant. */\n kind?: Kind;\n /** Message custom icon SVG path. */\n icon?: string;\n /**\n * Displays a close button.\n *\n * NB: only available if `kind === 'info' && hasBackground === true`\n */\n closeButtonProps?: {\n /** The callback called when the button is clicked */\n onClick: () => void;\n /** The label of the close button. */\n label: string;\n };\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Message';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Associative map from message kind to color and icon.\n */\nconst CONFIG = {\n [Kind.error]: { color: ColorPalette.red, icon: mdiAlert },\n [Kind.info]: { color: ColorPalette.blue, icon: mdiInformation },\n [Kind.success]: { color: ColorPalette.green, icon: mdiCheckCircle },\n [Kind.warning]: { color: ColorPalette.yellow, icon: mdiAlertCircle },\n};\n\n/**\n * Message component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Message = forwardRef<MessageProps, HTMLDivElement>((props, ref) => {\n const { children, className, hasBackground, kind, icon: customIcon, closeButtonProps, ...forwardedProps } = props;\n const { color, icon } = CONFIG[kind as Kind] || {};\n const { onClick, label: closeButtonLabel } = closeButtonProps || {};\n const isCloseButtonDisplayed = hasBackground && kind === 'info' && onClick && closeButtonLabel;\n\n return (\n <div\n ref={ref}\n className={classNames(\n className,\n handleBasicClasses({\n color,\n hasBackground,\n prefix: CLASSNAME,\n }),\n )}\n {...forwardedProps}\n >\n {(customIcon || icon) && (\n <Icon className={`${CLASSNAME}__icon`} icon={customIcon || icon} size={Size.xs} color={color} />\n )}\n <div className={`${CLASSNAME}__text`}>{children}</div>\n {isCloseButtonDisplayed && (\n <IconButton\n className={`${CLASSNAME}__close-button`}\n icon={mdiClose}\n onClick={onClick}\n label={closeButtonLabel}\n emphasis={Emphasis.low}\n />\n )}\n </div>\n );\n});\n\nMessage.displayName = COMPONENT_NAME;\nMessage.className = CLASSNAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","CONFIG","Kind","error","color","ColorPalette","red","icon","mdiAlert","info","blue","mdiInformation","success","green","mdiCheckCircle","warning","yellow","mdiAlertCircle","Message","forwardRef","props","ref","children","className","hasBackground","kind","customIcon","closeButtonProps","forwardedProps","onClick","label","closeButtonLabel","isCloseButtonDisplayed","_jsxs","classNames","handleBasicClasses","prefix","_jsx","Icon","size","Size","xs","IconButton","mdiClose","emphasis","Emphasis","low","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import { u as useTheme } from '../ThemeContext-3181f000.js';
|
|
4
|
+
import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
|
|
5
|
+
import { f as forwardRef } from '../forwardRef-8bce732e.js';
|
|
6
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
|
+
import { Theme, Alignment, AspectRatio } from '@lumx/core/js/constants';
|
|
8
|
+
import { T as Thumbnail } from '../Thumbnail-02bd6869.js';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Component display name.
|
|
12
|
+
*/
|
|
13
|
+
const COMPONENT_NAME = 'Mosaic';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Component default class name and class prefix.
|
|
17
|
+
*/
|
|
18
|
+
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Component default props.
|
|
22
|
+
*/
|
|
23
|
+
const DEFAULT_PROPS = {};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Mosaic component.
|
|
27
|
+
*
|
|
28
|
+
* @param props Component props.
|
|
29
|
+
* @param ref Component ref.
|
|
30
|
+
* @return React element.
|
|
31
|
+
*/
|
|
32
|
+
const Mosaic = forwardRef((props, ref) => {
|
|
33
|
+
const defaultTheme = useTheme() || Theme.light;
|
|
34
|
+
const {
|
|
35
|
+
className,
|
|
36
|
+
theme = defaultTheme,
|
|
37
|
+
thumbnails,
|
|
38
|
+
onImageClick,
|
|
39
|
+
...forwardedProps
|
|
40
|
+
} = props;
|
|
41
|
+
const handleImageClick = useMemo(() => {
|
|
42
|
+
if (!onImageClick) return undefined;
|
|
43
|
+
return (index, onClick) => event => {
|
|
44
|
+
onClick?.(event);
|
|
45
|
+
onImageClick?.(index);
|
|
46
|
+
};
|
|
47
|
+
}, [onImageClick]);
|
|
48
|
+
return /*#__PURE__*/jsx("div", {
|
|
49
|
+
ref: ref,
|
|
50
|
+
...forwardedProps,
|
|
51
|
+
className: classNames(className, handleBasicClasses({
|
|
52
|
+
prefix: CLASSNAME,
|
|
53
|
+
theme
|
|
54
|
+
}), {
|
|
55
|
+
[`${CLASSNAME}--has-1-thumbnail`]: thumbnails?.length === 1,
|
|
56
|
+
[`${CLASSNAME}--has-2-thumbnails`]: thumbnails?.length === 2,
|
|
57
|
+
[`${CLASSNAME}--has-3-thumbnails`]: thumbnails?.length === 3,
|
|
58
|
+
[`${CLASSNAME}--has-4-thumbnails`]: thumbnails?.length >= 4
|
|
59
|
+
}),
|
|
60
|
+
children: /*#__PURE__*/jsx("div", {
|
|
61
|
+
className: `${CLASSNAME}__wrapper`,
|
|
62
|
+
children: thumbnails.slice(0, 4).map((thumbnail, index) => {
|
|
63
|
+
const {
|
|
64
|
+
image,
|
|
65
|
+
onClick,
|
|
66
|
+
align,
|
|
67
|
+
...thumbnailProps
|
|
68
|
+
} = thumbnail;
|
|
69
|
+
return /*#__PURE__*/jsxs("div", {
|
|
70
|
+
className: `${CLASSNAME}__thumbnail`,
|
|
71
|
+
children: [/*#__PURE__*/jsx(Thumbnail, {
|
|
72
|
+
...thumbnailProps,
|
|
73
|
+
align: align || Alignment.left,
|
|
74
|
+
image: image,
|
|
75
|
+
theme: theme,
|
|
76
|
+
aspectRatio: AspectRatio.free,
|
|
77
|
+
fillHeight: true,
|
|
78
|
+
onClick: handleImageClick?.(index, onClick) || onClick
|
|
79
|
+
}), thumbnails.length > 4 && index === 3 && /*#__PURE__*/jsx("div", {
|
|
80
|
+
className: `${CLASSNAME}__overlay`,
|
|
81
|
+
children: /*#__PURE__*/jsxs("span", {
|
|
82
|
+
children: ["+", thumbnails.length - 4]
|
|
83
|
+
})
|
|
84
|
+
})]
|
|
85
|
+
}, index);
|
|
86
|
+
})
|
|
87
|
+
})
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
Mosaic.displayName = COMPONENT_NAME;
|
|
91
|
+
Mosaic.className = CLASSNAME;
|
|
92
|
+
Mosaic.defaultProps = DEFAULT_PROPS;
|
|
93
|
+
|
|
94
|
+
export { Mosaic };
|
|
95
|
+
//# sourceMappingURL=mosaic-3effd0cf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mosaic-3effd0cf.js","sources":["../../../src/components/mosaic/Mosaic.tsx"],"sourcesContent":["import { MouseEventHandler, useMemo } from 'react';\n\nimport classNames from 'classnames';\n\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { Alignment, AspectRatio, Theme, Thumbnail, ThumbnailProps } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface MosaicProps extends GenericProps, HasTheme {\n /** Thumbnails. */\n thumbnails: ThumbnailProps[];\n /** On image click callback. */\n onImageClick?(index: number): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Mosaic';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<MosaicProps> = {};\n\n/**\n * Mosaic component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Mosaic = forwardRef<MosaicProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const { className, theme = defaultTheme, thumbnails, onImageClick, ...forwardedProps } = props;\n const handleImageClick = useMemo(() => {\n if (!onImageClick) return undefined;\n\n return (index: number, onClick?: MouseEventHandler): MouseEventHandler =>\n (event) => {\n onClick?.(event);\n onImageClick?.(index);\n };\n }, [onImageClick]);\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, theme }), {\n [`${CLASSNAME}--has-1-thumbnail`]: thumbnails?.length === 1,\n [`${CLASSNAME}--has-2-thumbnails`]: thumbnails?.length === 2,\n [`${CLASSNAME}--has-3-thumbnails`]: thumbnails?.length === 3,\n [`${CLASSNAME}--has-4-thumbnails`]: thumbnails?.length >= 4,\n })}\n >\n <div className={`${CLASSNAME}__wrapper`}>\n {thumbnails.slice(0, 4).map((thumbnail: any, index: number) => {\n const { image, onClick, align, ...thumbnailProps } = thumbnail;\n\n return (\n <div key={index} className={`${CLASSNAME}__thumbnail`}>\n <Thumbnail\n {...thumbnailProps}\n align={align || Alignment.left}\n image={image}\n theme={theme}\n aspectRatio={AspectRatio.free}\n fillHeight\n onClick={handleImageClick?.(index, onClick) || onClick}\n />\n\n {thumbnails.length > 4 && index === 3 && (\n <div className={`${CLASSNAME}__overlay`}>\n <span>+{thumbnails.length - 4}</span>\n </div>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n});\nMosaic.displayName = COMPONENT_NAME;\nMosaic.className = CLASSNAME;\nMosaic.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","Mosaic","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","className","theme","thumbnails","onImageClick","forwardedProps","handleImageClick","useMemo","undefined","index","onClick","event","_jsx","classNames","handleBasicClasses","prefix","length","children","slice","map","thumbnail","image","align","thumbnailProps","_jsxs","Thumbnail","Alignment","left","aspectRatio","AspectRatio","free","fillHeight","displayName","defaultProps"],"mappings":"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"}
|