@crisp-ui-kit/crisp 0.57.0 → 0.57.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/accentpicker.css +5 -0
  2. package/dist/accentpicker.d.ts +7 -0
  3. package/dist/accentpicker.layered.css +7 -0
  4. package/dist/avatar.css +1 -1
  5. package/dist/avatar.layered.css +1 -1
  6. package/dist/badge.css +2 -2
  7. package/dist/badge.layered.css +2 -2
  8. package/dist/button.css +3 -3
  9. package/dist/button.layered.css +3 -3
  10. package/dist/cjs/components/accentpicker/accentpicker.js +66 -0
  11. package/dist/cjs/components/accentpicker/accentpicker.recipe.js +25 -0
  12. package/dist/cjs/components/accentpicker/index.js +7 -0
  13. package/dist/cjs/components/avatar/avatar.recipe.js +4 -1
  14. package/dist/cjs/components/badge/badge.recipe.js +16 -2
  15. package/dist/cjs/components/button/button.recipe.js +16 -6
  16. package/dist/cjs/components/input/input.js +2 -2
  17. package/dist/cjs/components/input/input.recipe.js +8 -0
  18. package/dist/cjs/components/multiselect/multiselect.js +1 -1
  19. package/dist/cjs/components/multiselect/multiselect.recipe.js +12 -3
  20. package/dist/cjs/components/progress/progress.js +21 -4
  21. package/dist/cjs/components/progress/progress.recipe.js +30 -0
  22. package/dist/cjs/components/select/select.js +2 -2
  23. package/dist/cjs/components/select/select.recipe.js +32 -5
  24. package/dist/cjs/components/text/text.recipe.js +8 -7
  25. package/dist/cjs/components/textarea/textarea.js +3 -2
  26. package/dist/cjs/components/textarea/textarea.recipe.js +2 -1
  27. package/dist/cjs/components/textlink/textlink.recipe.js +6 -3
  28. package/dist/cjs/index.js +1 -0
  29. package/dist/cjs/product/recordpage/recordpage.js +46 -5
  30. package/dist/cjs/tokens/palette.js +79 -25
  31. package/dist/cjs/tokens/scale.js +1 -0
  32. package/dist/cjs/tokens/semantic.js +24 -0
  33. package/dist/esm/components/accentpicker/accentpicker.js +30 -0
  34. package/dist/esm/components/accentpicker/accentpicker.recipe.js +22 -0
  35. package/dist/esm/components/accentpicker/index.js +2 -0
  36. package/dist/esm/components/avatar/avatar.recipe.js +4 -1
  37. package/dist/esm/components/badge/badge.recipe.js +16 -2
  38. package/dist/esm/components/button/button.recipe.js +16 -6
  39. package/dist/esm/components/input/input.js +3 -3
  40. package/dist/esm/components/input/input.recipe.js +8 -0
  41. package/dist/esm/components/multiselect/multiselect.js +1 -1
  42. package/dist/esm/components/multiselect/multiselect.recipe.js +12 -3
  43. package/dist/esm/components/progress/progress.js +22 -5
  44. package/dist/esm/components/progress/progress.recipe.js +30 -0
  45. package/dist/esm/components/select/select.js +2 -2
  46. package/dist/esm/components/select/select.recipe.js +32 -5
  47. package/dist/esm/components/text/text.recipe.js +8 -7
  48. package/dist/esm/components/textarea/textarea.js +3 -2
  49. package/dist/esm/components/textarea/textarea.recipe.js +2 -1
  50. package/dist/esm/components/textlink/textlink.recipe.js +6 -3
  51. package/dist/esm/index.js +1 -0
  52. package/dist/esm/product/recordpage/recordpage.js +47 -6
  53. package/dist/esm/tokens/palette.js +79 -25
  54. package/dist/esm/tokens/scale.js +1 -0
  55. package/dist/esm/tokens/semantic.js +24 -0
  56. package/dist/input.css +7 -0
  57. package/dist/input.layered.css +7 -0
  58. package/dist/multiselect.css +4 -0
  59. package/dist/multiselect.d.ts +2 -2
  60. package/dist/multiselect.layered.css +4 -0
  61. package/dist/native/tokens.d.ts +1 -1
  62. package/dist/native/tokens.js +33 -22
  63. package/dist/progress.css +3 -0
  64. package/dist/progress.layered.css +3 -0
  65. package/dist/select.css +22 -2
  66. package/dist/select.d.ts +2 -2
  67. package/dist/select.layered.css +22 -2
  68. package/dist/styles.css +71 -23
  69. package/dist/styles.layered.css +71 -23
  70. package/dist/text.css +1 -1
  71. package/dist/text.layered.css +1 -1
  72. package/dist/textarea.css +2 -1
  73. package/dist/textarea.layered.css +2 -1
  74. package/dist/textlink.css +2 -2
  75. package/dist/textlink.layered.css +2 -2
  76. package/dist/tokens.css +18 -11
  77. package/dist/tokens.json +33 -22
  78. package/dist/types/components/accentpicker/accentpicker.d.ts +23 -0
  79. package/dist/types/components/accentpicker/accentpicker.recipe.d.ts +3 -0
  80. package/dist/types/components/accentpicker/index.d.ts +2 -0
  81. package/dist/types/components/button/button.recipe.d.ts +2 -2
  82. package/dist/types/components/input/input.d.ts +12 -0
  83. package/dist/types/components/multiselect/multiselect.d.ts +4 -3
  84. package/dist/types/components/multiselect/multiselect.recipe.d.ts +3 -0
  85. package/dist/types/components/progress/progress.d.ts +16 -4
  86. package/dist/types/components/progress/progress.recipe.d.ts +22 -0
  87. package/dist/types/components/select/select.d.ts +6 -5
  88. package/dist/types/components/select/select.recipe.d.ts +3 -0
  89. package/dist/types/components/textarea/textarea.d.ts +16 -0
  90. package/dist/types/index.d.ts +1 -0
  91. package/dist/types/product/recordpage/recordpage.d.ts +37 -1
  92. package/dist/types/tokens/contract.d.ts +4 -1
  93. package/dist/types/tokens/palette.d.ts +19 -11
  94. package/dist/types/tokens/scale.d.ts +1 -0
  95. package/dist/types/tokens/semantic.d.ts +15 -0
  96. package/package.json +6 -1
