@bricks-toolkit/toolkit 0.1.2 → 0.1.3

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 (90) hide show
  1. package/dist/{chunk-Y6AN7AWX.cjs → chunk-3IPWW66F.cjs} +1 -1
  2. package/dist/{chunk-EV463QT5.cjs → chunk-IC4HGEI6.cjs} +2 -17
  3. package/dist/{chunk-G4HVY6FM.mjs → chunk-K3IJEZ4S.mjs} +1 -1
  4. package/dist/{chunk-FOVJHEWH.mjs → chunk-KH6LV7IS.mjs} +2 -17
  5. package/dist/header/index.cjs +2 -5
  6. package/dist/header/index.mjs +1 -4
  7. package/dist/index.cjs +4 -4
  8. package/dist/index.mjs +2 -2
  9. package/dist/styles.css +0 -5
  10. package/dist/tabs/index.cjs +2 -2
  11. package/dist/tabs/index.mjs +1 -1
  12. package/package.json +20 -19
  13. package/dist/Button.types-BsQYqZml.d.ts +0 -27
  14. package/dist/Button.types-D-srlWFf.d.mts +0 -27
  15. package/dist/TextInput.types-DRI8HQza.d.mts +0 -32
  16. package/dist/TextInput.types-DRI8HQza.d.ts +0 -32
  17. package/dist/Tooltip.types-PbUasE3C.d.mts +0 -36
  18. package/dist/Tooltip.types-PbUasE3C.d.ts +0 -36
  19. package/dist/avatar/index.d.mts +0 -29
  20. package/dist/avatar/index.d.ts +0 -29
  21. package/dist/badge/index.d.mts +0 -57
  22. package/dist/badge/index.d.ts +0 -57
  23. package/dist/breadcrumbs/index.d.mts +0 -32
  24. package/dist/breadcrumbs/index.d.ts +0 -32
  25. package/dist/button/index.d.mts +0 -8
  26. package/dist/button/index.d.ts +0 -8
  27. package/dist/card/index.d.mts +0 -42
  28. package/dist/card/index.d.ts +0 -42
  29. package/dist/checkbox/index.d.mts +0 -36
  30. package/dist/checkbox/index.d.ts +0 -36
  31. package/dist/combo-box/index.d.mts +0 -62
  32. package/dist/combo-box/index.d.ts +0 -62
  33. package/dist/date-picker/index.d.mts +0 -32
  34. package/dist/date-picker/index.d.ts +0 -32
  35. package/dist/dialog/index.d.mts +0 -61
  36. package/dist/dialog/index.d.ts +0 -61
  37. package/dist/dropdown-menu/index.d.mts +0 -34
  38. package/dist/dropdown-menu/index.d.ts +0 -34
  39. package/dist/email/index.d.mts +0 -38
  40. package/dist/email/index.d.ts +0 -38
  41. package/dist/file-upload/index.d.mts +0 -27
  42. package/dist/file-upload/index.d.ts +0 -27
  43. package/dist/header/index.d.mts +0 -28
  44. package/dist/header/index.d.ts +0 -28
  45. package/dist/icon-button/index.d.mts +0 -16
  46. package/dist/icon-button/index.d.ts +0 -16
  47. package/dist/image/index.d.mts +0 -48
  48. package/dist/image/index.d.ts +0 -48
  49. package/dist/index.d.mts +0 -141
  50. package/dist/index.d.ts +0 -141
  51. package/dist/link/index.d.mts +0 -25
  52. package/dist/link/index.d.ts +0 -25
  53. package/dist/loader/index.d.mts +0 -21
  54. package/dist/loader/index.d.ts +0 -21
  55. package/dist/modal/index.d.mts +0 -116
  56. package/dist/modal/index.d.ts +0 -116
  57. package/dist/multi-select/index.d.mts +0 -59
  58. package/dist/multi-select/index.d.ts +0 -59
  59. package/dist/otp-input/index.d.mts +0 -57
  60. package/dist/otp-input/index.d.ts +0 -57
  61. package/dist/password-input/index.d.mts +0 -32
  62. package/dist/password-input/index.d.ts +0 -32
  63. package/dist/phone/index.d.mts +0 -41
  64. package/dist/phone/index.d.ts +0 -41
  65. package/dist/radio-button/index.d.mts +0 -56
  66. package/dist/radio-button/index.d.ts +0 -56
  67. package/dist/search-input/index.d.mts +0 -22
  68. package/dist/search-input/index.d.ts +0 -22
  69. package/dist/select/index.d.mts +0 -36
  70. package/dist/select/index.d.ts +0 -36
  71. package/dist/sidebar/index.d.mts +0 -96
  72. package/dist/sidebar/index.d.ts +0 -96
  73. package/dist/skeleton/index.d.mts +0 -76
  74. package/dist/skeleton/index.d.ts +0 -76
  75. package/dist/styles.d.mts +0 -2
  76. package/dist/styles.d.ts +0 -2
  77. package/dist/table/index.d.mts +0 -92
  78. package/dist/table/index.d.ts +0 -92
  79. package/dist/tabs/index.d.mts +0 -26
  80. package/dist/tabs/index.d.ts +0 -26
  81. package/dist/text-input/index.d.mts +0 -7
  82. package/dist/text-input/index.d.ts +0 -7
  83. package/dist/theme-provider/index.d.mts +0 -122
  84. package/dist/theme-provider/index.d.ts +0 -122
  85. package/dist/time-picker/index.d.mts +0 -32
  86. package/dist/time-picker/index.d.ts +0 -32
  87. package/dist/toaster/index.d.mts +0 -28
  88. package/dist/toaster/index.d.ts +0 -28
  89. package/dist/tooltip/index.d.mts +0 -7
  90. package/dist/tooltip/index.d.ts +0 -7
