@clickhouse/click-ui 0.11.0-rc1 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +37 -22
  2. package/dist/cjs/click-ui.css +3 -3
  3. package/dist/cjs/components/Assets/Icons/Loaders.css +3 -3
  4. package/dist/cjs/components/Assets/Icons/Share.cjs +16 -26
  5. package/dist/cjs/components/Assets/Icons/Share.cjs.map +1 -1
  6. package/dist/cjs/components/Assets/Icons/system/IconsLight.cjs +0 -2
  7. package/dist/cjs/components/Assets/Icons/system/IconsLight.cjs.map +1 -1
  8. package/dist/cjs/components/Assets/config.cjs +5 -2
  9. package/dist/cjs/components/Assets/config.cjs.map +1 -1
  10. package/dist/cjs/components/CardHorizontal/index.cjs +5 -1
  11. package/dist/cjs/components/CardHorizontal/index.cjs.map +1 -1
  12. package/dist/cjs/components/CodeBlock/index.cjs +3 -0
  13. package/dist/cjs/components/CodeBlock/index.cjs.map +1 -1
  14. package/dist/cjs/components/DatePicker/DateRangePicker.cjs +4 -4
  15. package/dist/cjs/components/DatePicker/DateRangePicker.cjs.map +1 -1
  16. package/dist/cjs/components/Icon/index.cjs +3 -1
  17. package/dist/cjs/components/Icon/index.cjs.map +1 -1
  18. package/dist/esm/click-ui.css +3 -3
  19. package/dist/esm/components/Assets/Icons/Loaders.css +3 -3
  20. package/dist/esm/components/Assets/Icons/Share.js +17 -27
  21. package/dist/esm/components/Assets/Icons/Share.js.map +1 -1
  22. package/dist/esm/components/Assets/Icons/system/IconsLight.js +0 -2
  23. package/dist/esm/components/Assets/Icons/system/IconsLight.js.map +1 -1
  24. package/dist/esm/components/Assets/config.js +5 -2
  25. package/dist/esm/components/Assets/config.js.map +1 -1
  26. package/dist/esm/components/CardHorizontal/index.js +5 -1
  27. package/dist/esm/components/CardHorizontal/index.js.map +1 -1
  28. package/dist/esm/components/CodeBlock/index.js +2 -0
  29. package/dist/esm/components/CodeBlock/index.js.map +1 -1
  30. package/dist/esm/components/DatePicker/DateRangePicker.js +4 -4
  31. package/dist/esm/components/DatePicker/DateRangePicker.js.map +1 -1
  32. package/dist/esm/components/Icon/index.js +3 -1
  33. package/dist/esm/components/Icon/index.js.map +1 -1
  34. package/dist/types/components/Assets/Icons/system/types.d.ts +1 -1
  35. package/dist/types/components/CodeBlock/CodeBlock.types.d.ts +5 -0
  36. package/dist/types/components/DatePicker/DateRangePicker.d.ts +4 -4
  37. package/dist/types/components/Icon/Icon.d.ts +1 -1
  38. package/package.json +3 -3
  39. package/dist/cjs/components/Assets/Icons/Share-Arrow.cjs +0 -32
  40. package/dist/cjs/components/Assets/Icons/Share-Arrow.cjs.map +0 -1
  41. package/dist/esm/components/Assets/Icons/Share-Arrow.js +0 -28
  42. package/dist/esm/components/Assets/Icons/Share-Arrow.js.map +0 -1
  43. package/dist/types/components/Assets/Icons/Share-Arrow.d.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sources":["../../../../src/components/Assets/config.ts"],"sourcesContent":["export type AssetAliasMap = Record<string, string>;\nexport type AssetAlias = keyof typeof ASSET_NAME_MAPPINGS.aliases;\n\n/**\n * @deprecated Use the kebab-case name instead (e.g., 'activity' instead of 'Activity')\n */\nexport type AssetDeprecatedName = keyof typeof ASSET_NAME_MAPPINGS.deprecated;\n\nexport const ASSET_NAME_MAPPINGS = {\n aliases: {\n 'c#': 'c-sharp',\n } as AssetAliasMap,\n\n deprecated: {\n Activity: 'activity',\n Alarm: 'alarm',\n ArrowDirections: 'arrow-directions',\n ArrowDown: 'arrow-down',\n ArrowLeft: 'arrow-left',\n ArrowRight: 'arrow-right',\n ArrowTriangle: 'arrow-triangle',\n ArrowUp: 'arrow-up',\n AuthApp: 'auth-app',\n AuthSms: 'auth-sms',\n Backups: 'backups',\n BarChart: 'bar-chart',\n Bell: 'bell',\n Beta: 'beta',\n Blog: 'blog',\n Bold: 'bold',\n Book: 'book',\n Brackets: 'brackets',\n Briefcase: 'briefcase',\n Building: 'building',\n BurgerMenu: 'burger-menu',\n Calendar: 'calendar',\n CalendarWithTime: 'calendar-with-time',\n Cards: 'cards',\n CellTower: 'cell-tower',\n ChartArea: 'chart-area',\n ChartBarHorizontal: 'chart-bar-horizontal',\n ChartCloud: 'chart-cloud',\n ChartDonut: 'chart-donut',\n ChartHeatmap: 'chart-heatmap',\n ChartScatter: 'chart-scatter',\n ChartSquare: 'chart-square',\n ChartStackedHorizontal: 'chart-stacked-horizontal',\n ChartStackedVertical: 'chart-stacked-vertical',\n ChatIcon: 'chat',\n CheckIcon: 'check',\n CheckInCircle: 'check-in-circle',\n ChevronDown: 'chevron-down',\n ChevronLeft: 'chevron-left',\n ChevronRight: 'chevron-right',\n ChevronUp: 'chevron-up',\n Circle: 'circle',\n Clock: 'clock',\n Cloud: 'cloud',\n CloudKeys: 'cloud-keys',\n Code: 'code',\n CodeInSquare: 'code-in-square',\n Connect: 'connect',\n ConnectAlt: 'connect-alt',\n Console: 'console',\n Copy: 'copy',\n Cpu: 'cpu',\n CreditCard: 'credit-card',\n CrossIcon: 'cross',\n Data: 'data',\n DataLakes: 'data-lakes',\n DatabaseIcon: 'database',\n Disk: 'disk',\n Display: 'display',\n Document: 'document',\n Dot: 'dot',\n DotsHorizontal: 'dots-horizontal',\n DotsTriangle: 'dots-triangle',\n DotsVertical: 'dots-vertical',\n DotsVerticalDouble: 'dots-vertical-double',\n DoubleCheckIcon: 'double-check',\n Download: 'download',\n DownloadInCircle: 'download-in-circle',\n Email: 'email',\n Empty: 'empty',\n Enter: 'enter',\n Eye: 'eye',\n EyeClosed: 'eye-closed',\n FilterIcon: 'filter',\n Fire: 'fire',\n Flag: 'flag',\n Flash: 'flash',\n Flask: 'flask',\n FolderClosed: 'folder-closed',\n FolderOpen: 'folder-open',\n Gear: 'gear',\n Gift: 'gift',\n GitMerge: 'git-merge',\n Globe: 'globe',\n Hexagon: 'hexagon',\n HistoryIcon: 'history',\n Home: 'home',\n HorizontalLoading: 'horizontal-loading',\n Http: 'http',\n HttpMonitoring: 'http-monitoring',\n InfoInCircleIcon: 'info-in-circle',\n InformationIcon: 'information',\n InsertRowIcon: 'insert-row',\n Integrations: 'integrations',\n Italic: 'italic',\n Key: 'key',\n Keys: 'keys',\n Lifebuoy: 'lifebuoy',\n LightBulb: 'light-bulb',\n LightBulbOn: 'light-bulb-on',\n Lightening: 'lightening',\n LineInCircle: 'line-in-circle',\n ListBulleted: 'list-bulleted',\n ListNumbered: 'list-numbered',\n Loading: 'loading',\n LoadingAnimated: 'loading-animated',\n Lock: 'lock',\n MapPin: 'map-pin',\n Mcp: 'mcp',\n Metrics: 'metrics',\n MetricsAlt: 'metrics-alt',\n Minus: 'minus',\n Moon: 'moon',\n NoCloud: 'no-cloud',\n Pause: 'pause',\n Payment: 'payment',\n Pencil: 'pencil',\n PieChart: 'pie-chart',\n Pipe: 'pipe',\n Play: 'play',\n PlayInCircle: 'play-in-circle',\n Plug: 'plug',\n Plus: 'plus',\n Popin: 'popin',\n Popout: 'popout',\n PopoverArrow: 'popover-arrow',\n PuzzlePiece: 'puzzle-piece',\n Query: 'query',\n Question: 'question',\n Refresh: 'refresh',\n ResizeArrowsHorizontal: 'resize-arrows-horizontal',\n ResizeArrowsVertical: 'resize-arrows-vertical',\n Rocket: 'rocket',\n SandGlass: 'sand-glass',\n Search: 'search',\n Secure: 'secure',\n Server: 'server',\n Services: 'services',\n Settings: 'settings',\n Share: 'share',\n ShareArrow: 'share-arrow',\n ShareNetwork: 'share-network',\n Sleep: 'sleep',\n SlideIn: 'slide-in',\n SlideOut: 'slide-out',\n SortAltIcon: 'sort-alt',\n SortIcon: 'sort',\n Sparkle: 'sparkle',\n Speaker: 'speaker',\n Speed: 'speed',\n Square: 'square',\n Star: 'star',\n Stop: 'stop',\n Support: 'support',\n Table: 'table',\n Taxi: 'taxi',\n TextSlash: 'text-slash',\n ThumbsDown: 'thumbs-down',\n ThumbsUp: 'thumbs-up',\n Trash: 'trash',\n TreeStructure: 'tree-structure',\n Underline: 'underline',\n Upgrade: 'upgrade',\n Upload: 'upload',\n Url: 'url',\n UserIcon: 'user',\n UsersIcon: 'users',\n WarningIcon: 'warning',\n Waves: 'waves',\n\n // Flag deprecations (from retroactiveNames.ts)\n ae: 'united-arab-emirates',\n au: 'australia',\n br: 'brazil',\n ca: 'canada',\n ch: 'switzerland',\n de: 'germany',\n eu: 'european-union',\n fr: 'france',\n gb: 'great-britain',\n hk: 'hong-kong',\n id: 'indonesia',\n ie: 'ireland',\n il: 'israel',\n in: 'india',\n jp: 'japan',\n nl: 'netherlands',\n sg: 'singapore',\n kr: 'south-korea',\n sw: 'sweden',\n uk: 'united-kingdom',\n usa: 'united-states',\n za: 'south-africa',\n Australia: 'australia',\n Brazil: 'brazil',\n Canada: 'canada',\n EuropeanUnion: 'european-union',\n France: 'france',\n Germany: 'germany',\n GreatBritain: 'great-britain',\n HongKong: 'hong-kong',\n India: 'india',\n Indonesia: 'indonesia',\n Ireland: 'ireland',\n Israel: 'israel',\n Japan: 'japan',\n Netherlands: 'netherlands',\n Singapore: 'singapore',\n SouthAfrica: 'south-africa',\n SouthKorea: 'south-korea',\n Sweden: 'sweden',\n Switzerland: 'switzerland',\n UnitedArabEmirates: 'united-arab-emirates',\n UnitedKingdom: 'united-kingdom',\n UnitedStates: 'united-states',\n } as AssetAliasMap,\n} as const;\n\nexport const resolveAssetName = (name: string): string => {\n if (ASSET_NAME_MAPPINGS.aliases[name]) {\n return ASSET_NAME_MAPPINGS.aliases[name];\n }\n\n if (ASSET_NAME_MAPPINGS.deprecated[name]) {\n console.warn(\n `Asset name \"${name}\" is deprecated, use \"${ASSET_NAME_MAPPINGS.deprecated[name]}\" instead`\n );\n\n return ASSET_NAME_MAPPINGS.deprecated[name];\n }\n\n return name;\n};\n\nexport const createAssetResolver = <T extends string>() => {\n return (name: string): T => resolveAssetName(name) as T;\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sources":["../../../../src/components/Assets/config.ts"],"sourcesContent":["export type AssetAliasMap = Record<string, string>;\nexport type AssetAlias = keyof typeof ASSET_NAME_MAPPINGS.aliases;\n\n/**\n * @deprecated Use the kebab-case name instead (e.g., 'activity' instead of 'Activity')\n */\nexport type AssetDeprecatedName = keyof typeof ASSET_NAME_MAPPINGS.deprecated;\n\nexport const ASSET_NAME_MAPPINGS = {\n aliases: {\n 'c#': 'csharp',\n } as AssetAliasMap,\n\n deprecated: {\n Activity: 'activity',\n Alarm: 'alarm',\n ArrowDirections: 'arrow-directions',\n ArrowDown: 'arrow-down',\n ArrowLeft: 'arrow-left',\n ArrowRight: 'arrow-right',\n ArrowTriangle: 'arrow-triangle',\n ArrowUp: 'arrow-up',\n AuthApp: 'auth-app',\n AuthSms: 'auth-sms',\n Backups: 'backups',\n BarChart: 'bar-chart',\n Bell: 'bell',\n Beta: 'beta',\n Blog: 'blog',\n Bold: 'bold',\n Book: 'book',\n Brackets: 'brackets',\n Briefcase: 'briefcase',\n Building: 'building',\n BurgerMenu: 'burger-menu',\n Calendar: 'calendar',\n CalendarWithTime: 'calendar-with-time',\n Cards: 'cards',\n CellTower: 'cell-tower',\n ChartArea: 'chart-area',\n ChartBarHorizontal: 'chart-bar-horizontal',\n ChartCloud: 'chart-cloud',\n ChartDonut: 'chart-donut',\n ChartHeatmap: 'chart-heatmap',\n ChartScatter: 'chart-scatter',\n ChartSquare: 'chart-square',\n ChartStackedHorizontal: 'chart-stacked-horizontal',\n ChartStackedVertical: 'chart-stacked-vertical',\n ChatIcon: 'chat',\n CheckIcon: 'check',\n CheckInCircle: 'check-in-circle',\n ChevronDown: 'chevron-down',\n ChevronLeft: 'chevron-left',\n ChevronRight: 'chevron-right',\n ChevronUp: 'chevron-up',\n Circle: 'circle',\n Clock: 'clock',\n Cloud: 'cloud',\n CloudKeys: 'cloud-keys',\n Code: 'code',\n CodeInSquare: 'code-in-square',\n Connect: 'connect',\n ConnectAlt: 'connect-alt',\n Console: 'console',\n Copy: 'copy',\n Cpu: 'cpu',\n CreditCard: 'credit-card',\n CrossIcon: 'cross',\n Data: 'data',\n DataLakes: 'data-lakes',\n DatabaseIcon: 'database',\n Disk: 'disk',\n Display: 'display',\n Document: 'document',\n Dot: 'dot',\n DotsHorizontal: 'dots-horizontal',\n DotsTriangle: 'dots-triangle',\n DotsVertical: 'dots-vertical',\n DotsVerticalDouble: 'dots-vertical-double',\n DoubleCheckIcon: 'double-check',\n Download: 'download',\n DownloadInCircle: 'download-in-circle',\n Email: 'email',\n Empty: 'empty',\n Enter: 'enter',\n Eye: 'eye',\n EyeClosed: 'eye-closed',\n FilterIcon: 'filter',\n Fire: 'fire',\n Flag: 'flag',\n Flash: 'flash',\n Flask: 'flask',\n FolderClosed: 'folder-closed',\n FolderOpen: 'folder-open',\n Gear: 'gear',\n Gift: 'gift',\n GitMerge: 'git-merge',\n Globe: 'globe',\n Hexagon: 'hexagon',\n HistoryIcon: 'history',\n Home: 'home',\n HorizontalLoading: 'horizontal-loading',\n Http: 'http',\n HttpMonitoring: 'http-monitoring',\n InfoInCircleIcon: 'info-in-circle',\n InformationIcon: 'information',\n InsertRowIcon: 'insert-row',\n Integrations: 'integrations',\n Italic: 'italic',\n Key: 'key',\n Keys: 'keys',\n Lifebuoy: 'lifebuoy',\n LightBulb: 'light-bulb',\n LightBulbOn: 'light-bulb-on',\n Lightening: 'lightening',\n LineInCircle: 'line-in-circle',\n ListBulleted: 'list-bulleted',\n ListNumbered: 'list-numbered',\n Loading: 'loading',\n LoadingAnimated: 'loading-animated',\n Lock: 'lock',\n MapPin: 'map-pin',\n Mcp: 'mcp',\n Metrics: 'metrics',\n MetricsAlt: 'metrics-alt',\n Minus: 'minus',\n Moon: 'moon',\n NoCloud: 'no-cloud',\n Pause: 'pause',\n Payment: 'payment',\n Pencil: 'pencil',\n PieChart: 'pie-chart',\n Pipe: 'pipe',\n Play: 'play',\n PlayInCircle: 'play-in-circle',\n Plug: 'plug',\n Plus: 'plus',\n Popin: 'popin',\n Popout: 'popout',\n PopoverArrow: 'popover-arrow',\n PuzzlePiece: 'puzzle-piece',\n Query: 'query',\n Question: 'question',\n Refresh: 'refresh',\n ResizeArrowsHorizontal: 'resize-arrows-horizontal',\n ResizeArrowsVertical: 'resize-arrows-vertical',\n Rocket: 'rocket',\n SandGlass: 'sand-glass',\n Search: 'search',\n Secure: 'secure',\n Server: 'server',\n Services: 'services',\n Settings: 'settings',\n Share: 'share',\n ShareArrow: 'share',\n // CUI-115: the old `share` glyph duplicated `popout` and was removed; the\n // surviving share glyph moved from `share-arrow` to `share`.\n 'share-arrow': 'share',\n ShareNetwork: 'share-network',\n Sleep: 'sleep',\n SlideIn: 'slide-in',\n SlideOut: 'slide-out',\n SortAltIcon: 'sort-alt',\n SortIcon: 'sort',\n Sparkle: 'sparkle',\n Speaker: 'speaker',\n Speed: 'speed',\n Square: 'square',\n Star: 'star',\n Stop: 'stop',\n Support: 'support',\n Table: 'table',\n Taxi: 'taxi',\n TextSlash: 'text-slash',\n ThumbsDown: 'thumbs-down',\n ThumbsUp: 'thumbs-up',\n Trash: 'trash',\n TreeStructure: 'tree-structure',\n Underline: 'underline',\n Upgrade: 'upgrade',\n Upload: 'upload',\n Url: 'url',\n UserIcon: 'user',\n UsersIcon: 'users',\n WarningIcon: 'warning',\n Waves: 'waves',\n\n // Flag deprecations (from retroactiveNames.ts)\n ae: 'united-arab-emirates',\n au: 'australia',\n br: 'brazil',\n ca: 'canada',\n ch: 'switzerland',\n de: 'germany',\n eu: 'european-union',\n fr: 'france',\n gb: 'great-britain',\n hk: 'hong-kong',\n id: 'indonesia',\n ie: 'ireland',\n il: 'israel',\n in: 'india',\n jp: 'japan',\n nl: 'netherlands',\n sg: 'singapore',\n kr: 'south-korea',\n sw: 'sweden',\n uk: 'united-kingdom',\n usa: 'united-states',\n za: 'south-africa',\n Australia: 'australia',\n Brazil: 'brazil',\n Canada: 'canada',\n EuropeanUnion: 'european-union',\n France: 'france',\n Germany: 'germany',\n GreatBritain: 'great-britain',\n HongKong: 'hong-kong',\n India: 'india',\n Indonesia: 'indonesia',\n Ireland: 'ireland',\n Israel: 'israel',\n Japan: 'japan',\n Netherlands: 'netherlands',\n Singapore: 'singapore',\n SouthAfrica: 'south-africa',\n SouthKorea: 'south-korea',\n Sweden: 'sweden',\n Switzerland: 'switzerland',\n UnitedArabEmirates: 'united-arab-emirates',\n UnitedKingdom: 'united-kingdom',\n UnitedStates: 'united-states',\n } as AssetAliasMap,\n} as const;\n\nexport const resolveAssetName = (name: string): string => {\n if (ASSET_NAME_MAPPINGS.aliases[name]) {\n return ASSET_NAME_MAPPINGS.aliases[name];\n }\n\n if (ASSET_NAME_MAPPINGS.deprecated[name]) {\n console.warn(\n `Asset name \"${name}\" is deprecated, use \"${ASSET_NAME_MAPPINGS.deprecated[name]}\" instead`\n );\n\n return ASSET_NAME_MAPPINGS.deprecated[name];\n }\n\n return name;\n};\n\nexport const createAssetResolver = <T extends string>() => {\n return (name: string): T => resolveAssetName(name) as T;\n};\n"],"names":[],"mappings":"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"}
@@ -93,6 +93,10 @@ const CardHorizontal = ({
93
93
  window.open(infoUrl, "_blank");
94
94
  }
95
95
  };
96
+ const handleButtonClick = (e) => {
97
+ e.stopPropagation();
98
+ handleClick(e);
99
+ };
96
100
  return /* @__PURE__ */ jsx(
97
101
  "div",
98
102
  {
@@ -185,7 +189,7 @@ const CardHorizontal = ({
185
189
  Button,
186
190
  {
187
191
  label: infoText,
188
- onClick: handleClick,
192
+ onClick: handleButtonClick,
189
193
  disabled,
190
194
  fillWidth: true
191
195
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/CardHorizontal/CardHorizontal.tsx"],"sourcesContent":["import { Badge } from '@/components/Badge';\nimport { Button } from '@/components/Button';\nimport { Container } from '@/components/Container';\nimport { Icon } from '@/components/Icon';\nimport { cn, cva } from '@/lib/cva';\nimport { CardHorizontalProps } from './CardHorizontal.types';\nimport styles from './CardHorizontal.module.css';\n\nconst wrapperVariants = cva(styles.wrapper, {\n variants: {\n color: {\n default: styles['wrapper_color_default'],\n muted: styles['wrapper_color_muted'],\n },\n size: {\n sm: styles['wrapper_size_sm'],\n md: styles['wrapper_size_md'],\n },\n alignment: {\n center: styles['wrapper_alignment_center'],\n top: styles['wrapper_alignment_top'],\n },\n selectable: {\n true: styles['wrapper_selectable'],\n },\n selected: {\n true: styles['wrapper_selected'],\n },\n disabled: {\n true: styles['wrapper_disabled'],\n },\n },\n defaultVariants: {\n color: 'default',\n size: 'md',\n alignment: 'center',\n },\n});\n\nconst contentWrapperVariants = cva(styles.contentwrapper, {\n variants: {\n size: {\n sm: styles['contentwrapper_size_sm'],\n md: styles['contentwrapper_size_md'],\n },\n },\n defaultVariants: { size: 'md' },\n});\n\nconst iconTextContentWrapperVariants = cva(styles.icontextcontentwrapper, {\n variants: {\n size: {\n sm: styles['icontextcontentwrapper_size_sm'],\n md: styles['icontextcontentwrapper_size_md'],\n },\n alignment: {\n center: styles['icontextcontentwrapper_alignment_center'],\n top: styles['icontextcontentwrapper_alignment_top'],\n },\n },\n defaultVariants: { size: 'md', alignment: 'center' },\n});\n\nexport const CardHorizontal = ({\n title,\n icon,\n description,\n disabled = false,\n infoText,\n infoUrl,\n isSelected,\n isSelectable = infoText ? false : true,\n children,\n color = 'default',\n size = 'md',\n alignment = 'center',\n badgeText,\n badgeState,\n badgeIcon,\n badgeIconDir,\n onButtonClick,\n className,\n ...props\n}: CardHorizontalProps) => {\n const handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n if (typeof onButtonClick === 'function') {\n onButtonClick(e);\n }\n if (infoUrl && infoUrl.length > 0) {\n window.open(infoUrl, '_blank');\n }\n };\n return (\n <div\n tabIndex={disabled ? -1 : 0}\n aria-disabled={disabled}\n onClick={handleClick}\n {...props}\n className={cn(\n wrapperVariants({\n color,\n size,\n alignment,\n selectable: isSelectable,\n selected: isSelected,\n disabled,\n }),\n className\n )}\n >\n <div className={cn(contentWrapperVariants({ size }))}>\n <div className={cn(iconTextContentWrapperVariants({ size, alignment }))}>\n {icon && (\n <Icon\n name={icon}\n aria-hidden\n className={styles.cardicon}\n />\n )}\n <Container\n padding=\"none\"\n orientation=\"vertical\"\n >\n {title && (\n <Container\n className={styles.header}\n isResponsive={false}\n gap=\"xs\"\n justifyContent=\"space-between\"\n fillWidth\n >\n <Container\n orientation=\"horizontal\"\n gap=\"xs\"\n isResponsive={false}\n fillWidth={false}\n grow=\"1\"\n >\n {title}\n </Container>\n {badgeText && (\n <Container\n isResponsive={false}\n justifyContent=\"end\"\n fillWidth={false}\n data-testid=\"horizontal-card-badge\"\n >\n <Badge\n text={badgeText}\n size=\"md\"\n state={badgeState}\n icon={badgeIcon}\n iconDir={badgeIconDir}\n />\n </Container>\n )}\n </Container>\n )}\n\n {description && <div className={styles.description}>{description}</div>}\n {children && <div className={styles.description}>{children}</div>}\n </Container>\n </div>\n {infoText && (\n <Container\n justifyContent=\"end\"\n fillWidth={false}\n data-testid=\"horizontal-card-button\"\n >\n <Button\n label={infoText}\n onClick={handleClick}\n disabled={disabled}\n fillWidth\n />\n </Container>\n )}\n </div>\n </div>\n );\n};\n"],"names":["Icon"],"mappings":";;;;;;;;;AAQA,MAAM,eAAA,GAAkB,GAAA,CAAI,MAAA,CAAO,OAAA,EAAS;AAAA,EAC1C,QAAA,EAAU;AAAA,IACR,KAAA,EAAO;AAAA,MACL,OAAA,EAAS,OAAO,uBAAuB,CAAA;AAAA,MACvC,KAAA,EAAO,OAAO,qBAAqB;AAAA,KACrC;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,OAAO,iBAAiB,CAAA;AAAA,MAC5B,EAAA,EAAI,OAAO,iBAAiB;AAAA,KAC9B;AAAA,IACA,SAAA,EAAW;AAAA,MACT,MAAA,EAAQ,OAAO,0BAA0B,CAAA;AAAA,MACzC,GAAA,EAAK,OAAO,uBAAuB;AAAA,KACrC;AAAA,IACA,UAAA,EAAY;AAAA,MACV,IAAA,EAAM,OAAO,oBAAoB;AAAA,KACnC;AAAA,IACA,QAAA,EAAU;AAAA,MACR,IAAA,EAAM,OAAO,kBAAkB;AAAA,KACjC;AAAA,IACA,QAAA,EAAU;AAAA,MACR,IAAA,EAAM,OAAO,kBAAkB;AAAA;AACjC,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,KAAA,EAAO,SAAA;AAAA,IACP,IAAA,EAAM,IAAA;AAAA,IACN,SAAA,EAAW;AAAA;AAEf,CAAC,CAAA;AAED,MAAM,sBAAA,GAAyB,GAAA,CAAI,MAAA,CAAO,cAAA,EAAgB;AAAA,EACxD,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,OAAO,wBAAwB,CAAA;AAAA,MACnC,EAAA,EAAI,OAAO,wBAAwB;AAAA;AACrC,GACF;AAAA,EACA,eAAA,EAAiB,EAAE,IAAA,EAAM,IAAA;AAC3B,CAAC,CAAA;AAED,MAAM,8BAAA,GAAiC,GAAA,CAAI,MAAA,CAAO,sBAAA,EAAwB;AAAA,EACxE,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,OAAO,gCAAgC,CAAA;AAAA,MAC3C,EAAA,EAAI,OAAO,gCAAgC;AAAA,KAC7C;AAAA,IACA,SAAA,EAAW;AAAA,MACT,MAAA,EAAQ,OAAO,yCAAyC,CAAA;AAAA,MACxD,GAAA,EAAK,OAAO,sCAAsC;AAAA;AACpD,GACF;AAAA,EACA,eAAA,EAAiB,EAAE,IAAA,EAAM,IAAA,EAAM,WAAW,QAAA;AAC5C,CAAC,CAAA;AAEM,MAAM,iBAAiB,CAAC;AAAA,EAC7B,KAAA;AAAA,EACA,IAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,QAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA,GAAe,WAAW,KAAA,GAAQ,IAAA;AAAA,EAClC,QAAA;AAAA,EACA,KAAA,GAAQ,SAAA;AAAA,EACR,IAAA,GAAO,IAAA;AAAA,EACP,SAAA,GAAY,QAAA;AAAA,EACZ,SAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA;AAAA,EACA,aAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,KAA2B;AACzB,EAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAqC;AACxD,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,CAAA,CAAE,cAAA,EAAe;AACjB,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,OAAO,kBAAkB,UAAA,EAAY;AACvC,MAAA,aAAA,CAAc,CAAC,CAAA;AAAA,IACjB;AACA,IAAA,IAAI,OAAA,IAAW,OAAA,CAAQ,MAAA,GAAS,CAAA,EAAG;AACjC,MAAA,MAAA,CAAO,IAAA,CAAK,SAAS,QAAQ,CAAA;AAAA,IAC/B;AAAA,EACF,CAAA;AACA,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,QAAA,EAAU,WAAW,EAAA,GAAK,CAAA;AAAA,MAC1B,eAAA,EAAe,QAAA;AAAA,MACf,OAAA,EAAS,WAAA;AAAA,MACR,GAAG,KAAA;AAAA,MACJ,SAAA,EAAW,EAAA;AAAA,QACT,eAAA,CAAgB;AAAA,UACd,KAAA;AAAA,UACA,IAAA;AAAA,UACA,SAAA;AAAA,UACA,UAAA,EAAY,YAAA;AAAA,UACZ,QAAA,EAAU,UAAA;AAAA,UACV;AAAA,SACD,CAAA;AAAA,QACD;AAAA,OACF;AAAA,MAEA,QAAA,kBAAA,IAAA,CAAC,SAAI,SAAA,EAAW,EAAA,CAAG,uBAAuB,EAAE,IAAA,EAAM,CAAC,CAAA,EACjD,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAW,EAAA,CAAG,8BAAA,CAA+B,EAAE,IAAA,EAAM,SAAA,EAAW,CAAC,CAAA,EACnE,QAAA,EAAA;AAAA,UAAA,IAAA,oBACC,GAAA;AAAA,YAACA,QAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAM,IAAA;AAAA,cACN,aAAA,EAAW,IAAA;AAAA,cACX,WAAW,MAAA,CAAO;AAAA;AAAA,WACpB;AAAA,0BAEF,IAAA;AAAA,YAAC,SAAA;AAAA,YAAA;AAAA,cACC,OAAA,EAAQ,MAAA;AAAA,cACR,WAAA,EAAY,UAAA;AAAA,cAEX,QAAA,EAAA;AAAA,gBAAA,KAAA,oBACC,IAAA;AAAA,kBAAC,SAAA;AAAA,kBAAA;AAAA,oBACC,WAAW,MAAA,CAAO,MAAA;AAAA,oBAClB,YAAA,EAAc,KAAA;AAAA,oBACd,GAAA,EAAI,IAAA;AAAA,oBACJ,cAAA,EAAe,eAAA;AAAA,oBACf,SAAA,EAAS,IAAA;AAAA,oBAET,QAAA,EAAA;AAAA,sCAAA,GAAA;AAAA,wBAAC,SAAA;AAAA,wBAAA;AAAA,0BACC,WAAA,EAAY,YAAA;AAAA,0BACZ,GAAA,EAAI,IAAA;AAAA,0BACJ,YAAA,EAAc,KAAA;AAAA,0BACd,SAAA,EAAW,KAAA;AAAA,0BACX,IAAA,EAAK,GAAA;AAAA,0BAEJ,QAAA,EAAA;AAAA;AAAA,uBACH;AAAA,sBACC,SAAA,oBACC,GAAA;AAAA,wBAAC,SAAA;AAAA,wBAAA;AAAA,0BACC,YAAA,EAAc,KAAA;AAAA,0BACd,cAAA,EAAe,KAAA;AAAA,0BACf,SAAA,EAAW,KAAA;AAAA,0BACX,aAAA,EAAY,uBAAA;AAAA,0BAEZ,QAAA,kBAAA,GAAA;AAAA,4BAAC,KAAA;AAAA,4BAAA;AAAA,8BACC,IAAA,EAAM,SAAA;AAAA,8BACN,IAAA,EAAK,IAAA;AAAA,8BACL,KAAA,EAAO,UAAA;AAAA,8BACP,IAAA,EAAM,SAAA;AAAA,8BACN,OAAA,EAAS;AAAA;AAAA;AACX;AAAA;AACF;AAAA;AAAA,iBAEJ;AAAA,gBAGD,+BAAe,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,aAAc,QAAA,EAAA,WAAA,EAAY,CAAA;AAAA,gBAChE,4BAAY,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,aAAc,QAAA,EAAS;AAAA;AAAA;AAAA;AAC7D,SAAA,EACF,CAAA;AAAA,QACC,QAAA,oBACC,GAAA;AAAA,UAAC,SAAA;AAAA,UAAA;AAAA,YACC,cAAA,EAAe,KAAA;AAAA,YACf,SAAA,EAAW,KAAA;AAAA,YACX,aAAA,EAAY,wBAAA;AAAA,YAEZ,QAAA,kBAAA,GAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,KAAA,EAAO,QAAA;AAAA,gBACP,OAAA,EAAS,WAAA;AAAA,gBACT,QAAA;AAAA,gBACA,SAAA,EAAS;AAAA;AAAA;AACX;AAAA;AACF,OAAA,EAEJ;AAAA;AAAA,GACF;AAEJ;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/CardHorizontal/CardHorizontal.tsx"],"sourcesContent":["import { Badge } from '@/components/Badge';\nimport { Button } from '@/components/Button';\nimport { Container } from '@/components/Container';\nimport { Icon } from '@/components/Icon';\nimport { cn, cva } from '@/lib/cva';\nimport { CardHorizontalProps } from './CardHorizontal.types';\nimport styles from './CardHorizontal.module.css';\n\nconst wrapperVariants = cva(styles.wrapper, {\n variants: {\n color: {\n default: styles['wrapper_color_default'],\n muted: styles['wrapper_color_muted'],\n },\n size: {\n sm: styles['wrapper_size_sm'],\n md: styles['wrapper_size_md'],\n },\n alignment: {\n center: styles['wrapper_alignment_center'],\n top: styles['wrapper_alignment_top'],\n },\n selectable: {\n true: styles['wrapper_selectable'],\n },\n selected: {\n true: styles['wrapper_selected'],\n },\n disabled: {\n true: styles['wrapper_disabled'],\n },\n },\n defaultVariants: {\n color: 'default',\n size: 'md',\n alignment: 'center',\n },\n});\n\nconst contentWrapperVariants = cva(styles.contentwrapper, {\n variants: {\n size: {\n sm: styles['contentwrapper_size_sm'],\n md: styles['contentwrapper_size_md'],\n },\n },\n defaultVariants: { size: 'md' },\n});\n\nconst iconTextContentWrapperVariants = cva(styles.icontextcontentwrapper, {\n variants: {\n size: {\n sm: styles['icontextcontentwrapper_size_sm'],\n md: styles['icontextcontentwrapper_size_md'],\n },\n alignment: {\n center: styles['icontextcontentwrapper_alignment_center'],\n top: styles['icontextcontentwrapper_alignment_top'],\n },\n },\n defaultVariants: { size: 'md', alignment: 'center' },\n});\n\nexport const CardHorizontal = ({\n title,\n icon,\n description,\n disabled = false,\n infoText,\n infoUrl,\n isSelected,\n isSelectable = infoText ? false : true,\n children,\n color = 'default',\n size = 'md',\n alignment = 'center',\n badgeText,\n badgeState,\n badgeIcon,\n badgeIconDir,\n onButtonClick,\n className,\n ...props\n}: CardHorizontalProps) => {\n const handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n if (typeof onButtonClick === 'function') {\n onButtonClick(e);\n }\n if (infoUrl && infoUrl.length > 0) {\n window.open(infoUrl, '_blank');\n }\n };\n const handleButtonClick = (e: React.MouseEvent<HTMLElement>) => {\n e.stopPropagation();\n handleClick(e);\n };\n return (\n <div\n tabIndex={disabled ? -1 : 0}\n aria-disabled={disabled}\n onClick={handleClick}\n {...props}\n className={cn(\n wrapperVariants({\n color,\n size,\n alignment,\n selectable: isSelectable,\n selected: isSelected,\n disabled,\n }),\n className\n )}\n >\n <div className={cn(contentWrapperVariants({ size }))}>\n <div className={cn(iconTextContentWrapperVariants({ size, alignment }))}>\n {icon && (\n <Icon\n name={icon}\n aria-hidden\n className={styles.cardicon}\n />\n )}\n <Container\n padding=\"none\"\n orientation=\"vertical\"\n >\n {title && (\n <Container\n className={styles.header}\n isResponsive={false}\n gap=\"xs\"\n justifyContent=\"space-between\"\n fillWidth\n >\n <Container\n orientation=\"horizontal\"\n gap=\"xs\"\n isResponsive={false}\n fillWidth={false}\n grow=\"1\"\n >\n {title}\n </Container>\n {badgeText && (\n <Container\n isResponsive={false}\n justifyContent=\"end\"\n fillWidth={false}\n data-testid=\"horizontal-card-badge\"\n >\n <Badge\n text={badgeText}\n size=\"md\"\n state={badgeState}\n icon={badgeIcon}\n iconDir={badgeIconDir}\n />\n </Container>\n )}\n </Container>\n )}\n\n {description && <div className={styles.description}>{description}</div>}\n {children && <div className={styles.description}>{children}</div>}\n </Container>\n </div>\n {infoText && (\n <Container\n justifyContent=\"end\"\n fillWidth={false}\n data-testid=\"horizontal-card-button\"\n >\n <Button\n label={infoText}\n onClick={handleButtonClick}\n disabled={disabled}\n fillWidth\n />\n </Container>\n )}\n </div>\n </div>\n );\n};\n"],"names":["Icon"],"mappings":"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"}
@@ -10,6 +10,7 @@ import bash from 'react-syntax-highlighter/dist/cjs/languages/hljs/bash.js';
10
10
  import json from 'react-syntax-highlighter/dist/cjs/languages/hljs/json.js';
11
11
  import tsx from 'react-syntax-highlighter/dist/cjs/languages/hljs/typescript.js';
12
12
  import plaintext from 'react-syntax-highlighter/dist/cjs/languages/hljs/plaintext.js';
13
+ import diff from 'react-syntax-highlighter/dist/cjs/languages/hljs/diff.js';
13
14
  import { IconButton } from '../IconButton/index.js';
14
15
 
15
16
  Light.registerLanguage("sql", sql.default || sql);
@@ -17,6 +18,7 @@ Light.registerLanguage("bash", bash.default || bash);
17
18
  Light.registerLanguage("json", json.default || json);
18
19
  Light.registerLanguage("tsx", tsx.default || tsx);
19
20
  Light.registerLanguage("plaintext", plaintext.default || plaintext);
21
+ Light.registerLanguage("diff", diff.default || diff);
20
22
  const CodeBlock = ({
21
23
  children,
22
24
  language,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/CodeBlock/CodeBlock.tsx"],"sourcesContent":["import React, { HTMLAttributes, useState } from 'react';\nimport { Light as SyntaxHighlighter, createElement } from 'react-syntax-highlighter';\n\nimport { IconButton } from '@/components/IconButton';\n\nimport { cn } from '@/lib/cva';\nimport useColorStyle, { useButtonStateColors, useNumbersColor } from './useColorStyle';\nimport { CodeBlockProps } from './CodeBlock.types';\nimport styles from './CodeBlock.module.css';\n\n/* eslint-disable import/extensions */\n// @ts-expect-error - Importing CJS modules in ESM context requires explicit .js extension\nimport sql from 'react-syntax-highlighter/dist/cjs/languages/hljs/sql.js';\n// @ts-expect-error - Importing CJS modules in ESM context requires explicit .js extension\nimport bash from 'react-syntax-highlighter/dist/cjs/languages/hljs/bash.js';\n// @ts-expect-error - Importing CJS modules in ESM context requires explicit .js extension\nimport json from 'react-syntax-highlighter/dist/cjs/languages/hljs/json.js';\n// @ts-expect-error - Importing CJS modules in ESM context requires explicit .js extension\nimport tsx from 'react-syntax-highlighter/dist/cjs/languages/hljs/typescript.js';\n// @ts-expect-error - Importing CJS modules in ESM context requires explicit .js extension\nimport plaintext from 'react-syntax-highlighter/dist/cjs/languages/hljs/plaintext.js';\n/* eslint-enable import/extensions */\n\nSyntaxHighlighter.registerLanguage('sql', sql.default || sql);\nSyntaxHighlighter.registerLanguage('bash', bash.default || bash);\nSyntaxHighlighter.registerLanguage('json', json.default || json);\nSyntaxHighlighter.registerLanguage('tsx', tsx.default || tsx);\nSyntaxHighlighter.registerLanguage('plaintext', plaintext.default || plaintext);\n\ninterface RendererNodeType {\n type: 'element' | 'text';\n value?: string | number | undefined;\n tagName?: keyof React.JSX.IntrinsicElements | React.ComponentType | undefined;\n properties?: { className: unknown[]; [key: string]: unknown };\n children?: RendererNodeType[];\n}\ninterface CustomRendererProps {\n rows: RendererNodeType[];\n stylesheet: { [key: string]: React.CSSProperties };\n useInlineStyles: boolean;\n}\n\nexport const CodeBlock = ({\n children,\n language,\n theme,\n showLineNumbers,\n showWrapButton = false,\n wrapLines = false,\n ariaLabel,\n onCopy,\n onCopyError,\n className,\n style,\n ...props\n}: CodeBlockProps) => {\n const [copied, setCopied] = useState(false);\n const [errorCopy, setErrorCopy] = useState(false);\n const [wrap, setWrap] = useState(wrapLines);\n const customStyle = useColorStyle(theme);\n const numbersColor = useNumbersColor(theme);\n const buttonStateColors = useButtonStateColors();\n\n const copyCodeToClipboard = async () => {\n try {\n await navigator.clipboard.writeText(children);\n if (typeof onCopy == 'function') {\n onCopy(children);\n }\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n } catch (error) {\n let message = 'Unable to copy code';\n if (error instanceof Error) {\n message = error.message;\n }\n setErrorCopy(true);\n if (typeof onCopyError === 'function') {\n onCopyError(message);\n }\n setTimeout(() => setErrorCopy(false), 2000);\n }\n };\n\n const codeRegionLabel =\n ariaLabel ?? (language ? `${language} code block` : 'Code block');\n\n const wrapElement = () => {\n setWrap(wrap => !wrap);\n };\n\n const CodeWithRef = (props: HTMLAttributes<HTMLElement>) => (\n <code\n {...props}\n className={cn(styles['codeblock__content'], props.className)}\n />\n );\n return (\n <div\n {...props}\n style={{ '--codeblock-numbers': numbersColor, ...style } as React.CSSProperties}\n className={cn(styles.codeblock, className)}\n >\n <SyntaxHighlighter\n tabIndex={0}\n role=\"group\"\n aria-label={codeRegionLabel}\n language={language}\n style={customStyle}\n CodeTag={CodeWithRef}\n className={styles['codeblock__highlighter']}\n renderer={({ rows, stylesheet, useInlineStyles }: CustomRendererProps) => {\n return rows.map((row, index) => {\n const children = row.children;\n const lineNumberElement = children?.shift();\n\n /**\n * We will take current structure of the rows and rebuild it\n * according to the suggestion here https://github.com/react-syntax-highlighter/react-syntax-highlighter/issues/376#issuecomment-1246115899\n */\n if (lineNumberElement) {\n row.children = [\n lineNumberElement,\n {\n children,\n properties: {\n className: [],\n },\n tagName: 'span',\n type: 'element',\n },\n ];\n }\n\n return createElement({\n node: row,\n stylesheet,\n useInlineStyles,\n key: index,\n });\n });\n }}\n showLineNumbers={showLineNumbers}\n wrapLines={wrap || wrapLines}\n wrapLongLines={wrap || wrapLines}\n >\n {children}\n </SyntaxHighlighter>\n <div className={styles['codeblock__button-container']}>\n {showWrapButton && (\n <IconButton\n className={styles['codeblock__button']}\n icon=\"document\"\n onClick={wrapElement}\n />\n )}\n <IconButton\n className={styles['codeblock__button']}\n style={\n {\n '--codeblock-button': copied\n ? buttonStateColors.success\n : errorCopy\n ? buttonStateColors.danger\n : undefined,\n } as React.CSSProperties\n }\n icon={copied ? 'check' : errorCopy ? 'warning' : 'copy'}\n onClick={copyCodeToClipboard}\n />\n </div>\n </div>\n );\n};\n"],"names":["SyntaxHighlighter","wrap","props","children"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/CodeBlock/CodeBlock.tsx"],"sourcesContent":["import React, { HTMLAttributes, useState } from 'react';\nimport { Light as SyntaxHighlighter, createElement } from 'react-syntax-highlighter';\n\nimport { IconButton } from '@/components/IconButton';\n\nimport { cn } from '@/lib/cva';\nimport useColorStyle, { useButtonStateColors, useNumbersColor } from './useColorStyle';\nimport { CodeBlockProps } from './CodeBlock.types';\nimport styles from './CodeBlock.module.css';\n\n/* eslint-disable import/extensions */\n// @ts-expect-error - Importing CJS modules in ESM context requires explicit .js extension\nimport sql from 'react-syntax-highlighter/dist/cjs/languages/hljs/sql.js';\n// @ts-expect-error - Importing CJS modules in ESM context requires explicit .js extension\nimport bash from 'react-syntax-highlighter/dist/cjs/languages/hljs/bash.js';\n// @ts-expect-error - Importing CJS modules in ESM context requires explicit .js extension\nimport json from 'react-syntax-highlighter/dist/cjs/languages/hljs/json.js';\n// @ts-expect-error - Importing CJS modules in ESM context requires explicit .js extension\nimport tsx from 'react-syntax-highlighter/dist/cjs/languages/hljs/typescript.js';\n// @ts-expect-error - Importing CJS modules in ESM context requires explicit .js extension\nimport plaintext from 'react-syntax-highlighter/dist/cjs/languages/hljs/plaintext.js';\n// @ts-expect-error - Importing CJS modules in ESM context requires explicit .js extension\nimport diff from 'react-syntax-highlighter/dist/cjs/languages/hljs/diff.js';\n/* eslint-enable import/extensions */\n\nSyntaxHighlighter.registerLanguage('sql', sql.default || sql);\nSyntaxHighlighter.registerLanguage('bash', bash.default || bash);\nSyntaxHighlighter.registerLanguage('json', json.default || json);\nSyntaxHighlighter.registerLanguage('tsx', tsx.default || tsx);\nSyntaxHighlighter.registerLanguage('plaintext', plaintext.default || plaintext);\nSyntaxHighlighter.registerLanguage('diff', diff.default || diff);\n\ninterface RendererNodeType {\n type: 'element' | 'text';\n value?: string | number | undefined;\n tagName?: keyof React.JSX.IntrinsicElements | React.ComponentType | undefined;\n properties?: { className: unknown[]; [key: string]: unknown };\n children?: RendererNodeType[];\n}\ninterface CustomRendererProps {\n rows: RendererNodeType[];\n stylesheet: { [key: string]: React.CSSProperties };\n useInlineStyles: boolean;\n}\n\nexport const CodeBlock = ({\n children,\n language,\n theme,\n showLineNumbers,\n showWrapButton = false,\n wrapLines = false,\n ariaLabel,\n onCopy,\n onCopyError,\n className,\n style,\n ...props\n}: CodeBlockProps) => {\n const [copied, setCopied] = useState(false);\n const [errorCopy, setErrorCopy] = useState(false);\n const [wrap, setWrap] = useState(wrapLines);\n const customStyle = useColorStyle(theme);\n const numbersColor = useNumbersColor(theme);\n const buttonStateColors = useButtonStateColors();\n\n const copyCodeToClipboard = async () => {\n try {\n await navigator.clipboard.writeText(children);\n if (typeof onCopy == 'function') {\n onCopy(children);\n }\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n } catch (error) {\n let message = 'Unable to copy code';\n if (error instanceof Error) {\n message = error.message;\n }\n setErrorCopy(true);\n if (typeof onCopyError === 'function') {\n onCopyError(message);\n }\n setTimeout(() => setErrorCopy(false), 2000);\n }\n };\n\n const codeRegionLabel =\n ariaLabel ?? (language ? `${language} code block` : 'Code block');\n\n const wrapElement = () => {\n setWrap(wrap => !wrap);\n };\n\n const CodeWithRef = (props: HTMLAttributes<HTMLElement>) => (\n <code\n {...props}\n className={cn(styles['codeblock__content'], props.className)}\n />\n );\n return (\n <div\n {...props}\n style={{ '--codeblock-numbers': numbersColor, ...style } as React.CSSProperties}\n className={cn(styles.codeblock, className)}\n >\n <SyntaxHighlighter\n tabIndex={0}\n role=\"group\"\n aria-label={codeRegionLabel}\n language={language}\n style={customStyle}\n CodeTag={CodeWithRef}\n className={styles['codeblock__highlighter']}\n renderer={({ rows, stylesheet, useInlineStyles }: CustomRendererProps) => {\n return rows.map((row, index) => {\n const children = row.children;\n const lineNumberElement = children?.shift();\n\n /**\n * We will take current structure of the rows and rebuild it\n * according to the suggestion here https://github.com/react-syntax-highlighter/react-syntax-highlighter/issues/376#issuecomment-1246115899\n */\n if (lineNumberElement) {\n row.children = [\n lineNumberElement,\n {\n children,\n properties: {\n className: [],\n },\n tagName: 'span',\n type: 'element',\n },\n ];\n }\n\n return createElement({\n node: row,\n stylesheet,\n useInlineStyles,\n key: index,\n });\n });\n }}\n showLineNumbers={showLineNumbers}\n wrapLines={wrap || wrapLines}\n wrapLongLines={wrap || wrapLines}\n >\n {children}\n </SyntaxHighlighter>\n <div className={styles['codeblock__button-container']}>\n {showWrapButton && (\n <IconButton\n className={styles['codeblock__button']}\n icon=\"document\"\n onClick={wrapElement}\n />\n )}\n <IconButton\n className={styles['codeblock__button']}\n style={\n {\n '--codeblock-button': copied\n ? buttonStateColors.success\n : errorCopy\n ? buttonStateColors.danger\n : undefined,\n } as React.CSSProperties\n }\n icon={copied ? 'check' : errorCopy ? 'warning' : 'copy'}\n onClick={copyCodeToClipboard}\n />\n </div>\n </div>\n );\n};\n"],"names":["SyntaxHighlighter","wrap","props","children"],"mappings":"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"}
@@ -279,9 +279,8 @@ const PredefinedDates = ({
279
279
  };
280
280
  const DateRangePicker = ({
281
281
  allowOnlyDatesList,
282
- endDate,
283
- startDate,
284
282
  disabled = false,
283
+ endDate,
285
284
  futureDatesDisabled = false,
286
285
  futureStartDatesDisabled = false,
287
286
  maxRangeLength = -1,
@@ -290,6 +289,7 @@ const DateRangePicker = ({
290
289
  placeholder = "start date – end date",
291
290
  predefinedDatesList,
292
291
  responsivePositioning = true,
292
+ startDate,
293
293
  timezone = "system"
294
294
  }) => {
295
295
  const [isOpen, setIsOpen] = useState(false);
@@ -427,7 +427,7 @@ const DateRangePicker = ({
427
427
  StyledCalendarRenderer,
428
428
  {
429
429
  calendarOptions,
430
- allowYearMonthSelection: false,
430
+ allowYearMonthSelection: true,
431
431
  selectedDate: selectedStartDate,
432
432
  timezone,
433
433
  children: (body) => /* @__PURE__ */ jsx(
@@ -455,7 +455,7 @@ const DateRangePicker = ({
455
455
  CalendarRenderer,
456
456
  {
457
457
  calendarOptions,
458
- allowYearMonthSelection: false,
458
+ allowYearMonthSelection: true,
459
459
  selectedDate: selectedStartDate,
460
460
  timezone,
461
461
  children: (body) => /* @__PURE__ */ jsx(
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangePicker.js","sources":["../../../../src/components/DatePicker/DateRangePicker.tsx"],"sourcesContent":["import {\n ComponentProps,\n Dispatch,\n forwardRef,\n KeyboardEvent,\n MouseEvent,\n ReactNode,\n SetStateAction,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { isSameDate, UseCalendarOptions } from '@h6s/calendar';\nimport { Dropdown } from '@/components/Dropdown';\nimport {\n Body,\n CalendarRenderer,\n DateRangePickerInput,\n DateTableCell,\n StyledDropdownItem,\n} from './Common';\nimport { Container } from '@/components/Container';\nimport { Panel } from '@/components/Panel';\nimport { Icon } from '@/components/Icon';\nimport { cn, cva } from '@/lib/cva';\nimport styles from './DateRangePicker.module.css';\nimport {\n DateRange,\n Timezone,\n areDatesWithinMaxRange,\n formatDateHeader,\n formatSelectedDate,\n isDateNotInAllowList,\n isDateRangeTheWholeMonth,\n shiftFromTimezone,\n shiftToTimezone,\n} from './utils';\n\ntype OpenDirection = 'left' | 'right';\n\nconst PredefinedCalendarContainer = ({\n className,\n children,\n gap,\n orientation,\n padding,\n}: ComponentProps<typeof Panel>) => (\n <Panel\n gap={gap}\n orientation={orientation}\n padding={padding}\n className={cn(styles['predefined-calendar-container'], className)}\n >\n {children}\n </Panel>\n);\n\nconst PredefinedDatesContainer = ({\n className,\n children,\n isResponsive,\n orientation,\n 'data-testid': dataTestId,\n}: ComponentProps<typeof Container> & { 'data-testid'?: string }) => (\n <Container\n isResponsive={isResponsive}\n orientation={orientation}\n data-testid={dataTestId}\n className={cn(styles['predefined-dates-container'], className)}\n >\n {children}\n </Container>\n);\n\nconst calendarRendererContainerVariants = cva(styles['calendar-renderer-container'], {\n variants: {\n openDirection: {\n left: styles['calendar-renderer-container_left'],\n right: styles['calendar-renderer-container_right'],\n },\n },\n defaultVariants: { openDirection: 'right' },\n});\n\nconst CalendarRendererContainer = forwardRef<\n HTMLDivElement,\n { openDirection?: OpenDirection; children: ReactNode }\n>(({ openDirection, children }, ref) => (\n <div\n ref={ref}\n className={calendarRendererContainerVariants({ openDirection })}\n >\n {children}\n </div>\n));\nCalendarRendererContainer.displayName = 'CalendarRendererContainer';\n\nconst StyledCalendarRenderer = ({\n className,\n children,\n calendarOptions,\n allowYearMonthSelection,\n selectedDate,\n timezone,\n}: ComponentProps<typeof CalendarRenderer>) => (\n <CalendarRenderer\n calendarOptions={calendarOptions}\n allowYearMonthSelection={allowYearMonthSelection}\n selectedDate={selectedDate}\n timezone={timezone}\n className={cn(styles['styled-calendar-renderer'], className)}\n >\n {children}\n </CalendarRenderer>\n);\n\nconst ScrollableContainer = ({\n className,\n children,\n orientation,\n}: ComponentProps<typeof Container>) => (\n <Container\n orientation={orientation}\n className={cn(styles['scrollable-container'], className)}\n >\n {children}\n </Container>\n);\n\nconst dateRangeTableCellVariants = cva(undefined, {\n variants: {\n showRangeIndicator: { true: styles['date-range-table-cell_indicator'] },\n },\n});\n\nconst DateRangeTableCell = ({\n shouldShowRangeIndicator,\n className,\n children,\n isCurrentMonth,\n isDisabled,\n isSelected,\n isPresent,\n onClick,\n onMouseEnter,\n onMouseLeave,\n}: ComponentProps<typeof DateTableCell> & {\n shouldShowRangeIndicator?: boolean;\n}) => (\n <DateTableCell\n isCurrentMonth={isCurrentMonth}\n isDisabled={isDisabled}\n isSelected={isSelected}\n isPresent={isPresent}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n className={cn(\n dateRangeTableCellVariants({ showRangeIndicator: shouldShowRangeIndicator }),\n className\n )}\n >\n {children}\n </DateTableCell>\n);\n\ninterface CalendarProps {\n allowOnlyDatesList?: Array<Date>;\n calendarBody: Body;\n closeDatepicker: () => void;\n futureDatesDisabled: boolean;\n futureStartDatesDisabled: boolean;\n maxRangeLength: number;\n setSelectedDate: (selectedDate: Date) => void;\n startDate?: Date;\n endDate?: Date;\n timezone: Timezone;\n}\n\nconst Calendar = ({\n allowOnlyDatesList,\n calendarBody,\n closeDatepicker,\n futureDatesDisabled,\n futureStartDatesDisabled,\n maxRangeLength,\n setSelectedDate,\n startDate,\n endDate,\n timezone,\n}: CalendarProps) => {\n const [hoveredDate, setHoveredDate] = useState<Date>();\n\n const today = shiftToTimezone(new Date(), timezone);\n const shiftedStart = startDate ? shiftToTimezone(startDate, timezone) : undefined;\n const shiftedEnd = endDate ? shiftToTimezone(endDate, timezone) : undefined;\n\n const shiftedAllowList = useMemo(() => {\n return allowOnlyDatesList?.map(date => {\n return shiftToTimezone(date, timezone);\n });\n }, [allowOnlyDatesList, timezone]);\n\n const handleMouseOut = (): void => {\n setHoveredDate(undefined);\n };\n\n return calendarBody.value.map(({ key: weekKey, value: week }) => {\n return (\n <tr key={weekKey}>\n {week.map(({ date, isCurrentMonth, key: dayKey, value: fullDate }) => {\n const isSelected =\n (shiftedStart && isSameDate(shiftedStart, fullDate)) ||\n (shiftedEnd && isSameDate(shiftedEnd, fullDate));\n const isPresent = isSameDate(today, fullDate);\n\n const isBetweenStartAndEndDates = Boolean(\n shiftedStart && shiftedEnd && fullDate > shiftedStart && fullDate < shiftedEnd\n );\n\n let isDisabled = false;\n if (futureDatesDisabled && fullDate > today) {\n isDisabled = true;\n }\n\n if (futureStartDatesDisabled && !shiftedStart && fullDate > today) {\n isDisabled = true;\n }\n\n if (\n maxRangeLength > 1 &&\n shiftedStart &&\n !areDatesWithinMaxRange(shiftedStart, fullDate, maxRangeLength) &&\n fullDate > shiftedStart\n ) {\n isDisabled = true;\n }\n\n if (isDateNotInAllowList(shiftedAllowList, fullDate)) {\n isDisabled = true;\n }\n\n const shouldShowRangeIndicator =\n !shiftedEnd &&\n Boolean(\n shiftedStart &&\n hoveredDate &&\n fullDate > shiftedStart &&\n fullDate < hoveredDate\n );\n\n const handleMouseEnter = () => {\n setHoveredDate(fullDate);\n };\n\n const handleClick = () => {\n if (isDisabled) {\n return false;\n }\n setSelectedDate(shiftFromTimezone(fullDate, timezone));\n\n // User has a date range selected and clicked a new date.\n // This will cause the selected date to be reset, thus do not close the datepicker.\n if (shiftedStart && shiftedEnd) {\n return;\n }\n\n // The user has selected a new start date, don't close\n if (shiftedStart && fullDate < shiftedStart) {\n return;\n }\n\n // Only close the datepicker if the user hasn't clicked the selected start date.\n if (shiftedStart && !isSameDate(fullDate, shiftedStart)) {\n closeDatepicker();\n return;\n }\n };\n return (\n <DateRangeTableCell\n shouldShowRangeIndicator={\n !isSelected && (shouldShowRangeIndicator || isBetweenStartAndEndDates)\n }\n isCurrentMonth={isCurrentMonth}\n isDisabled={isDisabled}\n isSelected={Boolean(isSelected)}\n isPresent={isPresent}\n key={dayKey}\n onClick={handleClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseOut}\n >\n {date}\n </DateRangeTableCell>\n );\n })}\n </tr>\n );\n });\n};\n\ninterface PredefinedDatesProps {\n onSelectDateRange: (selectedStartDate: Date, selectedEndDate: Date) => void;\n predefinedDatesList: DateRange[];\n selectedEndDate: Date | undefined;\n selectedStartDate: Date | undefined;\n setEndDate: Dispatch<SetStateAction<Date | undefined>>;\n setStartDate: Dispatch<SetStateAction<Date | undefined>>;\n shouldShowCustomRange: boolean;\n showCustomDateRange: Dispatch<SetStateAction<boolean>>;\n timezone: Timezone;\n}\n\nconst PredefinedDates = ({\n onSelectDateRange,\n predefinedDatesList,\n selectedEndDate,\n selectedStartDate,\n setEndDate,\n setStartDate,\n shouldShowCustomRange,\n showCustomDateRange,\n timezone,\n}: PredefinedDatesProps) => {\n const handleCustomTimePeriodClick = (event: MouseEvent) => {\n event.preventDefault();\n showCustomDateRange(!shouldShowCustomRange);\n };\n\n return (\n <PredefinedDatesContainer\n data-testid=\"predefined-dates-list\"\n isResponsive={false}\n orientation=\"vertical\"\n >\n <ScrollableContainer orientation=\"vertical\">\n {predefinedDatesList.map(({ startDate, endDate }) => {\n const handleItemClick = () => {\n setStartDate(startDate);\n setEndDate(endDate);\n onSelectDateRange(startDate, endDate);\n };\n\n const rangeIsSelected =\n selectedEndDate &&\n isSameDate(selectedEndDate, endDate) &&\n selectedStartDate &&\n isSameDate(selectedStartDate, startDate);\n\n const isWholeMonth = isDateRangeTheWholeMonth({ startDate, endDate }, timezone);\n\n const formattedText = isWholeMonth\n ? formatDateHeader(timezone, startDate)\n : `${formatSelectedDate(timezone, startDate)} – ${formatSelectedDate(timezone, endDate)}`.trim();\n\n return (\n <StyledDropdownItem\n data-testid={`predefined-date-${startDate.getTime()}`}\n key={startDate.toISOString()}\n onClick={handleItemClick}\n >\n <Container\n data-selected={rangeIsSelected}\n data-testid={formattedText}\n justifyContent=\"space-between\"\n orientation=\"horizontal\"\n >\n {formattedText}\n {rangeIsSelected && <Icon name=\"check\" />}\n </Container>\n </StyledDropdownItem>\n );\n })}\n </ScrollableContainer>\n <StyledDropdownItem onClick={handleCustomTimePeriodClick}>\n <Container\n justifyContent=\"space-between\"\n orientation=\"horizontal\"\n >\n Custom time period <Icon name=\"chevron-right\" />\n </Container>\n </StyledDropdownItem>\n </PredefinedDatesContainer>\n );\n};\n\nexport interface DateRangePickerProps {\n allowOnlyDatesList?: Array<Date>;\n endDate?: Date;\n disabled?: boolean;\n futureDatesDisabled?: boolean;\n futureStartDatesDisabled?: boolean;\n onSelectDateRange: (selectedStartDate: Date, selectedEndDate: Date) => void;\n openDirection?: OpenDirection;\n placeholder?: string;\n predefinedDatesList?: DateRange[];\n maxRangeLength?: number;\n startDate?: Date;\n responsivePositioning?: boolean;\n timezone?: Timezone;\n}\n\nexport const DateRangePicker = ({\n allowOnlyDatesList,\n endDate,\n startDate,\n disabled = false,\n futureDatesDisabled = false,\n futureStartDatesDisabled = false,\n maxRangeLength = -1,\n onSelectDateRange,\n openDirection = 'right',\n placeholder = 'start date – end date',\n predefinedDatesList,\n responsivePositioning = true,\n timezone = 'system',\n}: DateRangePickerProps) => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const [selectedStartDate, setSelectedStartDate] = useState<Date>();\n const [selectedEndDate, setSelectedEndDate] = useState<Date>();\n const [shouldShowCustomRange, setShouldShowCustomRange] = useState<boolean>(false);\n const [calendarOpenDirection, setCalendarOpenDirection] =\n useState<OpenDirection>(openDirection);\n const calendarContainerRef = useRef<HTMLDivElement>(null);\n\n const calendarOptions: UseCalendarOptions = {};\n\n // If a start date is selected, open the calendar to that date\n if (selectedStartDate) {\n calendarOptions.defaultDate = selectedStartDate;\n }\n\n useEffect(() => {\n if (startDate) {\n setSelectedStartDate(startDate);\n }\n }, [startDate]);\n\n useEffect(() => {\n if (endDate) {\n setSelectedEndDate(endDate);\n }\n }, [endDate]);\n\n useLayoutEffect(() => {\n if (shouldShowCustomRange && calendarContainerRef.current) {\n if (\n calendarContainerRef.current.getBoundingClientRect().right > window.innerWidth\n ) {\n setCalendarOpenDirection('left');\n }\n }\n }, [shouldShowCustomRange]);\n\n const closeDatePicker = useCallback((): void => {\n setIsOpen(false);\n setShouldShowCustomRange(false);\n setCalendarOpenDirection(openDirection);\n }, [openDirection]);\n\n const handleOpenChange = (isOpen: boolean): void => {\n setIsOpen(isOpen);\n\n if (!isOpen) {\n setShouldShowCustomRange(false);\n setCalendarOpenDirection(openDirection);\n }\n };\n\n const handleSelectDate = useCallback(\n (selectedDate: Date): void => {\n // Start date and end date are selected, user clicks any date.\n // Set start date to the selected date, clear the end date.\n if (selectedStartDate && selectedEndDate) {\n // If futureStartDatesDisabled is true, only set the selected date to the date clicked if it's before today\n if (futureStartDatesDisabled && selectedDate > new Date()) {\n setSelectedEndDate(undefined);\n return;\n }\n setSelectedStartDate(selectedDate);\n setSelectedEndDate(undefined);\n return;\n }\n\n if (selectedStartDate) {\n if (isSameDate(selectedStartDate, selectedDate)) {\n // Start date is selected, user clicks start date.\n // Reset the start date.\n setSelectedStartDate(undefined);\n return;\n }\n\n // Start date is selected, user clicks an earlier date.\n // Set the earlier date to the new start date.\n if (selectedDate < selectedStartDate) {\n setSelectedStartDate(selectedDate);\n return;\n }\n\n // Otherwise, set the end date to the date the user clicked.\n setSelectedEndDate(selectedDate);\n onSelectDateRange(selectedStartDate, selectedDate);\n setShouldShowCustomRange(false);\n return;\n }\n\n setSelectedStartDate(selectedDate);\n },\n [futureStartDatesDisabled, onSelectDateRange, selectedEndDate, selectedStartDate]\n );\n\n const onTriggerKeyDown = useCallback((e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n setIsOpen(true);\n }\n }, []);\n\n const shouldShowPredefinedDates =\n predefinedDatesList !== undefined && predefinedDatesList.length > 0;\n\n return (\n <Dropdown\n onOpenChange={handleOpenChange}\n open={isOpen}\n >\n <Dropdown.Trigger\n disabled={disabled}\n onKeyDown={onTriggerKeyDown}\n >\n <DateRangePickerInput\n data-testid=\"datepicker-input-container\"\n disabled={disabled}\n isActive={isOpen}\n placeholder={placeholder}\n selectedEndDate={selectedEndDate}\n selectedStartDate={selectedStartDate}\n timezone={timezone}\n />\n </Dropdown.Trigger>\n <Dropdown.Content\n align=\"start\"\n responsivePositioning={responsivePositioning}\n >\n {shouldShowPredefinedDates ? (\n <PredefinedCalendarContainer\n gap=\"none\"\n orientation=\"horizontal\"\n padding=\"none\"\n >\n <PredefinedDates\n onSelectDateRange={onSelectDateRange}\n predefinedDatesList={predefinedDatesList}\n selectedEndDate={selectedEndDate}\n selectedStartDate={selectedStartDate}\n setEndDate={setSelectedEndDate}\n setStartDate={setSelectedStartDate}\n shouldShowCustomRange={shouldShowCustomRange}\n showCustomDateRange={setShouldShowCustomRange}\n timezone={timezone}\n />\n\n {shouldShowCustomRange && (\n <CalendarRendererContainer\n openDirection={calendarOpenDirection}\n ref={calendarContainerRef}\n >\n <StyledCalendarRenderer\n calendarOptions={calendarOptions}\n allowYearMonthSelection={false}\n selectedDate={selectedStartDate}\n timezone={timezone}\n >\n {(body: Body) => (\n <Calendar\n allowOnlyDatesList={allowOnlyDatesList}\n calendarBody={body}\n closeDatepicker={closeDatePicker}\n futureDatesDisabled={futureDatesDisabled}\n futureStartDatesDisabled={futureStartDatesDisabled}\n maxRangeLength={maxRangeLength}\n setSelectedDate={handleSelectDate}\n startDate={selectedStartDate}\n endDate={selectedEndDate}\n timezone={timezone}\n />\n )}\n </StyledCalendarRenderer>\n </CalendarRendererContainer>\n )}\n </PredefinedCalendarContainer>\n ) : (\n <CalendarRenderer\n calendarOptions={calendarOptions}\n allowYearMonthSelection={false}\n selectedDate={selectedStartDate}\n timezone={timezone}\n >\n {(body: Body) => (\n <Calendar\n allowOnlyDatesList={allowOnlyDatesList}\n calendarBody={body}\n closeDatepicker={closeDatePicker}\n futureDatesDisabled={futureDatesDisabled}\n futureStartDatesDisabled={futureStartDatesDisabled}\n maxRangeLength={maxRangeLength}\n setSelectedDate={handleSelectDate}\n startDate={selectedStartDate}\n endDate={selectedEndDate}\n timezone={timezone}\n />\n )}\n </CalendarRenderer>\n )}\n </Dropdown.Content>\n </Dropdown>\n );\n};\n"],"names":["Icon","isOpen"],"mappings":"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"}
1
+ {"version":3,"file":"DateRangePicker.js","sources":["../../../../src/components/DatePicker/DateRangePicker.tsx"],"sourcesContent":["import {\n ComponentProps,\n Dispatch,\n forwardRef,\n KeyboardEvent,\n MouseEvent,\n ReactNode,\n SetStateAction,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { isSameDate, UseCalendarOptions } from '@h6s/calendar';\nimport { Dropdown } from '@/components/Dropdown';\nimport {\n Body,\n CalendarRenderer,\n DateRangePickerInput,\n DateTableCell,\n StyledDropdownItem,\n} from './Common';\nimport { Container } from '@/components/Container';\nimport { Panel } from '@/components/Panel';\nimport { Icon } from '@/components/Icon';\nimport { cn, cva } from '@/lib/cva';\nimport styles from './DateRangePicker.module.css';\nimport {\n DateRange,\n Timezone,\n areDatesWithinMaxRange,\n formatDateHeader,\n formatSelectedDate,\n isDateNotInAllowList,\n isDateRangeTheWholeMonth,\n shiftFromTimezone,\n shiftToTimezone,\n} from './utils';\n\ntype OpenDirection = 'left' | 'right';\n\nconst PredefinedCalendarContainer = ({\n className,\n children,\n gap,\n orientation,\n padding,\n}: ComponentProps<typeof Panel>) => (\n <Panel\n gap={gap}\n orientation={orientation}\n padding={padding}\n className={cn(styles['predefined-calendar-container'], className)}\n >\n {children}\n </Panel>\n);\n\nconst PredefinedDatesContainer = ({\n className,\n children,\n isResponsive,\n orientation,\n 'data-testid': dataTestId,\n}: ComponentProps<typeof Container> & { 'data-testid'?: string }) => (\n <Container\n isResponsive={isResponsive}\n orientation={orientation}\n data-testid={dataTestId}\n className={cn(styles['predefined-dates-container'], className)}\n >\n {children}\n </Container>\n);\n\nconst calendarRendererContainerVariants = cva(styles['calendar-renderer-container'], {\n variants: {\n openDirection: {\n left: styles['calendar-renderer-container_left'],\n right: styles['calendar-renderer-container_right'],\n },\n },\n defaultVariants: { openDirection: 'right' },\n});\n\nconst CalendarRendererContainer = forwardRef<\n HTMLDivElement,\n { openDirection?: OpenDirection; children: ReactNode }\n>(({ openDirection, children }, ref) => (\n <div\n ref={ref}\n className={calendarRendererContainerVariants({ openDirection })}\n >\n {children}\n </div>\n));\nCalendarRendererContainer.displayName = 'CalendarRendererContainer';\n\nconst StyledCalendarRenderer = ({\n className,\n children,\n calendarOptions,\n allowYearMonthSelection,\n selectedDate,\n timezone,\n}: ComponentProps<typeof CalendarRenderer>) => (\n <CalendarRenderer\n calendarOptions={calendarOptions}\n allowYearMonthSelection={allowYearMonthSelection}\n selectedDate={selectedDate}\n timezone={timezone}\n className={cn(styles['styled-calendar-renderer'], className)}\n >\n {children}\n </CalendarRenderer>\n);\n\nconst ScrollableContainer = ({\n className,\n children,\n orientation,\n}: ComponentProps<typeof Container>) => (\n <Container\n orientation={orientation}\n className={cn(styles['scrollable-container'], className)}\n >\n {children}\n </Container>\n);\n\nconst dateRangeTableCellVariants = cva(undefined, {\n variants: {\n showRangeIndicator: { true: styles['date-range-table-cell_indicator'] },\n },\n});\n\nconst DateRangeTableCell = ({\n shouldShowRangeIndicator,\n className,\n children,\n isCurrentMonth,\n isDisabled,\n isSelected,\n isPresent,\n onClick,\n onMouseEnter,\n onMouseLeave,\n}: ComponentProps<typeof DateTableCell> & {\n shouldShowRangeIndicator?: boolean;\n}) => (\n <DateTableCell\n isCurrentMonth={isCurrentMonth}\n isDisabled={isDisabled}\n isSelected={isSelected}\n isPresent={isPresent}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n className={cn(\n dateRangeTableCellVariants({ showRangeIndicator: shouldShowRangeIndicator }),\n className\n )}\n >\n {children}\n </DateTableCell>\n);\n\ninterface CalendarProps {\n allowOnlyDatesList?: Array<Date>;\n calendarBody: Body;\n closeDatepicker: () => void;\n futureDatesDisabled: boolean;\n futureStartDatesDisabled: boolean;\n maxRangeLength: number;\n setSelectedDate: (selectedDate: Date) => void;\n startDate?: Date;\n endDate?: Date;\n timezone: Timezone;\n}\n\nconst Calendar = ({\n allowOnlyDatesList,\n calendarBody,\n closeDatepicker,\n futureDatesDisabled,\n futureStartDatesDisabled,\n maxRangeLength,\n setSelectedDate,\n startDate,\n endDate,\n timezone,\n}: CalendarProps) => {\n const [hoveredDate, setHoveredDate] = useState<Date>();\n\n const today = shiftToTimezone(new Date(), timezone);\n const shiftedStart = startDate ? shiftToTimezone(startDate, timezone) : undefined;\n const shiftedEnd = endDate ? shiftToTimezone(endDate, timezone) : undefined;\n\n const shiftedAllowList = useMemo(() => {\n return allowOnlyDatesList?.map(date => {\n return shiftToTimezone(date, timezone);\n });\n }, [allowOnlyDatesList, timezone]);\n\n const handleMouseOut = (): void => {\n setHoveredDate(undefined);\n };\n\n return calendarBody.value.map(({ key: weekKey, value: week }) => {\n return (\n <tr key={weekKey}>\n {week.map(({ date, isCurrentMonth, key: dayKey, value: fullDate }) => {\n const isSelected =\n (shiftedStart && isSameDate(shiftedStart, fullDate)) ||\n (shiftedEnd && isSameDate(shiftedEnd, fullDate));\n const isPresent = isSameDate(today, fullDate);\n\n const isBetweenStartAndEndDates = Boolean(\n shiftedStart && shiftedEnd && fullDate > shiftedStart && fullDate < shiftedEnd\n );\n\n let isDisabled = false;\n if (futureDatesDisabled && fullDate > today) {\n isDisabled = true;\n }\n\n if (futureStartDatesDisabled && !shiftedStart && fullDate > today) {\n isDisabled = true;\n }\n\n if (\n maxRangeLength > 1 &&\n shiftedStart &&\n !areDatesWithinMaxRange(shiftedStart, fullDate, maxRangeLength) &&\n fullDate > shiftedStart\n ) {\n isDisabled = true;\n }\n\n if (isDateNotInAllowList(shiftedAllowList, fullDate)) {\n isDisabled = true;\n }\n\n const shouldShowRangeIndicator =\n !shiftedEnd &&\n Boolean(\n shiftedStart &&\n hoveredDate &&\n fullDate > shiftedStart &&\n fullDate < hoveredDate\n );\n\n const handleMouseEnter = () => {\n setHoveredDate(fullDate);\n };\n\n const handleClick = () => {\n if (isDisabled) {\n return false;\n }\n setSelectedDate(shiftFromTimezone(fullDate, timezone));\n\n // User has a date range selected and clicked a new date.\n // This will cause the selected date to be reset, thus do not close the datepicker.\n if (shiftedStart && shiftedEnd) {\n return;\n }\n\n // The user has selected a new start date, don't close\n if (shiftedStart && fullDate < shiftedStart) {\n return;\n }\n\n // Only close the datepicker if the user hasn't clicked the selected start date.\n if (shiftedStart && !isSameDate(fullDate, shiftedStart)) {\n closeDatepicker();\n return;\n }\n };\n return (\n <DateRangeTableCell\n shouldShowRangeIndicator={\n !isSelected && (shouldShowRangeIndicator || isBetweenStartAndEndDates)\n }\n isCurrentMonth={isCurrentMonth}\n isDisabled={isDisabled}\n isSelected={Boolean(isSelected)}\n isPresent={isPresent}\n key={dayKey}\n onClick={handleClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseOut}\n >\n {date}\n </DateRangeTableCell>\n );\n })}\n </tr>\n );\n });\n};\n\ninterface PredefinedDatesProps {\n onSelectDateRange: (selectedStartDate: Date, selectedEndDate: Date) => void;\n predefinedDatesList: DateRange[];\n selectedEndDate: Date | undefined;\n selectedStartDate: Date | undefined;\n setEndDate: Dispatch<SetStateAction<Date | undefined>>;\n setStartDate: Dispatch<SetStateAction<Date | undefined>>;\n shouldShowCustomRange: boolean;\n showCustomDateRange: Dispatch<SetStateAction<boolean>>;\n timezone: Timezone;\n}\n\nconst PredefinedDates = ({\n onSelectDateRange,\n predefinedDatesList,\n selectedEndDate,\n selectedStartDate,\n setEndDate,\n setStartDate,\n shouldShowCustomRange,\n showCustomDateRange,\n timezone,\n}: PredefinedDatesProps) => {\n const handleCustomTimePeriodClick = (event: MouseEvent) => {\n event.preventDefault();\n showCustomDateRange(!shouldShowCustomRange);\n };\n\n return (\n <PredefinedDatesContainer\n data-testid=\"predefined-dates-list\"\n isResponsive={false}\n orientation=\"vertical\"\n >\n <ScrollableContainer orientation=\"vertical\">\n {predefinedDatesList.map(({ startDate, endDate }) => {\n const handleItemClick = () => {\n setStartDate(startDate);\n setEndDate(endDate);\n onSelectDateRange(startDate, endDate);\n };\n\n const rangeIsSelected =\n selectedEndDate &&\n isSameDate(selectedEndDate, endDate) &&\n selectedStartDate &&\n isSameDate(selectedStartDate, startDate);\n\n const isWholeMonth = isDateRangeTheWholeMonth({ startDate, endDate }, timezone);\n\n const formattedText = isWholeMonth\n ? formatDateHeader(timezone, startDate)\n : `${formatSelectedDate(timezone, startDate)} – ${formatSelectedDate(timezone, endDate)}`.trim();\n\n return (\n <StyledDropdownItem\n data-testid={`predefined-date-${startDate.getTime()}`}\n key={startDate.toISOString()}\n onClick={handleItemClick}\n >\n <Container\n data-selected={rangeIsSelected}\n data-testid={formattedText}\n justifyContent=\"space-between\"\n orientation=\"horizontal\"\n >\n {formattedText}\n {rangeIsSelected && <Icon name=\"check\" />}\n </Container>\n </StyledDropdownItem>\n );\n })}\n </ScrollableContainer>\n <StyledDropdownItem onClick={handleCustomTimePeriodClick}>\n <Container\n justifyContent=\"space-between\"\n orientation=\"horizontal\"\n >\n Custom time period <Icon name=\"chevron-right\" />\n </Container>\n </StyledDropdownItem>\n </PredefinedDatesContainer>\n );\n};\n\nexport interface DateRangePickerProps {\n allowOnlyDatesList?: Array<Date>;\n disabled?: boolean;\n endDate?: Date;\n futureDatesDisabled?: boolean;\n futureStartDatesDisabled?: boolean;\n maxRangeLength?: number;\n onSelectDateRange: (selectedStartDate: Date, selectedEndDate: Date) => void;\n openDirection?: OpenDirection;\n placeholder?: string;\n predefinedDatesList?: DateRange[];\n responsivePositioning?: boolean;\n startDate?: Date;\n timezone?: Timezone;\n}\n\nexport const DateRangePicker = ({\n allowOnlyDatesList,\n disabled = false,\n endDate,\n futureDatesDisabled = false,\n futureStartDatesDisabled = false,\n maxRangeLength = -1,\n onSelectDateRange,\n openDirection = 'right',\n placeholder = 'start date – end date',\n predefinedDatesList,\n responsivePositioning = true,\n startDate,\n timezone = 'system',\n}: DateRangePickerProps) => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const [selectedStartDate, setSelectedStartDate] = useState<Date>();\n const [selectedEndDate, setSelectedEndDate] = useState<Date>();\n const [shouldShowCustomRange, setShouldShowCustomRange] = useState<boolean>(false);\n const [calendarOpenDirection, setCalendarOpenDirection] =\n useState<OpenDirection>(openDirection);\n const calendarContainerRef = useRef<HTMLDivElement>(null);\n\n const calendarOptions: UseCalendarOptions = {};\n\n // If a start date is selected, open the calendar to that date\n if (selectedStartDate) {\n calendarOptions.defaultDate = selectedStartDate;\n }\n\n useEffect(() => {\n if (startDate) {\n setSelectedStartDate(startDate);\n }\n }, [startDate]);\n\n useEffect(() => {\n if (endDate) {\n setSelectedEndDate(endDate);\n }\n }, [endDate]);\n\n useLayoutEffect(() => {\n if (shouldShowCustomRange && calendarContainerRef.current) {\n if (\n calendarContainerRef.current.getBoundingClientRect().right > window.innerWidth\n ) {\n setCalendarOpenDirection('left');\n }\n }\n }, [shouldShowCustomRange]);\n\n const closeDatePicker = useCallback((): void => {\n setIsOpen(false);\n setShouldShowCustomRange(false);\n setCalendarOpenDirection(openDirection);\n }, [openDirection]);\n\n const handleOpenChange = (isOpen: boolean): void => {\n setIsOpen(isOpen);\n\n if (!isOpen) {\n setShouldShowCustomRange(false);\n setCalendarOpenDirection(openDirection);\n }\n };\n\n const handleSelectDate = useCallback(\n (selectedDate: Date): void => {\n // Start date and end date are selected, user clicks any date.\n // Set start date to the selected date, clear the end date.\n if (selectedStartDate && selectedEndDate) {\n // If futureStartDatesDisabled is true, only set the selected date to the date clicked if it's before today\n if (futureStartDatesDisabled && selectedDate > new Date()) {\n setSelectedEndDate(undefined);\n return;\n }\n setSelectedStartDate(selectedDate);\n setSelectedEndDate(undefined);\n return;\n }\n\n if (selectedStartDate) {\n if (isSameDate(selectedStartDate, selectedDate)) {\n // Start date is selected, user clicks start date.\n // Reset the start date.\n setSelectedStartDate(undefined);\n return;\n }\n\n // Start date is selected, user clicks an earlier date.\n // Set the earlier date to the new start date.\n if (selectedDate < selectedStartDate) {\n setSelectedStartDate(selectedDate);\n return;\n }\n\n // Otherwise, set the end date to the date the user clicked.\n setSelectedEndDate(selectedDate);\n onSelectDateRange(selectedStartDate, selectedDate);\n setShouldShowCustomRange(false);\n return;\n }\n\n setSelectedStartDate(selectedDate);\n },\n [futureStartDatesDisabled, onSelectDateRange, selectedEndDate, selectedStartDate]\n );\n\n const onTriggerKeyDown = useCallback((e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n setIsOpen(true);\n }\n }, []);\n\n const shouldShowPredefinedDates =\n predefinedDatesList !== undefined && predefinedDatesList.length > 0;\n\n return (\n <Dropdown\n onOpenChange={handleOpenChange}\n open={isOpen}\n >\n <Dropdown.Trigger\n disabled={disabled}\n onKeyDown={onTriggerKeyDown}\n >\n <DateRangePickerInput\n data-testid=\"datepicker-input-container\"\n disabled={disabled}\n isActive={isOpen}\n placeholder={placeholder}\n selectedEndDate={selectedEndDate}\n selectedStartDate={selectedStartDate}\n timezone={timezone}\n />\n </Dropdown.Trigger>\n <Dropdown.Content\n align=\"start\"\n responsivePositioning={responsivePositioning}\n >\n {shouldShowPredefinedDates ? (\n <PredefinedCalendarContainer\n gap=\"none\"\n orientation=\"horizontal\"\n padding=\"none\"\n >\n <PredefinedDates\n onSelectDateRange={onSelectDateRange}\n predefinedDatesList={predefinedDatesList}\n selectedEndDate={selectedEndDate}\n selectedStartDate={selectedStartDate}\n setEndDate={setSelectedEndDate}\n setStartDate={setSelectedStartDate}\n shouldShowCustomRange={shouldShowCustomRange}\n showCustomDateRange={setShouldShowCustomRange}\n timezone={timezone}\n />\n\n {shouldShowCustomRange && (\n <CalendarRendererContainer\n openDirection={calendarOpenDirection}\n ref={calendarContainerRef}\n >\n <StyledCalendarRenderer\n calendarOptions={calendarOptions}\n allowYearMonthSelection={true}\n selectedDate={selectedStartDate}\n timezone={timezone}\n >\n {(body: Body) => (\n <Calendar\n allowOnlyDatesList={allowOnlyDatesList}\n calendarBody={body}\n closeDatepicker={closeDatePicker}\n futureDatesDisabled={futureDatesDisabled}\n futureStartDatesDisabled={futureStartDatesDisabled}\n maxRangeLength={maxRangeLength}\n setSelectedDate={handleSelectDate}\n startDate={selectedStartDate}\n endDate={selectedEndDate}\n timezone={timezone}\n />\n )}\n </StyledCalendarRenderer>\n </CalendarRendererContainer>\n )}\n </PredefinedCalendarContainer>\n ) : (\n <CalendarRenderer\n calendarOptions={calendarOptions}\n allowYearMonthSelection={true}\n selectedDate={selectedStartDate}\n timezone={timezone}\n >\n {(body: Body) => (\n <Calendar\n allowOnlyDatesList={allowOnlyDatesList}\n calendarBody={body}\n closeDatepicker={closeDatePicker}\n futureDatesDisabled={futureDatesDisabled}\n futureStartDatesDisabled={futureStartDatesDisabled}\n maxRangeLength={maxRangeLength}\n setSelectedDate={handleSelectDate}\n startDate={selectedStartDate}\n endDate={selectedEndDate}\n timezone={timezone}\n />\n )}\n </CalendarRenderer>\n )}\n </Dropdown.Content>\n </Dropdown>\n );\n};\n"],"names":["Icon","isOpen"],"mappings":";;;;;;;;;;;;;AA2CA,MAAM,8BAA8B,CAAC;AAAA,EACnC,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAA,qBACE,GAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,MAAA,CAAO,+BAA+B,GAAG,SAAS,CAAA;AAAA,IAE/D;AAAA;AACH,CAAA;AAGF,MAAM,2BAA2B,CAAC;AAAA,EAChC,SAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA,EACA,WAAA;AAAA,EACA,aAAA,EAAe;AACjB,CAAA,qBACE,GAAA;AAAA,EAAC,SAAA;AAAA,EAAA;AAAA,IACC,YAAA;AAAA,IACA,WAAA;AAAA,IACA,aAAA,EAAa,UAAA;AAAA,IACb,SAAA,EAAW,EAAA,CAAG,MAAA,CAAO,4BAA4B,GAAG,SAAS,CAAA;AAAA,IAE5D;AAAA;AACH,CAAA;AAGF,MAAM,iCAAA,GAAoC,GAAA,CAAI,MAAA,CAAO,6BAA6B,CAAA,EAAG;AAAA,EACnF,QAAA,EAAU;AAAA,IACR,aAAA,EAAe;AAAA,MACb,IAAA,EAAM,OAAO,kCAAkC,CAAA;AAAA,MAC/C,KAAA,EAAO,OAAO,mCAAmC;AAAA;AACnD,GACF;AAAA,EACA,eAAA,EAAiB,EAAE,aAAA,EAAe,OAAA;AACpC,CAAC,CAAA;AAED,MAAM,4BAA4B,UAAA,CAGhC,CAAC,EAAE,aAAA,EAAe,QAAA,IAAY,GAAA,qBAC9B,GAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,iCAAA,CAAkC,EAAE,aAAA,EAAe,CAAA;AAAA,IAE7D;AAAA;AACH,CACD,CAAA;AACD,yBAAA,CAA0B,WAAA,GAAc,2BAAA;AAExC,MAAM,yBAAyB,CAAC;AAAA,EAC9B,SAAA;AAAA,EACA,QAAA;AAAA,EACA,eAAA;AAAA,EACA,uBAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA,qBACE,GAAA;AAAA,EAAC,gBAAA;AAAA,EAAA;AAAA,IACC,eAAA;AAAA,IACA,uBAAA;AAAA,IACA,YAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,MAAA,CAAO,0BAA0B,GAAG,SAAS,CAAA;AAAA,IAE1D;AAAA;AACH,CAAA;AAGF,MAAM,sBAAsB,CAAC;AAAA,EAC3B,SAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,qBACE,GAAA;AAAA,EAAC,SAAA;AAAA,EAAA;AAAA,IACC,WAAA;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,MAAA,CAAO,sBAAsB,GAAG,SAAS,CAAA;AAAA,IAEtD;AAAA;AACH,CAAA;AAGF,MAAM,0BAAA,GAA6B,IAAI,MAAA,EAAW;AAAA,EAChD,QAAA,EAAU;AAAA,IACR,kBAAA,EAAoB,EAAE,IAAA,EAAM,MAAA,CAAO,iCAAiC,CAAA;AAAE;AAE1E,CAAC,CAAA;AAED,MAAM,qBAAqB,CAAC;AAAA,EAC1B,wBAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA,qBAGE,GAAA;AAAA,EAAC,aAAA;AAAA,EAAA;AAAA,IACC,cAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,IACA,YAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,0BAAA,CAA2B,EAAE,kBAAA,EAAoB,wBAAA,EAA0B,CAAA;AAAA,MAC3E;AAAA,KACF;AAAA,IAEC;AAAA;AACH,CAAA;AAgBF,MAAM,WAAW,CAAC;AAAA,EAChB,kBAAA;AAAA,EACA,YAAA;AAAA,EACA,eAAA;AAAA,EACA,mBAAA;AAAA,EACA,wBAAA;AAAA,EACA,cAAA;AAAA,EACA,eAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAA,KAAqB;AACnB,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,QAAA,EAAe;AAErD,EAAA,MAAM,KAAA,GAAQ,eAAA,iBAAgB,IAAI,IAAA,IAAQ,QAAQ,CAAA;AAClD,EAAA,MAAM,YAAA,GAAe,SAAA,GAAY,eAAA,CAAgB,SAAA,EAAW,QAAQ,CAAA,GAAI,MAAA;AACxE,EAAA,MAAM,UAAA,GAAa,OAAA,GAAU,eAAA,CAAgB,OAAA,EAAS,QAAQ,CAAA,GAAI,MAAA;AAElE,EAAA,MAAM,gBAAA,GAAmB,QAAQ,MAAM;AACrC,IAAA,OAAO,kBAAA,EAAoB,IAAI,CAAA,IAAA,KAAQ;AACrC,MAAA,OAAO,eAAA,CAAgB,MAAM,QAAQ,CAAA;AAAA,IACvC,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,kBAAA,EAAoB,QAAQ,CAAC,CAAA;AAEjC,EAAA,MAAM,iBAAiB,MAAY;AACjC,IAAA,cAAA,CAAe,MAAS,CAAA;AAAA,EAC1B,CAAA;AAEA,EAAA,OAAO,YAAA,CAAa,MAAM,GAAA,CAAI,CAAC,EAAE,GAAA,EAAK,OAAA,EAAS,KAAA,EAAO,IAAA,EAAK,KAAM;AAC/D,IAAA,uBACE,GAAA,CAAC,IAAA,EAAA,EACE,QAAA,EAAA,IAAA,CAAK,GAAA,CAAI,CAAC,EAAE,IAAA,EAAM,cAAA,EAAgB,GAAA,EAAK,MAAA,EAAQ,KAAA,EAAO,QAAA,EAAS,KAAM;AACpE,MAAA,MAAM,UAAA,GACH,gBAAgB,UAAA,CAAW,YAAA,EAAc,QAAQ,CAAA,IACjD,UAAA,IAAc,UAAA,CAAW,UAAA,EAAY,QAAQ,CAAA;AAChD,MAAA,MAAM,SAAA,GAAY,UAAA,CAAW,KAAA,EAAO,QAAQ,CAAA;AAE5C,MAAA,MAAM,yBAAA,GAA4B,OAAA;AAAA,QAChC,YAAA,IAAgB,UAAA,IAAc,QAAA,GAAW,YAAA,IAAgB,QAAA,GAAW;AAAA,OACtE;AAEA,MAAA,IAAI,UAAA,GAAa,KAAA;AACjB,MAAA,IAAI,mBAAA,IAAuB,WAAW,KAAA,EAAO;AAC3C,QAAA,UAAA,GAAa,IAAA;AAAA,MACf;AAEA,MAAA,IAAI,wBAAA,IAA4B,CAAC,YAAA,IAAgB,QAAA,GAAW,KAAA,EAAO;AACjE,QAAA,UAAA,GAAa,IAAA;AAAA,MACf;AAEA,MAAA,IACE,cAAA,GAAiB,CAAA,IACjB,YAAA,IACA,CAAC,sBAAA,CAAuB,cAAc,QAAA,EAAU,cAAc,CAAA,IAC9D,QAAA,GAAW,YAAA,EACX;AACA,QAAA,UAAA,GAAa,IAAA;AAAA,MACf;AAEA,MAAA,IAAI,oBAAA,CAAqB,gBAAA,EAAkB,QAAQ,CAAA,EAAG;AACpD,QAAA,UAAA,GAAa,IAAA;AAAA,MACf;AAEA,MAAA,MAAM,wBAAA,GACJ,CAAC,UAAA,IACD,OAAA;AAAA,QACE,YAAA,IACA,WAAA,IACA,QAAA,GAAW,YAAA,IACX,QAAA,GAAW;AAAA,OACb;AAEF,MAAA,MAAM,mBAAmB,MAAM;AAC7B,QAAA,cAAA,CAAe,QAAQ,CAAA;AAAA,MACzB,CAAA;AAEA,MAAA,MAAM,cAAc,MAAM;AACxB,QAAA,IAAI,UAAA,EAAY;AACd,UAAA,OAAO,KAAA;AAAA,QACT;AACA,QAAA,eAAA,CAAgB,iBAAA,CAAkB,QAAA,EAAU,QAAQ,CAAC,CAAA;AAIrD,QAAA,IAAI,gBAAgB,UAAA,EAAY;AAC9B,UAAA;AAAA,QACF;AAGA,QAAA,IAAI,YAAA,IAAgB,WAAW,YAAA,EAAc;AAC3C,UAAA;AAAA,QACF;AAGA,QAAA,IAAI,YAAA,IAAgB,CAAC,UAAA,CAAW,QAAA,EAAU,YAAY,CAAA,EAAG;AACvD,UAAA,eAAA,EAAgB;AAChB,UAAA;AAAA,QACF;AAAA,MACF,CAAA;AACA,MAAA,uBACE,GAAA;AAAA,QAAC,kBAAA;AAAA,QAAA;AAAA,UACC,wBAAA,EACE,CAAC,UAAA,KAAe,wBAAA,IAA4B,yBAAA,CAAA;AAAA,UAE9C,cAAA;AAAA,UACA,UAAA;AAAA,UACA,UAAA,EAAY,QAAQ,UAAU,CAAA;AAAA,UAC9B,SAAA;AAAA,UAEA,OAAA,EAAS,WAAA;AAAA,UACT,YAAA,EAAc,gBAAA;AAAA,UACd,YAAA,EAAc,cAAA;AAAA,UAEb,QAAA,EAAA;AAAA,SAAA;AAAA,QALI;AAAA,OAMP;AAAA,IAEJ,CAAC,KAtFM,OAuFT,CAAA;AAAA,EAEJ,CAAC,CAAA;AACH,CAAA;AAcA,MAAM,kBAAkB,CAAC;AAAA,EACvB,iBAAA;AAAA,EACA,mBAAA;AAAA,EACA,eAAA;AAAA,EACA,iBAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,qBAAA;AAAA,EACA,mBAAA;AAAA,EACA;AACF,CAAA,KAA4B;AAC1B,EAAA,MAAM,2BAAA,GAA8B,CAAC,KAAA,KAAsB;AACzD,IAAA,KAAA,CAAM,cAAA,EAAe;AACrB,IAAA,mBAAA,CAAoB,CAAC,qBAAqB,CAAA;AAAA,EAC5C,CAAA;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,wBAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAY,uBAAA;AAAA,MACZ,YAAA,EAAc,KAAA;AAAA,MACd,WAAA,EAAY,UAAA;AAAA,MAEZ,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,mBAAA,EAAA,EAAoB,aAAY,UAAA,EAC9B,QAAA,EAAA,mBAAA,CAAoB,IAAI,CAAC,EAAE,SAAA,EAAW,OAAA,EAAQ,KAAM;AACnD,UAAA,MAAM,kBAAkB,MAAM;AAC5B,YAAA,YAAA,CAAa,SAAS,CAAA;AACtB,YAAA,UAAA,CAAW,OAAO,CAAA;AAClB,YAAA,iBAAA,CAAkB,WAAW,OAAO,CAAA;AAAA,UACtC,CAAA;AAEA,UAAA,MAAM,eAAA,GACJ,mBACA,UAAA,CAAW,eAAA,EAAiB,OAAO,CAAA,IACnC,iBAAA,IACA,UAAA,CAAW,iBAAA,EAAmB,SAAS,CAAA;AAEzC,UAAA,MAAM,eAAe,wBAAA,CAAyB,EAAE,SAAA,EAAW,OAAA,IAAW,QAAQ,CAAA;AAE9E,UAAA,MAAM,gBAAgB,YAAA,GAClB,gBAAA,CAAiB,QAAA,EAAU,SAAS,IACpC,CAAA,EAAG,kBAAA,CAAmB,QAAA,EAAU,SAAS,CAAC,CAAA,GAAA,EAAM,kBAAA,CAAmB,UAAU,OAAO,CAAC,GAAG,IAAA,EAAK;AAEjG,UAAA,uBACE,GAAA;AAAA,YAAC,kBAAA;AAAA,YAAA;AAAA,cACC,aAAA,EAAa,CAAA,gBAAA,EAAmB,SAAA,CAAU,OAAA,EAAS,CAAA,CAAA;AAAA,cAEnD,OAAA,EAAS,eAAA;AAAA,cAET,QAAA,kBAAA,IAAA;AAAA,gBAAC,SAAA;AAAA,gBAAA;AAAA,kBACC,eAAA,EAAe,eAAA;AAAA,kBACf,aAAA,EAAa,aAAA;AAAA,kBACb,cAAA,EAAe,eAAA;AAAA,kBACf,WAAA,EAAY,YAAA;AAAA,kBAEX,QAAA,EAAA;AAAA,oBAAA,aAAA;AAAA,oBACA,eAAA,oBAAmB,GAAA,CAACA,QAAA,EAAA,EAAK,IAAA,EAAK,OAAA,EAAQ;AAAA;AAAA;AAAA;AACzC,aAAA;AAAA,YAXK,UAAU,WAAA;AAAY,WAY7B;AAAA,QAEJ,CAAC,CAAA,EACH,CAAA;AAAA,wBACA,GAAA,CAAC,kBAAA,EAAA,EAAmB,OAAA,EAAS,2BAAA,EAC3B,QAAA,kBAAA,IAAA;AAAA,UAAC,SAAA;AAAA,UAAA;AAAA,YACC,cAAA,EAAe,eAAA;AAAA,YACf,WAAA,EAAY,YAAA;AAAA,YACb,QAAA,EAAA;AAAA,cAAA,qBAAA;AAAA,8BACoB,GAAA,CAACA,QAAA,EAAA,EAAK,IAAA,EAAK,eAAA,EAAgB;AAAA;AAAA;AAAA,SAChD,EACF;AAAA;AAAA;AAAA,GACF;AAEJ,CAAA;AAkBO,MAAM,kBAAkB,CAAC;AAAA,EAC9B,kBAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,OAAA;AAAA,EACA,mBAAA,GAAsB,KAAA;AAAA,EACtB,wBAAA,GAA2B,KAAA;AAAA,EAC3B,cAAA,GAAiB,EAAA;AAAA,EACjB,iBAAA;AAAA,EACA,aAAA,GAAgB,OAAA;AAAA,EAChB,WAAA,GAAc,uBAAA;AAAA,EACd,mBAAA;AAAA,EACA,qBAAA,GAAwB,IAAA;AAAA,EACxB,SAAA;AAAA,EACA,QAAA,GAAW;AACb,CAAA,KAA4B;AAC1B,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAkB,KAAK,CAAA;AACnD,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAI,QAAA,EAAe;AACjE,EAAA,MAAM,CAAC,eAAA,EAAiB,kBAAkB,CAAA,GAAI,QAAA,EAAe;AAC7D,EAAA,MAAM,CAAC,qBAAA,EAAuB,wBAAwB,CAAA,GAAI,SAAkB,KAAK,CAAA;AACjF,EAAA,MAAM,CAAC,qBAAA,EAAuB,wBAAwB,CAAA,GACpD,SAAwB,aAAa,CAAA;AACvC,EAAA,MAAM,oBAAA,GAAuB,OAAuB,IAAI,CAAA;AAExD,EAAA,MAAM,kBAAsC,EAAC;AAG7C,EAAA,IAAI,iBAAA,EAAmB;AACrB,IAAA,eAAA,CAAgB,WAAA,GAAc,iBAAA;AAAA,EAChC;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,SAAA,EAAW;AACb,MAAA,oBAAA,CAAqB,SAAS,CAAA;AAAA,IAChC;AAAA,EACF,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,kBAAA,CAAmB,OAAO,CAAA;AAAA,IAC5B;AAAA,EACF,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAA,IAAI,qBAAA,IAAyB,qBAAqB,OAAA,EAAS;AACzD,MAAA,IACE,qBAAqB,OAAA,CAAQ,qBAAA,EAAsB,CAAE,KAAA,GAAQ,OAAO,UAAA,EACpE;AACA,QAAA,wBAAA,CAAyB,MAAM,CAAA;AAAA,MACjC;AAAA,IACF;AAAA,EACF,CAAA,EAAG,CAAC,qBAAqB,CAAC,CAAA;AAE1B,EAAA,MAAM,eAAA,GAAkB,YAAY,MAAY;AAC9C,IAAA,SAAA,CAAU,KAAK,CAAA;AACf,IAAA,wBAAA,CAAyB,KAAK,CAAA;AAC9B,IAAA,wBAAA,CAAyB,aAAa,CAAA;AAAA,EACxC,CAAA,EAAG,CAAC,aAAa,CAAC,CAAA;AAElB,EAAA,MAAM,gBAAA,GAAmB,CAACC,OAAAA,KAA0B;AAClD,IAAA,SAAA,CAAUA,OAAM,CAAA;AAEhB,IAAA,IAAI,CAACA,OAAAA,EAAQ;AACX,MAAA,wBAAA,CAAyB,KAAK,CAAA;AAC9B,MAAA,wBAAA,CAAyB,aAAa,CAAA;AAAA,IACxC;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,WAAA;AAAA,IACvB,CAAC,YAAA,KAA6B;AAG5B,MAAA,IAAI,qBAAqB,eAAA,EAAiB;AAExC,QAAA,IAAI,wBAAA,IAA4B,YAAA,mBAAe,IAAI,IAAA,EAAK,EAAG;AACzD,UAAA,kBAAA,CAAmB,MAAS,CAAA;AAC5B,UAAA;AAAA,QACF;AACA,QAAA,oBAAA,CAAqB,YAAY,CAAA;AACjC,QAAA,kBAAA,CAAmB,MAAS,CAAA;AAC5B,QAAA;AAAA,MACF;AAEA,MAAA,IAAI,iBAAA,EAAmB;AACrB,QAAA,IAAI,UAAA,CAAW,iBAAA,EAAmB,YAAY,CAAA,EAAG;AAG/C,UAAA,oBAAA,CAAqB,MAAS,CAAA;AAC9B,UAAA;AAAA,QACF;AAIA,QAAA,IAAI,eAAe,iBAAA,EAAmB;AACpC,UAAA,oBAAA,CAAqB,YAAY,CAAA;AACjC,UAAA;AAAA,QACF;AAGA,QAAA,kBAAA,CAAmB,YAAY,CAAA;AAC/B,QAAA,iBAAA,CAAkB,mBAAmB,YAAY,CAAA;AACjD,QAAA,wBAAA,CAAyB,KAAK,CAAA;AAC9B,QAAA;AAAA,MACF;AAEA,MAAA,oBAAA,CAAqB,YAAY,CAAA;AAAA,IACnC,CAAA;AAAA,IACA,CAAC,wBAAA,EAA0B,iBAAA,EAAmB,eAAA,EAAiB,iBAAiB;AAAA,GAClF;AAEA,EAAA,MAAM,gBAAA,GAAmB,WAAA,CAAY,CAAC,CAAA,KAAqC;AACzE,IAAA,IAAI,CAAA,CAAE,GAAA,KAAQ,OAAA,IAAW,CAAA,CAAE,QAAQ,GAAA,EAAK;AACtC,MAAA,CAAA,CAAE,cAAA,EAAe;AACjB,MAAA,SAAA,CAAU,IAAI,CAAA;AAAA,IAChB;AAAA,EACF,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,yBAAA,GACJ,mBAAA,KAAwB,MAAA,IAAa,mBAAA,CAAoB,MAAA,GAAS,CAAA;AAEpE,EAAA,uBACE,IAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAc,gBAAA;AAAA,MACd,IAAA,EAAM,MAAA;AAAA,MAEN,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,QAAA,CAAS,OAAA;AAAA,UAAT;AAAA,YACC,QAAA;AAAA,YACA,SAAA,EAAW,gBAAA;AAAA,YAEX,QAAA,kBAAA,GAAA;AAAA,cAAC,oBAAA;AAAA,cAAA;AAAA,gBACC,aAAA,EAAY,4BAAA;AAAA,gBACZ,QAAA;AAAA,gBACA,QAAA,EAAU,MAAA;AAAA,gBACV,WAAA;AAAA,gBACA,eAAA;AAAA,gBACA,iBAAA;AAAA,gBACA;AAAA;AAAA;AACF;AAAA,SACF;AAAA,wBACA,GAAA;AAAA,UAAC,QAAA,CAAS,OAAA;AAAA,UAAT;AAAA,YACC,KAAA,EAAM,OAAA;AAAA,YACN,qBAAA;AAAA,YAEC,QAAA,EAAA,yBAAA,mBACC,IAAA;AAAA,cAAC,2BAAA;AAAA,cAAA;AAAA,gBACC,GAAA,EAAI,MAAA;AAAA,gBACJ,WAAA,EAAY,YAAA;AAAA,gBACZ,OAAA,EAAQ,MAAA;AAAA,gBAER,QAAA,EAAA;AAAA,kCAAA,GAAA;AAAA,oBAAC,eAAA;AAAA,oBAAA;AAAA,sBACC,iBAAA;AAAA,sBACA,mBAAA;AAAA,sBACA,eAAA;AAAA,sBACA,iBAAA;AAAA,sBACA,UAAA,EAAY,kBAAA;AAAA,sBACZ,YAAA,EAAc,oBAAA;AAAA,sBACd,qBAAA;AAAA,sBACA,mBAAA,EAAqB,wBAAA;AAAA,sBACrB;AAAA;AAAA,mBACF;AAAA,kBAEC,qBAAA,oBACC,GAAA;AAAA,oBAAC,yBAAA;AAAA,oBAAA;AAAA,sBACC,aAAA,EAAe,qBAAA;AAAA,sBACf,GAAA,EAAK,oBAAA;AAAA,sBAEL,QAAA,kBAAA,GAAA;AAAA,wBAAC,sBAAA;AAAA,wBAAA;AAAA,0BACC,eAAA;AAAA,0BACA,uBAAA,EAAyB,IAAA;AAAA,0BACzB,YAAA,EAAc,iBAAA;AAAA,0BACd,QAAA;AAAA,0BAEC,WAAC,IAAA,qBACA,GAAA;AAAA,4BAAC,QAAA;AAAA,4BAAA;AAAA,8BACC,kBAAA;AAAA,8BACA,YAAA,EAAc,IAAA;AAAA,8BACd,eAAA,EAAiB,eAAA;AAAA,8BACjB,mBAAA;AAAA,8BACA,wBAAA;AAAA,8BACA,cAAA;AAAA,8BACA,eAAA,EAAiB,gBAAA;AAAA,8BACjB,SAAA,EAAW,iBAAA;AAAA,8BACX,OAAA,EAAS,eAAA;AAAA,8BACT;AAAA;AAAA;AACF;AAAA;AAEJ;AAAA;AACF;AAAA;AAAA,aAEJ,mBAEA,GAAA;AAAA,cAAC,gBAAA;AAAA,cAAA;AAAA,gBACC,eAAA;AAAA,gBACA,uBAAA,EAAyB,IAAA;AAAA,gBACzB,YAAA,EAAc,iBAAA;AAAA,gBACd,QAAA;AAAA,gBAEC,WAAC,IAAA,qBACA,GAAA;AAAA,kBAAC,QAAA;AAAA,kBAAA;AAAA,oBACC,kBAAA;AAAA,oBACA,YAAA,EAAc,IAAA;AAAA,oBACd,eAAA,EAAiB,eAAA;AAAA,oBACjB,mBAAA;AAAA,oBACA,wBAAA;AAAA,oBACA,cAAA;AAAA,oBACA,eAAA,EAAiB,gBAAA;AAAA,oBACjB,SAAA,EAAW,iBAAA;AAAA,oBACX,OAAA,EAAS,eAAA;AAAA,oBACT;AAAA;AAAA;AACF;AAAA;AAEJ;AAAA;AAEJ;AAAA;AAAA,GACF;AAEJ;;;;"}
@@ -3,6 +3,7 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { useMemo } from 'react';
4
4
  import { cn } from '../../lib/cva.js';
5
5
  import { ICONS_MAP } from './IconCommon.js';
6
+ import { resolveAssetName } from '../Assets/config.js';
6
7
  import { Flag } from '../Assets/Flags/system/Flag.js';
7
8
  import FlagsLight from '../Assets/Flags/system/FlagsLight.js';
8
9
  import { Logo } from '../Assets/Logos/system/Logo.js';
@@ -66,7 +67,8 @@ const SVGIcon = ({
66
67
  }
67
68
  );
68
69
  };
69
- const SvgImage = ({ name, size, theme, ...props }) => {
70
+ const SvgImage = ({ name: rawName, size, theme, ...props }) => {
71
+ const name = resolveAssetName(rawName);
70
72
  if (Object.keys(FlagsLight).includes(name)) {
71
73
  return /* @__PURE__ */ jsx(
72
74
  Flag,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Icon/Icon.tsx"],"sourcesContent":["import { CSSProperties, useMemo } from 'react';\nimport { cn, cva } from '@/lib/cva';\nimport { IconName, IconProps, ImageType } from './Icon.types';\nimport { ICONS_MAP } from '@/components/Icon/IconCommon';\nimport { Flag } from '@/components/Assets/Flags/system/Flag';\nimport FlagsLight from '@/components/Assets/Flags/system/FlagsLight';\nimport { FlagName } from '@/components/Assets/Flags/system/types';\nimport { Logo } from '@/components/Assets/Logos/system/Logo';\nimport LogosLight from '@/components/Assets/Logos/system/LogosLight';\nimport { LogoName } from '@/components/Assets/Logos/system/types';\nimport { Payment } from '@/components/Assets/Payments/system/Payment';\nimport { PaymentName } from '@/components/Assets/Payments/system/types';\nimport PaymentsLight from '@/components/Assets/Payments/system/PaymentsLight';\nimport styles from './Icon.module.css';\n\nconst svgWrapperVariants = cva(styles['svg-wrapper'], {\n variants: {\n size: {\n xs: styles['svg-wrapper_size_xs'],\n sm: styles['svg-wrapper_size_sm'],\n md: styles['svg-wrapper_size_md'],\n lg: styles['svg-wrapper_size_lg'],\n xl: styles['svg-wrapper_size_xl'],\n xxl: styles['svg-wrapper_size_xxl'],\n },\n state: {\n default: '',\n success: styles['svg-wrapper_state_success'],\n warning: styles['svg-wrapper_state_warning'],\n danger: styles['svg-wrapper_state_danger'],\n info: styles['svg-wrapper_state_info'],\n },\n },\n defaultVariants: {\n size: 'md',\n state: 'default',\n },\n});\n\nconst SVGIcon = ({\n name,\n color,\n width,\n height,\n state,\n className,\n size,\n ...props\n}: IconProps) => {\n const Component = ICONS_MAP[name];\n\n const wrapperStyle = useMemo(\n () =>\n ({\n ...(color !== undefined ? { '--svg-icon-color': color } : {}),\n ...(width !== undefined ? { '--svg-width': String(width) } : {}),\n ...(height !== undefined ? { '--svg-height': String(height) } : {}),\n }) as CSSProperties,\n [color, width, height]\n );\n\n if (!Component) {\n return null;\n }\n\n return (\n <div\n className={cn(svgWrapperVariants({ size, state }), className)}\n style={wrapperStyle}\n >\n <Component {...props} />\n </div>\n );\n};\n\nconst SvgImage = ({ name, size, theme, ...props }: ImageType) => {\n if (Object.keys(FlagsLight).includes(name)) {\n return (\n <Flag\n name={name as FlagName}\n size={size}\n {...props}\n />\n );\n }\n if (Object.keys(LogosLight).includes(name)) {\n return (\n <Logo\n name={name as LogoName}\n theme={theme}\n size={size}\n {...props}\n />\n );\n }\n if (Object.keys(PaymentsLight).includes(name)) {\n return (\n <Payment\n name={name as PaymentName}\n size={size}\n {...props}\n />\n );\n }\n return (\n <SVGIcon\n name={name as IconName}\n size={size}\n role=\"img\"\n aria-label={name}\n {...props}\n />\n );\n};\n\nSvgImage.displayName = 'Icon';\n\nexport { SvgImage as Icon };\n"],"names":[],"mappings":";;;;;;;;;;;;;AAeA,MAAM,kBAAA,GAAqB,GAAA,CAAI,MAAA,CAAO,aAAa,CAAA,EAAG;AAAA,EACpD,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,OAAO,qBAAqB,CAAA;AAAA,MAChC,EAAA,EAAI,OAAO,qBAAqB,CAAA;AAAA,MAChC,EAAA,EAAI,OAAO,qBAAqB,CAAA;AAAA,MAChC,EAAA,EAAI,OAAO,qBAAqB,CAAA;AAAA,MAChC,EAAA,EAAI,OAAO,qBAAqB,CAAA;AAAA,MAChC,GAAA,EAAK,OAAO,sBAAsB;AAAA,KACpC;AAAA,IACA,KAAA,EAAO;AAAA,MACL,OAAA,EAAS,EAAA;AAAA,MACT,OAAA,EAAS,OAAO,2BAA2B,CAAA;AAAA,MAC3C,OAAA,EAAS,OAAO,2BAA2B,CAAA;AAAA,MAC3C,MAAA,EAAQ,OAAO,0BAA0B,CAAA;AAAA,MACzC,IAAA,EAAM,OAAO,wBAAwB;AAAA;AACvC,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,IAAA;AAAA,IACN,KAAA,EAAO;AAAA;AAEX,CAAC,CAAA;AAED,MAAM,UAAU,CAAC;AAAA,EACf,IAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAiB;AACf,EAAA,MAAM,SAAA,GAAY,UAAU,IAAI,CAAA;AAEhC,EAAA,MAAM,YAAA,GAAe,OAAA;AAAA,IACnB,OACG;AAAA,MACC,GAAI,KAAA,KAAU,MAAA,GAAY,EAAE,kBAAA,EAAoB,KAAA,KAAU,EAAC;AAAA,MAC3D,GAAI,UAAU,MAAA,GAAY,EAAE,eAAe,MAAA,CAAO,KAAK,CAAA,EAAE,GAAI,EAAC;AAAA,MAC9D,GAAI,WAAW,MAAA,GAAY,EAAE,gBAAgB,MAAA,CAAO,MAAM,CAAA,EAAE,GAAI;AAAC,KACnE,CAAA;AAAA,IACF,CAAC,KAAA,EAAO,KAAA,EAAO,MAAM;AAAA,GACvB;AAEA,EAAA,IAAI,CAAC,SAAA,EAAW;AACd,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,GAAG,kBAAA,CAAmB,EAAE,MAAM,KAAA,EAAO,GAAG,SAAS,CAAA;AAAA,MAC5D,KAAA,EAAO,YAAA;AAAA,MAEP,QAAA,kBAAA,GAAA,CAAC,SAAA,EAAA,EAAW,GAAG,KAAA,EAAO;AAAA;AAAA,GACxB;AAEJ,CAAA;AAEA,MAAM,QAAA,GAAW,CAAC,EAAE,IAAA,EAAM,MAAM,KAAA,EAAO,GAAG,OAAM,KAAiB;AAC/D,EAAA,IAAI,OAAO,IAAA,CAAK,UAAU,CAAA,CAAE,QAAA,CAAS,IAAI,CAAA,EAAG;AAC1C,IAAA,uBACE,GAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,IAAA;AAAA,QACA,IAAA;AAAA,QACC,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACA,EAAA,IAAI,OAAO,IAAA,CAAK,UAAU,CAAA,CAAE,QAAA,CAAS,IAAI,CAAA,EAAG;AAC1C,IAAA,uBACE,GAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,IAAA;AAAA,QACA,KAAA;AAAA,QACA,IAAA;AAAA,QACC,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACA,EAAA,IAAI,OAAO,IAAA,CAAK,aAAa,CAAA,CAAE,QAAA,CAAS,IAAI,CAAA,EAAG;AAC7C,IAAA,uBACE,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,IAAA;AAAA,QACA,IAAA;AAAA,QACC,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACA,EAAA,uBACE,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,IAAA;AAAA,MACA,IAAA;AAAA,MACA,IAAA,EAAK,KAAA;AAAA,MACL,YAAA,EAAY,IAAA;AAAA,MACX,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,QAAA,CAAS,WAAA,GAAc,MAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Icon/Icon.tsx"],"sourcesContent":["import { CSSProperties, useMemo } from 'react';\nimport { cn, cva } from '@/lib/cva';\nimport { IconName, IconProps, ImageName, ImageType } from './Icon.types';\nimport { ICONS_MAP } from '@/components/Icon/IconCommon';\nimport { resolveAssetName } from '@/components/Assets/config';\nimport { Flag } from '@/components/Assets/Flags/system/Flag';\nimport FlagsLight from '@/components/Assets/Flags/system/FlagsLight';\nimport { FlagName } from '@/components/Assets/Flags/system/types';\nimport { Logo } from '@/components/Assets/Logos/system/Logo';\nimport LogosLight from '@/components/Assets/Logos/system/LogosLight';\nimport { LogoName } from '@/components/Assets/Logos/system/types';\nimport { Payment } from '@/components/Assets/Payments/system/Payment';\nimport { PaymentName } from '@/components/Assets/Payments/system/types';\nimport PaymentsLight from '@/components/Assets/Payments/system/PaymentsLight';\nimport styles from './Icon.module.css';\n\nconst svgWrapperVariants = cva(styles['svg-wrapper'], {\n variants: {\n size: {\n xs: styles['svg-wrapper_size_xs'],\n sm: styles['svg-wrapper_size_sm'],\n md: styles['svg-wrapper_size_md'],\n lg: styles['svg-wrapper_size_lg'],\n xl: styles['svg-wrapper_size_xl'],\n xxl: styles['svg-wrapper_size_xxl'],\n },\n state: {\n default: '',\n success: styles['svg-wrapper_state_success'],\n warning: styles['svg-wrapper_state_warning'],\n danger: styles['svg-wrapper_state_danger'],\n info: styles['svg-wrapper_state_info'],\n },\n },\n defaultVariants: {\n size: 'md',\n state: 'default',\n },\n});\n\nconst SVGIcon = ({\n name,\n color,\n width,\n height,\n state,\n className,\n size,\n ...props\n}: IconProps) => {\n const Component = ICONS_MAP[name];\n\n const wrapperStyle = useMemo(\n () =>\n ({\n ...(color !== undefined ? { '--svg-icon-color': color } : {}),\n ...(width !== undefined ? { '--svg-width': String(width) } : {}),\n ...(height !== undefined ? { '--svg-height': String(height) } : {}),\n }) as CSSProperties,\n [color, width, height]\n );\n\n if (!Component) {\n return null;\n }\n\n return (\n <div\n className={cn(svgWrapperVariants({ size, state }), className)}\n style={wrapperStyle}\n >\n <Component {...props} />\n </div>\n );\n};\n\nconst SvgImage = ({ name: rawName, size, theme, ...props }: ImageType) => {\n // Resolve aliases and deprecated names once, before dispatching to the\n // per-asset components - they each resolve too, but only ever see the raw\n // name via the kebab-case key checks below.\n const name = resolveAssetName(rawName) as ImageName;\n\n if (Object.keys(FlagsLight).includes(name)) {\n return (\n <Flag\n name={name as FlagName}\n size={size}\n {...props}\n />\n );\n }\n if (Object.keys(LogosLight).includes(name)) {\n return (\n <Logo\n name={name as LogoName}\n theme={theme}\n size={size}\n {...props}\n />\n );\n }\n if (Object.keys(PaymentsLight).includes(name)) {\n return (\n <Payment\n name={name as PaymentName}\n size={size}\n {...props}\n />\n );\n }\n return (\n <SVGIcon\n name={name as IconName}\n size={size}\n role=\"img\"\n aria-label={name}\n {...props}\n />\n );\n};\n\nSvgImage.displayName = 'Icon';\n\nexport { SvgImage as Icon };\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { SVGAttributes } from 'react';
2
2
  import { AssetSize } from '../../../../types';
3
3
  import { ThemeName } from '../../../../theme/theme.types';
4
- export type IconName = 'activity' | 'alarm' | 'arrow-directions' | 'arrow-down' | 'arrow-left' | 'arrow-right' | 'arrow-triangle' | 'arrow-up' | 'auth-app' | 'auth-sms' | 'backups' | 'bar-chart' | 'bell' | 'beta' | 'blog' | 'bold' | 'book' | 'brackets' | 'briefcase' | 'building' | 'burger-menu' | 'calendar' | 'calendar-with-time' | 'cards' | 'cell-tower' | 'chart-area' | 'chart-bar-horizontal' | 'chart-cloud' | 'chart-donut' | 'chart-heatmap' | 'chart-scatter' | 'chart-square' | 'chart-stacked-horizontal' | 'chart-stacked-vertical' | 'chat' | 'check' | 'check-in-circle' | 'chevron-down' | 'chevron-left' | 'chevron-right' | 'chevron-up' | 'circle' | 'clock' | 'cloud' | 'cloud-keys' | 'code' | 'code-in-square' | 'collapse-all' | 'connect' | 'connect-alt' | 'console' | 'copy' | 'cpu' | 'credit-card' | 'cross' | 'data' | 'data-lakes' | 'database' | 'disk' | 'display' | 'document' | 'dollar' | 'dot' | 'dots-horizontal' | 'dots-triangle' | 'dots-vertical' | 'dots-vertical-double' | 'double-check' | 'download' | 'download-in-circle' | 'email' | 'empty' | 'enter' | 'expand-all' | 'eye' | 'eye-closed' | 'filter' | 'fire' | 'flag' | 'flash' | 'flask' | 'folder-closed' | 'folder-open' | 'gear' | 'gift' | 'git-merge' | 'globe' | 'hexagon' | 'history' | 'home' | 'horizontal-loading' | 'http' | 'http-monitoring' | 'info-in-circle' | 'information' | 'insert-row' | 'integrations' | 'italic' | 'key' | 'keys' | 'lifebuoy' | 'light-bulb' | 'light-bulb-on' | 'lightening' | 'line-in-circle' | 'list-bulleted' | 'list-numbered' | 'loading' | 'loading-animated' | 'lock' | 'map-pin' | 'mcp' | 'metrics' | 'metrics-alt' | 'minus' | 'moon' | 'no-cloud' | 'pause' | 'payment' | 'pencil' | 'pie-chart' | 'pin' | 'pipe' | 'play' | 'play-in-circle' | 'plug' | 'plus' | 'popin' | 'popout' | 'popover-arrow' | 'puzzle-piece' | 'query' | 'question' | 'refresh' | 'resize-arrows-horizontal' | 'resize-arrows-vertical' | 'rocket' | 'sand-glass' | 'search' | 'secure' | 'server' | 'services' | 'settings' | 'share' | 'share-arrow' | 'share-network' | 'sleep' | 'slide-in' | 'slide-out' | 'sort' | 'sort-alt' | 'sparkle' | 'speaker' | 'speed' | 'square' | 'star' | 'stop' | 'support' | 'table' | 'taxi' | 'text-slash' | 'thumbs-down' | 'thumbs-up' | 'trash' | 'tree-structure' | 'underline' | 'unpin' | 'upgrade' | 'upload' | 'url' | 'user' | 'users' | 'warning' | 'waves';
4
+ export type IconName = 'activity' | 'alarm' | 'arrow-directions' | 'arrow-down' | 'arrow-left' | 'arrow-right' | 'arrow-triangle' | 'arrow-up' | 'auth-app' | 'auth-sms' | 'backups' | 'bar-chart' | 'bell' | 'beta' | 'blog' | 'bold' | 'book' | 'brackets' | 'briefcase' | 'building' | 'burger-menu' | 'calendar' | 'calendar-with-time' | 'cards' | 'cell-tower' | 'chart-area' | 'chart-bar-horizontal' | 'chart-cloud' | 'chart-donut' | 'chart-heatmap' | 'chart-scatter' | 'chart-square' | 'chart-stacked-horizontal' | 'chart-stacked-vertical' | 'chat' | 'check' | 'check-in-circle' | 'chevron-down' | 'chevron-left' | 'chevron-right' | 'chevron-up' | 'circle' | 'clock' | 'cloud' | 'cloud-keys' | 'code' | 'code-in-square' | 'collapse-all' | 'connect' | 'connect-alt' | 'console' | 'copy' | 'cpu' | 'credit-card' | 'cross' | 'data' | 'data-lakes' | 'database' | 'disk' | 'display' | 'document' | 'dollar' | 'dot' | 'dots-horizontal' | 'dots-triangle' | 'dots-vertical' | 'dots-vertical-double' | 'double-check' | 'download' | 'download-in-circle' | 'email' | 'empty' | 'enter' | 'expand-all' | 'eye' | 'eye-closed' | 'filter' | 'fire' | 'flag' | 'flash' | 'flask' | 'folder-closed' | 'folder-open' | 'gear' | 'gift' | 'git-merge' | 'globe' | 'hexagon' | 'history' | 'home' | 'horizontal-loading' | 'http' | 'http-monitoring' | 'info-in-circle' | 'information' | 'insert-row' | 'integrations' | 'italic' | 'key' | 'keys' | 'lifebuoy' | 'light-bulb' | 'light-bulb-on' | 'lightening' | 'line-in-circle' | 'list-bulleted' | 'list-numbered' | 'loading' | 'loading-animated' | 'lock' | 'map-pin' | 'mcp' | 'metrics' | 'metrics-alt' | 'minus' | 'moon' | 'no-cloud' | 'pause' | 'payment' | 'pencil' | 'pie-chart' | 'pin' | 'pipe' | 'play' | 'play-in-circle' | 'plug' | 'plus' | 'popin' | 'popout' | 'popover-arrow' | 'puzzle-piece' | 'query' | 'question' | 'refresh' | 'resize-arrows-horizontal' | 'resize-arrows-vertical' | 'rocket' | 'sand-glass' | 'search' | 'secure' | 'server' | 'services' | 'settings' | 'share' | 'share-network' | 'sleep' | 'slide-in' | 'slide-out' | 'sort' | 'sort-alt' | 'sparkle' | 'speaker' | 'speed' | 'square' | 'star' | 'stop' | 'support' | 'table' | 'taxi' | 'text-slash' | 'thumbs-down' | 'thumbs-up' | 'trash' | 'tree-structure' | 'underline' | 'unpin' | 'upgrade' | 'upload' | 'url' | 'user' | 'users' | 'warning' | 'waves';
5
5
  export interface IconProps extends SVGAttributes<SVGElement> {
6
6
  name: IconName;
7
7
  theme?: ThemeName;
@@ -1,6 +1,11 @@
1
1
  import { HTMLAttributes } from 'react';
2
2
  export type CodeThemeType = 'light' | 'dark';
3
3
  export interface CodeBlockProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'onCopy'> {
4
+ /**
5
+ * Highlight.js language registered by CodeBlock. Supported values:
6
+ * `sql`, `bash`, `json`, `tsx`, `plaintext`, `diff`. Unknown names
7
+ * fall back to unhighlighted text.
8
+ */
4
9
  language?: string;
5
10
  children: string;
6
11
  theme?: CodeThemeType;
@@ -2,18 +2,18 @@ import { DateRange, Timezone } from './utils';
2
2
  type OpenDirection = 'left' | 'right';
3
3
  export interface DateRangePickerProps {
4
4
  allowOnlyDatesList?: Array<Date>;
5
- endDate?: Date;
6
5
  disabled?: boolean;
6
+ endDate?: Date;
7
7
  futureDatesDisabled?: boolean;
8
8
  futureStartDatesDisabled?: boolean;
9
+ maxRangeLength?: number;
9
10
  onSelectDateRange: (selectedStartDate: Date, selectedEndDate: Date) => void;
10
11
  openDirection?: OpenDirection;
11
12
  placeholder?: string;
12
13
  predefinedDatesList?: DateRange[];
13
- maxRangeLength?: number;
14
- startDate?: Date;
15
14
  responsivePositioning?: boolean;
15
+ startDate?: Date;
16
16
  timezone?: Timezone;
17
17
  }
18
- export declare const DateRangePicker: ({ allowOnlyDatesList, endDate, startDate, disabled, futureDatesDisabled, futureStartDatesDisabled, maxRangeLength, onSelectDateRange, openDirection, placeholder, predefinedDatesList, responsivePositioning, timezone, }: DateRangePickerProps) => import("react/jsx-runtime").JSX.Element;
18
+ export declare const DateRangePicker: ({ allowOnlyDatesList, disabled, endDate, futureDatesDisabled, futureStartDatesDisabled, maxRangeLength, onSelectDateRange, openDirection, placeholder, predefinedDatesList, responsivePositioning, startDate, timezone, }: DateRangePickerProps) => import("react/jsx-runtime").JSX.Element;
19
19
  export {};
@@ -1,6 +1,6 @@
1
1
  import { ImageType } from './Icon.types';
2
2
  declare const SvgImage: {
3
- ({ name, size, theme, ...props }: ImageType): import("react/jsx-runtime").JSX.Element;
3
+ ({ name: rawName, size, theme, ...props }: ImageType): import("react/jsx-runtime").JSX.Element;
4
4
  displayName: string;
5
5
  };
6
6
  export { SvgImage as Icon };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clickhouse/click-ui",
3
- "version": "0.11.0-rc1",
3
+ "version": "0.12.0",
4
4
  "description": "Official ClickHouse design system react library",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -379,8 +379,8 @@
379
379
  "generate:tokens": "node ./.scripts/js/generate-tokens.js && yarn format:fix src/theme/tokens/**/*.ts",
380
380
  "lint": "yarn lint:code && yarn lint:css",
381
381
  "lint:fix": "yarn lint:code:fix && yarn lint:css:fix",
382
- "lint:code": "eslint src --report-unused-disable-directives",
383
- "lint:code:fix": "eslint src --report-unused-disable-directives --fix",
382
+ "lint:code": "eslint src plugins --report-unused-disable-directives",
383
+ "lint:code:fix": "eslint src plugins --report-unused-disable-directives --fix",
384
384
  "lint:css": "stylelint \"src/**/*.css\"",
385
385
  "lint:css:fix": "stylelint \"src/**/*.css\" --fix",
386
386
  "prepare": "yarn test && yarn format && yarn lint && yarn circular-dependency:check",
@@ -1,32 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
-
5
- const jsxRuntime = require('react/jsx-runtime');
6
-
7
- const Share_Arrow = (props) => /* @__PURE__ */ jsxRuntime.jsx(
8
- "svg",
9
- {
10
- width: "24",
11
- height: "24",
12
- viewBox: "0 0 24 24",
13
- fill: "none",
14
- xmlns: "http://www.w3.org/2000/svg",
15
- ...props,
16
- children: /* @__PURE__ */ jsxRuntime.jsx(
17
- "path",
18
- {
19
- fillRule: "evenodd",
20
- clipRule: "evenodd",
21
- d: "M11.0866 8.95455C6.19852 9.5062 2.50353 13.6395 2.50098 18.5586V19.1708C4.62535 16.6117 7.76103 15.1074 11.0866 15.0521V18.2804C11.0867 18.7489 11.3544 19.176 11.7759 19.3803C12.1975 19.5846 12.6987 19.53 13.0664 19.2398L21.0597 12.9282C21.3435 12.7046 21.5091 12.3632 21.5091 12.0018C21.5091 11.6405 21.3435 11.2991 21.0597 11.0754L13.0664 4.76381C12.6987 4.47364 12.1975 4.41908 11.7759 4.62335C11.3544 4.82762 11.0867 5.25479 11.0866 5.72321V8.95455Z",
22
- stroke: "#323232",
23
- strokeWidth: "1.5",
24
- strokeLinecap: "round",
25
- strokeLinejoin: "round"
26
- }
27
- )
28
- }
29
- );
30
-
31
- exports.default = Share_Arrow;
32
- //# sourceMappingURL=Share-Arrow.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Share-Arrow.cjs","sources":["../../../../../src/components/Assets/Icons/Share-Arrow.tsx"],"sourcesContent":["import type { SVGAssetProps } from '@/types';\n\nconst Share_Arrow = (props: SVGAssetProps) => (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.0866 8.95455C6.19852 9.5062 2.50353 13.6395 2.50098 18.5586V19.1708C4.62535 16.6117 7.76103 15.1074 11.0866 15.0521V18.2804C11.0867 18.7489 11.3544 19.176 11.7759 19.3803C12.1975 19.5846 12.6987 19.53 13.0664 19.2398L21.0597 12.9282C21.3435 12.7046 21.5091 12.3632 21.5091 12.0018C21.5091 11.6405 21.3435 11.2991 21.0597 11.0754L13.0664 4.76381C12.6987 4.47364 12.1975 4.41908 11.7759 4.62335C11.3544 4.82762 11.0867 5.25479 11.0866 5.72321V8.95455Z\"\n stroke=\"#323232\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n\nexport default Share_Arrow;\n"],"names":["jsx"],"mappings":";;;;;;AAEA,MAAM,WAAA,GAAc,CAAC,KAAA,qBACnBA,cAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,KAAA,EAAM,IAAA;AAAA,IACN,MAAA,EAAO,IAAA;AAAA,IACP,OAAA,EAAQ,WAAA;AAAA,IACR,IAAA,EAAK,MAAA;AAAA,IACL,KAAA,EAAM,4BAAA;AAAA,IACL,GAAG,KAAA;AAAA,IAEJ,QAAA,kBAAAA,cAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,QAAA,EAAS,SAAA;AAAA,QACT,QAAA,EAAS,SAAA;AAAA,QACT,CAAA,EAAE,ucAAA;AAAA,QACF,MAAA,EAAO,SAAA;AAAA,QACP,WAAA,EAAY,KAAA;AAAA,QACZ,aAAA,EAAc,OAAA;AAAA,QACd,cAAA,EAAe;AAAA;AAAA;AACjB;AACF;;;;"}