@@ -5,15 +5,27 @@ export type ProgressProps = React.ComponentPropsWithoutRef<"div"> & {
5
5
  max?: number;
6
6
  /** Render as N discrete segments (a step bar) instead of a continuous fill. */
7
7
  segments?: number;
8
+ /**
9
+ * `"linear"` (default) or `"circular"` — a small ring, measured live on
10
+ * Attio's own Settings > Profile character-counter (crisp#634).
11
+ */
12
+ variant?: "linear" | "circular";
13
+ /**
14
+ * Circular only: outer diameter in px. Default 18 is Attio's own measured
15
+ * size; `strokeWidth` scales proportionally at other sizes (18px's own
16
+ * 1.6px ratio) since only the one size was ever measured.
17
+ */
18
+ size?: number;
8
19
  "aria-label"?: string;
9
20
  className?: string;
10
21
  };
11
22
  /**
12
- * A progress bar — a continuous brand fill, or a segmented row of pills when
13
- * `segments` is set (the "Getting started 3/6" pattern). Reports its state via
14
- * `role="progressbar"` and the ARIA value attributes.
23
+ * A progress bar — a continuous brand fill, a segmented row of pills when
24
+ * `segments` is set (the "Getting started 3/6" pattern), or a small ring
25
+ * (`variant="circular"`, a character-counter's own progress). Reports its
26
+ * state via `role="progressbar"` and the ARIA value attributes.
15
27
  */
16
- export declare function Progress({ value, max, segments, "aria-label": ariaLabel, className, ...rest }: ProgressProps): import("react").JSX.Element;
28
+ export declare function Progress({ value, max, segments, variant, size, "aria-label": ariaLabel, className, ...rest }: ProgressProps): import("react").JSX.Element;
17
29
  export declare namespace Progress {
18
30
  var displayName: string;
19
31
  }