@@ -179,7 +179,7 @@ var Tabs = react.forwardRef(function Tabs2({
179
179
  )
180
180
  }
181
181
  ),
182
- canScrollRight && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute right-0 z-20 flex h-full items-center pr-1 lg:hidden pointer-events-none", children: [
182
+ canScrollRight && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute right-0 z-20 flex h-full items-center pr-1 hidden pointer-events-none", children: [
183
183
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-8 h-full bg-gradient-to-l from-surface to-transparent pointer-events-none -mr-4" }),
184
184
  /* @__PURE__ */ jsxRuntime.jsx(
185
185
  chunkTNGW5YHA_cjs.IconButton,
@@ -1,8 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkTNGW5YHA_cjs = require('./chunk-TNGW5YHA.cjs');
4
3
  var chunkL5VQZZVR_cjs = require('./chunk-L5VQZZVR.cjs');
5
- var outline = require('@heroicons/react/24/outline');
6
4
  var jsxRuntime = require('react/jsx-runtime');
7
5
 
8
6
  var Header = ({
@@ -25,21 +23,8 @@ var Header = ({
25
23
  className
26
24
  ),
27
25
  children: [
28
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-4", children: [
29
- onMenuToggle && /* @__PURE__ */ jsxRuntime.jsx(
30
- chunkTNGW5YHA_cjs.IconButton,
31
- {
32
- icon: /* @__PURE__ */ jsxRuntime.jsx(outline.Bars3Icon, { className: "w-5 h-5" }),
33
- "aria-label": "Toggle Menu",
34
- variant: "ghost",
35
- size: "sm",
36
- onClick: onMenuToggle,
37
- className: "lg:hidden"
38
- }
39
- ),
40
- logo && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: logo })
41
- ] }),
42
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 max-w-xl px-8 hidden md:block", children }),
26
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-4", children: logo && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: logo }) }),
27
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 max-w-xl px-8", children }),
43
28
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
44
29
  actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-1", children: actions }),
45
30
  userSection && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center pl-2 ml-2 border-l border-border h-8", children: userSection })
@@ -177,7 +177,7 @@ var Tabs = forwardRef(function Tabs2({
177
177
  )
178
178
  }
179
179
  ),
