@bricks-toolkit/toolkit 0.1.10 → 0.1.12

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 (86) hide show
  1. package/dist/{chunk-B4OV5GRT.cjs → chunk-B2FU2E2X.cjs} +11 -1
  2. package/dist/{chunk-CBA54EY4.mjs → chunk-TBMIMUU4.mjs} +11 -1
  3. package/dist/index.cjs +2 -2
  4. package/dist/index.mjs +1 -1
  5. package/dist/phone/index.cjs +2 -2
  6. package/dist/phone/index.mjs +1 -1
  7. package/package.json +19 -20
  8. package/dist/Button.types-BsQYqZml.d.ts +0 -27
  9. package/dist/Button.types-D-srlWFf.d.mts +0 -27
  10. package/dist/TextInput.types-DRI8HQza.d.mts +0 -32
  11. package/dist/TextInput.types-DRI8HQza.d.ts +0 -32
  12. package/dist/Tooltip.types-PbUasE3C.d.mts +0 -36
  13. package/dist/Tooltip.types-PbUasE3C.d.ts +0 -36
  14. package/dist/avatar/index.d.mts +0 -29
  15. package/dist/avatar/index.d.ts +0 -29
  16. package/dist/badge/index.d.mts +0 -57
  17. package/dist/badge/index.d.ts +0 -57
  18. package/dist/breadcrumbs/index.d.mts +0 -32
  19. package/dist/breadcrumbs/index.d.ts +0 -32
  20. package/dist/button/index.d.mts +0 -8
  21. package/dist/button/index.d.ts +0 -8
  22. package/dist/card/index.d.mts +0 -42
  23. package/dist/card/index.d.ts +0 -42
  24. package/dist/checkbox/index.d.mts +0 -36
  25. package/dist/checkbox/index.d.ts +0 -36
  26. package/dist/combo-box/index.d.mts +0 -62
  27. package/dist/combo-box/index.d.ts +0 -62
  28. package/dist/date-picker/index.d.mts +0 -32
  29. package/dist/date-picker/index.d.ts +0 -32
  30. package/dist/dialog/index.d.mts +0 -61
  31. package/dist/dialog/index.d.ts +0 -61
  32. package/dist/dropdown-menu/index.d.mts +0 -34
  33. package/dist/dropdown-menu/index.d.ts +0 -34
  34. package/dist/email/index.d.mts +0 -38
  35. package/dist/email/index.d.ts +0 -38
  36. package/dist/file-upload/index.d.mts +0 -27
  37. package/dist/file-upload/index.d.ts +0 -27
  38. package/dist/header/index.d.mts +0 -28
  39. package/dist/header/index.d.ts +0 -28
  40. package/dist/icon-button/index.d.mts +0 -16
  41. package/dist/icon-button/index.d.ts +0 -16
  42. package/dist/image/index.d.mts +0 -48
  43. package/dist/image/index.d.ts +0 -48
  44. package/dist/index.d.mts +0 -141
  45. package/dist/index.d.ts +0 -141
  46. package/dist/link/index.d.mts +0 -25
  47. package/dist/link/index.d.ts +0 -25
  48. package/dist/loader/index.d.mts +0 -21
  49. package/dist/loader/index.d.ts +0 -21
  50. package/dist/modal/index.d.mts +0 -116
  51. package/dist/modal/index.d.ts +0 -116
  52. package/dist/multi-select/index.d.mts +0 -59
  53. package/dist/multi-select/index.d.ts +0 -59
  54. package/dist/otp-input/index.d.mts +0 -57
  55. package/dist/otp-input/index.d.ts +0 -57
  56. package/dist/password-input/index.d.mts +0 -32
  57. package/dist/password-input/index.d.ts +0 -32
  58. package/dist/phone/index.d.mts +0 -41
  59. package/dist/phone/index.d.ts +0 -41
  60. package/dist/radio-button/index.d.mts +0 -56
  61. package/dist/radio-button/index.d.ts +0 -56
  62. package/dist/search-input/index.d.mts +0 -22
  63. package/dist/search-input/index.d.ts +0 -22
  64. package/dist/select/index.d.mts +0 -36
  65. package/dist/select/index.d.ts +0 -36
  66. package/dist/sidebar/index.d.mts +0 -96
  67. package/dist/sidebar/index.d.ts +0 -96
  68. package/dist/skeleton/index.d.mts +0 -76
  69. package/dist/skeleton/index.d.ts +0 -76
  70. package/dist/styles.d.mts +0 -2
  71. package/dist/styles.d.ts +0 -2
  72. package/dist/table/index.d.mts +0 -92
  73. package/dist/table/index.d.ts +0 -92
  74. package/dist/tabs/index.d.mts +0 -26
  75. package/dist/tabs/index.d.ts +0 -26
  76. package/dist/text-input/index.d.mts +0 -7
  77. package/dist/text-input/index.d.ts +0 -7
  78. package/dist/theme-provider/index.d.mts +0 -122
  79. package/dist/theme-provider/index.d.ts +0 -122
  80. package/dist/theme.css +0 -62
  81. package/dist/time-picker/index.d.mts +0 -32
  82. package/dist/time-picker/index.d.ts +0 -32
  83. package/dist/toaster/index.d.mts +0 -28
  84. package/dist/toaster/index.d.ts +0 -28
  85. package/dist/tooltip/index.d.mts +0 -7
  86. package/dist/tooltip/index.d.ts +0 -7