@@ -42,6 +42,28 @@ declare const spec: {
42
42
  readonly decls: {
43
43
  background: `var(--${string})`;
44
44
  };
45
+ }, {
46
+ readonly selector: "&[data-variant=\"circular\"]";
47
+ readonly decls: {
48
+ readonly display: "inline-flex";
49
+ readonly height: "auto";
50
+ readonly borderRadius: "0";
51
+ readonly background: "transparent";
52
+ readonly overflow: "visible";
53
+ };
54
+ }, {
55
+ readonly slot: "circleTrack";
56
+ readonly selector: "& .crisp-progress-circle-track";
57
+ readonly decls: {
58
+ readonly stroke: `color-mix(in srgb, var(--${string}) 14%, transparent)`;
59
+ };
60
+ }, {
61
+ readonly slot: "circleFill";
62
+ readonly selector: "& .crisp-progress-circle-fill";
63
+ readonly decls: {
64
+ readonly stroke: `var(--${string})`;
65
+ readonly transition: "stroke-dashoffset 0.25s ease";
66
+ };
45
67
  }];
46
68
  };
47
69
  declare const config: import("../..").RecipeConfig<Record<string, Record<string, string>>>;
@@ -56,12 +56,13 @@ export type SelectProps = Omit<React.ComponentPropsWithoutRef<"div">, "value" |
56
56
  /** `full` (default) fills its container; `auto` sizes to content. */
57
57
  width?: "full" | "auto";
58
58
  /**
59
- * seed-design's two Select sizes (crisp/#867): `medium` (default, 40px
60
- * trigger) for general use, `large` (52px) where the surrounding layout
61
- * calls for it. Purely visual — everything else about the control is
62
- * identical between the two.
59
+ * `small` (default, crisp/#889) is Attio's own 32px trigger height — lines
60
+ * up with `Input`'s own size, since the two sit side by side in every
61
+ * form. `medium`/`large` are seed-design's own 40px/52px (crisp/#867),
62
+ * opt-in where the surrounding layout calls for a bigger control. Purely
63
+ * visual — the listbox/item chrome is identical across all three.
63
64
  */
64
- size?: "medium" | "large";
65
+ size?: "small" | "medium" | "large";
65
66
  /**
66
67
  * Answered and locked, not editable — unlike `disabled`, the trigger stays
67
68
  * focusable and its text stays full-strength ink (crisp/#867, seed-design's
@@ -4,6 +4,7 @@ declare const config: import("../..").RecipeConfig<{
4
4
  auto: string;
5
5
  };
6
6
  size: {
7
+ small: string;
7
8
  medium: string;
8
9
  large: string;
9
10
  };
@@ -22,6 +23,7 @@ export declare const selectRecipe: import("../..").RecipeFn<{
22
23
  auto: string;
23
24
  };
24
25
  size: {
26
+ small: string;
25
27
  medium: string;
26
28
  large: string;
27
29
  };
@@ -40,6 +42,7 @@ export declare const selectRecipe: import("../..").RecipeFn<{
40
42
  auto: string;
41
43
  };
42
44
  size: {
45
+ small: string;
43
46
  medium: string;
44
47
  large: string;
45
48
  };
@@ -2,6 +2,14 @@ import * as React from "react";
2
2
  export type TextareaProps = React.ComponentPropsWithoutRef<"textarea"> & {
3
3
  /** Show a "N / maxLength" counter bottom-right (also caps input at maxLength). */
4
4
  showCount?: boolean;
5
+ /**
6
+ * Pair the counter with a small circular progress ring (crisp#634),
7
+ * measured live on Attio's own Settings > Profile "Personal context"
8
+ * field. Only meaningful alongside `showCount`+`maxLength` — not every
9
+ * counted textarea in Attio has one, so this is opt-in rather than tied
10
+ * to `showCount` itself.
11
+ */
12
+ showProgress?: boolean;
5
13
  /** Extra class on the wrapper. */
6
14
  wrapperClassName?: string;
7
15
  };