180
- canScrollRight && /* @__PURE__ */ jsxs("div", { className: "absolute right-0 z-20 flex h-full items-center pr-1 lg:hidden pointer-events-none", children: [
180
+ canScrollRight && /* @__PURE__ */ jsxs("div", { className: "absolute right-0 z-20 flex h-full items-center pr-1 hidden pointer-events-none", children: [
181
181
  /* @__PURE__ */ jsx("div", { className: "w-8 h-full bg-gradient-to-l from-surface to-transparent pointer-events-none -mr-4" }),
182
182
  /* @__PURE__ */ jsx(
183
183
  IconButton,
@@ -1,6 +1,4 @@
1
- import { IconButton } from './chunk-BVBCAAES.mjs';
2
1
  import { cn } from './chunk-OCPFOFJ4.mjs';
3
- import { Bars3Icon } from '@heroicons/react/24/outline';
4
2
  import { jsxs, jsx } from 'react/jsx-runtime';
5
3
 
6
4
  var Header = ({
@@ -23,21 +21,8 @@ var Header = ({
23
21
  className
24
22
  ),
25
23
  children: [
26
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4", children: [
27
- onMenuToggle && /* @__PURE__ */ jsx(
28
- IconButton,
29
- {
30
- icon: /* @__PURE__ */ jsx(Bars3Icon, { className: "w-5 h-5" }),
31
- "aria-label": "Toggle Menu",
32
- variant: "ghost",
33
- size: "sm",
34
- onClick: onMenuToggle,
35
- className: "lg:hidden"
36
- }
37
- ),
38
- logo && /* @__PURE__ */ jsx("div", { className: "flex items-center", children: logo })
39
- ] }),
40
- /* @__PURE__ */ jsx("div", { className: "flex-1 max-w-xl px-8 hidden md:block", children }),
24
+ /* @__PURE__ */ jsx("div", { className: "flex items-center gap-4", children: logo && /* @__PURE__ */ jsx("div", { className: "flex items-center", children: logo }) }),
25
+ /* @__PURE__ */ jsx("div", { className: "flex-1 max-w-xl px-8", children }),
41
26
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
42
27
  actions && /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1", children: actions }),
43
28
  userSection && /* @__PURE__ */ jsx("div", { className: "flex items-center pl-2 ml-2 border-l border-border h-8", children: userSection })
@@ -1,14 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkEV463QT5_cjs = require('../chunk-EV463QT5.cjs');
4
- require('../chunk-TNGW5YHA.cjs');
5
- require('../chunk-6CC5KIA5.cjs');
6
- require('../chunk-R72GDCWE.cjs');
3
+ var chunkIC4HGEI6_cjs = require('../chunk-IC4HGEI6.cjs');
7
4
  require('../chunk-L5VQZZVR.cjs');
8
5
 
9
6
 
10
7
 
11
8
  Object.defineProperty(exports, "Header", {
12
9
  enumerable: true,
13
- get: function () { return chunkEV463QT5_cjs.Header; }
10
+ get: function () { return chunkIC4HGEI6_cjs.Header; }
14
11
  });
@@ -1,5 +1,2 @@
1
- export { Header } from '../chunk-FOVJHEWH.mjs';
2
- import '../chunk-BVBCAAES.mjs';
3
- import '../chunk-RAD5VJHR.mjs';
4
- import '../chunk-65UZC3FK.mjs';
1
+ export { Header } from '../chunk-KH6LV7IS.mjs';
5
2
  import '../chunk-OCPFOFJ4.mjs';
package/dist/index.cjs CHANGED
@@ -4,12 +4,12 @@ var chunkPCYGJNEQ_cjs = require('./chunk-PCYGJNEQ.cjs');
4
4
  var chunk7DDDQ3RH_cjs = require('./chunk-7DDDQ3RH.cjs');
5
5
  var chunkLTG6YP5I_cjs = require('./chunk-LTG6YP5I.cjs');
6
6
  require('./chunk-NMJ5CVZH.cjs');
7
- var chunkY6AN7AWX_cjs = require('./chunk-Y6AN7AWX.cjs');
7
+ var chunk3IPWW66F_cjs = require('./chunk-3IPWW66F.cjs');
8
8
  var chunkXFNRKHHF_cjs = require('./chunk-XFNRKHHF.cjs');
9
9
  var chunkDHC5LI2P_cjs = require('./chunk-DHC5LI2P.cjs');
10
10
  var chunkYMMNWJT6_cjs = require('./chunk-YMMNWJT6.cjs');
11
11
  var chunkQ3IFXFFD_cjs = require('./chunk-Q3IFXFFD.cjs');
12
- var chunkEV463QT5_cjs = require('./chunk-EV463QT5.cjs');
12
+ var chunkIC4HGEI6_cjs = require('./chunk-IC4HGEI6.cjs');
13
13
  var chunkPJWELBN2_cjs = require('./chunk-PJWELBN2.cjs');
14
14
  var chunkTNGW5YHA_cjs = require('./chunk-TNGW5YHA.cjs');
15
15
  var chunkS7VEND5Z_cjs = require('./chunk-S7VEND5Z.cjs');
@@ -633,7 +633,7 @@ Object.defineProperty(exports, "useTheme", {
633
633
  });
634
634
  Object.defineProperty(exports, "Tabs", {
635
635
  enumerable: true,
636
- get: function () { return chunkY6AN7AWX_cjs.Tabs; }
636
+ get: function () { return chunk3IPWW66F_cjs.Tabs; }
637
637
  });
638
638
  Object.defineProperty(exports, "TextInput", {
639
639
  enumerable: true,
@@ -653,7 +653,7 @@ Object.defineProperty(exports, "Sidebar", {
653
653
  });
654
654
  Object.defineProperty(exports, "Header", {
655
655
  enumerable: true,
656
- get: function () { return chunkEV463QT5_cjs.Header; }
656
+ get: function () { return chunkIC4HGEI6_cjs.Header; }
657
657
  });
658
658
  Object.defineProperty(exports, "Image", {
659
659
  enumerable: true,
package/dist/index.mjs CHANGED
@@ -2,12 +2,12 @@ export { Modal, ModalBody, ModalCloseButton, ModalFooter, ModalHeader } from './
2
2
  export { SearchInput } from './chunk-VHVFRWF5.mjs';
3
3
  export { ThemeProvider, useTheme } from './chunk-Y3NTKFUE.mjs';
4
4
  import './chunk-SBNNV6FE.mjs';
5
- export { Tabs } from './chunk-G4HVY6FM.mjs';
5
+ export { Tabs } from './chunk-K3IJEZ4S.mjs';
6
6
  export { TextInput } from './chunk-CMER5LO3.mjs';
7
7
  export { TimePicker } from './chunk-VKQDW7C2.mjs';
8
8
  export { Toaster } from './chunk-YOTCXSXL.mjs';
9
9
  export { Sidebar } from './chunk-PJH2KEWK.mjs';
10
- export { Header } from './chunk-FOVJHEWH.mjs';
10
+ export { Header } from './chunk-KH6LV7IS.mjs';
11
11
  export { Image } from './chunk-JV6AWBN5.mjs';
12
12
  export { IconButton } from './chunk-BVBCAAES.mjs';
13
13
  export { Skeleton, SkeletonAvatar, SkeletonCard, SkeletonTable, SkeletonText } from './chunk-32SKYPQW.mjs';
package/dist/styles.css CHANGED
@@ -4550,11 +4550,6 @@
4550
4550
  grid-column: span 2 / span 2;
4551
4551
  }
4552
4552
  }
4553
- .md\:block {
4554
- @media (width >= 48rem) {
4555
- display: block;
4556
- }
4557
- }
4558
4553
  .md\:grid-cols-3 {
4559
4554
  @media (width >= 48rem) {
4560
4555
  grid-template-columns: repeat(3, minmax(0, 1fr));
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkY6AN7AWX_cjs = require('../chunk-Y6AN7AWX.cjs');
3
+ var chunk3IPWW66F_cjs = require('../chunk-3IPWW66F.cjs');
4
4
  require('../chunk-TNGW5YHA.cjs');
5
5
  require('../chunk-6CC5KIA5.cjs');
6
6
  require('../chunk-R72GDCWE.cjs');
@@ -10,5 +10,5 @@ require('../chunk-L5VQZZVR.cjs');
10
10
 
11
11
  Object.defineProperty(exports, "Tabs", {
12
12
  enumerable: true,
13
- get: function () { return chunkY6AN7AWX_cjs.Tabs; }
13
+ get: function () { return chunk3IPWW66F_cjs.Tabs; }
14
14
  });
@@ -1,4 +1,4 @@
1
- export { Tabs } from '../chunk-G4HVY6FM.mjs';
1
+ export { Tabs } from '../chunk-K3IJEZ4S.mjs';
2
2
  import '../chunk-BVBCAAES.mjs';
3
3
  import '../chunk-RAD5VJHR.mjs';
4
4
  import '../chunk-65UZC3FK.mjs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bricks-toolkit/toolkit",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Micro-modularized, fully independent, type-safe UI component library",
5
5
  "license": "MIT",
6
6
  "author": "ITProfound",
@@ -372,6 +372,24 @@
372
372
  "README.md",
373
373
  "LICENSE"
374
374
  ],
375
+ "scripts": {
376
+ "storybook": "storybook dev -p 6006 --no-version-updates",
377
+ "build": "tsup",
378
+ "build:watch": "tsup --watch",
379
+ "build:storybook": "storybook build",
380
+ "test": "vitest run",
381
+ "test:watch": "vitest",
382
+ "test:coverage": "vitest run --coverage",
383
+ "lint": "eslint .",
384
+ "lint:fix": "eslint . --fix",
385
+ "format": "prettier --write .",
386
+ "format:check": "prettier --check .",
387
+ "typecheck": "tsc --noEmit",
388
+ "validate": "pnpm typecheck && pnpm lint && pnpm test",
389
+ "clean": "rimraf dist",
390
+ "prepare": "husky",
391
+ "audit": "pnpm audit"
392
+ },
375
393
  "devDependencies": {
376
394
  "@eslint/js": "10.0.1",
377
395
  "@storybook/addon-a11y": "10.3.5",
@@ -443,22 +461,5 @@
443
461
  },
444
462
  "dependencies": {
445
463
  "@heroicons/react": "2.2.0"
446
- },
447
- "scripts": {
448
- "storybook": "storybook dev -p 6006 --no-version-updates",
449
- "build": "tsup",
450
- "build:watch": "tsup --watch",
451
- "build:storybook": "storybook build",
452
- "test": "vitest run",
453
- "test:watch": "vitest",
454
- "test:coverage": "vitest run --coverage",
455
- "lint": "eslint .",
456
- "lint:fix": "eslint . --fix",
457
- "format": "prettier --write .",
458
- "format:check": "prettier --check .",
459
- "typecheck": "tsc --noEmit",
460
- "validate": "pnpm typecheck && pnpm lint && pnpm test",
461
- "clean": "rimraf dist",
462
- "audit": "pnpm audit"
463
464
  }
464
- }
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 };