@clickhouse/click-ui 0.0.164 → 0.0.165

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.
@@ -4277,14 +4277,13 @@ let $1746a345f3d73bb7$var$count = 0;
4277
4277
  function $1746a345f3d73bb7$export$f680877a34711e37(deterministicId) {
4278
4278
  const [id, setId] = React.useState($1746a345f3d73bb7$var$useReactId());
4279
4279
  $9f79659886946c16$export$e5c5a5f917a5871c(() => {
4280
- if (!deterministicId)
4281
- setId(
4282
- (reactId) => reactId !== null && reactId !== void 0 ? reactId : String($1746a345f3d73bb7$var$count++)
4283
- );
4280
+ setId(
4281
+ (reactId) => reactId !== null && reactId !== void 0 ? reactId : String($1746a345f3d73bb7$var$count++)
4282
+ );
4284
4283
  }, [
4285
4284
  deterministicId
4286
4285
  ]);
4287
- return deterministicId || (id ? `radix-${id}` : "");
4286
+ return id ? `radix-${id}` : "";
4288
4287
  }
4289
4288
  const sides = ["top", "right", "bottom", "left"];
4290
4289
  const min = Math.min;
@@ -9086,25 +9085,25 @@ const Accordion = ({
9086
9085
  children,
9087
9086
  fillWidth = false,
9088
9087
  ...delegated
9089
- }) => /* @__PURE__ */ jsxRuntimeExports.jsx(AccordionRoot, { type: "single", collapsible: true, $fillWidth: fillWidth, ...delegated, children: /* @__PURE__ */ jsxRuntimeExports.jsxs($1bf158f521e1b1b4$export$6d08773d2e66f8f2, { value: "item", children: [
9090
- /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionTrigger, { $size: size2, color, $fillWidth: fillWidth, children: [
9091
- /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionIconsWrapper, { children: [
9092
- /* @__PURE__ */ jsxRuntimeExports.jsx(AccordionIconWrapper, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgImage, { name: "chevron-right", size: iconSize || size2, "aria-label": "accordion icon" }) }),
9088
+ }) => /* @__PURE__ */ jsxRuntimeExports.jsx(AccordionRoot$1, { type: "single", collapsible: true, $fillWidth: fillWidth, ...delegated, children: /* @__PURE__ */ jsxRuntimeExports.jsxs($1bf158f521e1b1b4$export$6d08773d2e66f8f2, { value: "item", children: [
9089
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionTrigger$1, { $size: size2, color, $fillWidth: fillWidth, children: [
9090
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionIconsWrapper$1, { children: [
9091
+ /* @__PURE__ */ jsxRuntimeExports.jsx(AccordionIconWrapper$1, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgImage, { name: "chevron-right", size: iconSize || size2, "aria-label": "accordion icon" }) }),
9093
9092
  icon ? /* @__PURE__ */ jsxRuntimeExports.jsx(SvgImage, { name: icon, size: iconSize || size2 }) : null
9094
9093
  ] }),
9095
9094
  /* @__PURE__ */ jsxRuntimeExports.jsx(Text, { component: "div", size: size2, fillWidth, children: title })
9096
9095
  ] }),
9097
- /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionContent, { children: [
9096
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionContent$1, { children: [
9098
9097
  /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer, { size: gap }),
9099
9098
  children
9100
9099
  ] })
9101
9100
  ] }) });
9102
- const AccordionRoot = styled($1bf158f521e1b1b4$export$be92b6f5f03c0fe9).withConfig({
9101
+ const AccordionRoot$1 = styled($1bf158f521e1b1b4$export$be92b6f5f03c0fe9).withConfig({
9103
9102
  componentId: "sc-1ysh219-0"
9104
9103
  })(["", ";"], ({
9105
9104
  $fillWidth
9106
9105
  }) => $fillWidth && "width: 100%");
9107
- const AccordionTrigger = styled($1bf158f521e1b1b4$export$41fb9f06171c75f4).withConfig({
9106
+ const AccordionTrigger$1 = styled($1bf158f521e1b1b4$export$41fb9f06171c75f4).withConfig({
9108
9107
  componentId: "sc-1ysh219-1"
9109
9108
  })(["border:none;padding:0;background-color:transparent;display:flex;align-items:center;", " ", ";"], ({
9110
9109
  theme: theme2,
@@ -9128,20 +9127,20 @@ const AccordionTrigger = styled($1bf158f521e1b1b4$export$41fb9f06171c75f4).withC
9128
9127
  `, ({
9129
9128
  $fillWidth
9130
9129
  }) => $fillWidth && "width: 100%");
9131
- const AccordionIconWrapper = styled.div.withConfig({
9130
+ const AccordionIconWrapper$1 = styled.div.withConfig({
9132
9131
  componentId: "sc-1ysh219-2"
9133
- })(["display:flex;align-items:center;justify-content:center;transition:transform 200ms cubic-bezier(0.87,0,0.13,1);", "[data-state='open'] &{transform:rotate(90deg);}"], AccordionTrigger);
9134
- const AccordionIconsWrapper = styled.div.withConfig({
9132
+ })(["display:flex;align-items:center;justify-content:center;transition:transform 200ms cubic-bezier(0.87,0,0.13,1);", "[data-state='open'] &{transform:rotate(90deg);}"], AccordionTrigger$1);
9133
+ const AccordionIconsWrapper$1 = styled.div.withConfig({
9135
9134
  componentId: "sc-1ysh219-3"
9136
9135
  })(["display:flex;align-items:center;justify-content:center;"]);
9137
- const AccordionContent = styled($1bf158f521e1b1b4$export$7c6e2c02157bb7d2).withConfig({
9136
+ const AccordionContent$1 = styled($1bf158f521e1b1b4$export$7c6e2c02157bb7d2).withConfig({
9138
9137
  componentId: "sc-1ysh219-4"
9139
9138
  })([""]);
9140
9139
  styled(Accordion).withConfig({
9141
9140
  componentId: "sc-1ysh219-5"
9142
- })(["", "{gap:", ";}p{margin:0;}", "{visibility:hidden;}&:hover ", "{visibility:revert;}&:active ", "{visibility:revert;}", "[data-state='open'] ", "{visibility:revert;}"], AccordionTrigger, ({
9141
+ })(["", "{gap:", ";}p{margin:0;}", "{visibility:hidden;}&:hover ", "{visibility:revert;}&:active ", "{visibility:revert;}", "[data-state='open'] ", "{visibility:revert;}"], AccordionTrigger$1, ({
9143
9142
  theme: theme2
9144
- }) => theme2.click.sidebar.navigation.item.default.space.gap, AccordionIconWrapper, AccordionIconWrapper, AccordionIconWrapper, AccordionTrigger, AccordionIconWrapper);
9143
+ }) => theme2.click.sidebar.navigation.item.default.space.gap, AccordionIconWrapper$1, AccordionIconWrapper$1, AccordionIconWrapper$1, AccordionTrigger$1, AccordionIconWrapper$1);
9145
9144
  const AccordionToExport = styled(Accordion).withConfig({
9146
9145
  componentId: "sc-1ysh219-6"
9147
9146
  })([""]);
@@ -10393,7 +10392,7 @@ const HeaderLeft = styled.div.withConfig({
10393
10392
  const Content$3 = styled.div.withConfig({
10394
10393
  componentId: "sc-1drx130-2"
10395
10394
  })(["display:flex;flex-direction:column;flex:1;"]);
10396
- const CustomIcon = styled.img.withConfig({
10395
+ const CustomIcon$1 = styled.img.withConfig({
10397
10396
  componentId: "sc-1drx130-3"
10398
10397
  })(["height:", ";width:", ";"], ({
10399
10398
  theme: theme2
@@ -10472,7 +10471,7 @@ const CardSecondary = ({
10472
10471
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(Wrapper$a, { "aria-disabled": disabled, tabIndex: 0, $hasShadow: hasShadow, ...props, children: [
10473
10472
  /* @__PURE__ */ jsxRuntimeExports.jsxs(Header$4, { children: [
10474
10473
  /* @__PURE__ */ jsxRuntimeExports.jsxs(HeaderLeft, { $disabled: disabled, children: [
10475
- iconUrl ? /* @__PURE__ */ jsxRuntimeExports.jsx(CustomIcon, { src: iconUrl, alt: "card icon", "aria-hidden": true }) : icon && /* @__PURE__ */ jsxRuntimeExports.jsx(SvgImage, { name: icon, "aria-hidden": true, size: "lg" }),
10474
+ iconUrl ? /* @__PURE__ */ jsxRuntimeExports.jsx(CustomIcon$1, { src: iconUrl, alt: "card icon", "aria-hidden": true }) : icon && /* @__PURE__ */ jsxRuntimeExports.jsx(SvgImage, { name: icon, "aria-hidden": true, size: "lg" }),
10476
10475
  /* @__PURE__ */ jsxRuntimeExports.jsx(Title$2, { type: "h3", children: title })
10477
10476
  ] }),
10478
10477
  badgeText && /* @__PURE__ */ jsxRuntimeExports.jsx(Badge, { text: badgeText, state: disabled == true ? "disabled" : badgeState })
@@ -44247,7 +44246,7 @@ const click$1 = {
44247
44246
  field: {
44248
44247
  color: {
44249
44248
  background: {
44250
- "default": "rgb(96.6% 96.9% 98.1%)",
44249
+ "default": "rgb(98.5% 98.9% 100%)",
44251
44250
  hover: "rgb(96.6% 96.9% 98.1%)",
44252
44251
  active: "#ffffff",
44253
44252
  disabled: "#dfdfdf",
@@ -46335,7 +46334,7 @@ const click = {
46335
46334
  },
46336
46335
  color: {
46337
46336
  background: {
46338
- "default": "rgb(96.6% 96.9% 98.1%)",
46337
+ "default": "rgb(98.5% 98.9% 100%)",
46339
46338
  hover: "rgb(96.6% 96.9% 98.1%)",
46340
46339
  active: "#ffffff",
46341
46340
  disabled: "#dfdfdf",
@@ -47984,6 +47983,7 @@ const palette = {
47984
47983
  base: "#212121"
47985
47984
  },
47986
47985
  slate: {
47986
+ "25": "#FBFCFF",
47987
47987
  "50": "#f6f7fa",
47988
47988
  "100": "#e6e7e9",
47989
47989
  "200": "#cccfd3",
@@ -48459,6 +48459,153 @@ const VerticalStep = ({
48459
48459
  };
48460
48460
  VerticalStep.displayName = "VerticalStepper.Step";
48461
48461
  VerticalStepper.Step = VerticalStep;
48462
+ const MultiAccordionContext = createContext({
48463
+ size: "md",
48464
+ fillWidth: true,
48465
+ showBorder: true,
48466
+ showCheck: false
48467
+ });
48468
+ const MultiAccordion = ({
48469
+ size: size2 = "md",
48470
+ children,
48471
+ fillWidth = true,
48472
+ showCheck = false,
48473
+ showBorder = true,
48474
+ gap = "md",
48475
+ markAsCompleted,
48476
+ ...delegated
48477
+ }) => {
48478
+ const contextValue = {
48479
+ size: size2,
48480
+ fillWidth,
48481
+ showBorder,
48482
+ showCheck,
48483
+ markAsCompleted
48484
+ };
48485
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(AccordionRoot, { $fillWidth: fillWidth, $gap: gap, ...delegated, children: /* @__PURE__ */ jsxRuntimeExports.jsx(MultiAccordionContext.Provider, { value: contextValue, children }) });
48486
+ };
48487
+ const MultiAccordionItem = ({
48488
+ value,
48489
+ title,
48490
+ color,
48491
+ icon,
48492
+ iconSize,
48493
+ gap,
48494
+ children,
48495
+ isCompleted = false,
48496
+ ...props
48497
+ }) => {
48498
+ const {
48499
+ fillWidth,
48500
+ size: size2,
48501
+ showBorder,
48502
+ showCheck,
48503
+ markAsCompleted
48504
+ } = useContext(MultiAccordionContext);
48505
+ const onClickStatus = (e) => {
48506
+ e.preventDefault();
48507
+ if (typeof markAsCompleted === "function") {
48508
+ markAsCompleted(value);
48509
+ }
48510
+ };
48511
+ const customSize = size2 === "none" ? "sm" : size2;
48512
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionItem, { value, $showBorder: showBorder, $fillWidth: fillWidth, ...props, children: [
48513
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionTrigger, { $size: size2, color, children: [
48514
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionIconsWrapper, { children: [
48515
+ /* @__PURE__ */ jsxRuntimeExports.jsx(AccordionIconWrapper, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgImage, { name: "chevron-right", size: iconSize ?? customSize, "aria-label": "accordion icon" }) }),
48516
+ icon ? /* @__PURE__ */ jsxRuntimeExports.jsx(SvgImage, { name: icon, size: iconSize ?? customSize }) : null
48517
+ ] }),
48518
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Container, { isResponsive: false, gap: "sm", alignItems: "center", fillWidth: true, justifyContent: "space-between", component: "span", children: [
48519
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Text, { component: "span", size: customSize, fillWidth, children: title }),
48520
+ showCheck && /* @__PURE__ */ jsxRuntimeExports.jsx(CustomIcon, { name: isCompleted ? "check-in-circle" : "circle", $isCompleted: isCompleted, size: iconSize ?? customSize, "aria-label": "accordion icon status", onClick: onClickStatus, "data-icon": "accordion-status", "data-testid": "accordion-status-icon" })
48521
+ ] })
48522
+ ] }),
48523
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionContent, { $padding: size2, children: [
48524
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer, { size: gap }),
48525
+ children
48526
+ ] })
48527
+ ] });
48528
+ };
48529
+ MultiAccordionItem.displayName = "MultiAccordion.Item";
48530
+ MultiAccordion.Item = MultiAccordionItem;
48531
+ const AccordionRoot = styled($1bf158f521e1b1b4$export$be92b6f5f03c0fe9).withConfig({
48532
+ componentId: "sc-1lb3204-0"
48533
+ })(["display:flex;flex-direction:column;justify-content:start;align-items:start;gap:", ";", ";"], ({
48534
+ theme: theme2,
48535
+ $gap
48536
+ }) => theme2.click.container.gap[$gap], ({
48537
+ $fillWidth
48538
+ }) => $fillWidth && "width: 100%");
48539
+ const AccordionItem = styled($1bf158f521e1b1b4$export$6d08773d2e66f8f2).withConfig({
48540
+ componentId: "sc-1lb3204-1"
48541
+ })(["", ";", ";"], ({
48542
+ theme: theme2,
48543
+ $showBorder
48544
+ }) => `
48545
+ border: ${$showBorder ? `1px solid ${theme2.click.global.color.stroke.default}` : "none"};
48546
+ border-radius: ${theme2.border.radii[1]};
48547
+ `, ({
48548
+ $fillWidth
48549
+ }) => $fillWidth && "width: 100%");
48550
+ const AccordionTrigger = styled($1bf158f521e1b1b4$export$41fb9f06171c75f4).withConfig({
48551
+ componentId: "sc-1lb3204-2"
48552
+ })(["width:100%;border:none;padding:0;background-color:transparent;display:flex;align-items:center;", ';border-radius:inherit;&[data-state="open"]{border-bottom-left-radius:0px;border-bottom-right-radius:0px;[data-icon="accordion-status"]{color:', ";}}"], ({
48553
+ theme: theme2,
48554
+ $size = "md",
48555
+ color = "default"
48556
+ }) => {
48557
+ const size2 = $size === "none" ? "sm" : $size;
48558
+ return `
48559
+ padding: ${theme2.click.container.space[$size]};
48560
+ gap: ${theme2.click.accordion[size2].space.gap};
48561
+ color: ${theme2.click.accordion.color[color].label.default};
48562
+ font: ${theme2.click.accordion[size2].typography.label.default};
48563
+
48564
+ &:active {
48565
+ color: ${theme2.click.accordion.color[color].label.active};
48566
+ font: ${theme2.click.accordion[size2].typography.label.active};
48567
+ }
48568
+
48569
+ &:hover {
48570
+ color: ${theme2.click.accordion.color[color].label.hover};
48571
+ background: ${theme2.click.global.color.stroke.default};
48572
+ font: ${theme2.click.accordion[size2].typography.label.hover};
48573
+ cursor: pointer;
48574
+ }
48575
+
48576
+ [data-icon="accordion-status"] {
48577
+ color: ${theme2.global.color.stroke.intense};
48578
+ }
48579
+ `;
48580
+ }, ({
48581
+ theme: theme2
48582
+ }) => theme2.global.color.accent.default);
48583
+ const AccordionIconWrapper = styled.div.withConfig({
48584
+ componentId: "sc-1lb3204-3"
48585
+ })(["display:flex;align-items:center;justify-content:center;transition:transform 200ms cubic-bezier(0.87,0,0.13,1);", "[data-state='open'] &{transform:rotate(90deg);}"], AccordionTrigger);
48586
+ const AccordionIconsWrapper = styled.div.withConfig({
48587
+ componentId: "sc-1lb3204-4"
48588
+ })(["display:flex;align-items:center;justify-content:center;"]);
48589
+ const CustomIcon = styled(SvgImage).withConfig({
48590
+ componentId: "sc-1lb3204-5"
48591
+ })(["", ""], ({
48592
+ $isCompleted,
48593
+ theme: theme2
48594
+ }) => $isCompleted && `
48595
+ svg path {
48596
+ stroke: ${theme2.global.color.background.default} !important;
48597
+ &:first-of-type {
48598
+ stroke: ${theme2.global.color.accent.default} !important;
48599
+ }
48600
+ fill: ${theme2.global.color.accent.default} !important;;
48601
+ }
48602
+ `);
48603
+ const AccordionContent = styled($1bf158f521e1b1b4$export$7c6e2c02157bb7d2).withConfig({
48604
+ componentId: "sc-1lb3204-6"
48605
+ })(["padding:", ";padding-top:0;"], ({
48606
+ theme: theme2,
48607
+ $padding
48608
+ }) => theme2.click.container.space[$padding]);
48462
48609
  export {
48463
48610
  AccordionToExport as Accordion,
48464
48611
  Alert,
@@ -48500,6 +48647,7 @@ export {
48500
48647
  Label$1 as Label,
48501
48648
  Link,
48502
48649
  Logo,
48650
+ MultiAccordion,
48503
48651
  MultiSelect,
48504
48652
  NumberField,
48505
48653
  Pagination,
@@ -4294,14 +4294,13 @@ var __publicField = (obj, key, value) => {
4294
4294
  function $1746a345f3d73bb7$export$f680877a34711e37(deterministicId) {
4295
4295
  const [id, setId] = React__namespace.useState($1746a345f3d73bb7$var$useReactId());
4296
4296
  $9f79659886946c16$export$e5c5a5f917a5871c(() => {
4297
- if (!deterministicId)
4298
- setId(
4299
- (reactId) => reactId !== null && reactId !== void 0 ? reactId : String($1746a345f3d73bb7$var$count++)
4300
- );
4297
+ setId(
4298
+ (reactId) => reactId !== null && reactId !== void 0 ? reactId : String($1746a345f3d73bb7$var$count++)
4299
+ );
4301
4300
  }, [
4302
4301
  deterministicId
4303
4302
  ]);
4304
- return deterministicId || (id ? `radix-${id}` : "");
4303
+ return id ? `radix-${id}` : "";
4305
4304
  }
4306
4305
  const sides = ["top", "right", "bottom", "left"];
4307
4306
  const min = Math.min;
@@ -9103,25 +9102,25 @@ var __publicField = (obj, key, value) => {
9103
9102
  children,
9104
9103
  fillWidth = false,
9105
9104
  ...delegated
9106
- }) => /* @__PURE__ */ jsxRuntimeExports.jsx(AccordionRoot, { type: "single", collapsible: true, $fillWidth: fillWidth, ...delegated, children: /* @__PURE__ */ jsxRuntimeExports.jsxs($1bf158f521e1b1b4$export$6d08773d2e66f8f2, { value: "item", children: [
9107
- /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionTrigger, { $size: size2, color, $fillWidth: fillWidth, children: [
9108
- /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionIconsWrapper, { children: [
9109
- /* @__PURE__ */ jsxRuntimeExports.jsx(AccordionIconWrapper, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgImage, { name: "chevron-right", size: iconSize || size2, "aria-label": "accordion icon" }) }),
9105
+ }) => /* @__PURE__ */ jsxRuntimeExports.jsx(AccordionRoot$1, { type: "single", collapsible: true, $fillWidth: fillWidth, ...delegated, children: /* @__PURE__ */ jsxRuntimeExports.jsxs($1bf158f521e1b1b4$export$6d08773d2e66f8f2, { value: "item", children: [
9106
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionTrigger$1, { $size: size2, color, $fillWidth: fillWidth, children: [
9107
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionIconsWrapper$1, { children: [
9108
+ /* @__PURE__ */ jsxRuntimeExports.jsx(AccordionIconWrapper$1, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgImage, { name: "chevron-right", size: iconSize || size2, "aria-label": "accordion icon" }) }),
9110
9109
  icon ? /* @__PURE__ */ jsxRuntimeExports.jsx(SvgImage, { name: icon, size: iconSize || size2 }) : null
9111
9110
  ] }),
9112
9111
  /* @__PURE__ */ jsxRuntimeExports.jsx(Text, { component: "div", size: size2, fillWidth, children: title })
9113
9112
  ] }),
9114
- /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionContent, { children: [
9113
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionContent$1, { children: [
9115
9114
  /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer, { size: gap }),
9116
9115
  children
9117
9116
  ] })
9118
9117
  ] }) });
9119
- const AccordionRoot = styled($1bf158f521e1b1b4$export$be92b6f5f03c0fe9).withConfig({
9118
+ const AccordionRoot$1 = styled($1bf158f521e1b1b4$export$be92b6f5f03c0fe9).withConfig({
9120
9119
  componentId: "sc-1ysh219-0"
9121
9120
  })(["", ";"], ({
9122
9121
  $fillWidth
9123
9122
  }) => $fillWidth && "width: 100%");
9124
- const AccordionTrigger = styled($1bf158f521e1b1b4$export$41fb9f06171c75f4).withConfig({
9123
+ const AccordionTrigger$1 = styled($1bf158f521e1b1b4$export$41fb9f06171c75f4).withConfig({
9125
9124
  componentId: "sc-1ysh219-1"
9126
9125
  })(["border:none;padding:0;background-color:transparent;display:flex;align-items:center;", " ", ";"], ({
9127
9126
  theme: theme2,
@@ -9145,20 +9144,20 @@ var __publicField = (obj, key, value) => {
9145
9144
  `, ({
9146
9145
  $fillWidth
9147
9146
  }) => $fillWidth && "width: 100%");
9148
- const AccordionIconWrapper = styled.div.withConfig({
9147
+ const AccordionIconWrapper$1 = styled.div.withConfig({
9149
9148
  componentId: "sc-1ysh219-2"
9150
- })(["display:flex;align-items:center;justify-content:center;transition:transform 200ms cubic-bezier(0.87,0,0.13,1);", "[data-state='open'] &{transform:rotate(90deg);}"], AccordionTrigger);
9151
- const AccordionIconsWrapper = styled.div.withConfig({
9149
+ })(["display:flex;align-items:center;justify-content:center;transition:transform 200ms cubic-bezier(0.87,0,0.13,1);", "[data-state='open'] &{transform:rotate(90deg);}"], AccordionTrigger$1);
9150
+ const AccordionIconsWrapper$1 = styled.div.withConfig({
9152
9151
  componentId: "sc-1ysh219-3"
9153
9152
  })(["display:flex;align-items:center;justify-content:center;"]);
9154
- const AccordionContent = styled($1bf158f521e1b1b4$export$7c6e2c02157bb7d2).withConfig({
9153
+ const AccordionContent$1 = styled($1bf158f521e1b1b4$export$7c6e2c02157bb7d2).withConfig({
9155
9154
  componentId: "sc-1ysh219-4"
9156
9155
  })([""]);
9157
9156
  styled(Accordion).withConfig({
9158
9157
  componentId: "sc-1ysh219-5"
9159
- })(["", "{gap:", ";}p{margin:0;}", "{visibility:hidden;}&:hover ", "{visibility:revert;}&:active ", "{visibility:revert;}", "[data-state='open'] ", "{visibility:revert;}"], AccordionTrigger, ({
9158
+ })(["", "{gap:", ";}p{margin:0;}", "{visibility:hidden;}&:hover ", "{visibility:revert;}&:active ", "{visibility:revert;}", "[data-state='open'] ", "{visibility:revert;}"], AccordionTrigger$1, ({
9160
9159
  theme: theme2
9161
- }) => theme2.click.sidebar.navigation.item.default.space.gap, AccordionIconWrapper, AccordionIconWrapper, AccordionIconWrapper, AccordionTrigger, AccordionIconWrapper);
9160
+ }) => theme2.click.sidebar.navigation.item.default.space.gap, AccordionIconWrapper$1, AccordionIconWrapper$1, AccordionIconWrapper$1, AccordionTrigger$1, AccordionIconWrapper$1);
9162
9161
  const AccordionToExport = styled(Accordion).withConfig({
9163
9162
  componentId: "sc-1ysh219-6"
9164
9163
  })([""]);
@@ -10410,7 +10409,7 @@ var __publicField = (obj, key, value) => {
10410
10409
  const Content$3 = styled.div.withConfig({
10411
10410
  componentId: "sc-1drx130-2"
10412
10411
  })(["display:flex;flex-direction:column;flex:1;"]);
10413
- const CustomIcon = styled.img.withConfig({
10412
+ const CustomIcon$1 = styled.img.withConfig({
10414
10413
  componentId: "sc-1drx130-3"
10415
10414
  })(["height:", ";width:", ";"], ({
10416
10415
  theme: theme2
@@ -10489,7 +10488,7 @@ var __publicField = (obj, key, value) => {
10489
10488
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(Wrapper$a, { "aria-disabled": disabled, tabIndex: 0, $hasShadow: hasShadow, ...props, children: [
10490
10489
  /* @__PURE__ */ jsxRuntimeExports.jsxs(Header$4, { children: [
10491
10490
  /* @__PURE__ */ jsxRuntimeExports.jsxs(HeaderLeft, { $disabled: disabled, children: [
10492
- iconUrl ? /* @__PURE__ */ jsxRuntimeExports.jsx(CustomIcon, { src: iconUrl, alt: "card icon", "aria-hidden": true }) : icon && /* @__PURE__ */ jsxRuntimeExports.jsx(SvgImage, { name: icon, "aria-hidden": true, size: "lg" }),
10491
+ iconUrl ? /* @__PURE__ */ jsxRuntimeExports.jsx(CustomIcon$1, { src: iconUrl, alt: "card icon", "aria-hidden": true }) : icon && /* @__PURE__ */ jsxRuntimeExports.jsx(SvgImage, { name: icon, "aria-hidden": true, size: "lg" }),
10493
10492
  /* @__PURE__ */ jsxRuntimeExports.jsx(Title$2, { type: "h3", children: title })
10494
10493
  ] }),
10495
10494
  badgeText && /* @__PURE__ */ jsxRuntimeExports.jsx(Badge, { text: badgeText, state: disabled == true ? "disabled" : badgeState })
@@ -44264,7 +44263,7 @@ Defaulting to \`${$89eedd556c436f6a$var$DEFAULT_ORIENTATION}\`.`;
44264
44263
  field: {
44265
44264
  color: {
44266
44265
  background: {
44267
- "default": "rgb(96.6% 96.9% 98.1%)",
44266
+ "default": "rgb(98.5% 98.9% 100%)",
44268
44267
  hover: "rgb(96.6% 96.9% 98.1%)",
44269
44268
  active: "#ffffff",
44270
44269
  disabled: "#dfdfdf",
@@ -46352,7 +46351,7 @@ Defaulting to \`${$89eedd556c436f6a$var$DEFAULT_ORIENTATION}\`.`;
46352
46351
  },
46353
46352
  color: {
46354
46353
  background: {
46355
- "default": "rgb(96.6% 96.9% 98.1%)",
46354
+ "default": "rgb(98.5% 98.9% 100%)",
46356
46355
  hover: "rgb(96.6% 96.9% 98.1%)",
46357
46356
  active: "#ffffff",
46358
46357
  disabled: "#dfdfdf",
@@ -48001,6 +48000,7 @@ Defaulting to \`${$89eedd556c436f6a$var$DEFAULT_ORIENTATION}\`.`;
48001
48000
  base: "#212121"
48002
48001
  },
48003
48002
  slate: {
48003
+ "25": "#FBFCFF",
48004
48004
  "50": "#f6f7fa",
48005
48005
  "100": "#e6e7e9",
48006
48006
  "200": "#cccfd3",
@@ -48476,6 +48476,153 @@ Defaulting to \`${$89eedd556c436f6a$var$DEFAULT_ORIENTATION}\`.`;
48476
48476
  };
48477
48477
  VerticalStep.displayName = "VerticalStepper.Step";
48478
48478
  VerticalStepper.Step = VerticalStep;
48479
+ const MultiAccordionContext = React.createContext({
48480
+ size: "md",
48481
+ fillWidth: true,
48482
+ showBorder: true,
48483
+ showCheck: false
48484
+ });
48485
+ const MultiAccordion = ({
48486
+ size: size2 = "md",
48487
+ children,
48488
+ fillWidth = true,
48489
+ showCheck = false,
48490
+ showBorder = true,
48491
+ gap = "md",
48492
+ markAsCompleted,
48493
+ ...delegated
48494
+ }) => {
48495
+ const contextValue = {
48496
+ size: size2,
48497
+ fillWidth,
48498
+ showBorder,
48499
+ showCheck,
48500
+ markAsCompleted
48501
+ };
48502
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(AccordionRoot, { $fillWidth: fillWidth, $gap: gap, ...delegated, children: /* @__PURE__ */ jsxRuntimeExports.jsx(MultiAccordionContext.Provider, { value: contextValue, children }) });
48503
+ };
48504
+ const MultiAccordionItem = ({
48505
+ value,
48506
+ title,
48507
+ color,
48508
+ icon,
48509
+ iconSize,
48510
+ gap,
48511
+ children,
48512
+ isCompleted = false,
48513
+ ...props
48514
+ }) => {
48515
+ const {
48516
+ fillWidth,
48517
+ size: size2,
48518
+ showBorder,
48519
+ showCheck,
48520
+ markAsCompleted
48521
+ } = React.useContext(MultiAccordionContext);
48522
+ const onClickStatus = (e) => {
48523
+ e.preventDefault();
48524
+ if (typeof markAsCompleted === "function") {
48525
+ markAsCompleted(value);
48526
+ }
48527
+ };
48528
+ const customSize = size2 === "none" ? "sm" : size2;
48529
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionItem, { value, $showBorder: showBorder, $fillWidth: fillWidth, ...props, children: [
48530
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionTrigger, { $size: size2, color, children: [
48531
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionIconsWrapper, { children: [
48532
+ /* @__PURE__ */ jsxRuntimeExports.jsx(AccordionIconWrapper, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgImage, { name: "chevron-right", size: iconSize ?? customSize, "aria-label": "accordion icon" }) }),
48533
+ icon ? /* @__PURE__ */ jsxRuntimeExports.jsx(SvgImage, { name: icon, size: iconSize ?? customSize }) : null
48534
+ ] }),
48535
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Container, { isResponsive: false, gap: "sm", alignItems: "center", fillWidth: true, justifyContent: "space-between", component: "span", children: [
48536
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Text, { component: "span", size: customSize, fillWidth, children: title }),
48537
+ showCheck && /* @__PURE__ */ jsxRuntimeExports.jsx(CustomIcon, { name: isCompleted ? "check-in-circle" : "circle", $isCompleted: isCompleted, size: iconSize ?? customSize, "aria-label": "accordion icon status", onClick: onClickStatus, "data-icon": "accordion-status", "data-testid": "accordion-status-icon" })
48538
+ ] })
48539
+ ] }),
48540
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(AccordionContent, { $padding: size2, children: [
48541
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer, { size: gap }),
48542
+ children
48543
+ ] })
48544
+ ] });
48545
+ };
48546
+ MultiAccordionItem.displayName = "MultiAccordion.Item";
48547
+ MultiAccordion.Item = MultiAccordionItem;
48548
+ const AccordionRoot = styled($1bf158f521e1b1b4$export$be92b6f5f03c0fe9).withConfig({
48549
+ componentId: "sc-1lb3204-0"
48550
+ })(["display:flex;flex-direction:column;justify-content:start;align-items:start;gap:", ";", ";"], ({
48551
+ theme: theme2,
48552
+ $gap
48553
+ }) => theme2.click.container.gap[$gap], ({
48554
+ $fillWidth
48555
+ }) => $fillWidth && "width: 100%");
48556
+ const AccordionItem = styled($1bf158f521e1b1b4$export$6d08773d2e66f8f2).withConfig({
48557
+ componentId: "sc-1lb3204-1"
48558
+ })(["", ";", ";"], ({
48559
+ theme: theme2,
48560
+ $showBorder
48561
+ }) => `
48562
+ border: ${$showBorder ? `1px solid ${theme2.click.global.color.stroke.default}` : "none"};
48563
+ border-radius: ${theme2.border.radii[1]};
48564
+ `, ({
48565
+ $fillWidth
48566
+ }) => $fillWidth && "width: 100%");
48567
+ const AccordionTrigger = styled($1bf158f521e1b1b4$export$41fb9f06171c75f4).withConfig({
48568
+ componentId: "sc-1lb3204-2"
48569
+ })(["width:100%;border:none;padding:0;background-color:transparent;display:flex;align-items:center;", ';border-radius:inherit;&[data-state="open"]{border-bottom-left-radius:0px;border-bottom-right-radius:0px;[data-icon="accordion-status"]{color:', ";}}"], ({
48570
+ theme: theme2,
48571
+ $size = "md",
48572
+ color = "default"
48573
+ }) => {
48574
+ const size2 = $size === "none" ? "sm" : $size;
48575
+ return `
48576
+ padding: ${theme2.click.container.space[$size]};
48577
+ gap: ${theme2.click.accordion[size2].space.gap};
48578
+ color: ${theme2.click.accordion.color[color].label.default};
48579
+ font: ${theme2.click.accordion[size2].typography.label.default};
48580
+
48581
+ &:active {
48582
+ color: ${theme2.click.accordion.color[color].label.active};
48583
+ font: ${theme2.click.accordion[size2].typography.label.active};
48584
+ }
48585
+
48586
+ &:hover {
48587
+ color: ${theme2.click.accordion.color[color].label.hover};
48588
+ background: ${theme2.click.global.color.stroke.default};
48589
+ font: ${theme2.click.accordion[size2].typography.label.hover};
48590
+ cursor: pointer;
48591
+ }
48592
+
48593
+ [data-icon="accordion-status"] {
48594
+ color: ${theme2.global.color.stroke.intense};
48595
+ }
48596
+ `;
48597
+ }, ({
48598
+ theme: theme2
48599
+ }) => theme2.global.color.accent.default);
48600
+ const AccordionIconWrapper = styled.div.withConfig({
48601
+ componentId: "sc-1lb3204-3"
48602
+ })(["display:flex;align-items:center;justify-content:center;transition:transform 200ms cubic-bezier(0.87,0,0.13,1);", "[data-state='open'] &{transform:rotate(90deg);}"], AccordionTrigger);
48603
+ const AccordionIconsWrapper = styled.div.withConfig({
48604
+ componentId: "sc-1lb3204-4"
48605
+ })(["display:flex;align-items:center;justify-content:center;"]);
48606
+ const CustomIcon = styled(SvgImage).withConfig({
48607
+ componentId: "sc-1lb3204-5"
48608
+ })(["", ""], ({
48609
+ $isCompleted,
48610
+ theme: theme2
48611
+ }) => $isCompleted && `
48612
+ svg path {
48613
+ stroke: ${theme2.global.color.background.default} !important;
48614
+ &:first-of-type {
48615
+ stroke: ${theme2.global.color.accent.default} !important;
48616
+ }
48617
+ fill: ${theme2.global.color.accent.default} !important;;
48618
+ }
48619
+ `);
48620
+ const AccordionContent = styled($1bf158f521e1b1b4$export$7c6e2c02157bb7d2).withConfig({
48621
+ componentId: "sc-1lb3204-6"
48622
+ })(["padding:", ";padding-top:0;"], ({
48623
+ theme: theme2,
48624
+ $padding
48625
+ }) => theme2.click.container.space[$padding]);
48479
48626
  exports2.Accordion = AccordionToExport;
48480
48627
  exports2.Alert = Alert;
48481
48628
  exports2.AutoComplete = AutoComplete;
@@ -48516,6 +48663,7 @@ Defaulting to \`${$89eedd556c436f6a$var$DEFAULT_ORIENTATION}\`.`;
48516
48663
  exports2.Label = Label$1;
48517
48664
  exports2.Link = Link;
48518
48665
  exports2.Logo = Logo;
48666
+ exports2.MultiAccordion = MultiAccordion;
48519
48667
  exports2.MultiSelect = MultiSelect;
48520
48668
  exports2.NumberField = NumberField;
48521
48669
  exports2.Pagination = Pagination;
@@ -2,10 +2,10 @@ import { ComponentProps, ElementType, ReactNode } from 'react';
2
2
  import { Orientation } from '..';
3
3
 
4
4
  type AlignItemsOptions = "start" | "center" | "end" | "stretch";
5
- type GapOptions = "none" | "xxs" | "xs" | "sm" | "md" | "lg" | "xl" | "xxl";
5
+ export type GapOptions = "none" | "xxs" | "xs" | "sm" | "md" | "lg" | "xl" | "xxl";
6
6
  type GrowShrinkOptions = "0" | "1" | "2" | "3" | "4" | "5" | "6";
7
7
  type JustifyContentOptions = "center" | "space-between" | "space-around" | "space-evenly" | "start" | "end" | "left" | "right";
8
- type PaddingOptions = "none" | "xxs" | "xs" | "sm" | "md" | "lg" | "xl" | "xxl";
8
+ export type PaddingOptions = "none" | "xxs" | "xs" | "sm" | "md" | "lg" | "xl" | "xxl";
9
9
  type WrapOptions = "nowrap" | "wrap" | "wrap-reverse";
10
10
  export interface ContainerProps<T extends ElementType = "div"> {
11
11
  component?: T;
@@ -0,0 +1,35 @@
1
+ import { IconSize } from '../Icon/types';
2
+ import { IconName } from '..';
3
+ import { ReactElement, ReactNode } from 'react';
4
+ import { GapOptions } from '../Container/Container';
5
+ import { SizeType as SpacerSizeType } from '../Spacer/Spacer';
6
+ import * as RadixAccordion from "@radix-ui/react-accordion";
7
+ type Size = "none" | "sm" | "md" | "lg";
8
+ type Color = "default" | "link";
9
+ type MarkAsCompletedFunctionType = (value: string) => void | Promise<void>;
10
+ interface MultiAccordionCommonProps {
11
+ children: React.ReactNode;
12
+ size?: Size;
13
+ fillWidth?: boolean;
14
+ gap?: GapOptions;
15
+ showBorder?: boolean;
16
+ showCheck?: boolean;
17
+ markAsCompleted?: MarkAsCompletedFunctionType;
18
+ }
19
+ export type MultiAccordionProps = MultiAccordionCommonProps & (Omit<RadixAccordion.AccordionMultipleProps, "children"> | Omit<RadixAccordion.AccordionSingleProps, "children">);
20
+ export declare const MultiAccordion: {
21
+ ({ size, children, fillWidth, showCheck, showBorder, gap, markAsCompleted, ...delegated }: MultiAccordionProps): import("react/jsx-runtime").JSX.Element;
22
+ Item: {
23
+ ({ value, title, color, icon, iconSize, gap, children, isCompleted, ...props }: MultiAccordionItemProps): ReactElement;
24
+ displayName: string;
25
+ };
26
+ };
27
+ interface MultiAccordionItemProps extends Omit<RadixAccordion.AccordionItemProps, "title"> {
28
+ title: ReactNode;
29
+ color?: Color;
30
+ icon?: IconName;
31
+ iconSize?: IconSize;
32
+ gap?: SpacerSizeType;
33
+ isCompleted?: boolean;
34
+ }
35
+ export {};
@@ -0,0 +1,4 @@
1
+ import { ReactElement } from 'react';
2
+
3
+ declare const MultiAccordionDemo: () => ReactElement;
4
+ export default MultiAccordionDemo;
@@ -1,6 +1,5 @@
1
- type SizeType = "xs" | "sm" | "md" | "lg" | "xl" | "xxl";
1
+ export type SizeType = "xs" | "sm" | "md" | "lg" | "xl" | "xxl";
2
2
  export interface SpacerProps {
3
3
  size?: SizeType;
4
4
  }
5
5
  export declare const Spacer: ({ size }: SpacerProps) => import("react/jsx-runtime").JSX.Element;
6
- export {};
@@ -64,3 +64,4 @@ export { useToast } from './Toast/useToast';
64
64
  export { createToast } from './Toast/toastEmitter';
65
65
  export { UserIcon as ProfileIcon } from './icons/UserIcon';
66
66
  export { default as VerticalStepper } from './VerticalStepper/VerticalStepper';
67
+ export { MultiAccordion } from './MultiAccordion/MultiAccordion';
@@ -56,6 +56,7 @@ export type { AutoCompleteProps, AutoCompleteOptionListItem, } from './AutoCompl
56
56
  export type { PaginationProps } from './Pagination/Pagination';
57
57
  export type { ContextMenuItemProps } from './ContextMenu/ContextMenu';
58
58
  export type { GenericLabelProps } from './GenericLabel/GenericLabel';
59
+ export type { MultiAccordionProps } from './MultiAccordion/MultiAccordion';
59
60
  export type { IconButtonProps };
60
61
  export type { AlertProps };
61
62
  export type { AvatarProps };
@@ -2919,6 +2919,7 @@ export interface Theme {
2919
2919
  "base": string;
2920
2920
  };
2921
2921
  "slate": {
2922
+ "25": string;
2922
2923
  "50": string;
2923
2924
  "100": string;
2924
2925
  "200": string;
@@ -1270,7 +1270,7 @@ declare const _default: {
1270
1270
  },
1271
1271
  "color": {
1272
1272
  "background": {
1273
- "default": "rgb(96.6% 96.9% 98.1%)",
1273
+ "default": "rgb(98.5% 98.9% 100%)",
1274
1274
  "hover": "rgb(96.6% 96.9% 98.1%)",
1275
1275
  "active": "#ffffff",
1276
1276
  "disabled": "#dfdfdf",
@@ -2919,6 +2919,7 @@ declare const _default: {
2919
2919
  "base": "#212121"
2920
2920
  },
2921
2921
  "slate": {
2922
+ "25": "#FBFCFF",
2922
2923
  "50": "#f6f7fa",
2923
2924
  "100": "#e6e7e9",
2924
2925
  "200": "#cccfd3",
@@ -677,7 +677,7 @@ declare const _default: {
677
677
  "field": {
678
678
  "color": {
679
679
  "background": {
680
- "default": "rgb(96.6% 96.9% 98.1%)",
680
+ "default": "rgb(98.5% 98.9% 100%)",
681
681
  "hover": "rgb(96.6% 96.9% 98.1%)",
682
682
  "active": "#ffffff",
683
683
  "disabled": "#dfdfdf",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clickhouse/click-ui",
3
- "version": "0.0.164",
3
+ "version": "0.0.165",
4
4
  "description": "Official ClickHouse design system react library",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",