@bitrise/bitkit-v2 0.3.117 → 0.3.119

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 (38) hide show
  1. package/dist/components/BitkitAlert/BitkitAlert.d.ts +21 -0
  2. package/dist/components/BitkitAlert/BitkitAlert.js +63 -0
  3. package/dist/components/BitkitCheckbox/BitkitCheckbox.d.ts +10 -3
  4. package/dist/components/BitkitCheckbox/BitkitCheckbox.js +17 -15
  5. package/dist/components/BitkitCheckboxGroup/BitkitCheckboxGroup.d.ts +2 -1
  6. package/dist/components/BitkitCheckboxGroup/BitkitCheckboxGroup.js +12 -9
  7. package/dist/components/BitkitDefinitionTooltip/BitkitDefinitionTooltip.d.ts +1 -1
  8. package/dist/components/BitkitDefinitionTooltip/BitkitDefinitionTooltip.js +17 -9
  9. package/dist/components/BitkitRadio/BitkitRadio.d.ts +17 -0
  10. package/dist/components/BitkitRadio/BitkitRadio.js +22 -0
  11. package/dist/components/BitkitRadioGroup/BitkitRadioGroup.d.ts +17 -0
  12. package/dist/components/BitkitRadioGroup/BitkitRadioGroup.js +40 -0
  13. package/dist/components/BitkitTooltip/BitkitTooltip.d.ts +3 -2
  14. package/dist/components/BitkitTooltip/BitkitTooltip.js +15 -13
  15. package/dist/components/index.d.ts +3 -1
  16. package/dist/main.js +1126 -1122
  17. package/dist/theme/recipes/Badge.recipe.d.ts +8 -0
  18. package/dist/theme/recipes/Badge.recipe.js +15 -2
  19. package/dist/theme/recipes/index.d.ts +8 -0
  20. package/dist/theme/semantic-tokens/semanticColors.js +25 -13
  21. package/dist/theme/slot-recipes/Alert.recipe.d.ts +9 -46
  22. package/dist/theme/slot-recipes/Alert.recipe.js +38 -81
  23. package/dist/theme/slot-recipes/Card.recipe.d.ts +1 -1
  24. package/dist/theme/slot-recipes/Checkbox.recipe.d.ts +30 -1
  25. package/dist/theme/slot-recipes/Checkbox.recipe.js +35 -4
  26. package/dist/theme/slot-recipes/EmptyState.recipe.d.ts +1 -1
  27. package/dist/theme/slot-recipes/ExpandableCard.recipe.d.ts +1 -1
  28. package/dist/theme/slot-recipes/Fieldset.recipe.js +7 -0
  29. package/dist/theme/slot-recipes/RadioGroup.recipe.d.ts +38 -0
  30. package/dist/theme/slot-recipes/RadioGroup.recipe.js +93 -0
  31. package/dist/theme/slot-recipes/Select.recipe.d.ts +1 -1
  32. package/dist/theme/slot-recipes/Switch.recipe.d.ts +1 -1
  33. package/dist/theme/slot-recipes/Tabs.recipe.d.ts +1 -1
  34. package/dist/theme/slot-recipes/index.d.ts +82 -53
  35. package/dist/theme/slot-recipes/index.js +16 -14
  36. package/package.json +4 -4
  37. package/dist/components/BitkitNotification/BitkitNotification.d.ts +0 -18
  38. package/dist/components/BitkitNotification/BitkitNotification.js +0 -51