@@ -202,6 +202,7 @@ var Phone = react.forwardRef(function Phone2({
202
202
  onChange,
203
203
  showFlag = true,
204
204
  defaultCountryCode = "+91",
205
+ defaultCountry,
205
206
  autoComplete = "tel",
206
207
  ...rest
207
208
  }, ref) {
@@ -213,8 +214,17 @@ var Phone = react.forwardRef(function Phone2({
213
214
  const [isOpen, setIsOpen] = react.useState(false);
214
215
  const [searchTerm, setSearchTerm] = react.useState("");
215
216
  const dropdownRef = react.useRef(null);
217
+ const initialDialCode = (() => {
218
+ if (defaultCountry) {
219
+ const country = COUNTRIES.find(
220
+ (c) => c.id.toLowerCase() === defaultCountry.toLowerCase()
221
+ );
222
+ if (country) return country.dialCode;
223
+ }
224
+ return defaultCountryCode;
225
+ })();
216
226
  const [internalPhone, setInternalPhone] = react.useState(
217
- defaultValue ?? { countryCode: defaultCountryCode, phoneNumber: "" }
227
+ defaultValue ?? { countryCode: initialDialCode, phoneNumber: "" }
218
228
  );
219
229
  const isControlled = value !== void 0;
220
230
  const currentPhone = isControlled ? value : internalPhone;
@@ -200,6 +200,7 @@ var Phone = forwardRef(function Phone2({
200
200
  onChange,
201
201
  showFlag = true,
202
202
  defaultCountryCode = "+91",
203
+ defaultCountry,
203
204
  autoComplete = "tel",
204
205
  ...rest
205
206
  }, ref) {
@@ -211,8 +212,17 @@ var Phone = forwardRef(function Phone2({
211
212
  const [isOpen, setIsOpen] = useState(false);
212
213
  const [searchTerm, setSearchTerm] = useState("");
213
214
  const dropdownRef = useRef(null);
215
+ const initialDialCode = (() => {
216
+ if (defaultCountry) {
217
+ const country = COUNTRIES.find(
218
+ (c) => c.id.toLowerCase() === defaultCountry.toLowerCase()
219
+ );
220
+ if (country) return country.dialCode;
221
+ }
222
+ return defaultCountryCode;
223
+ })();
214
224
  const [internalPhone, setInternalPhone] = useState(
215
- defaultValue ?? { countryCode: defaultCountryCode, phoneNumber: "" }
225
+ defaultValue ?? { countryCode: initialDialCode, phoneNumber: "" }
216
226
  );
217
227
  const isControlled = value !== void 0;
218
228
  const currentPhone = isControlled ? value : internalPhone;
package/dist/index.cjs CHANGED
@@ -16,7 +16,7 @@ var chunkS7VEND5Z_cjs = require('./chunk-S7VEND5Z.cjs');
16
16
  var chunk56ILK7Y4_cjs = require('./chunk-56ILK7Y4.cjs');
17
17
  var chunkNRZIXK35_cjs = require('./chunk-NRZIXK35.cjs');
18
18
  var chunk5RKET2JO_cjs = require('./chunk-5RKET2JO.cjs');
19
- var chunkB4OV5GRT_cjs = require('./chunk-B4OV5GRT.cjs');
19
+ var chunkB2FU2E2X_cjs = require('./chunk-B2FU2E2X.cjs');
20
20
  var chunkVRZFAKSV_cjs = require('./chunk-VRZFAKSV.cjs');
21
21
  var chunk7R5JRJ2W_cjs = require('./chunk-7R5JRJ2W.cjs');
22
22
  var chunkOEU5VG3D_cjs = require('./chunk-OEU5VG3D.cjs');
@@ -697,7 +697,7 @@ Object.defineProperty(exports, "PasswordInput", {
697
697
  });
698
698
  Object.defineProperty(exports, "Phone", {
699
699
  enumerable: true,
700
- get: function () { return chunkB4OV5GRT_cjs.Phone; }
700
+ get: function () { return chunkB2FU2E2X_cjs.Phone; }
701
701
  });
702
702
  Object.defineProperty(exports, "RadioButton", {
703
703
  enumerable: true,
package/dist/index.mjs CHANGED
@@ -14,7 +14,7 @@ export { Skeleton, SkeletonAvatar, SkeletonCard, SkeletonTable, SkeletonText } f
14
14
  export { MultiSelect } from './chunk-JKPNJ4PZ.mjs';
15
15
  export { OtpInput } from './chunk-RYWDZHKG.mjs';
16
16
  export { PasswordInput } from './chunk-446OJWC6.mjs';
17
- export { Phone } from './chunk-CBA54EY4.mjs';
17
+ export { Phone } from './chunk-TBMIMUU4.mjs';
18
18
  export { RadioButton } from './chunk-DN2GFJF4.mjs';
19
19
  export { Select } from './chunk-TIVSMCXZ.mjs';
20
20
  export { Pagination, Table } from './chunk-7364SUK6.mjs';
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkB4OV5GRT_cjs = require('../chunk-B4OV5GRT.cjs');
3
+ var chunkB2FU2E2X_cjs = require('../chunk-B2FU2E2X.cjs');
4
4
  require('../chunk-L5VQZZVR.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "Phone", {
9
9
  enumerable: true,
10
- get: function () { return chunkB4OV5GRT_cjs.Phone; }
10
+ get: function () { return chunkB2FU2E2X_cjs.Phone; }
11
11
  });
@@ -1,2 +1,2 @@
1
- export { Phone } from '../chunk-CBA54EY4.mjs';
1
+ export { Phone } from '../chunk-TBMIMUU4.mjs';
2
2
  import '../chunk-OCPFOFJ4.mjs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bricks-toolkit/toolkit",
3
- "version": "0.1.10",
3
+ "version": "0.1.12",
4
4
  "description": "Micro-modularized, fully independent, type-safe UI component library",
5
5
  "license": "MIT",
6
6
  "author": "ITProfound",
@@ -373,24 +373,6 @@
373
373
  "README.md",
374
374
  "LICENSE"
375
375
  ],
376
- "scripts": {
377
- "storybook": "storybook dev -p 6006 --no-version-updates",
378
- "build": "tsup && copy src\\styles\\theme.css dist\\theme.css",
379
- "build:watch": "tsup --watch",
380
- "build:storybook": "storybook build",
381
- "test": "vitest run",
382
- "test:watch": "vitest",
383
- "test:coverage": "vitest run --coverage",
384
- "lint": "eslint .",
385
- "lint:fix": "eslint . --fix",
386
- "format": "prettier --write .",
387
- "format:check": "prettier --check .",
388
- "typecheck": "tsc --noEmit",
389
- "validate": "pnpm typecheck && pnpm lint && pnpm test",
390
- "clean": "rimraf dist",
391
- "prepare": "husky",
392
- "audit": "pnpm audit"
393
- },
394
376
  "devDependencies": {
395
377
  "@eslint/js": "10.0.1",
396
378
  "@storybook/addon-a11y": "10.3.5",
@@ -462,5 +444,22 @@
462
444
  },
463
445
  "dependencies": {
464
446
  "@heroicons/react": "2.2.0"
447
+ },
448
+ "scripts": {
449
+ "storybook": "storybook dev -p 6006 --no-version-updates",
450
+ "build": "tsup && copy src\\styles\\theme.css dist\\theme.css",
451
+ "build:watch": "tsup --watch",
452
+ "build:storybook": "storybook build",
453
+ "test": "vitest run",
454
+ "test:watch": "vitest",
455
+ "test:coverage": "vitest run --coverage",
456
+ "lint": "eslint .",
457
+ "lint:fix": "eslint . --fix",
458
+ "format": "prettier --write .",
459
+ "format:check": "prettier --check .",
460
+ "typecheck": "tsc --noEmit",
461
+ "validate": "pnpm typecheck && pnpm lint && pnpm test",
462
+ "clean": "rimraf dist",
463
+ "audit": "pnpm audit"
465
464
  }
466
- }
465
+ }
@@ -1,27 +0,0 @@
1
- import { ButtonHTMLAttributes, ReactNode } from 'react';
2
- import { T as TooltipPlacement } from './Tooltip.types-PbUasE3C.js';
3
-
4
- type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'success' | 'warning' | 'info';
5
- type ButtonSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
6
- interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'prefix'> {
7
- /** The variant style of the button */
8
- variant?: ButtonVariant;
9
- /** The size of the button */
10
- size?: ButtonSize;
11
- /** Whether the button should take up the full width of its container */
12
- fullWidth?: boolean;
13
- /** Whether the button is currently in a loading state */
14
- isLoading?: boolean;
15
- /** Optional text to display alongside the spinner when loading */
16
- loadingText?: string;
17
- /** An icon element to display before the button content */
18
- leftIcon?: ReactNode;
19
- /** An icon element to display after the button content */
20
- rightIcon?: ReactNode;
21
- /** Optional tooltip text or element to display on hover */
22
- tooltip?: ReactNode;
23
- /** Preferred placement of the tooltip relative to the button */
24
- tooltipPlacement?: TooltipPlacement;
25
- }
26
-
27
- export type { ButtonProps as B, ButtonSize as a, ButtonVariant as b };
@@ -1,27 +0,0 @@
1
- import { ButtonHTMLAttributes, ReactNode } from 'react';
2
- import { T as TooltipPlacement } from './Tooltip.types-PbUasE3C.mjs';
3
-
4
- type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'success' | 'warning' | 'info';
5
- type ButtonSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
6
- interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'prefix'> {
7
- /** The variant style of the button */
8
- variant?: ButtonVariant;
9
- /** The size of the button */
10
- size?: ButtonSize;
11
- /** Whether the button should take up the full width of its container */
12
- fullWidth?: boolean;
13
- /** Whether the button is currently in a loading state */
14
- isLoading?: boolean;
15
- /** Optional text to display alongside the spinner when loading */
16
- loadingText?: string;
17
- /** An icon element to display before the button content */
18
- leftIcon?: ReactNode;
19
- /** An icon element to display after the button content */
20
- rightIcon?: ReactNode;
21
- /** Optional tooltip text or element to display on hover */
22
- tooltip?: ReactNode;
23
- /** Preferred placement of the tooltip relative to the button */
24
- tooltipPlacement?: TooltipPlacement;
25
- }
26
-
27
- export type { ButtonProps as B, ButtonSize as a, ButtonVariant as b };
@@ -1,32 +0,0 @@
1
- import { InputHTMLAttributes, ReactNode } from 'react';
2
-
3
- type TextInputVariant = 'default' | 'filled' | 'flushed' | 'unstyled';
4
- type TextInputSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5
- type TextInputState = 'default' | 'error' | 'success' | 'warning';
6
- interface TextInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'prefix'> {
7
- label?: string;
8
- required?: boolean;
9
- helperText?: string;
10
- errorMessage?: string;
11
- successMessage?: string;
12
- warningMessage?: string;
13
- variant?: TextInputVariant;
14
- size?: TextInputSize;
15
- state?: TextInputState;
16
- fullWidth?: boolean;
17
- leftElement?: ReactNode;
18
- rightElement?: ReactNode;
19
- prefix?: ReactNode;
20
- suffix?: ReactNode;
21
- wrapperClassName?: string;
22
- inputGroupClassName?: string;
23
- inputClassName?: string;
24
- labelClassName?: string;
25
- helperClassName?: string;
26
- clearable?: boolean;
27
- isLoading?: boolean;
28
- multiline?: boolean;
29
- rows?: number;
30
- }
31
-
32
- export type { TextInputProps as T, TextInputSize as a, TextInputState as b, TextInputVariant as c };
@@ -1,32 +0,0 @@
1
- import { InputHTMLAttributes, ReactNode } from 'react';
2
-
3
- type TextInputVariant = 'default' | 'filled' | 'flushed' | 'unstyled';
4
- type TextInputSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5
- type TextInputState = 'default' | 'error' | 'success' | 'warning';
6
- interface TextInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'prefix'> {
7
- label?: string;
8
- required?: boolean;
9
- helperText?: string;
10
- errorMessage?: string;
11
- successMessage?: string;
12
- warningMessage?: string;
13
- variant?: TextInputVariant;
14
- size?: TextInputSize;
15
- state?: TextInputState;
16
- fullWidth?: boolean;
17
- leftElement?: ReactNode;
18
- rightElement?: ReactNode;
19
- prefix?: ReactNode;
20
- suffix?: ReactNode;
21
- wrapperClassName?: string;
22
- inputGroupClassName?: string;
23
- inputClassName?: string;
24
- labelClassName?: string;
25
- helperClassName?: string;
26
- clearable?: boolean;
27
- isLoading?: boolean;
28
- multiline?: boolean;
29
- rows?: number;
30
- }
31
-
32
- export type { TextInputProps as T, TextInputSize as a, TextInputState as b, TextInputVariant as c };
@@ -1,36 +0,0 @@
1
- import { ReactNode } from 'react';
2
-
3
- type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
4
- type TooltipTrigger = 'hover' | 'click' | 'focus';
5
- type TooltipSize = 'sm' | 'md' | 'lg';
6
- type TooltipVariant = 'dark' | 'primary' | 'light';
7
- interface TooltipProps {
8
- /** The content shown inside the tooltip bubble. */
9
- content: ReactNode;
10
- /** The element the tooltip is anchored to. */
11
- children?: ReactNode;
12
- /** Preferred placement relative to the trigger. Defaults to 'top'. */
13
- placement?: TooltipPlacement;
14
- /** What interaction opens the tooltip. Defaults to 'hover'. */
15
- trigger?: TooltipTrigger;
16
- /** Delay in ms before showing (hover only). Defaults to 0. */
17
- showDelay?: number;
18
- /** Delay in ms before hiding (hover only). Defaults to 100. */
19
- hideDelay?: number;
20
- /** Size / padding of the tooltip bubble. Defaults to 'md'. */
21
- size?: TooltipSize;
22
- /** Visual style of the tooltip bubble. Defaults to 'dark'. */
23
- variant?: TooltipVariant;
24
- /** When true the tooltip is always visible (controlled). */
25
- open?: boolean;
26
- /** When true the tooltip is disabled and will never show. */
27
- disabled?: boolean;
28
- /** Max width of the tooltip bubble in px. Defaults to 240. */
29
- maxWidth?: number;
30
- /** Additional class for the tooltip bubble. */
31
- className?: string;
32
- /** Additional class for the tooltip wrapper span. */
33
- wrapperClassName?: string;
34
- }
35
-
36
- export type { TooltipPlacement as T, TooltipProps as a, TooltipSize as b, TooltipTrigger as c, TooltipVariant as d };
@@ -1,36 +0,0 @@
1
- import { ReactNode } from 'react';
2
-
3
- type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
4
- type TooltipTrigger = 'hover' | 'click' | 'focus';
5
- type TooltipSize = 'sm' | 'md' | 'lg';
6
- type TooltipVariant = 'dark' | 'primary' | 'light';
7
- interface TooltipProps {
8
- /** The content shown inside the tooltip bubble. */
9
- content: ReactNode;
10
- /** The element the tooltip is anchored to. */
11
- children?: ReactNode;
12
- /** Preferred placement relative to the trigger. Defaults to 'top'. */
13
- placement?: TooltipPlacement;
14
- /** What interaction opens the tooltip. Defaults to 'hover'. */
15
- trigger?: TooltipTrigger;
16
- /** Delay in ms before showing (hover only). Defaults to 0. */
17
- showDelay?: number;
18
- /** Delay in ms before hiding (hover only). Defaults to 100. */
19
- hideDelay?: number;
20
- /** Size / padding of the tooltip bubble. Defaults to 'md'. */
21
- size?: TooltipSize;
22
- /** Visual style of the tooltip bubble. Defaults to 'dark'. */
23
- variant?: TooltipVariant;
24
- /** When true the tooltip is always visible (controlled). */
25
- open?: boolean;
26
- /** When true the tooltip is disabled and will never show. */
27
- disabled?: boolean;
28
- /** Max width of the tooltip bubble in px. Defaults to 240. */
29
- maxWidth?: number;
30
- /** Additional class for the tooltip bubble. */
31
- className?: string;
32
- /** Additional class for the tooltip wrapper span. */
33
- wrapperClassName?: string;
34
- }
35
-
36
- export type { TooltipPlacement as T, TooltipProps as a, TooltipSize as b, TooltipTrigger as c, TooltipVariant as d };
@@ -1,29 +0,0 @@
1
- import { ImgHTMLAttributes, ReactNode } from 'react';
2
-
3
- type AvatarSize = '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
4
- type AvatarVariant = 'circle' | 'square' | 'rounded';
5
- type AvatarState = 'default' | 'error' | 'success' | 'warning' | 'offline' | 'online' | 'busy' | 'away';
6
- interface AvatarProps extends Omit<ImgHTMLAttributes<HTMLImageElement>, 'size'> {
7
- /** Size of the avatar */
8
- size?: AvatarSize;
9
- /** Shape variant of the avatar */
10
- variant?: AvatarVariant;
11
- /** State indicator for the avatar (e.g. online status or validation) */
12
- state?: AvatarState;
13
- /** Determines if the state indicator should be a border or a dot (badge). Default is border. */
14
- stateType?: 'border' | 'badge';
15
- /** Fallback content when image is not provided or fails to load. Can be initials string or a ReactNode */
16
- fallback?: ReactNode;
17
- /** Alt text for the image, also used to generate initials if fallback string is not provided */
18
- alt?: string;
19
- /** Image source URL */
20
- src?: string;
21
- /** Class name applied to the outer container */
22
- containerClassName?: string;
23
- /** Class name applied to the fallback element */
24
- fallbackClassName?: string;
25
- }
26
-
27
- declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>>;
28
-
29
- export { Avatar, type AvatarProps, type AvatarSize, type AvatarState, type AvatarVariant };
@@ -1,29 +0,0 @@
1
- import { ImgHTMLAttributes, ReactNode } from 'react';
2
-
3
- type AvatarSize = '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
4
- type AvatarVariant = 'circle' | 'square' | 'rounded';
5
- type AvatarState = 'default' | 'error' | 'success' | 'warning' | 'offline' | 'online' | 'busy' | 'away';
6
- interface AvatarProps extends Omit<ImgHTMLAttributes<HTMLImageElement>, 'size'> {
7
- /** Size of the avatar */
8
- size?: AvatarSize;
9
- /** Shape variant of the avatar */
10
- variant?: AvatarVariant;
11
- /** State indicator for the avatar (e.g. online status or validation) */
12
- state?: AvatarState;
13
- /** Determines if the state indicator should be a border or a dot (badge). Default is border. */
14
- stateType?: 'border' | 'badge';
15
- /** Fallback content when image is not provided or fails to load. Can be initials string or a ReactNode */
16
- fallback?: ReactNode;
17
- /** Alt text for the image, also used to generate initials if fallback string is not provided */
18
- alt?: string;
19
- /** Image source URL */
20
- src?: string;
21
- /** Class name applied to the outer container */
22
- containerClassName?: string;
23
- /** Class name applied to the fallback element */
24
- fallbackClassName?: string;
25
- }
26
-
27
- declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>>;
28
-
29
- export { Avatar, type AvatarProps, type AvatarSize, type AvatarState, type AvatarVariant };
@@ -1,57 +0,0 @@
1
- import { ReactNode, ElementType } from 'react';
2
-
3
- /** Visual style of the badge. */
4
- type BadgeVariant = 'solid' | 'soft' | 'outline' | 'dot' | 'gradient';
5
- /** Color palette for the badge. */
6
- type BadgeColor = 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info' | 'accent' | 'gray' | 'blue' | 'green' | 'red' | 'yellow' | 'purple' | 'pink' | 'orange' | 'cyan' | 'teal' | 'indigo';
7
- /** Size token for the badge. */
8
- type BadgeSize = 'xs' | 'sm' | 'md' | 'lg';
9
- /** Border-radius shape. */
10
- type BadgeShape = 'rounded' | 'pill' | 'square';
11
- interface BadgeProps {
12
- /** Text or content inside the badge. */
13
- children?: ReactNode;
14
- /** Visual style. Defaults to `'soft'`. */
15
- variant?: BadgeVariant;
16
- /** Color scheme. Defaults to `'blue'`. */
17
- color?: BadgeColor;
18
- /** Size. Defaults to `'md'`. */
19
- size?: BadgeSize;
20
- /** Border-radius shape. Defaults to `'pill'`. */
21
- shape?: BadgeShape;
22
- /** Optional icon rendered before the label. */
23
- icon?: ReactNode;
24
- /** Optional icon rendered after the label (before the remove button). */
25
- trailingIcon?: ReactNode;
26
- /** When provided, renders a remove (×) button and calls this on click. */
27
- onRemove?: () => void;
28
- /** Adds a pulsing animation to the dot indicator (only works with `variant="dot"`). */
29
- pulse?: boolean;
30
- /** Renders a numeric count instead of (or alongside) children. When > maxCount, shows `{maxCount}+`. */
31
- count?: number;
32
- /** Maximum count before the overflow label is shown. Defaults to 99. */
33
- maxCount?: number;
34
- /** Uppercases the badge text. */
35
- uppercase?: boolean;
36
- /** Adds a soft letter-spacing for label readability. */
37
- tracking?: boolean;
38
- /** Polymorphic element override (e.g. `'a'`, `'button'`, `'li'`). Defaults to `'span'`. */
39
- as?: ElementType;
40
- /** Additional class name. */
41
- className?: string;
42
- /** Any other HTML / element props (e.g. `href`, `onClick`, `aria-*`). */
43
- [key: string]: unknown;
44
- }
45
-
46
- /**
47
- * `Badge` — a highly composable inline label component.
48
- *
49
- * @example
50
- * <Badge color="green" variant="soft">Active</Badge>
51
- * <Badge color="red" variant="gradient" size="lg" shape="rounded">Critical</Badge>
52
- * <Badge color="blue" variant="dot" pulse>Live</Badge>
53
- * <Badge count={42} color="red" variant="solid" shape="pill" />
54
- */
55
- declare function Badge({ children, variant, color, size, shape, icon, trailingIcon, onRemove, pulse, count, maxCount, uppercase, tracking, as: Tag, className, ...rest }: BadgeProps): React.JSX.Element;
56
-
57
- export { Badge, type BadgeColor, type BadgeProps, type BadgeShape, type BadgeSize, type BadgeVariant };
@@ -1,57 +0,0 @@
1
- import { ReactNode, ElementType } from 'react';
2
-
3
- /** Visual style of the badge. */
4
- type BadgeVariant = 'solid' | 'soft' | 'outline' | 'dot' | 'gradient';
5
- /** Color palette for the badge. */
6
- type BadgeColor = 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info' | 'accent' | 'gray' | 'blue' | 'green' | 'red' | 'yellow' | 'purple' | 'pink' | 'orange' | 'cyan' | 'teal' | 'indigo';
7
- /** Size token for the badge. */
8
- type BadgeSize = 'xs' | 'sm' | 'md' | 'lg';
9
- /** Border-radius shape. */
10
- type BadgeShape = 'rounded' | 'pill' | 'square';
11
- interface BadgeProps {
12
- /** Text or content inside the badge. */
13
- children?: ReactNode;
14
- /** Visual style. Defaults to `'soft'`. */
15
- variant?: BadgeVariant;
16
- /** Color scheme. Defaults to `'blue'`. */
17
- color?: BadgeColor;
18
- /** Size. Defaults to `'md'`. */
19
- size?: BadgeSize;
20
- /** Border-radius shape. Defaults to `'pill'`. */
21
- shape?: BadgeShape;
22
- /** Optional icon rendered before the label. */
23
- icon?: ReactNode;
24
- /** Optional icon rendered after the label (before the remove button). */
25
- trailingIcon?: ReactNode;
26
- /** When provided, renders a remove (×) button and calls this on click. */
27
- onRemove?: () => void;
28
- /** Adds a pulsing animation to the dot indicator (only works with `variant="dot"`). */
29
- pulse?: boolean;
30
- /** Renders a numeric count instead of (or alongside) children. When > maxCount, shows `{maxCount}+`. */
31
- count?: number;
32
- /** Maximum count before the overflow label is shown. Defaults to 99. */
33
- maxCount?: number;
34
- /** Uppercases the badge text. */
35
- uppercase?: boolean;
36
- /** Adds a soft letter-spacing for label readability. */
37
- tracking?: boolean;
38
- /** Polymorphic element override (e.g. `'a'`, `'button'`, `'li'`). Defaults to `'span'`. */
39
- as?: ElementType;
40
- /** Additional class name. */
41
- className?: string;
42
- /** Any other HTML / element props (e.g. `href`, `onClick`, `aria-*`). */
43
- [key: string]: unknown;
44
- }
45
-
46
- /**
47
- * `Badge` — a highly composable inline label component.
48
- *
49
- * @example
50
- * <Badge color="green" variant="soft">Active</Badge>
51
- * <Badge color="red" variant="gradient" size="lg" shape="rounded">Critical</Badge>
52
- * <Badge color="blue" variant="dot" pulse>Live</Badge>
53
- * <Badge count={42} color="red" variant="solid" shape="pill" />
54
- */
55
- declare function Badge({ children, variant, color, size, shape, icon, trailingIcon, onRemove, pulse, count, maxCount, uppercase, tracking, as: Tag, className, ...rest }: BadgeProps): React.JSX.Element;
56
-
57
- export { Badge, type BadgeColor, type BadgeProps, type BadgeShape, type BadgeSize, type BadgeVariant };
@@ -1,32 +0,0 @@
1
- import { ReactNode, ReactElement } from 'react';
2
-
3
- interface BreadcrumbItem {
4
- /** The label shown for this crumb. */
5
- label: ReactNode;
6
- /** When provided the crumb renders as a link. */
7
- href?: string;
8
- /** onClick handler (use instead of href for SPA navigation). */
9
- onClick?: () => void;
10
- /** When true the crumb is shown but not clickable. */
11
- disabled?: boolean;
12
- }
13
- type BreadcrumbSeparator = 'slash' | 'chevron' | 'dot' | ReactElement;
14
- type BreadcrumbSize = 'xs' | 'sm' | 'md' | 'lg';
15
- interface BreadcrumbsProps {
16
- /** The list of crumb items. The last item is treated as the current page. */
17
- items: BreadcrumbItem[];
18
- /** Separator between crumbs. Defaults to 'chevron'. */
19
- separator?: BreadcrumbSeparator;
20
- /** Text size. Defaults to 'sm'. */
21
- size?: BreadcrumbSize;
22
- /** When true collapses middle items into an ellipsis button. Defaults to false. */
23
- collapsible?: boolean;
24
- /** Maximum number of items to show when collapsible=true. Defaults to 4. */
25
- maxItems?: number;
26
- /** Additional class for the <nav> wrapper. */
27
- className?: string;
28
- }
29
-
30
- declare function Breadcrumbs({ items, separator, size, collapsible, maxItems, className, }: BreadcrumbsProps): React.JSX.Element | null;
31
-
32
- export { type BreadcrumbItem, type BreadcrumbSeparator, type BreadcrumbSize, Breadcrumbs, type BreadcrumbsProps };
@@ -1,32 +0,0 @@
1
- import { ReactNode, ReactElement } from 'react';
2
-
3
- interface BreadcrumbItem {
4
- /** The label shown for this crumb. */
5
- label: ReactNode;
6
- /** When provided the crumb renders as a link. */
7
- href?: string;
8
- /** onClick handler (use instead of href for SPA navigation). */
9
- onClick?: () => void;
10
- /** When true the crumb is shown but not clickable. */
11
- disabled?: boolean;
12
- }
13
- type BreadcrumbSeparator = 'slash' | 'chevron' | 'dot' | ReactElement;
14
- type BreadcrumbSize = 'xs' | 'sm' | 'md' | 'lg';
15
- interface BreadcrumbsProps {
16
- /** The list of crumb items. The last item is treated as the current page. */
17
- items: BreadcrumbItem[];
18
- /** Separator between crumbs. Defaults to 'chevron'. */
19
- separator?: BreadcrumbSeparator;
20
- /** Text size. Defaults to 'sm'. */
21
- size?: BreadcrumbSize;
22
- /** When true collapses middle items into an ellipsis button. Defaults to false. */
23
- collapsible?: boolean;
24
- /** Maximum number of items to show when collapsible=true. Defaults to 4. */
25
- maxItems?: number;
26
- /** Additional class for the <nav> wrapper. */
27
- className?: string;
28
- }
29
-
30
- declare function Breadcrumbs({ items, separator, size, collapsible, maxItems, className, }: BreadcrumbsProps): React.JSX.Element | null;
31
-
32
- export { type BreadcrumbItem, type BreadcrumbSeparator, type BreadcrumbSize, Breadcrumbs, type BreadcrumbsProps };
@@ -1,8 +0,0 @@
1
- import { B as ButtonProps } from '../Button.types-D-srlWFf.mjs';
2
- export { a as ButtonSize, b as ButtonVariant } from '../Button.types-D-srlWFf.mjs';
3
- import 'react';
4
- import '../Tooltip.types-PbUasE3C.mjs';
5
-
6
- declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
7
-
8
- export { Button, ButtonProps };
@@ -1,8 +0,0 @@
1
- import { B as ButtonProps } from '../Button.types-BsQYqZml.js';
2
- export { a as ButtonSize, b as ButtonVariant } from '../Button.types-BsQYqZml.js';
3
- import 'react';
4
- import '../Tooltip.types-PbUasE3C.js';
5
-
6
- declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
7
-
8
- export { Button, ButtonProps };