design-zystem 1.0.399 → 1.0.401
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui/index.d.mts +43 -1
- package/dist/ui/index.d.ts +43 -1
- package/dist/ui/index.js +377 -18
- package/dist/ui/index.mjs +381 -18
- package/dist/ui/style.css +1 -1
- package/package.json +1 -1
package/dist/ui/index.d.mts
CHANGED
|
@@ -805,6 +805,8 @@ interface AvatarProps extends Omit<ComponentPropsWithoutRef<typeof RadixAvatar.R
|
|
|
805
805
|
name?: string;
|
|
806
806
|
src?: string | null;
|
|
807
807
|
color?: ColorToken;
|
|
808
|
+
backgroundColor?: HexColor;
|
|
809
|
+
textColor?: HexColor;
|
|
808
810
|
badge?: AvatarBadgeConfig;
|
|
809
811
|
}
|
|
810
812
|
/** Sans `children` : mode raccourci, auto-compose Image/Fallback/Badge à partir de `name`/`src`/`color`/`badge`. Avec `children` : composition manuelle (`AvatarImage`, `AvatarFallback`, `AvatarBadge`) pour un contrôle total. */
|
|
@@ -813,6 +815,8 @@ type AvatarImageProps = ComponentPropsWithoutRef<typeof RadixAvatar.Image>;
|
|
|
813
815
|
declare const AvatarImage: react.ForwardRefExoticComponent<Omit<RadixAvatar.AvatarImageProps & react.RefAttributes<HTMLImageElement>, "ref"> & react.RefAttributes<HTMLImageElement>>;
|
|
814
816
|
interface AvatarFallbackProps extends ComponentPropsWithoutRef<typeof RadixAvatar.Fallback> {
|
|
815
817
|
color?: ColorToken;
|
|
818
|
+
backgroundColor?: HexColor;
|
|
819
|
+
textColor?: HexColor;
|
|
816
820
|
}
|
|
817
821
|
declare const AvatarFallback: react.ForwardRefExoticComponent<AvatarFallbackProps & react.RefAttributes<HTMLSpanElement>>;
|
|
818
822
|
interface AvatarBadgeProps extends HTMLAttributes<HTMLDivElement> {
|
|
@@ -1925,4 +1929,42 @@ declare const allowAutofill: (autoComplete: string) => {
|
|
|
1925
1929
|
"data-form-type": undefined;
|
|
1926
1930
|
};
|
|
1927
1931
|
|
|
1928
|
-
|
|
1932
|
+
declare const TOUR_TARGET_ATTRIBUTE = "data-tour-target";
|
|
1933
|
+
type TourPlacement = 'top' | 'bottom' | 'left' | 'right';
|
|
1934
|
+
interface TourStep {
|
|
1935
|
+
id: string;
|
|
1936
|
+
/** Identifiant(s) de `TourTarget` : le premier présent dans la page est mis en lumière. Absent : bulle centrée. */
|
|
1937
|
+
target?: string | string[];
|
|
1938
|
+
title?: ReactNode;
|
|
1939
|
+
content: ReactNode;
|
|
1940
|
+
placement?: TourPlacement;
|
|
1941
|
+
/** La zone éclairée reste cliquable (défaut). `false` : elle est seulement montrée. */
|
|
1942
|
+
interactive?: boolean;
|
|
1943
|
+
}
|
|
1944
|
+
interface TourLabels {
|
|
1945
|
+
previous: string;
|
|
1946
|
+
next: string;
|
|
1947
|
+
finish: string;
|
|
1948
|
+
close: string;
|
|
1949
|
+
counter: (current: number, total: number) => string;
|
|
1950
|
+
}
|
|
1951
|
+
type TourCloseReason = 'close' | 'finish';
|
|
1952
|
+
interface TourProps {
|
|
1953
|
+
steps: TourStep[];
|
|
1954
|
+
open: boolean;
|
|
1955
|
+
step: number;
|
|
1956
|
+
onStepChange: (step: number) => void;
|
|
1957
|
+
onClose: (reason: TourCloseReason) => void;
|
|
1958
|
+
labels?: Partial<TourLabels>;
|
|
1959
|
+
/** Délai d'attente d'une cible absente (page qui charge, modale qui s'ouvre) avant d'afficher la bulle au centre. */
|
|
1960
|
+
targetTimeout?: number;
|
|
1961
|
+
}
|
|
1962
|
+
interface TourTargetProps {
|
|
1963
|
+
id: string;
|
|
1964
|
+
children: ReactNode;
|
|
1965
|
+
}
|
|
1966
|
+
/** Enveloppe sans boîte (`display: contents`) : marque une cible sans toucher à la mise en page. */
|
|
1967
|
+
declare const TourTarget: ({ id, children }: TourTargetProps) => react.JSX.Element;
|
|
1968
|
+
declare const Tour: ({ steps, open, step, onStepChange, onClose, labels, targetTimeout, }: TourProps) => react.ReactPortal | null;
|
|
1969
|
+
|
|
1970
|
+
export { type ActivityFeedItem, ActivityFeedPanel, type ActivityFeedPanelProps, Attachment, type AttachmentProps, type AttachmentStatus, Avatar, AvatarBadge, type AvatarBadgeConfig, type AvatarBadgeProps, AvatarFallback, type AvatarFallbackProps, AvatarGroup, type AvatarGroupProps, AvatarImage, type AvatarImageProps, type AvatarProps, Badge, type BadgeProps, Banner, type BannerAction, type BannerJustify, type BannerProps, type BannerToggle, Box, type BoxProps, Bulk, type BulkProps, type BulkSection, Button, type ButtonProps, COLOR_TOKENS, Checkbox, type CheckboxProps, Collapsible, CollapsibleContent, CollapsibleTrigger, type ColorKey, ColorPicker, type ColorPickerProps, type ColorToken, DatePicker, type DatePickerMode, type DatePickerProps, type DatePreset, Divider, type DividerProps, Drawer, DrawerBody, DrawerClose, DrawerDescription, type DrawerDirection, DrawerFooter, DrawerHeader, type DrawerProps, DrawerTitle, EmailInput, type EmailInputProps, EmptyState, type EmptyStateProps, FAB_EDGE_MARGIN, FAB_SIZE, FilePicker, type FilePickerProps, FileUploadZone, type FileUploadZoneProps, type FloatingAction, FloatingButton, type FloatingButtonProps, type FloatingSafeArea, Gantt, type GanttBand, type GanttBar, type GanttDay, GanttDot, type GanttProps, type GanttRow, GanttSwatch, type HexColor, HistoryButton, type HistoryButtonProps, type HistoryChange, HistoryDrawer, type HistoryDrawerProps, type HistoryEntry, type HistoryFilter, HistoryList, type HistoryListProps, Icon, IconBadge, type IconBadgeProps, type IconColor, type IconFamily, type IconProps, type IconSize, type IconTabItem, IconTabs, type IconTabsProps, IconTooltip, type IconTooltipProps, type IconVariant, Image, type ImageProps, InfoTooltip, type InfoTooltipProps, type InfoTooltipVariant, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, type InputGroupProps, type InputProps, Item, ItemActions, ItemContent, ItemDescription, ItemMedia, type ItemMediaProps, type ItemProps, ItemTitle, Label, type LabelProps, Layout, type LayoutProps, Link, type LinkProps, Message, MessageDateSeparator, type MessageDateSeparatorProps, type MessageProps, MessageScroller, type MessageScrollerProps, type MessageSeparatorTone, type MessageVariant, MetricCard, type MetricCardProps, Modal, ModalBody, ModalClose, ModalDescription, ModalFooter, ModalHeader, type ModalProps, ModalTitle, type MultiSelectProps, type OptimizeImageOptions, type OptimizeImageResult, PageContainer, type PageContainerProps, Pagination, type PaginationProps, PasswordInput, type PasswordInputProps, PdfPreview, type PdfPreviewProps, PhoneInput, type PhoneInputMeta, type PhoneInputProps, Popover, type PopoverMenuItem, type PopoverProps, ProgressBar, type ProgressBarProps, Radio, type RadioOption, type RadioProps, ScrollArea, type ScrollAreaProps, SearchInput, type SearchInputProps, Select, type SelectBubbleOption, type SelectOption, type SelectProps, Sidebar, SidebarContent, type SidebarContentProps, SidebarFooter, type SidebarFooterProps, SidebarGroup, type SidebarGroupProps, SidebarHeader, type SidebarHeaderProps, SidebarMenuButton, type SidebarMenuButtonProps, SidebarMenuSearchInput, type SidebarMenuSearchInputProps, SidebarMenuSub, SidebarMenuSubButton, type SidebarMenuSubButtonProps, SidebarMenuSubItem, type SidebarMenuSubItemProps, type SidebarMenuSubProps, type SidebarProps, SidebarSupportInfo, type SidebarSupportInfoProps, SidebarTrigger, type SidebarTriggerProps, SidebarUserMenu, type SidebarUserMenuAction, type SidebarUserMenuLeafAction, type SidebarUserMenuProps, type SingleSelectProps, Skeleton, type SkeletonProps, Spinner, type SpinnerProps, type SpinnerSize, Stepper, type StepperProps, Switch, type SwitchProps, TOUR_TARGET_ATTRIBUTE, type TabItem, Table, TableCell, type TableCellProps, type TableEmptyState, TableFooter, TableFooterCell, type TableFooterCellProps, type TableFooterProps, TableFooterRow, type TableFooterRowProps, TableHeader, TableHeaderCell, type TableHeaderCellProps, type TableHeaderProps, TableHeaderRow, type TableHeaderRowProps, type TablePagination, type TableProps, TableRow, type TableRowProps, Tabs, type TabsProps, type TabsVariant, TagBubble, type TagBubbleProps, type TagLevelItem, TagLevelPicker, type TagLevelPickerProps, type TagOption, type TagSearchOption, TagSelect, type TagSelectProps, Text, type TextProps, Textarea, type TextareaProps, type TextareaVariant, Timeline, type TimelineItem, type TimelineProps, type ToastId, type ToastOptions, type ToastType, Toaster, Tooltip, type TooltipProps, Tour, type TourCloseReason, type TourLabels, type TourPlacement, type TourProps, type TourStep, TourTarget, type TourTargetProps, VideoPlayer, type VideoPlayerProps, addBusinessDays, allowAutofill, appendCacheBuster, appendQueryParam, buttonVariants, capitalizeFirstLetter, colors, easterDate, formatAddress, formatCityFromFormattedAddress, formatCityWithPostalCode, formatDate, formatDateWithTime, formatDistance, formatDuration, formatEuro, formatKM, formatLocality, formatName, formatNameWithInitial, formatPhoneNumber, formatPlate, formatPlateWithoutDashes, formatPostalCodeFromFormattedAddress, formatRegionCode, formatTime, formatVideoDuration, formatVin, generateHexColor, getAvatarColor, getCleanFileName, getElapsedTime, getFileIconByMimeType, getFileKind, getFileNameFromUrl, getInitials, getMimeCategory, getPastelColorPair, getRelativeTime, isHoliday, isSameDay, isolateCity, linkVariants, noAutofillProps, optimizeImage, parseAmount, parseIsoDate, toast, truncateFileName, truncateText, useAvatarSize };
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -805,6 +805,8 @@ interface AvatarProps extends Omit<ComponentPropsWithoutRef<typeof RadixAvatar.R
|
|
|
805
805
|
name?: string;
|
|
806
806
|
src?: string | null;
|
|
807
807
|
color?: ColorToken;
|
|
808
|
+
backgroundColor?: HexColor;
|
|
809
|
+
textColor?: HexColor;
|
|
808
810
|
badge?: AvatarBadgeConfig;
|
|
809
811
|
}
|
|
810
812
|
/** Sans `children` : mode raccourci, auto-compose Image/Fallback/Badge à partir de `name`/`src`/`color`/`badge`. Avec `children` : composition manuelle (`AvatarImage`, `AvatarFallback`, `AvatarBadge`) pour un contrôle total. */
|
|
@@ -813,6 +815,8 @@ type AvatarImageProps = ComponentPropsWithoutRef<typeof RadixAvatar.Image>;
|
|
|
813
815
|
declare const AvatarImage: react.ForwardRefExoticComponent<Omit<RadixAvatar.AvatarImageProps & react.RefAttributes<HTMLImageElement>, "ref"> & react.RefAttributes<HTMLImageElement>>;
|
|
814
816
|
interface AvatarFallbackProps extends ComponentPropsWithoutRef<typeof RadixAvatar.Fallback> {
|
|
815
817
|
color?: ColorToken;
|
|
818
|
+
backgroundColor?: HexColor;
|
|
819
|
+
textColor?: HexColor;
|
|
816
820
|
}
|
|
817
821
|
declare const AvatarFallback: react.ForwardRefExoticComponent<AvatarFallbackProps & react.RefAttributes<HTMLSpanElement>>;
|
|
818
822
|
interface AvatarBadgeProps extends HTMLAttributes<HTMLDivElement> {
|
|
@@ -1925,4 +1929,42 @@ declare const allowAutofill: (autoComplete: string) => {
|
|
|
1925
1929
|
"data-form-type": undefined;
|
|
1926
1930
|
};
|
|
1927
1931
|
|
|
1928
|
-
|
|
1932
|
+
declare const TOUR_TARGET_ATTRIBUTE = "data-tour-target";
|
|
1933
|
+
type TourPlacement = 'top' | 'bottom' | 'left' | 'right';
|
|
1934
|
+
interface TourStep {
|
|
1935
|
+
id: string;
|
|
1936
|
+
/** Identifiant(s) de `TourTarget` : le premier présent dans la page est mis en lumière. Absent : bulle centrée. */
|
|
1937
|
+
target?: string | string[];
|
|
1938
|
+
title?: ReactNode;
|
|
1939
|
+
content: ReactNode;
|
|
1940
|
+
placement?: TourPlacement;
|
|
1941
|
+
/** La zone éclairée reste cliquable (défaut). `false` : elle est seulement montrée. */
|
|
1942
|
+
interactive?: boolean;
|
|
1943
|
+
}
|
|
1944
|
+
interface TourLabels {
|
|
1945
|
+
previous: string;
|
|
1946
|
+
next: string;
|
|
1947
|
+
finish: string;
|
|
1948
|
+
close: string;
|
|
1949
|
+
counter: (current: number, total: number) => string;
|
|
1950
|
+
}
|
|
1951
|
+
type TourCloseReason = 'close' | 'finish';
|
|
1952
|
+
interface TourProps {
|
|
1953
|
+
steps: TourStep[];
|
|
1954
|
+
open: boolean;
|
|
1955
|
+
step: number;
|
|
1956
|
+
onStepChange: (step: number) => void;
|
|
1957
|
+
onClose: (reason: TourCloseReason) => void;
|
|
1958
|
+
labels?: Partial<TourLabels>;
|
|
1959
|
+
/** Délai d'attente d'une cible absente (page qui charge, modale qui s'ouvre) avant d'afficher la bulle au centre. */
|
|
1960
|
+
targetTimeout?: number;
|
|
1961
|
+
}
|
|
1962
|
+
interface TourTargetProps {
|
|
1963
|
+
id: string;
|
|
1964
|
+
children: ReactNode;
|
|
1965
|
+
}
|
|
1966
|
+
/** Enveloppe sans boîte (`display: contents`) : marque une cible sans toucher à la mise en page. */
|
|
1967
|
+
declare const TourTarget: ({ id, children }: TourTargetProps) => react.JSX.Element;
|
|
1968
|
+
declare const Tour: ({ steps, open, step, onStepChange, onClose, labels, targetTimeout, }: TourProps) => react.ReactPortal | null;
|
|
1969
|
+
|
|
1970
|
+
export { type ActivityFeedItem, ActivityFeedPanel, type ActivityFeedPanelProps, Attachment, type AttachmentProps, type AttachmentStatus, Avatar, AvatarBadge, type AvatarBadgeConfig, type AvatarBadgeProps, AvatarFallback, type AvatarFallbackProps, AvatarGroup, type AvatarGroupProps, AvatarImage, type AvatarImageProps, type AvatarProps, Badge, type BadgeProps, Banner, type BannerAction, type BannerJustify, type BannerProps, type BannerToggle, Box, type BoxProps, Bulk, type BulkProps, type BulkSection, Button, type ButtonProps, COLOR_TOKENS, Checkbox, type CheckboxProps, Collapsible, CollapsibleContent, CollapsibleTrigger, type ColorKey, ColorPicker, type ColorPickerProps, type ColorToken, DatePicker, type DatePickerMode, type DatePickerProps, type DatePreset, Divider, type DividerProps, Drawer, DrawerBody, DrawerClose, DrawerDescription, type DrawerDirection, DrawerFooter, DrawerHeader, type DrawerProps, DrawerTitle, EmailInput, type EmailInputProps, EmptyState, type EmptyStateProps, FAB_EDGE_MARGIN, FAB_SIZE, FilePicker, type FilePickerProps, FileUploadZone, type FileUploadZoneProps, type FloatingAction, FloatingButton, type FloatingButtonProps, type FloatingSafeArea, Gantt, type GanttBand, type GanttBar, type GanttDay, GanttDot, type GanttProps, type GanttRow, GanttSwatch, type HexColor, HistoryButton, type HistoryButtonProps, type HistoryChange, HistoryDrawer, type HistoryDrawerProps, type HistoryEntry, type HistoryFilter, HistoryList, type HistoryListProps, Icon, IconBadge, type IconBadgeProps, type IconColor, type IconFamily, type IconProps, type IconSize, type IconTabItem, IconTabs, type IconTabsProps, IconTooltip, type IconTooltipProps, type IconVariant, Image, type ImageProps, InfoTooltip, type InfoTooltipProps, type InfoTooltipVariant, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, type InputGroupProps, type InputProps, Item, ItemActions, ItemContent, ItemDescription, ItemMedia, type ItemMediaProps, type ItemProps, ItemTitle, Label, type LabelProps, Layout, type LayoutProps, Link, type LinkProps, Message, MessageDateSeparator, type MessageDateSeparatorProps, type MessageProps, MessageScroller, type MessageScrollerProps, type MessageSeparatorTone, type MessageVariant, MetricCard, type MetricCardProps, Modal, ModalBody, ModalClose, ModalDescription, ModalFooter, ModalHeader, type ModalProps, ModalTitle, type MultiSelectProps, type OptimizeImageOptions, type OptimizeImageResult, PageContainer, type PageContainerProps, Pagination, type PaginationProps, PasswordInput, type PasswordInputProps, PdfPreview, type PdfPreviewProps, PhoneInput, type PhoneInputMeta, type PhoneInputProps, Popover, type PopoverMenuItem, type PopoverProps, ProgressBar, type ProgressBarProps, Radio, type RadioOption, type RadioProps, ScrollArea, type ScrollAreaProps, SearchInput, type SearchInputProps, Select, type SelectBubbleOption, type SelectOption, type SelectProps, Sidebar, SidebarContent, type SidebarContentProps, SidebarFooter, type SidebarFooterProps, SidebarGroup, type SidebarGroupProps, SidebarHeader, type SidebarHeaderProps, SidebarMenuButton, type SidebarMenuButtonProps, SidebarMenuSearchInput, type SidebarMenuSearchInputProps, SidebarMenuSub, SidebarMenuSubButton, type SidebarMenuSubButtonProps, SidebarMenuSubItem, type SidebarMenuSubItemProps, type SidebarMenuSubProps, type SidebarProps, SidebarSupportInfo, type SidebarSupportInfoProps, SidebarTrigger, type SidebarTriggerProps, SidebarUserMenu, type SidebarUserMenuAction, type SidebarUserMenuLeafAction, type SidebarUserMenuProps, type SingleSelectProps, Skeleton, type SkeletonProps, Spinner, type SpinnerProps, type SpinnerSize, Stepper, type StepperProps, Switch, type SwitchProps, TOUR_TARGET_ATTRIBUTE, type TabItem, Table, TableCell, type TableCellProps, type TableEmptyState, TableFooter, TableFooterCell, type TableFooterCellProps, type TableFooterProps, TableFooterRow, type TableFooterRowProps, TableHeader, TableHeaderCell, type TableHeaderCellProps, type TableHeaderProps, TableHeaderRow, type TableHeaderRowProps, type TablePagination, type TableProps, TableRow, type TableRowProps, Tabs, type TabsProps, type TabsVariant, TagBubble, type TagBubbleProps, type TagLevelItem, TagLevelPicker, type TagLevelPickerProps, type TagOption, type TagSearchOption, TagSelect, type TagSelectProps, Text, type TextProps, Textarea, type TextareaProps, type TextareaVariant, Timeline, type TimelineItem, type TimelineProps, type ToastId, type ToastOptions, type ToastType, Toaster, Tooltip, type TooltipProps, Tour, type TourCloseReason, type TourLabels, type TourPlacement, type TourProps, type TourStep, TourTarget, type TourTargetProps, VideoPlayer, type VideoPlayerProps, addBusinessDays, allowAutofill, appendCacheBuster, appendQueryParam, buttonVariants, capitalizeFirstLetter, colors, easterDate, formatAddress, formatCityFromFormattedAddress, formatCityWithPostalCode, formatDate, formatDateWithTime, formatDistance, formatDuration, formatEuro, formatKM, formatLocality, formatName, formatNameWithInitial, formatPhoneNumber, formatPlate, formatPlateWithoutDashes, formatPostalCodeFromFormattedAddress, formatRegionCode, formatTime, formatVideoDuration, formatVin, generateHexColor, getAvatarColor, getCleanFileName, getElapsedTime, getFileIconByMimeType, getFileKind, getFileNameFromUrl, getInitials, getMimeCategory, getPastelColorPair, getRelativeTime, isHoliday, isSameDay, isolateCity, linkVariants, noAutofillProps, optimizeImage, parseAmount, parseIsoDate, toast, truncateFileName, truncateText, useAvatarSize };
|
package/dist/ui/index.js
CHANGED
|
@@ -157,6 +157,7 @@ __export(index_exports, {
|
|
|
157
157
|
Spinner: () => Spinner,
|
|
158
158
|
Stepper: () => Stepper,
|
|
159
159
|
Switch: () => Switch,
|
|
160
|
+
TOUR_TARGET_ATTRIBUTE: () => TOUR_TARGET_ATTRIBUTE,
|
|
160
161
|
Table: () => Table,
|
|
161
162
|
TableCell: () => TableCell,
|
|
162
163
|
TableFooter: () => TableFooter,
|
|
@@ -175,6 +176,8 @@ __export(index_exports, {
|
|
|
175
176
|
Timeline: () => Timeline,
|
|
176
177
|
Toaster: () => Toaster,
|
|
177
178
|
Tooltip: () => Tooltip,
|
|
179
|
+
Tour: () => Tour,
|
|
180
|
+
TourTarget: () => TourTarget,
|
|
178
181
|
VideoPlayer: () => VideoPlayer,
|
|
179
182
|
addBusinessDays: () => addBusinessDays,
|
|
180
183
|
allowAutofill: () => allowAutofill,
|
|
@@ -3737,6 +3740,8 @@ var Avatar = (0, import_react27.forwardRef)(
|
|
|
3737
3740
|
name,
|
|
3738
3741
|
src,
|
|
3739
3742
|
color,
|
|
3743
|
+
backgroundColor,
|
|
3744
|
+
textColor,
|
|
3740
3745
|
badge,
|
|
3741
3746
|
className,
|
|
3742
3747
|
style,
|
|
@@ -3747,6 +3752,8 @@ var Avatar = (0, import_react27.forwardRef)(
|
|
|
3747
3752
|
"name",
|
|
3748
3753
|
"src",
|
|
3749
3754
|
"color",
|
|
3755
|
+
"backgroundColor",
|
|
3756
|
+
"textColor",
|
|
3750
3757
|
"badge",
|
|
3751
3758
|
"className",
|
|
3752
3759
|
"style",
|
|
@@ -3762,11 +3769,19 @@ var Avatar = (0, import_react27.forwardRef)(
|
|
|
3762
3769
|
shape === "circle" ? "rounded-full" : "rounded-[4px]",
|
|
3763
3770
|
className
|
|
3764
3771
|
),
|
|
3765
|
-
style: __spreadValues({ width: size, height: size }, style)
|
|
3772
|
+
style: __spreadValues({ width: size, height: size, backgroundColor }, style)
|
|
3766
3773
|
}, props), {
|
|
3767
3774
|
children: children != null ? children : /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_jsx_runtime44.Fragment, { children: [
|
|
3768
3775
|
src && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(AvatarImage, { src, alt: name }),
|
|
3769
|
-
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
3776
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
3777
|
+
AvatarFallback,
|
|
3778
|
+
{
|
|
3779
|
+
color,
|
|
3780
|
+
backgroundColor,
|
|
3781
|
+
textColor,
|
|
3782
|
+
children: getInitials({ name })
|
|
3783
|
+
}
|
|
3784
|
+
),
|
|
3770
3785
|
badge && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(AvatarBadge, { className: BADGE_BG_CLASS[badge.backgroundColor], children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
3771
3786
|
FaIcon,
|
|
3772
3787
|
{
|
|
@@ -3808,22 +3823,40 @@ var FALLBACK_COLOR_CLASS = {
|
|
|
3808
3823
|
"orange-600": "bg-orange-600 text-white",
|
|
3809
3824
|
"purple-700": "bg-purple-700 text-white"
|
|
3810
3825
|
};
|
|
3811
|
-
var AvatarFallback = (0, import_react27.forwardRef)(
|
|
3812
|
-
|
|
3813
|
-
|
|
3814
|
-
|
|
3815
|
-
|
|
3816
|
-
|
|
3817
|
-
|
|
3818
|
-
|
|
3819
|
-
|
|
3820
|
-
|
|
3821
|
-
|
|
3822
|
-
|
|
3823
|
-
|
|
3824
|
-
|
|
3825
|
-
|
|
3826
|
-
|
|
3826
|
+
var AvatarFallback = (0, import_react27.forwardRef)(
|
|
3827
|
+
(_a, ref) => {
|
|
3828
|
+
var _b = _a, {
|
|
3829
|
+
color = "grey-600",
|
|
3830
|
+
backgroundColor,
|
|
3831
|
+
textColor,
|
|
3832
|
+
className,
|
|
3833
|
+
style
|
|
3834
|
+
} = _b, props = __objRest(_b, [
|
|
3835
|
+
"color",
|
|
3836
|
+
"backgroundColor",
|
|
3837
|
+
"textColor",
|
|
3838
|
+
"className",
|
|
3839
|
+
"style"
|
|
3840
|
+
]);
|
|
3841
|
+
const size = useAvatarSize();
|
|
3842
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
3843
|
+
RadixAvatar.Fallback,
|
|
3844
|
+
__spreadValues({
|
|
3845
|
+
ref,
|
|
3846
|
+
className: cn(
|
|
3847
|
+
"flex h-full w-full select-none items-center justify-center rounded-[inherit] font-semibold",
|
|
3848
|
+
FALLBACK_COLOR_CLASS[color],
|
|
3849
|
+
className
|
|
3850
|
+
),
|
|
3851
|
+
style: __spreadValues({
|
|
3852
|
+
fontSize: Math.round(size * 0.4),
|
|
3853
|
+
backgroundColor,
|
|
3854
|
+
color: textColor
|
|
3855
|
+
}, style)
|
|
3856
|
+
}, props)
|
|
3857
|
+
);
|
|
3858
|
+
}
|
|
3859
|
+
);
|
|
3827
3860
|
AvatarFallback.displayName = "AvatarFallback";
|
|
3828
3861
|
var AvatarBadge = (0, import_react27.forwardRef)(
|
|
3829
3862
|
(_a, ref) => {
|
|
@@ -8614,6 +8647,329 @@ var optimizeImage = async (file, desiredBaseName, opts = {}) => {
|
|
|
8614
8647
|
};
|
|
8615
8648
|
}
|
|
8616
8649
|
};
|
|
8650
|
+
|
|
8651
|
+
// src/ui/components/ui/Tour.tsx
|
|
8652
|
+
var import_react57 = require("react");
|
|
8653
|
+
var import_react_dom = require("react-dom");
|
|
8654
|
+
var import_jsx_runtime94 = require("react/jsx-runtime");
|
|
8655
|
+
var TOUR_TARGET_ATTRIBUTE = "data-tour-target";
|
|
8656
|
+
var DEFAULT_LABELS = {
|
|
8657
|
+
previous: "Pr\xE9c\xE9dent",
|
|
8658
|
+
next: "Suivant",
|
|
8659
|
+
finish: "Terminer",
|
|
8660
|
+
close: "Quitter le tutoriel",
|
|
8661
|
+
counter: (current, total) => `${current} / ${total}`
|
|
8662
|
+
};
|
|
8663
|
+
var CARD_WIDTH = 340;
|
|
8664
|
+
var HOLE_PADDING = 6;
|
|
8665
|
+
var GAP2 = 14;
|
|
8666
|
+
var MARGIN = 12;
|
|
8667
|
+
var TourTarget = ({ id, children }) => /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", __spreadProps(__spreadValues({}, { [TOUR_TARGET_ATTRIBUTE]: id }), { className: "contents", children }));
|
|
8668
|
+
var findTarget = (target) => {
|
|
8669
|
+
const ids = Array.isArray(target) ? target : target ? [target] : [];
|
|
8670
|
+
for (const id of ids) {
|
|
8671
|
+
const element = document.querySelector(
|
|
8672
|
+
`[${TOUR_TARGET_ATTRIBUTE}="${id.replace(/"/g, '\\"')}"]`
|
|
8673
|
+
);
|
|
8674
|
+
if (element && measure(element)) return element;
|
|
8675
|
+
}
|
|
8676
|
+
return null;
|
|
8677
|
+
};
|
|
8678
|
+
var measure = (element) => {
|
|
8679
|
+
if (getComputedStyle(element).display !== "contents") {
|
|
8680
|
+
const { top: top2, left: left2, width, height } = element.getBoundingClientRect();
|
|
8681
|
+
return width || height ? { top: top2, left: left2, width, height } : null;
|
|
8682
|
+
}
|
|
8683
|
+
const rects = Array.from(element.children).map(measure).filter((rect) => rect !== null);
|
|
8684
|
+
if (!rects.length) return null;
|
|
8685
|
+
const top = Math.min(...rects.map((r) => r.top));
|
|
8686
|
+
const left = Math.min(...rects.map((r) => r.left));
|
|
8687
|
+
const bottom = Math.max(...rects.map((r) => r.top + r.height));
|
|
8688
|
+
const right = Math.max(...rects.map((r) => r.left + r.width));
|
|
8689
|
+
return { top, left, width: right - left, height: bottom - top };
|
|
8690
|
+
};
|
|
8691
|
+
var sameRect = (a, b) => a === b || !!a && !!b && Math.abs(a.top - b.top) < 0.5 && Math.abs(a.left - b.left) < 0.5 && Math.abs(a.width - b.width) < 0.5 && Math.abs(a.height - b.height) < 0.5;
|
|
8692
|
+
var clamp = (value, min, max) => Math.min(Math.max(value, min), Math.max(min, max));
|
|
8693
|
+
var firstBox = (element) => getComputedStyle(element).display === "contents" && element.firstElementChild ? firstBox(element.firstElementChild) : element;
|
|
8694
|
+
var placeCard = (hole, cardHeight, preferred) => {
|
|
8695
|
+
var _a;
|
|
8696
|
+
const vw = window.innerWidth;
|
|
8697
|
+
const vh = window.innerHeight;
|
|
8698
|
+
const fits = {
|
|
8699
|
+
bottom: vh - (hole.top + hole.height) >= cardHeight + GAP2 + MARGIN,
|
|
8700
|
+
top: hole.top >= cardHeight + GAP2 + MARGIN,
|
|
8701
|
+
right: vw - (hole.left + hole.width) >= CARD_WIDTH + GAP2 + MARGIN,
|
|
8702
|
+
left: hole.left >= CARD_WIDTH + GAP2 + MARGIN
|
|
8703
|
+
};
|
|
8704
|
+
const order = ["bottom", "top", "left", "right"];
|
|
8705
|
+
const side = (_a = preferred && fits[preferred] ? preferred : order.find((p) => fits[p])) != null ? _a : "bottom";
|
|
8706
|
+
const centerX = hole.left + hole.width / 2;
|
|
8707
|
+
const centerY = hole.top + hole.height / 2;
|
|
8708
|
+
if (side === "bottom" || side === "top") {
|
|
8709
|
+
const left2 = clamp(
|
|
8710
|
+
centerX - CARD_WIDTH / 2,
|
|
8711
|
+
MARGIN,
|
|
8712
|
+
vw - CARD_WIDTH - MARGIN
|
|
8713
|
+
);
|
|
8714
|
+
const top2 = side === "bottom" ? Math.min(hole.top + hole.height + GAP2, vh - cardHeight - MARGIN) : Math.max(hole.top - GAP2 - cardHeight, MARGIN);
|
|
8715
|
+
return {
|
|
8716
|
+
side,
|
|
8717
|
+
top: top2,
|
|
8718
|
+
left: left2,
|
|
8719
|
+
arrow: clamp(centerX - left2, 18, CARD_WIDTH - 18)
|
|
8720
|
+
};
|
|
8721
|
+
}
|
|
8722
|
+
const top = clamp(centerY - cardHeight / 2, MARGIN, vh - cardHeight - MARGIN);
|
|
8723
|
+
const left = side === "right" ? hole.left + hole.width + GAP2 : hole.left - GAP2 - CARD_WIDTH;
|
|
8724
|
+
return { side, top, left, arrow: clamp(centerY - top, 18, cardHeight - 18) };
|
|
8725
|
+
};
|
|
8726
|
+
var ARROW_CLASS = {
|
|
8727
|
+
bottom: "-top-[7px] -translate-x-1/2",
|
|
8728
|
+
top: "-bottom-[7px] -translate-x-1/2",
|
|
8729
|
+
right: "-left-[7px] -translate-y-1/2",
|
|
8730
|
+
left: "-right-[7px] -translate-y-1/2"
|
|
8731
|
+
};
|
|
8732
|
+
var Tour = ({
|
|
8733
|
+
steps,
|
|
8734
|
+
open,
|
|
8735
|
+
step,
|
|
8736
|
+
onStepChange,
|
|
8737
|
+
onClose,
|
|
8738
|
+
labels,
|
|
8739
|
+
targetTimeout = 4e3
|
|
8740
|
+
}) => {
|
|
8741
|
+
var _a;
|
|
8742
|
+
const text = __spreadValues(__spreadValues({}, DEFAULT_LABELS), labels);
|
|
8743
|
+
const current = steps[step];
|
|
8744
|
+
const hasStep = Boolean(current);
|
|
8745
|
+
const targetKey = [(_a = current == null ? void 0 : current.target) != null ? _a : []].flat().join("|");
|
|
8746
|
+
const total = steps.length;
|
|
8747
|
+
const isLast = step === total - 1;
|
|
8748
|
+
const titleId = (0, import_react57.useId)();
|
|
8749
|
+
const [rect, setRect] = (0, import_react57.useState)(null);
|
|
8750
|
+
const [status, setStatus] = (0, import_react57.useState)("pending");
|
|
8751
|
+
const [cardHeight, setCardHeight] = (0, import_react57.useState)(0);
|
|
8752
|
+
const cardRef = (0, import_react57.useRef)(null);
|
|
8753
|
+
const nextRef = (0, import_react57.useRef)(null);
|
|
8754
|
+
(0, import_react57.useEffect)(() => {
|
|
8755
|
+
if (!open || !hasStep) return;
|
|
8756
|
+
const targets = targetKey ? targetKey.split("|") : void 0;
|
|
8757
|
+
const startedAt = performance.now();
|
|
8758
|
+
let scrolled = false;
|
|
8759
|
+
let frame = 0;
|
|
8760
|
+
setStatus("pending");
|
|
8761
|
+
setRect(null);
|
|
8762
|
+
const track = () => {
|
|
8763
|
+
const element = findTarget(targets);
|
|
8764
|
+
const box = element ? measure(element) : null;
|
|
8765
|
+
if (element && box) {
|
|
8766
|
+
if (!scrolled) {
|
|
8767
|
+
scrolled = true;
|
|
8768
|
+
const outOfView = box.top < 0 || box.left < 0 || box.top + box.height > window.innerHeight || box.left + box.width > window.innerWidth;
|
|
8769
|
+
if (outOfView) {
|
|
8770
|
+
firstBox(element).scrollIntoView({
|
|
8771
|
+
block: "center",
|
|
8772
|
+
inline: "nearest"
|
|
8773
|
+
});
|
|
8774
|
+
}
|
|
8775
|
+
}
|
|
8776
|
+
setRect((previous) => sameRect(previous, box) ? previous : box);
|
|
8777
|
+
setStatus("found");
|
|
8778
|
+
} else {
|
|
8779
|
+
setRect(null);
|
|
8780
|
+
setStatus(
|
|
8781
|
+
!targets || performance.now() - startedAt > targetTimeout ? "missing" : "pending"
|
|
8782
|
+
);
|
|
8783
|
+
}
|
|
8784
|
+
frame = requestAnimationFrame(track);
|
|
8785
|
+
};
|
|
8786
|
+
track();
|
|
8787
|
+
return () => cancelAnimationFrame(frame);
|
|
8788
|
+
}, [open, step, hasStep, targetKey, targetTimeout]);
|
|
8789
|
+
(0, import_react57.useLayoutEffect)(() => {
|
|
8790
|
+
if (cardRef.current) setCardHeight(cardRef.current.offsetHeight);
|
|
8791
|
+
});
|
|
8792
|
+
(0, import_react57.useEffect)(() => {
|
|
8793
|
+
var _a2;
|
|
8794
|
+
if (open && status !== "pending")
|
|
8795
|
+
(_a2 = nextRef.current) == null ? void 0 : _a2.focus({ preventScroll: true });
|
|
8796
|
+
}, [open, step, status]);
|
|
8797
|
+
const goNext = (0, import_react57.useCallback)(() => {
|
|
8798
|
+
if (isLast) onClose("finish");
|
|
8799
|
+
else onStepChange(step + 1);
|
|
8800
|
+
}, [isLast, onClose, onStepChange, step]);
|
|
8801
|
+
const goPrevious = (0, import_react57.useCallback)(() => {
|
|
8802
|
+
if (step > 0) onStepChange(step - 1);
|
|
8803
|
+
}, [onStepChange, step]);
|
|
8804
|
+
(0, import_react57.useEffect)(() => {
|
|
8805
|
+
if (!open) return;
|
|
8806
|
+
const onKeyDown = (event) => {
|
|
8807
|
+
if (event.key === "Escape") {
|
|
8808
|
+
event.stopPropagation();
|
|
8809
|
+
onClose("close");
|
|
8810
|
+
} else if (event.key === "ArrowRight") goNext();
|
|
8811
|
+
else if (event.key === "ArrowLeft") goPrevious();
|
|
8812
|
+
};
|
|
8813
|
+
window.addEventListener("keydown", onKeyDown, true);
|
|
8814
|
+
return () => window.removeEventListener("keydown", onKeyDown, true);
|
|
8815
|
+
}, [open, goNext, goPrevious, onClose]);
|
|
8816
|
+
if (!open || !current) return null;
|
|
8817
|
+
const hole = rect && {
|
|
8818
|
+
top: rect.top - HOLE_PADDING,
|
|
8819
|
+
left: rect.left - HOLE_PADDING,
|
|
8820
|
+
width: rect.width + HOLE_PADDING * 2,
|
|
8821
|
+
height: rect.height + HOLE_PADDING * 2
|
|
8822
|
+
};
|
|
8823
|
+
const placement = hole && placeCard(hole, cardHeight, current.placement);
|
|
8824
|
+
const blockClick = (event) => event.stopPropagation();
|
|
8825
|
+
const blocker = "fixed z-[10000]";
|
|
8826
|
+
return (0, import_react_dom.createPortal)(
|
|
8827
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_jsx_runtime94.Fragment, { children: [
|
|
8828
|
+
hole ? /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_jsx_runtime94.Fragment, { children: [
|
|
8829
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
8830
|
+
"div",
|
|
8831
|
+
{
|
|
8832
|
+
"aria-hidden": true,
|
|
8833
|
+
className: "pointer-events-none fixed z-[10000] rounded-[8px] shadow-[0_0_0_9999px_rgba(15,23,42,0.6)] ring-[3px] ring-yellow-300 transition-all duration-200 ease-out",
|
|
8834
|
+
style: hole
|
|
8835
|
+
}
|
|
8836
|
+
),
|
|
8837
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
8838
|
+
"div",
|
|
8839
|
+
{
|
|
8840
|
+
className: cn(blocker, "inset-x-0 top-0"),
|
|
8841
|
+
style: { height: Math.max(hole.top, 0) },
|
|
8842
|
+
onMouseDown: blockClick,
|
|
8843
|
+
onClick: blockClick
|
|
8844
|
+
}
|
|
8845
|
+
),
|
|
8846
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
8847
|
+
"div",
|
|
8848
|
+
{
|
|
8849
|
+
className: cn(blocker, "inset-x-0 bottom-0"),
|
|
8850
|
+
style: { top: hole.top + hole.height },
|
|
8851
|
+
onMouseDown: blockClick,
|
|
8852
|
+
onClick: blockClick
|
|
8853
|
+
}
|
|
8854
|
+
),
|
|
8855
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
8856
|
+
"div",
|
|
8857
|
+
{
|
|
8858
|
+
className: cn(blocker, "left-0"),
|
|
8859
|
+
style: {
|
|
8860
|
+
top: hole.top,
|
|
8861
|
+
height: hole.height,
|
|
8862
|
+
width: Math.max(hole.left, 0)
|
|
8863
|
+
},
|
|
8864
|
+
onMouseDown: blockClick,
|
|
8865
|
+
onClick: blockClick
|
|
8866
|
+
}
|
|
8867
|
+
),
|
|
8868
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
8869
|
+
"div",
|
|
8870
|
+
{
|
|
8871
|
+
className: cn(blocker, "right-0"),
|
|
8872
|
+
style: {
|
|
8873
|
+
top: hole.top,
|
|
8874
|
+
height: hole.height,
|
|
8875
|
+
left: hole.left + hole.width
|
|
8876
|
+
},
|
|
8877
|
+
onMouseDown: blockClick,
|
|
8878
|
+
onClick: blockClick
|
|
8879
|
+
}
|
|
8880
|
+
),
|
|
8881
|
+
current.interactive === false && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: blocker, style: hole, onClick: blockClick })
|
|
8882
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
8883
|
+
"div",
|
|
8884
|
+
{
|
|
8885
|
+
className: cn(blocker, "inset-0 bg-[rgba(15,23,42,0.6)]"),
|
|
8886
|
+
onMouseDown: blockClick,
|
|
8887
|
+
onClick: blockClick
|
|
8888
|
+
}
|
|
8889
|
+
),
|
|
8890
|
+
status !== "pending" && /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
|
|
8891
|
+
"div",
|
|
8892
|
+
{
|
|
8893
|
+
ref: cardRef,
|
|
8894
|
+
role: "dialog",
|
|
8895
|
+
"aria-modal": "true",
|
|
8896
|
+
"aria-labelledby": titleId,
|
|
8897
|
+
className: cn(
|
|
8898
|
+
"fixed z-[10001] rounded-[12px] bg-yellow-300 p-5 shadow-[0_10px_30px_rgba(0,0,0,0.25)]",
|
|
8899
|
+
!placement && "left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2",
|
|
8900
|
+
placement && "transition-[top,left] duration-200 ease-out"
|
|
8901
|
+
),
|
|
8902
|
+
style: __spreadValues({
|
|
8903
|
+
width: CARD_WIDTH
|
|
8904
|
+
}, placement && { top: placement.top, left: placement.left }),
|
|
8905
|
+
children: [
|
|
8906
|
+
placement && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
8907
|
+
"span",
|
|
8908
|
+
{
|
|
8909
|
+
"aria-hidden": true,
|
|
8910
|
+
className: cn(
|
|
8911
|
+
"absolute h-3 w-3 rotate-45 bg-yellow-300",
|
|
8912
|
+
ARROW_CLASS[placement.side]
|
|
8913
|
+
),
|
|
8914
|
+
style: placement.side === "bottom" || placement.side === "top" ? { left: placement.arrow } : { top: placement.arrow }
|
|
8915
|
+
}
|
|
8916
|
+
),
|
|
8917
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(Layout, { column: true, gap: 3, children: [
|
|
8918
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(Layout, { row: true, justify: "between", align: "center", children: [
|
|
8919
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Text, { size: "xs", weight: "semibold", color: "white", children: text.counter(step + 1, total) }),
|
|
8920
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
8921
|
+
Icon,
|
|
8922
|
+
{
|
|
8923
|
+
name: "xmark",
|
|
8924
|
+
size: "s",
|
|
8925
|
+
color: "white",
|
|
8926
|
+
onClick: () => onClose("close"),
|
|
8927
|
+
"aria-label": text.close
|
|
8928
|
+
}
|
|
8929
|
+
)
|
|
8930
|
+
] }),
|
|
8931
|
+
current.title && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Text, { id: titleId, size: "m", weight: "bold", color: "white", children: current.title }),
|
|
8932
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
8933
|
+
Text,
|
|
8934
|
+
{
|
|
8935
|
+
id: current.title ? void 0 : titleId,
|
|
8936
|
+
size: "m",
|
|
8937
|
+
weight: "medium",
|
|
8938
|
+
color: "white",
|
|
8939
|
+
className: "leading-relaxed",
|
|
8940
|
+
children: current.content
|
|
8941
|
+
}
|
|
8942
|
+
),
|
|
8943
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(Layout, { row: true, justify: "end", gap: 2, children: [
|
|
8944
|
+
step > 0 && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
8945
|
+
Button,
|
|
8946
|
+
{
|
|
8947
|
+
label: text.previous,
|
|
8948
|
+
variant: "outline",
|
|
8949
|
+
size: "s",
|
|
8950
|
+
className: "border-white text-white",
|
|
8951
|
+
onClick: goPrevious
|
|
8952
|
+
}
|
|
8953
|
+
),
|
|
8954
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
8955
|
+
Button,
|
|
8956
|
+
{
|
|
8957
|
+
ref: nextRef,
|
|
8958
|
+
label: isLast ? text.finish : text.next,
|
|
8959
|
+
size: "s",
|
|
8960
|
+
className: "bg-white text-yellow-500",
|
|
8961
|
+
onClick: goNext
|
|
8962
|
+
}
|
|
8963
|
+
)
|
|
8964
|
+
] })
|
|
8965
|
+
] })
|
|
8966
|
+
]
|
|
8967
|
+
}
|
|
8968
|
+
)
|
|
8969
|
+
] }),
|
|
8970
|
+
document.body
|
|
8971
|
+
);
|
|
8972
|
+
};
|
|
8617
8973
|
// Annotate the CommonJS export names for ESM import in node:
|
|
8618
8974
|
0 && (module.exports = {
|
|
8619
8975
|
ActivityFeedPanel,
|
|
@@ -8714,6 +9070,7 @@ var optimizeImage = async (file, desiredBaseName, opts = {}) => {
|
|
|
8714
9070
|
Spinner,
|
|
8715
9071
|
Stepper,
|
|
8716
9072
|
Switch,
|
|
9073
|
+
TOUR_TARGET_ATTRIBUTE,
|
|
8717
9074
|
Table,
|
|
8718
9075
|
TableCell,
|
|
8719
9076
|
TableFooter,
|
|
@@ -8732,6 +9089,8 @@ var optimizeImage = async (file, desiredBaseName, opts = {}) => {
|
|
|
8732
9089
|
Timeline,
|
|
8733
9090
|
Toaster,
|
|
8734
9091
|
Tooltip,
|
|
9092
|
+
Tour,
|
|
9093
|
+
TourTarget,
|
|
8735
9094
|
VideoPlayer,
|
|
8736
9095
|
addBusinessDays,
|
|
8737
9096
|
allowAutofill,
|