@@ -0,0 +1,93 @@
1
+ import { radioGroupAnatomy as o } from "@chakra-ui/react/anatomy";
2
+ import { defineSlotRecipe as e } from "@chakra-ui/react/styled-system";
3
+ const i = e({
4
+ className: "radio-group",
5
+ slots: o.keys(),
6
+ base: {
7
+ root: {
8
+ display: "flex"
9
+ },
10
+ item: {
11
+ display: "inline-flex",
12
+ gap: "8",
13
+ alignItems: "flex-start",
14
+ justifyContent: "center"
15
+ },
16
+ itemControl: {
17
+ border: "1px solid",
18
+ borderColor: "border/regular",
19
+ backgroundColor: "background/primary",
20
+ borderRadius: "50%",
21
+ display: "flex",
22
+ alignItems: "center",
23
+ justifyContent: "center",
24
+ focusVisibleRing: "outside",
25
+ "& > .dot": {
26
+ width: "12",
27
+ height: "12",
28
+ borderRadius: "50%",
29
+ backgroundColor: "icon/interactive"
30
+ },
31
+ _hover: {
32
+ borderColor: "border/hover"
33
+ },
34
+ _disabled: {
35
+ backgroundColor: "background/disabled",
36
+ borderColor: "border/disabled",
37
+ "& > .dot": {
38
+ backgroundColor: "icon/disabled"
39
+ }
40
+ }
41
+ },
42
+ itemText: {
43
+ color: "input/text/inputValue",
44
+ _disabled: {
45
+ color: "text/disabled"
46
+ }
47
+ }
48
+ },
49
+ variants: {
50
+ orientation: {
51
+ horizontal: {
52
+ root: {
53
+ flexDirection: "row",
54
+ gap: "24"
55
+ }
56
+ },
57
+ vertical: {
58
+ root: {
59
+ alignItems: "flex-start",
60
+ flexDirection: "column",
61
+ gap: "12"
62
+ }
63
+ }
64
+ },
65
+ size: {
66
+ md: {
67
+ itemControl: {
68
+ width: "20",
69
+ height: "20"
70
+ },
71
+ itemText: {
72
+ textStyle: "body/md/regular"
73
+ }
74
+ },
75
+ lg: {
76
+ itemControl: {
77
+ width: "24",
78
+ height: "24"
79
+ },
80
+ itemText: {
81
+ textStyle: "body/lg/regular"
82
+ }
83
+ }
84
+ }
85
+ },
86
+ defaultVariants: {
87
+ orientation: "horizontal",
88
+ size: "lg"
89
+ }
90
+ });
91
+ export {
92
+ i as default
93
+ };
@@ -1,4 +1,4 @@
1
- export declare const selectSlotRecipe: import('@chakra-ui/react').SlotRecipeDefinition<"content" | "label" | "trigger" | "positioner" | "root" | "list" | "control" | "indicator" | "valueText" | "clearTrigger" | "item" | "itemText" | "itemIndicator" | "itemGroup" | "itemGroupLabel" | "indicatorGroup" | "searchInputGroup" | "searchInput", {
1
+ export declare const selectSlotRecipe: import('@chakra-ui/react').SlotRecipeDefinition<"content" | "label" | "trigger" | "positioner" | "root" | "indicator" | "list" | "control" | "valueText" | "item" | "itemText" | "itemIndicator" | "clearTrigger" | "itemGroup" | "itemGroupLabel" | "indicatorGroup" | "searchInputGroup" | "searchInput", {
2
2
  size: {
3
3
  md: {
4
4
  item: {
@@ -1,4 +1,4 @@
1
- declare const switchSlotRecipe: import('@chakra-ui/react').SlotRecipeDefinition<"label" | "root" | "control" | "indicator" | "thumb", {
1
+ declare const switchSlotRecipe: import('@chakra-ui/react').SlotRecipeDefinition<"label" | "root" | "indicator" | "control" | "thumb", {
2
2
  size: {
3
3
  sm: {
4
4
  root: {
@@ -1,4 +1,4 @@
1
- declare const tabsSlotRecipe: import('@chakra-ui/react').SlotRecipeDefinition<"content" | "trigger" | "root" | "list" | "indicator" | "contentGroup", {
1
+ declare const tabsSlotRecipe: import('@chakra-ui/react').SlotRecipeDefinition<"content" | "trigger" | "root" | "indicator" | "list" | "contentGroup", {
2
2
  variant: {
3
3
  line: {
4
4
  list: {
@@ -184,7 +184,7 @@ declare const slotRecipes: {
184
184
  rounded: {};
185
185
  };
186
186
  }>;
187
- card: import('@chakra-ui/react').SlotRecipeDefinition<"body" | "footer" | "header" | "title" | "root" | "description", {
187
+ card: import('@chakra-ui/react').SlotRecipeDefinition<"body" | "footer" | "header" | "title" | "description" | "root", {
188
188
  elevation: {
189
189
  true: {
190
190
  root: {
@@ -217,8 +217,37 @@ declare const slotRecipes: {
217
217
  };
218
218
  };
219
219
  }>;
220
- checkbox: import('@chakra-ui/react').SlotRecipeDefinition<"label" | "root" | "group" | "control" | "indicator", import('@chakra-ui/react').SlotRecipeVariantRecord<"label" | "root" | "group" | "control" | "indicator">>;
221
- emptyState: import('@chakra-ui/react').SlotRecipeDefinition<"content" | "title" | "root" | "description" | "indicator", {
220
+ checkbox: import('@chakra-ui/react').SlotRecipeDefinition<"label" | "root" | "indicator" | "group" | "control", {
221
+ size: {
222
+ md: {
223
+ control: {
224
+ width: "20";
225
+ height: "20";
226
+ '& > svg': {
227
+ width: "20";
228
+ height: "20";
229
+ };
230
+ };
231
+ label: {
232
+ textStyle: "body/md/regular";
233
+ };
234
+ };
235
+ lg: {
236
+ control: {
237
+ width: "24";
238
+ height: "24";
239
+ '& > svg': {
240
+ width: "24";
241
+ height: "24";
242
+ };
243
+ };
244
+ label: {
245
+ textStyle: "body/lg/regular";
246
+ };
247
+ };
248
+ };
249
+ }>;
250
+ emptyState: import('@chakra-ui/react').SlotRecipeDefinition<"content" | "title" | "description" | "root" | "indicator", {
222
251
  colorScheme: {
223
252
  white: {
224
253
  root: {
@@ -232,7 +261,7 @@ declare const slotRecipes: {
232
261
  };
233
262
  };
234
263
  }>;
235
- expandableCard: import('@chakra-ui/react').SlotRecipeDefinition<"body" | "footer" | "header" | "title" | "icon" | "root" | "description" | "collapsible" | "secdText" | "suffix", {
264
+ expandableCard: import('@chakra-ui/react').SlotRecipeDefinition<"body" | "footer" | "header" | "title" | "icon" | "description" | "root" | "collapsible" | "secdText" | "suffix", {
236
265
  size: {
237
266
  md: {
238
267
  header: {
@@ -275,104 +304,67 @@ declare const slotRecipes: {
275
304
  };
276
305
  };
277
306
  }>;
278
- alert: import('@chakra-ui/react').SlotRecipeDefinition<"content" | "title" | "root" | "description" | "indicator" | "actionable" | "contentBox", {
279
- dismissible: {
280
- true: {
281
- actionable: {
282
- mr: "4";
283
- };
284
- };
285
- };
307
+ alert: import('@chakra-ui/react').SlotRecipeDefinition<"content" | "title" | "description" | "root" | "indicator", {
286
308
  variant: {
287
309
  ai: {
288
310
  root: {
289
- backgroundColor: "status/ai/bg";
290
- borderColor: "status/ai/border";
311
+ border: "1px solid transparent";
312
+ background: "{colors.status.ai.bg} padding-box, {colors.status.ai.border} border-box";
313
+ color: "status/ai/text";
291
314
  };
292
315
  indicator: {
293
316
  color: "status/ai/icon";
294
317
  };
295
- title: {
296
- color: "status/ai/text";
297
- };
298
- description: {
299
- color: "status/ai/text";
300
- };
301
318
  };
302
319
  critical: {
303
320
  root: {
304
321
  backgroundColor: "status/critical/bg";
305
322
  borderColor: "status/critical/border";
323
+ color: "status/critical/text";
306
324
  };
307
325
  indicator: {
308
326
  color: "status/critical/icon";
309
327
  };
310
- title: {
311
- color: "status/critical/text";
312
- };
313
- description: {
314
- color: "status/critical/text";
315
- };
316
328
  };
317
329
  info: {
318
330
  root: {
319
331
  backgroundColor: "status/info/bg";
320
332
  borderColor: "status/info/border";
333
+ color: "status/info/text";
321
334
  };
322
335
  indicator: {
323
336
  color: "status/info/icon";
324
337
  };
325
- title: {
326
- color: "status/info/text";
327
- };
328
- description: {
329
- color: "status/info/text";
330
- };
331
338
  };
332
339
  progress: {
333
340
  root: {
334
341
  backgroundColor: "status/progress/bg";
335
342
  borderColor: "status/progress/border";
343
+ color: "status/progress/text";
336
344
  };
337
345
  indicator: {
338
346
  color: "status/progress/icon";
339
347
  };
340
- title: {
341
- color: "status/progress/text";
342
- };
343
- description: {
344
- color: "status/progress/text";
345
- };
346
348
  };
347
349
  success: {
348
350
  root: {
349
351
  backgroundColor: "status/success/bg";
350
352
  borderColor: "status/success/border";
353
+ color: "status/success/text";
351
354
  };
352
355
  indicator: {
353
356
  color: "status/success/icon";
354
357
  };
355
- title: {
356
- color: "status/success/text";
357
- };
358
- description: {
359
- color: "status/success/text";
360
- };
361
358
  };
362
359
  warning: {
363
360
  root: {
364
361
  backgroundColor: "status/warning/bg";
365
362
  borderColor: "status/warning/border";
363
+ color: "status/warning/text";
366
364
  };
367
365
  indicator: {
368
366
  color: "status/warning/icon";
369
367
  };
370
- title: {
371
- color: "status/warning/text";
372
- };
373
- description: {
374
- color: "status/warning/text";
375
- };
376
368
  };
377
369
  };
378
370
  }>;
@@ -392,7 +384,44 @@ declare const slotRecipes: {
392
384
  };
393
385
  };
394
386
  }>;
395
- select: import('@chakra-ui/react').SlotRecipeDefinition<"content" | "label" | "trigger" | "positioner" | "root" | "list" | "control" | "indicator" | "valueText" | "clearTrigger" | "item" | "itemText" | "itemIndicator" | "itemGroup" | "itemGroupLabel" | "indicatorGroup" | "searchInputGroup" | "searchInput", {
387
+ radioGroup: import('@chakra-ui/react').SlotRecipeDefinition<"label" | "root" | "indicator" | "item" | "itemText" | "itemControl" | "itemAddon" | "itemIndicator", {
388
+ orientation: {
389
+ horizontal: {
390
+ root: {
391
+ flexDirection: "row";
392
+ gap: "24";
393
+ };
394
+ };
395
+ vertical: {
396
+ root: {
397
+ alignItems: "flex-start";
398
+ flexDirection: "column";
399
+ gap: "12";
400
+ };
401
+ };
402
+ };
403
+ size: {
404
+ md: {
405
+ itemControl: {
406
+ width: "20";
407
+ height: "20";
408
+ };
409
+ itemText: {
410
+ textStyle: "body/md/regular";
411
+ };
412
+ };
413
+ lg: {
414
+ itemControl: {
415
+ width: "24";
416
+ height: "24";
417
+ };
418
+ itemText: {
419
+ textStyle: "body/lg/regular";
420
+ };
421
+ };
422
+ };
423
+ }>;
424
+ select: import('@chakra-ui/react').SlotRecipeDefinition<"content" | "label" | "trigger" | "positioner" | "root" | "indicator" | "list" | "control" | "valueText" | "item" | "itemText" | "itemIndicator" | "clearTrigger" | "itemGroup" | "itemGroupLabel" | "indicatorGroup" | "searchInputGroup" | "searchInput", {
396
425
  size: {
397
426
  md: {
398
427
  item: {
@@ -424,7 +453,7 @@ declare const slotRecipes: {
424
453
  lg: {};
425
454
  };
426
455
  }>;
427
- switch: import('@chakra-ui/react').SlotRecipeDefinition<"label" | "root" | "control" | "indicator" | "thumb", {
456
+ switch: import('@chakra-ui/react').SlotRecipeDefinition<"label" | "root" | "indicator" | "control" | "thumb", {
428
457
  size: {
429
458
  sm: {
430
459
  root: {
@@ -454,7 +483,7 @@ declare const slotRecipes: {
454
483
  };
455
484
  };
456
485
  }>;
457
- tabs: import('@chakra-ui/react').SlotRecipeDefinition<"content" | "trigger" | "root" | "list" | "indicator" | "contentGroup", {
486
+ tabs: import('@chakra-ui/react').SlotRecipeDefinition<"content" | "trigger" | "root" | "indicator" | "list" | "contentGroup", {
458
487
  variant: {
459
488
  line: {
460
489
  list: {
@@ -1,24 +1,25 @@
1
1
  import t from "./ActionBar.recipe.js";
2
2
  import e from "./Alert.recipe.js";
3
3
  import o from "./Avatar.recipe.js";
4
- import i from "./Card.recipe.js";
5
- import r from "./Checkbox.recipe.js";
4
+ import r from "./Card.recipe.js";
5
+ import i from "./Checkbox.recipe.js";
6
6
  import p from "./EmptyState.recipe.js";
7
7
  import m from "./ExpandableCard.recipe.js";
8
8
  import c from "./Field.recipe.js";
9
9
  import l from "./Fieldset.recipe.js";
10
10
  import a from "./NativeSelect.recipe.js";
11
11
  import { numberInputSlotRecipe as f } from "./NumberInput.recipe.js";
12
- import { selectSlotRecipe as S } from "./Select.recipe.js";
13
- import R from "./Switch.recipe.js";
12
+ import S from "./RadioGroup.recipe.js";
13
+ import { selectSlotRecipe as R } from "./Select.recipe.js";
14
+ import d from "./Switch.recipe.js";
14
15
  import s from "./Tabs.recipe.js";
15
- import d from "./Tag.recipe.js";
16
- import n from "./Tooltip.recipe.js";
17
- const D = {
16
+ import n from "./Tag.recipe.js";
17
+ import b from "./Tooltip.recipe.js";
18
+ const E = {
18
19
  actionBar: t,
19
20
  avatar: o,
20
- card: i,
21
- checkbox: r,
21
+ card: r,
22
+ checkbox: i,
22
23
  emptyState: p,
23
24
  expandableCard: m,
24
25
  field: c,
@@ -26,12 +27,13 @@ const D = {
26
27
  nativeSelect: a,
27
28
  alert: e,
28
29
  numberInput: f,
29
- select: S,
30
- switch: R,
30
+ radioGroup: S,
31
+ select: R,
32
+ switch: d,
31
33
  tabs: s,
32
- tag: d,
33
- tooltip: n
34
+ tag: n,
35
+ tooltip: b
34
36
  };
35
37
  export {
36
- D as default
38
+ E as default
37
39
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bitrise/bitkit-v2",
3
3
  "private": false,
4
- "version": "0.3.117",
4
+ "version": "0.3.119",
5
5
  "description": "Bitrise Design System Components built with Chakra UI V3",
6
6
  "keywords": [
7
7
  "react",
@@ -60,8 +60,8 @@
60
60
  "@figma-export/output-components-as-svg": "^6.2.4",
61
61
  "@figma-export/transform-svg-with-svgo": "^6.2.4",
62
62
  "@google-cloud/storage": "^7.19.0",
63
- "@storybook/addon-docs": "10.2.10",
64
- "@storybook/react-vite": "10.2.10",
63
+ "@storybook/addon-docs": "10.2.11",
64
+ "@storybook/react-vite": "10.2.11",
65
65
  "@svgr/plugin-jsx": "^8.1.0",
66
66
  "@types/node": "^24.10.13",
67
67
  "@types/react": "^19.2.14",
@@ -72,7 +72,7 @@
72
72
  "react": "^19.2.4",
73
73
  "react-dom": "^19.2.4",
74
74
  "release-it": "^19.2.4",
75
- "storybook": "10.2.10",
75
+ "storybook": "10.2.11",
76
76
  "tsx": "^4.21.0",
77
77
  "typescript": "^5.9.3",
78
78
  "vite": "^7.3.1",
@@ -1,18 +0,0 @@
1
- import { AlertRootProps } from '@chakra-ui/react/alert';
2
- export type NotificationVariants = 'ai' | 'critical' | 'info' | 'progress' | 'success' | 'warning';
3
- export type ActionProps = {
4
- label: string;
5
- href?: string;
6
- target?: string;
7
- onClick?: () => void;
8
- };
9
- export interface BitkitNotificationProps extends AlertRootProps {
10
- actionable?: ActionProps;
11
- dismissable?: boolean;
12
- messageText: string;
13
- onClose?: () => void;
14
- titleText?: string;
15
- variant: NotificationVariants;
16
- }
17
- declare const BitkitNotification: (props: BitkitNotificationProps) => import("react/jsx-runtime").JSX.Element;
18
- export default BitkitNotification;
@@ -1,51 +0,0 @@
1
- import { jsx as o, jsxs as l } from "react/jsx-runtime";
2
- import { Alert as e } from "@chakra-ui/react/alert";
3
- import { Box as d } from "@chakra-ui/react/box";
4
- import { Spinner as h } from "@chakra-ui/react/spinner";
5
- import { useSlotRecipe as u } from "@chakra-ui/react/styled-system";
6
- import C from "../../icons/24x24/IconCheck24.js";
7
- import g from "../../icons/24x24/IconErrorCircleFilled24.js";
8
- import k from "../../icons/24x24/IconInfoCircle24.js";
9
- import B from "../../icons/24x24/IconSparkleFilled24.js";
10
- import I from "../../icons/24x24/IconWarning24.js";
11
- import x from "../BitkitCloseButton/BitkitCloseButton.js";
12
- import b from "../BitkitColorButton/BitkitColorButton.js";
13
- const s = {
14
- ai: "turquoise",
15
- critical: "red",
16
- info: "blue",
17
- progress: "purple",
18
- success: "green",
19
- warning: "yellow"
20
- }, S = {
21
- ai: /* @__PURE__ */ o(B, {}),
22
- critical: /* @__PURE__ */ o(g, {}),
23
- info: /* @__PURE__ */ o(k, {}),
24
- progress: /* @__PURE__ */ o(h, {}),
25
- success: /* @__PURE__ */ o(C, {}),
26
- warning: /* @__PURE__ */ o(I, {})
27
- }, v = (a) => {
28
- const { actionable: r, dismissible: n, messageText: m, onClose: p, titleText: c, variant: t, ...f } = a, i = u({ key: "alert" })({ variant: t, dismissible: n });
29
- return /* @__PURE__ */ o(e.Root, { variant: t, ...f, children: /* @__PURE__ */ l(e.Content, { children: [
30
- /* @__PURE__ */ o(e.Indicator, { css: i.indicator, children: S[t] }),
31
- /* @__PURE__ */ l(d, { css: i.contentBox, children: [
32
- c && /* @__PURE__ */ o(e.Title, { children: c }),
33
- /* @__PURE__ */ o(e.Description, { children: m })
34
- ] }),
35
- !!r && /* @__PURE__ */ o(
36
- b,
37
- {
38
- as: r.href ? "a" : "button",
39
- colorPalette: s[t],
40
- css: i.actionable,
41
- ...r.href && { href: r.href, target: r.target },
42
- onClick: r.onClick,
43
- children: r.label
44
- }
45
- ),
46
- !!n && /* @__PURE__ */ o(x, { size: "sm", onClick: p, colorPalette: s[t] })
47
- ] }) });
48
- };
49
- export {
50
- v as default
51
- };