@@ -13,6 +21,14 @@ export type TextareaProps = React.ComponentPropsWithoutRef<"textarea"> & {
13
21
  export declare const Textarea: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "ref"> & {
14
22
  /** Show a "N / maxLength" counter bottom-right (also caps input at maxLength). */
15
23
  showCount?: boolean;
24
+ /**
25
+ * Pair the counter with a small circular progress ring (crisp#634),
26
+ * measured live on Attio's own Settings > Profile "Personal context"
27
+ * field. Only meaningful alongside `showCount`+`maxLength` — not every
28
+ * counted textarea in Attio has one, so this is opt-in rather than tied
29
+ * to `showCount` itself.
30
+ */
31
+ showProgress?: boolean;
16
32
  /** Extra class on the wrapper. */
17
33
  wrapperClassName?: string;
18
34
  } & React.RefAttributes<HTMLTextAreaElement>>;
@@ -1,3 +1,4 @@
1
+ export * from "./components/accentpicker";
1
2
  export * from "./components/accordion";
2
3
  export * from "./components/avatar";
3
4
  export * from "./components/avatargroup";
@@ -1,5 +1,6 @@
1
1
  import { type LucideIcon } from "lucide-react";
2
2
  import * as React from "react";
3
+ import { type CommentAuthor, type CommentThread } from "../comments";
3
4
  import { type Column, type Row } from "./column";
4
5
  export type RecordPageNote = {
5
6
  id: string;
@@ -143,6 +144,29 @@ export type RecordPageProps = Omit<React.ComponentPropsWithoutRef<"div">, "child
143
144
  * the built-in CRM set.
144
145
  */
145
146
  highlights?: RecordPageHighlight[] | false;
147
+ /**
148
+ * Wires the header's Comments entry point (#864) to crisp's own,
149
+ * already-closed `product/comments` panel (#625) — the gap #864 found
150
+ * wasn't the comments feature itself, only that `RecordPage` never
151
+ * opened it. Controlled the same way `notes`/`tasks` are: supply this
152
+ * (even `[]`) and `onPostComment` to own the data yourself; omit both to
153
+ * let `RecordPage` keep a small self-contained thread list, same as its
154
+ * default Notes/Tasks behaviour.
155
+ */
156
+ comments?: CommentThread[];
157
+ onPostComment?: (text: string, threadId: string | null) => void;
158
+ /**
159
+ * Attributes a self-managed comment's `author` (id/name/avatar) — has no
160
+ * effect when `comments` is controlled, since then every thread's author
161
+ * is already the caller's own data. Defaults to a synthetic "You", same
162
+ * as Notes/Tasks already show for a comment-less consumer.
163
+ */
164
+ currentUser?: CommentAuthor;
165
+ /** Called when the header's Share button is clicked. Renders regardless
166
+ * (matching Compose email/Add to list's own no-op-until-wired
167
+ * convention) — Attio's own Share opens a dialog crisp has no measured
168
+ * content for; only the entry point is in scope here (#864). */
169
+ onShare?: () => void;
146
170
  };
147
171
  /**
148
172
  * Every chrome string RecordPage renders. Supplied as a PARTIAL map, so
@@ -161,6 +185,14 @@ export type RecordPageLabels = {
161
185
  addToFavourites: string;
162
186
  removeFromFavourites: string;
163
187
  copyRecordLink: string;
188
+ /** "…" record actions menu (#621): configure the record page's layout. */
189
+ configurePage: string;
190
+ /** "…" record actions menu (#621): copy this page's own URL. */
191
+ copyPageUrl: string;
192
+ /** "…" record actions menu (#621): copy the record's raw id. */
193
+ copyRecordId: string;
194
+ /** "…" record actions menu (#621): merge this record into another. */
195
+ mergeRecords: string;
164
196
  deleteRecord: string;
165
197
  linkRecords: string;
166
198
  logANote: string;
@@ -172,6 +204,10 @@ export type RecordPageLabels = {
172
204
  composeEmail: string;
173
205
  askAttio: string;
174
206
  addToList: string;
207
+ /** The header's text-only Share button (#864, measured: no icon). */
208
+ share: string;
209
+ /** aria-label on the header's Comments icon button (#864). */
210
+ comments: string;
175
211
  /** Empty state under the Lists panel. */
176
212
  noLists: string;
177
213
  highlights: string;
@@ -268,7 +304,7 @@ export declare namespace RecordDetails {
268
304
  * Emails sections (Notes & Tasks are live — add and check things off). Drop it
269
305
  * into the app's main content area.
270
306
  */
271
- export declare function RecordPage({ record, columns, collection, labels, onBack, onToggleFull, full, className, onEdit, tabs: tabsProp, defaultTab, notes: notesProp, onAddNote, tasks: tasksProp, onAddTask, onToggleTask, sections, highlights: highlightsProp, quickActions: quickActionsProp, ...rest }: RecordPageProps): React.JSX.Element;
307
+ export declare function RecordPage({ record, columns, collection, labels, onBack, onToggleFull, full, className, onEdit, tabs: tabsProp, defaultTab, notes: notesProp, onAddNote, tasks: tasksProp, onAddTask, onToggleTask, sections, highlights: highlightsProp, quickActions: quickActionsProp, comments: commentsProp, onPostComment, currentUser, onShare, ...rest }: RecordPageProps): React.JSX.Element;
272
308
  export declare namespace RecordPage {
273
309
  var displayName: string;
274
310
  }
@@ -3,6 +3,8 @@ export type Theme = "light" | "dark";
3
3
  export declare const contract: MapLeafNodes<{
4
4
  bgBrandSolid: "brand600";
5
5
  bgBrandSolidPressed: "brand700";
6
+ bgBrandContrast: "brandContrast";
7
+ fgBrandContrast: "brandContrast";
6
8
  fgOnBrand: "white";
7
9
  fgOnTone: "ink";
8
10
  bgSurface: "gray00";
@@ -43,6 +45,7 @@ export declare const contract: MapLeafNodes<{
43
45
  strokeFocusRing: "focusRing";
44
46
  bgSuccess: "green600";
45
47
  bgWarning: "amber600";
48
+ bgWarningSolid: "amberSolid";
46
49
  bgOrange: "orange600";
47
50
  bgCyan: "cyan600";
48
51
  bgPurple: "purple600";
@@ -68,7 +71,7 @@ export declare const contract: MapLeafNodes<{
68
71
  shadowSelect: "selectShadow";
69
72
  }, `var(--${string})`> & {
70
73
  space: Record<"0.5" | "1" | "1.5" | "2" | "2.5" | "3" | "3.5" | "4" | "5" | "6" | "8" | "px", `var(--${string})`>;
71
- radius: Record<"2xl" | "3xl" | "chip" | "full" | "lg" | "md" | "sm" | "xl", `var(--${string})`>;
74
+ radius: Record<"2xl" | "3xl" | "chip" | "full" | "lg" | "md" | "sm" | "xl" | "xs", `var(--${string})`>;
72
75
  size: Record<"calendarCell" | "calendarPill" | "chip" | "header" | "icon" | "menuRow" | "row" | "selectIconLg" | "selectTriggerLg" | "selectTriggerMd" | "tableHeader" | "tableRow", `var(--${string})`>;
73
76
  font: Record<"sans", `var(--${string})`>;
74
77
  text: Record<"lg" | "md" | "sm" | "xl" | "xs", `var(--${string})`>;
@@ -12,7 +12,7 @@ export declare const palette: {
12
12
  readonly dark: "#101112";
13
13
  };
14
14
  readonly gray50: {
15
- readonly light: "#f4f4f5";
15
+ readonly light: "#f7f8f9";
16
16
  readonly dark: "#101112";
17
17
  };
18
18
  readonly gray900: {
@@ -20,7 +20,7 @@ export declare const palette: {
20
20
  readonly dark: "#f5f5f5";
21
21
  };
22
22
  readonly line200: {
23
- readonly light: "#e4e4e7";
23
+ readonly light: "#dcdee3";
24
24
  readonly dark: "#212224";
25
25
  };
26
26
  readonly line100: {
@@ -108,23 +108,27 @@ export declare const palette: {
108
108
  readonly dark: "#9a9aa2";
109
109
  };
110
110
  readonly brand600: {
111
- readonly light: "#266df0";
112
- readonly dark: "#266df0";
111
+ readonly light: "#0298d9";
112
+ readonly dark: "#0298d9";
113
113
  };
114
114
  readonly brand700: {
115
- readonly light: "#1f5fd6";
116
- readonly dark: "#1f5fd6";
115
+ readonly light: "#0283bb";
116
+ readonly dark: "#0283bb";
117
+ };
118
+ readonly brandContrast: {
119
+ readonly light: "#0278ac";
120
+ readonly dark: "#0278ac";
117
121
  };
118
122
  readonly red600: {
119
- readonly light: "#e5484d";
123
+ readonly light: "#fa342c";
120
124
  readonly dark: "#ff5a5f";
121
125
  };
122
126
  readonly red700: {
123
- readonly light: "#ba2525";
127
+ readonly light: "#ca1d13";
124
128
  readonly dark: "#ba2525";
125
129
  };
126
130
  readonly red500: {
127
- readonly light: "#eb3b3b";
131
+ readonly light: "#fa342c";
128
132
  readonly dark: "#ff5a5f";
129
133
  };
130
134
  readonly fieldFocus: {
@@ -160,11 +164,15 @@ export declare const palette: {
160
164
  readonly dark: "#5e98fe";
161
165
  };
162
166
  readonly green600: {
163
- readonly light: "#1f9d57";
167
+ readonly light: "#079171";
164
168
  readonly dark: "#2ea968";
165
169
  };
166
170
  readonly amber600: {
167
- readonly light: "#b5730f";
171
+ readonly light: "#9b7821";
172
+ readonly dark: "#e0982a";
173
+ };
174
+ readonly amberSolid: {
175
+ readonly light: "#fbdc65";
168
176
  readonly dark: "#e0982a";
169
177
  };
170
178
  readonly orange600: {
@@ -13,6 +13,7 @@ export declare const space: {
13
13
  readonly "8": "32px";
14
14
  };
15
15
  export declare const radius: {
16
+ readonly xs: "4px";
16
17
  readonly chip: "7px";
17
18
  readonly sm: "6px";
18
19
  readonly md: "8px";
@@ -1,6 +1,17 @@
1
1
  export declare const semantic: {
2
2
  bgBrandSolid: "brand600";
3
3
  bgBrandSolidPressed: "brand700";
4
+ /** your-moon/crisp#897: the AA-safe darker sibling of `bgBrandSolid` — a
5
+ * SOLID fill carrying white text (Button primary, Badge solid+brand,
6
+ * Avatar's brand tone). `bgBrandSolid` itself stays the exact brand
7
+ * accent (focus rings, selected states, icons, tints), unpaired with
8
+ * white text anywhere that matters for contrast. */
9
+ bgBrandContrast: "brandContrast";
10
+ /** your-moon/crisp#897: brand-coloured TEXT sitting on a white page
11
+ * (TextLink/Text's `brand` tone) — same value as `bgBrandContrast`,
12
+ * named separately because one's a background and one's a foreground,
13
+ * matching every other fg/bg pair in this file. */
14
+ fgBrandContrast: "brandContrast";
4
15
  fgOnBrand: "white";
5
16
  fgOnTone: "ink";
6
17
  bgSurface: "gray00";
@@ -60,6 +71,10 @@ export declare const semantic: {
60
71
  strokeFocusRing: "focusRing";
61
72
  bgSuccess: "green600";
62
73
  bgWarning: "amber600";
74
+ /** A SOLID warning fill (Badge's `variant="solid" tone="warning"`) — seed's
75
+ * own warning-solid is a distinct, paler yellow, not `bgWarning` tinted
76
+ * lighter. See `amberSolid` in palette.ts. */
77
+ bgWarningSolid: "amberSolid";
63
78
  bgOrange: "orange600";
64
79
  bgCyan: "cyan600";
65
80
  bgPurple: "purple600";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crisp-ui-kit/crisp",
3
- "version": "0.57.0",
3
+ "version": "0.57.1",
4
4
  "description": "A lean React design system, measured pixel-for-pixel from Attio.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -33,6 +33,11 @@
33
33
  "./styles.css": "./dist/styles.css",
34
34
  "./styles.layered.css": "./dist/styles.layered.css",
35
35
  "./base.css": "./dist/base.css",
36
+ "./accentpicker": {
37
+ "types": "./dist/types/components/accentpicker/index.d.ts",
38
+ "import": "./dist/esm/components/accentpicker/index.js",
39
+ "require": "./dist/cjs/components/accentpicker/index.js"
40
+ },
36
41
  "./accordion": {
37
42
  "types": "./dist/types/components/accordion/index.d.ts",
38
43
  "import": "./dist/esm/components/accordion/index.js",