@lerianstudio/sindarian-ui 1.0.0-beta.2 → 1.0.0-beta.20

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 (158) hide show
  1. package/dist/components/breadcrumb/index.js +2 -2
  2. package/dist/components/card/account-card/index.d.ts +32 -0
  3. package/dist/components/card/account-card/index.d.ts.map +1 -0
  4. package/dist/components/card/account-card/index.js +69 -0
  5. package/dist/components/card/basic-card/index.d.ts +6 -0
  6. package/dist/components/card/basic-card/index.d.ts.map +1 -0
  7. package/dist/components/card/basic-card/index.js +20 -0
  8. package/dist/components/card/dashboard-card/index.d.ts +5 -0
  9. package/dist/components/card/dashboard-card/index.d.ts.map +1 -0
  10. package/dist/components/card/dashboard-card/index.js +20 -0
  11. package/dist/components/card/entity-card/index.d.ts +21 -0
  12. package/dist/components/card/entity-card/index.d.ts.map +1 -0
  13. package/dist/components/card/entity-card/index.js +60 -0
  14. package/dist/components/card/index.d.ts +5 -0
  15. package/dist/components/card/index.d.ts.map +1 -0
  16. package/dist/components/card/index.js +20 -0
  17. package/dist/components/dialog/confirmation-dialog/index.d.ts +15 -0
  18. package/dist/components/dialog/confirmation-dialog/index.d.ts.map +1 -0
  19. package/dist/components/dialog/confirmation-dialog/index.js +28 -0
  20. package/dist/components/dialog/confirmation-dialog/use-confirm-dialog.d.ts +31 -0
  21. package/dist/components/dialog/confirmation-dialog/use-confirm-dialog.d.ts.map +1 -0
  22. package/dist/components/dialog/confirmation-dialog/use-confirm-dialog.js +55 -0
  23. package/dist/components/dialog/index.d.ts +4 -0
  24. package/dist/components/dialog/index.d.ts.map +1 -0
  25. package/dist/components/dialog/index.js +19 -0
  26. package/dist/components/dialog/large-dialog/index.d.ts +11 -0
  27. package/dist/components/dialog/large-dialog/index.d.ts.map +1 -0
  28. package/dist/components/dialog/large-dialog/index.js +21 -0
  29. package/dist/components/form/input-field/index.d.ts +4 -1
  30. package/dist/components/form/input-field/index.d.ts.map +1 -1
  31. package/dist/components/form/input-field/index.js +3 -3
  32. package/dist/components/form/pagination-limit-field/index.d.ts +2 -1
  33. package/dist/components/form/pagination-limit-field/index.d.ts.map +1 -1
  34. package/dist/components/form/pagination-limit-field/index.js +2 -2
  35. package/dist/components/form/password-field/index.d.ts +5 -4
  36. package/dist/components/form/password-field/index.d.ts.map +1 -1
  37. package/dist/components/form/password-field/index.js +8 -7
  38. package/dist/components/form/select-field/index.d.ts +1 -0
  39. package/dist/components/form/select-field/index.d.ts.map +1 -1
  40. package/dist/components/form/select-field/index.js +1 -1
  41. package/dist/components/form/switch-field/index.d.ts +2 -1
  42. package/dist/components/form/switch-field/index.d.ts.map +1 -1
  43. package/dist/components/form/switch-field/index.js +2 -2
  44. package/dist/components/page/index.d.ts.map +1 -1
  45. package/dist/components/page/index.js +3 -3
  46. package/dist/components/page-header/index.js +1 -1
  47. package/dist/components/pagination/index.js +1 -1
  48. package/dist/components/table/id-table-cell.d.ts +3 -2
  49. package/dist/components/table/id-table-cell.d.ts.map +1 -1
  50. package/dist/components/table/id-table-cell.js +2 -2
  51. package/dist/components/table/locked-table-actions.js +1 -1
  52. package/dist/components/ui/alert/index.d.ts +5 -1
  53. package/dist/components/ui/alert/index.d.ts.map +1 -1
  54. package/dist/components/ui/alert/index.js +22 -8
  55. package/dist/components/ui/alert/styles.css +68 -0
  56. package/dist/components/ui/badge/index.d.ts +1 -1
  57. package/dist/components/ui/breadcrumb/index.d.ts.map +1 -1
  58. package/dist/components/ui/breadcrumb/index.js +5 -5
  59. package/dist/components/ui/breadcrumb/styles.css +27 -0
  60. package/dist/components/ui/button/index.d.ts +8 -3
  61. package/dist/components/ui/button/index.d.ts.map +1 -1
  62. package/dist/components/ui/button/index.js +21 -29
  63. package/dist/components/ui/button/styles.css +64 -0
  64. package/dist/components/ui/card/index.js +1 -1
  65. package/dist/components/ui/dialog/index.d.ts.map +1 -1
  66. package/dist/components/ui/dialog/index.js +6 -6
  67. package/dist/components/ui/dialog/styles.css +34 -0
  68. package/dist/components/ui/form.d.ts.map +1 -1
  69. package/dist/components/ui/form.js +1 -0
  70. package/dist/components/ui/icon-button/index.d.ts +13 -0
  71. package/dist/components/ui/icon-button/index.d.ts.map +1 -0
  72. package/dist/components/ui/icon-button/index.js +35 -0
  73. package/dist/components/ui/icon-button/styles.css +33 -0
  74. package/dist/components/ui/input/adornment.d.ts +9 -0
  75. package/dist/components/ui/input/adornment.d.ts.map +1 -0
  76. package/dist/components/ui/input/adornment.js +21 -0
  77. package/dist/components/ui/input/index.d.ts +16 -2
  78. package/dist/components/ui/input/index.d.ts.map +1 -1
  79. package/dist/components/ui/input/index.js +90 -2
  80. package/dist/components/ui/input/styles.css +68 -0
  81. package/dist/components/ui/multiple-select/index.d.ts +6 -6
  82. package/dist/components/ui/paper-collapsible/index.d.ts +9 -0
  83. package/dist/components/ui/paper-collapsible/index.d.ts.map +1 -0
  84. package/dist/components/ui/paper-collapsible/index.js +24 -0
  85. package/dist/components/ui/progress/index.d.ts +1 -1
  86. package/dist/components/ui/progress/index.d.ts.map +1 -1
  87. package/dist/components/ui/select/index.d.ts +1 -2
  88. package/dist/components/ui/select/index.d.ts.map +1 -1
  89. package/dist/components/ui/select/index.js +9 -18
  90. package/dist/components/ui/select/styles.css +57 -0
  91. package/dist/components/ui/sidebar/index.d.ts +9 -0
  92. package/dist/components/ui/sidebar/index.d.ts.map +1 -0
  93. package/dist/components/ui/sidebar/index.js +24 -0
  94. package/dist/components/ui/sidebar/sidebar-back-button.d.ts +3 -0
  95. package/dist/components/ui/sidebar/sidebar-back-button.d.ts.map +1 -0
  96. package/dist/components/ui/sidebar/sidebar-back-button.js +11 -0
  97. package/dist/components/ui/sidebar/sidebar-components.d.ts +23 -0
  98. package/dist/components/ui/sidebar/sidebar-components.d.ts.map +1 -0
  99. package/dist/components/ui/sidebar/sidebar-components.js +23 -0
  100. package/dist/components/ui/sidebar/sidebar-expand-button.d.ts +6 -0
  101. package/dist/components/ui/sidebar/sidebar-expand-button.d.ts.map +1 -0
  102. package/dist/components/ui/sidebar/sidebar-expand-button.js +19 -0
  103. package/dist/components/ui/sidebar/sidebar-item-button.d.ts +11 -0
  104. package/dist/components/ui/sidebar/sidebar-item-button.d.ts.map +1 -0
  105. package/dist/components/ui/sidebar/sidebar-item-button.js +23 -0
  106. package/dist/components/ui/sidebar/sidebar-item-icon-button.d.ts +11 -0
  107. package/dist/components/ui/sidebar/sidebar-item-icon-button.d.ts.map +1 -0
  108. package/dist/components/ui/sidebar/sidebar-item-icon-button.js +20 -0
  109. package/dist/components/ui/sidebar/sidebar-item.d.ts +12 -0
  110. package/dist/components/ui/sidebar/sidebar-item.d.ts.map +1 -0
  111. package/dist/components/ui/sidebar/sidebar-item.js +19 -0
  112. package/dist/components/ui/sidebar/sidebar-provider.d.ts +8 -0
  113. package/dist/components/ui/sidebar/sidebar-provider.d.ts.map +1 -0
  114. package/dist/components/ui/sidebar/sidebar-provider.js +28 -0
  115. package/dist/components/ui/sidebar/sidebar-root.d.ts +3 -0
  116. package/dist/components/ui/sidebar/sidebar-root.d.ts.map +1 -0
  117. package/dist/components/ui/sidebar/sidebar-root.js +24 -0
  118. package/dist/components/ui/stepper/index.d.ts.map +1 -1
  119. package/dist/components/ui/stepper/index.js +4 -4
  120. package/dist/components/ui/stepper/styles.css +41 -0
  121. package/dist/components/ui/tabs/index.d.ts.map +1 -1
  122. package/dist/components/ui/tabs/index.js +4 -4
  123. package/dist/components/ui/tabs/styles.css +31 -0
  124. package/dist/components/ui/toast/toaster.js +1 -1
  125. package/dist/globals.css +218 -0
  126. package/dist/hooks/use-time.d.ts +6 -0
  127. package/dist/hooks/use-time.d.ts.map +1 -0
  128. package/dist/hooks/use-time.js +20 -0
  129. package/dist/index.d.ts +6 -1
  130. package/dist/index.d.ts.map +1 -1
  131. package/dist/index.js +7 -1
  132. package/dist/lib/storage/get-storage-object.d.ts +2 -0
  133. package/dist/lib/storage/get-storage-object.d.ts.map +1 -0
  134. package/dist/lib/storage/get-storage-object.js +19 -0
  135. package/dist/lib/storage/get-storage.d.ts +2 -0
  136. package/dist/lib/storage/get-storage.d.ts.map +1 -0
  137. package/dist/lib/storage/get-storage.js +17 -0
  138. package/dist/lib/storage/index.d.ts +3 -0
  139. package/dist/lib/storage/index.d.ts.map +1 -0
  140. package/dist/lib/storage/index.js +18 -0
  141. package/dist/public/arm.gif +0 -0
  142. package/dist/public/clap.gif +0 -0
  143. package/dist/public/confetti-ball.gif +0 -0
  144. package/dist/public/countries.json +21200 -21200
  145. package/dist/public/dizzy.gif +0 -0
  146. package/dist/public/electricity.gif +0 -0
  147. package/dist/public/gear.gif +0 -0
  148. package/dist/public/gem.gif +0 -0
  149. package/dist/public/pencil.gif +0 -0
  150. package/dist/public/robot.gif +0 -0
  151. package/dist/public/rocket.gif +0 -0
  152. package/dist/public/software.gif +0 -0
  153. package/dist/public/solar-system.gif +0 -0
  154. package/dist/public/unicorn.gif +0 -0
  155. package/package.json +22 -19
  156. package/dist/components/ui/input-with-icon/index.d.ts +0 -12
  157. package/dist/components/ui/input-with-icon/index.d.ts.map +0 -1
  158. package/dist/components/ui/input-with-icon/index.js +0 -57
@@ -4,7 +4,7 @@ exports.PaginationLimitField = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const select_field_1 = require("../select-field");
6
6
  const select_1 = require("../../../components/ui/select");
7
- const PaginationLimitField = ({ options = [10, 50, 100], label = 'Items per page', control }) => {
8
- return ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-4", children: [(0, jsx_runtime_1.jsx)("p", { className: "text-sm font-medium whitespace-nowrap text-gray-600", children: label }), (0, jsx_runtime_1.jsx)(select_field_1.SelectField, { name: "limit", control: control, children: options.map((pageSize) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: String(pageSize), children: pageSize }, pageSize))) })] }));
7
+ const PaginationLimitField = ({ options = [10, 50, 100], label = 'Items per page', control, ['data-testid']: dataTestId }) => {
8
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-4", children: [(0, jsx_runtime_1.jsx)("p", { className: "text-sm font-medium whitespace-nowrap text-gray-600", children: label }), (0, jsx_runtime_1.jsx)(select_field_1.SelectField, { name: "limit", control: control, "data-testid": dataTestId, children: options.map((pageSize) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: String(pageSize), children: pageSize }, pageSize))) })] }));
9
9
  };
10
10
  exports.PaginationLimitField = PaginationLimitField;
@@ -1,12 +1,13 @@
1
1
  import { Control, FieldPath, FieldValues } from 'react-hook-form';
2
- interface PasswordFieldProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> {
2
+ export type PasswordFieldProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
3
3
  name: TName;
4
4
  label: string;
5
5
  tooltip?: string;
6
+ placeholder?: string;
6
7
  control: Control<TFieldValues>;
7
8
  required?: boolean;
8
9
  disabled?: boolean;
9
- }
10
- export declare function PasswordField<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ name, label, tooltip, control, required, disabled }: PasswordFieldProps<TFieldValues, TName>): import("react/jsx-runtime").JSX.Element;
11
- export {};
10
+ 'data-testid'?: string;
11
+ };
12
+ export declare function PasswordField<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ name, label, tooltip, placeholder, control, required, disabled, 'data-testid': dataTestId }: PasswordFieldProps<TFieldValues, TName>): import("react/jsx-runtime").JSX.Element;
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/password-field/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAYjE,UAAU,kBAAkB,CAC1B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC;IAE/D,IAAI,EAAE,KAAK,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,aAAa,CAC3B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,EAC/D,EACA,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EACP,QAAgB,EAChB,QAAgB,EACjB,EAAE,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,2CAwCzC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/password-field/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAajE,MAAM,MAAM,kBAAkB,CAC5B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,IAC7D;IACF,IAAI,EAAE,KAAK,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,wBAAgB,aAAa,CAC3B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,EAC/D,EACA,IAAI,EACJ,KAAK,EACL,OAAO,EACP,WAAW,EACX,OAAO,EACP,QAAgB,EAChB,QAAgB,EAChB,aAAa,EAAE,UAAU,EAC1B,EAAE,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,2CAyCzC"}
@@ -1,15 +1,16 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.PasswordField = PasswordField;
4
7
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
8
+ const react_1 = __importDefault(require("react"));
6
9
  const form_1 = require("../../../components/ui/form");
7
10
  const input_1 = require("../../../components/ui/input");
8
11
  const lucide_react_1 = require("lucide-react");
9
- function PasswordField({ name, label, tooltip, control, required = false, disabled = false }) {
10
- const [showPassword, setShowPassword] = (0, react_1.useState)(false);
11
- return ((0, jsx_runtime_1.jsx)(form_1.FormField, { control: control, name: name, render: ({ field }) => ((0, jsx_runtime_1.jsxs)(form_1.FormItem, { required: required, children: [(0, jsx_runtime_1.jsx)(form_1.FormLabel, { extra: tooltip ? (0, jsx_runtime_1.jsx)(form_1.FormTooltip, { children: tooltip }) : undefined, children: label }), (0, jsx_runtime_1.jsxs)("div", { className: "relative", children: [(0, jsx_runtime_1.jsx)(form_1.FormControl, { children: (0, jsx_runtime_1.jsx)(input_1.Input, { ...field, type: showPassword ? 'text' : 'password', disabled: disabled, className: "pr-10" }) }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: "absolute inset-y-0 right-0 flex items-center px-3 text-gray-400 hover:text-gray-500 focus:outline-hidden", tabIndex: -1, onMouseDown: (e) => {
12
- e.preventDefault();
13
- setShowPassword(!showPassword);
14
- }, children: showPassword ? (0, jsx_runtime_1.jsx)(lucide_react_1.EyeOffIcon, { size: 20 }) : (0, jsx_runtime_1.jsx)(lucide_react_1.EyeIcon, { size: 20 }) })] }), (0, jsx_runtime_1.jsx)(form_1.FormMessage, {})] })) }));
12
+ const icon_button_1 = require("../../../components/ui/icon-button");
13
+ function PasswordField({ name, label, tooltip, placeholder, control, required = false, disabled = false, 'data-testid': dataTestId }) {
14
+ const [show, setShow] = react_1.default.useState(false);
15
+ return ((0, jsx_runtime_1.jsx)(form_1.FormField, { control: control, name: name, render: ({ field }) => ((0, jsx_runtime_1.jsxs)(form_1.FormItem, { required: required, children: [(0, jsx_runtime_1.jsx)(form_1.FormLabel, { extra: tooltip ? (0, jsx_runtime_1.jsx)(form_1.FormTooltip, { children: tooltip }) : undefined, children: label }), (0, jsx_runtime_1.jsx)(form_1.FormControl, { children: (0, jsx_runtime_1.jsx)(input_1.Input, { ...field, type: show ? 'text' : 'password', placeholder: placeholder, endAdornment: (0, jsx_runtime_1.jsx)(input_1.InputAdornment, { position: "end", children: (0, jsx_runtime_1.jsx)(icon_button_1.IconButton, { variant: "outline", rounded: true, onClick: () => setShow(!show), children: show ? (0, jsx_runtime_1.jsx)(lucide_react_1.EyeOff, {}) : (0, jsx_runtime_1.jsx)(lucide_react_1.Eye, {}) }) }), disabled: disabled, className: "pr-10", "data-testid": dataTestId }) }), (0, jsx_runtime_1.jsx)(form_1.FormMessage, {})] })) }));
15
16
  }
@@ -13,6 +13,7 @@ export type SelectFieldProps = PropsWithChildren & {
13
13
  multi?: boolean;
14
14
  required?: boolean;
15
15
  emptyMessage?: string;
16
+ 'data-testid'?: string;
16
17
  };
17
18
  export declare const SelectField: ({ name, label, tooltip, labelExtra, required, placeholder, description, disabled, readOnly, multi, control, children, emptyMessage, ...others }: SelectFieldProps) => import("react/jsx-runtime").JSX.Element;
18
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/select-field/index.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEzC,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACrB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,iJAezB,gBAAgB,4CA4DlB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/select-field/index.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEzC,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACrB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,iJAezB,gBAAgB,4CA6DlB,CAAA"}
@@ -8,7 +8,7 @@ const select_1 = require("../../../components/ui/select");
8
8
  const utils_1 = require("../../../lib/utils");
9
9
  const SelectField = ({ name, label, tooltip, labelExtra, required, placeholder, description, disabled, readOnly, multi, control, children, emptyMessage = 'No options found.', ...others }) => {
10
10
  return ((0, jsx_runtime_1.jsx)(form_1.FormField, { name: name, control: control, ...others, render: ({ field }) => {
11
- return ((0, jsx_runtime_1.jsxs)(form_1.FormItem, { required: required, children: [label && ((0, jsx_runtime_1.jsx)(form_1.FormLabel, { extra: tooltip ? (0, jsx_runtime_1.jsx)(form_1.FormTooltip, { children: tooltip }) : labelExtra, children: label })), multi ? ((0, jsx_runtime_1.jsxs)(multiple_select_1.MultipleSelect, { onValueChange: field.onChange, disabled: disabled, ...field, children: [(0, jsx_runtime_1.jsx)(multiple_select_1.MultipleSelectTrigger, { readOnly: readOnly, children: (0, jsx_runtime_1.jsx)(multiple_select_1.MultipleSelectValue, { placeholder: placeholder }) }), (0, jsx_runtime_1.jsx)(multiple_select_1.MultipleSelectContent, { children: children })] })) : ((0, jsx_runtime_1.jsxs)(select_1.Select, { onValueChange: field.onChange, value: field.value, disabled: disabled, open: readOnly ? false : undefined, onOpenChange: readOnly ? () => { } : undefined, children: [(0, jsx_runtime_1.jsx)(form_1.FormControl, { children: (0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { className: (0, utils_1.cn)(disabled && 'bg-shadcn-100'), readOnly: readOnly, children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: placeholder }) }) }), (0, jsx_runtime_1.jsxs)(select_1.SelectContent, { children: [(0, jsx_runtime_1.jsx)(select_1.SelectEmpty, { children: emptyMessage }), children] })] })), (0, jsx_runtime_1.jsx)(form_1.FormMessage, {}), description && (0, jsx_runtime_1.jsx)(form_1.FormDescription, { children: description })] }));
11
+ return ((0, jsx_runtime_1.jsxs)(form_1.FormItem, { required: required, children: [label && ((0, jsx_runtime_1.jsx)(form_1.FormLabel, { extra: tooltip ? (0, jsx_runtime_1.jsx)(form_1.FormTooltip, { children: tooltip }) : labelExtra, children: label })), multi ? ((0, jsx_runtime_1.jsxs)(multiple_select_1.MultipleSelect, { onValueChange: field.onChange, disabled: disabled, ...field, children: [(0, jsx_runtime_1.jsx)(multiple_select_1.MultipleSelectTrigger, { readOnly: readOnly, children: (0, jsx_runtime_1.jsx)(multiple_select_1.MultipleSelectValue, { placeholder: placeholder }) }), (0, jsx_runtime_1.jsx)(multiple_select_1.MultipleSelectContent, { children: children })] })) : ((0, jsx_runtime_1.jsxs)(select_1.Select, { onValueChange: field.onChange, value: field.value, disabled: disabled, open: readOnly ? false : undefined, onOpenChange: readOnly ? () => { } : undefined, children: [(0, jsx_runtime_1.jsx)(form_1.FormControl, { children: (0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { className: (0, utils_1.cn)(disabled && 'bg-shadcn-100'), readOnly: readOnly, "data-testid": others['data-testid'], children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: placeholder }) }) }), (0, jsx_runtime_1.jsxs)(select_1.SelectContent, { children: [(0, jsx_runtime_1.jsx)(select_1.SelectEmpty, { children: emptyMessage }), children] })] })), (0, jsx_runtime_1.jsx)(form_1.FormMessage, {}), description && (0, jsx_runtime_1.jsx)(form_1.FormDescription, { children: description })] }));
12
12
  } }));
13
13
  };
14
14
  exports.SelectField = SelectField;
@@ -9,6 +9,7 @@ export type SwitchFieldProps = {
9
9
  required?: boolean;
10
10
  disabled?: boolean;
11
11
  disabledTooltip?: string;
12
+ 'data-testid'?: string;
12
13
  };
13
- export declare const SwitchField: ({ label, name, control, labelExtra, tooltip, required, disabled, disabledTooltip }: SwitchFieldProps) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const SwitchField: ({ label, name, control, labelExtra, tooltip, required, disabled, disabledTooltip, "data-testid": dataTestId }: SwitchFieldProps) => import("react/jsx-runtime").JSX.Element;
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/switch-field/index.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEzC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACrB,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,oFASzB,gBAAgB,4CAgDlB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/switch-field/index.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEzC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACrB,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,+GAUzB,gBAAgB,4CAiDlB,CAAA"}
@@ -5,7 +5,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const form_1 = require("../../../components/ui/form");
6
6
  const switch_1 = require("../../../components/ui/switch");
7
7
  const tooltip_1 = require("../../../components/ui/tooltip");
8
- const SwitchField = ({ label, name, control, labelExtra, tooltip, required, disabled, disabledTooltip }) => {
9
- return ((0, jsx_runtime_1.jsx)(form_1.FormField, { name: name, control: control, render: ({ field }) => ((0, jsx_runtime_1.jsxs)(form_1.FormItem, { required: required, children: [label && ((0, jsx_runtime_1.jsx)(form_1.FormLabel, { extra: tooltip ? (0, jsx_runtime_1.jsx)(form_1.FormTooltip, { children: tooltip }) : labelExtra, children: label })), (0, jsx_runtime_1.jsx)("div", { className: "relative", children: (0, jsx_runtime_1.jsx)(form_1.FormControl, { children: disabled && disabledTooltip ? ((0, jsx_runtime_1.jsx)(tooltip_1.TooltipProvider, { children: (0, jsx_runtime_1.jsxs)(tooltip_1.Tooltip, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)("div", { className: "inline-flex w-auto", children: (0, jsx_runtime_1.jsx)(switch_1.Switch, { checked: field.value, onCheckedChange: field.onChange, disabled: disabled }) }) }), (0, jsx_runtime_1.jsx)(tooltip_1.TooltipContent, { children: disabledTooltip })] }) })) : ((0, jsx_runtime_1.jsx)(switch_1.Switch, { checked: field.value, onCheckedChange: field.onChange, disabled: disabled })) }) }), (0, jsx_runtime_1.jsx)(form_1.FormMessage, {})] })) }));
8
+ const SwitchField = ({ label, name, control, labelExtra, tooltip, required, disabled, disabledTooltip, 'data-testid': dataTestId }) => {
9
+ return ((0, jsx_runtime_1.jsx)(form_1.FormField, { name: name, control: control, render: ({ field }) => ((0, jsx_runtime_1.jsxs)(form_1.FormItem, { required: required, children: [label && ((0, jsx_runtime_1.jsx)(form_1.FormLabel, { extra: tooltip ? (0, jsx_runtime_1.jsx)(form_1.FormTooltip, { children: tooltip }) : labelExtra, children: label })), (0, jsx_runtime_1.jsx)("div", { className: "relative", children: (0, jsx_runtime_1.jsx)(form_1.FormControl, { children: disabled && disabledTooltip ? ((0, jsx_runtime_1.jsx)(tooltip_1.TooltipProvider, { children: (0, jsx_runtime_1.jsxs)(tooltip_1.Tooltip, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)("div", { className: "inline-flex w-auto", children: (0, jsx_runtime_1.jsx)(switch_1.Switch, { checked: field.value, onCheckedChange: field.onChange, disabled: disabled }) }) }), (0, jsx_runtime_1.jsx)(tooltip_1.TooltipContent, { children: disabledTooltip })] }) })) : ((0, jsx_runtime_1.jsx)(switch_1.Switch, { checked: field.value, onCheckedChange: field.onChange, disabled: disabled, "data-testid": dataTestId })) }) }), (0, jsx_runtime_1.jsx)(form_1.FormMessage, {})] })) }));
10
10
  };
11
11
  exports.SwitchField = SwitchField;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/page/index.tsx"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAW5E;AAED,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAW5E;AAED,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ7B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/page/index.tsx"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAW5E;AAED,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ5E;AAED,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ7B"}
@@ -6,11 +6,11 @@ exports.PageContent = PageContent;
6
6
  const jsx_runtime_1 = require("react/jsx-runtime");
7
7
  const utils_1 = require("../../lib/utils");
8
8
  function PageRoot({ className, ...props }) {
9
- return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "page-root", className: (0, utils_1.cn)('bg-background text-foreground flex h-full min-h-screen w-full overflow-y-auto', className), ...props }));
9
+ return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "page-root", className: (0, utils_1.cn)('text-foreground flex h-screen min-h-screen w-full flex-col overflow-y-auto bg-zinc-100', className), ...props }));
10
10
  }
11
11
  function PageView({ className, ...props }) {
12
- return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "page-view", className: (0, utils_1.cn)('bg-shadcn-100 flex min-h-full grow flex-col overflow-y-auto', className), ...props }));
12
+ return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "page-view", className: (0, utils_1.cn)('flex min-h-0 flex-1', className), ...props }));
13
13
  }
14
14
  function PageContent({ className, ...props }) {
15
- return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "page-content", className: (0, utils_1.cn)('h-full w-full overflow-y-auto p-16', className), ...props }));
15
+ return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "page-content", className: (0, utils_1.cn)('flex grow flex-col overflow-y-auto p-16', className), ...props }));
16
16
  }
@@ -43,5 +43,5 @@ function PageHeaderCollapsibleInfoTrigger({ question }) {
43
43
  return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "page-header-collapsible-info-trigger", children: (0, jsx_runtime_1.jsx)(collapsible_1.CollapsibleTrigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)(button_1.Button, { variant: "link", className: "flex gap-2 pr-0", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-sm font-medium text-[#3f3f46]", children: question }), (0, jsx_runtime_1.jsx)(lucide_react_1.HelpCircle, { className: "h-4 w-4" })] }) }) }));
44
44
  }
45
45
  function PageHeaderCollapsibleInfo({ question, answer, seeMore, href }) {
46
- return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "page-header-collapsible-info", children: (0, jsx_runtime_1.jsx)(collapsible_1.CollapsibleContent, { children: (0, jsx_runtime_1.jsxs)("div", { className: "flex w-full justify-between", children: [(0, jsx_runtime_1.jsxs)("div", { className: "mt-12 flex flex-col gap-3", children: [(0, jsx_runtime_1.jsx)("h1", { className: "text-xl font-bold text-[#3f3f46]", children: question }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-3", children: [(0, jsx_runtime_1.jsx)("p", { className: "text-shadcn-500 text-sm leading-none font-medium", children: answer }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-1", children: [(0, jsx_runtime_1.jsx)("a", { target: "_blank", rel: "noopener noreferrer", href: href, className: "text-shadcn-600 justify-start text-sm font-medium underline underline-offset-4", children: seeMore }), (0, jsx_runtime_1.jsx)(lucide_react_1.ExternalLink, { size: 16 })] })] })] }), (0, jsx_runtime_1.jsx)(collapsible_1.CollapsibleTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)(button_1.Button, { variant: "plain", className: "cursor-pointer self-start", children: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronUp, { size: 24, className: "text-shadcn-500" }) }) })] }) }) }));
46
+ return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "page-header-collapsible-info", children: (0, jsx_runtime_1.jsx)(collapsible_1.CollapsibleContent, { children: (0, jsx_runtime_1.jsxs)("div", { className: "flex w-full justify-between", children: [(0, jsx_runtime_1.jsxs)("div", { className: "mt-12 flex flex-col gap-3", children: [(0, jsx_runtime_1.jsx)("h1", { className: "text-xl font-bold text-[#3f3f46]", children: question }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-3", children: [(0, jsx_runtime_1.jsx)("p", { className: "text-shadcn-500 text-sm leading-none font-medium", children: answer }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-1", children: [(0, jsx_runtime_1.jsx)("a", { target: "_blank", rel: "noopener noreferrer", href: href, className: "text-shadcn-600 justify-start text-sm font-medium underline underline-offset-4", children: seeMore }), (0, jsx_runtime_1.jsx)(lucide_react_1.ExternalLink, { size: 16 })] })] })] }), (0, jsx_runtime_1.jsx)(collapsible_1.CollapsibleTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)(button_1.Button, { variant: "link", className: "cursor-pointer self-start", children: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronUp, { size: 24, className: "text-shadcn-500" }) }) })] }) }) }));
47
47
  }
@@ -5,6 +5,6 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const button_1 = require("../ui/button");
6
6
  const lucide_react_1 = require("lucide-react");
7
7
  const Pagination = ({ page, limit, total = 0, previousLabel, nextLabel, nextPage, previousPage }) => {
8
- return ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-end space-x-2", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { variant: "outline", size: "sm", onClick: previousPage, disabled: page <= 1, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronLeft, { size: 16 }), iconPlacement: "start", children: previousLabel }), (0, jsx_runtime_1.jsx)(button_1.Button, { variant: "outline", size: "sm", onClick: nextPage, disabled: total < limit, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { size: 16 }), iconPlacement: "end", children: nextLabel })] }));
8
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-end space-x-2", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { variant: "outline", size: "small", onClick: previousPage, disabled: page <= 1, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronLeft, { size: 16 }), iconPlacement: "start", children: previousLabel }), (0, jsx_runtime_1.jsx)(button_1.Button, { variant: "outline", size: "small", onClick: nextPage, disabled: total < limit, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { size: 16 }), iconPlacement: "end", children: nextLabel })] }));
9
9
  };
10
10
  exports.Pagination = Pagination;
@@ -1,6 +1,7 @@
1
- export type IdTableCellProps = {
1
+ import { TableCell } from '../../components/ui/table';
2
+ export type IdTableCellProps = Omit<React.ComponentProps<typeof TableCell>, 'onCopy'> & {
2
3
  id?: string;
3
4
  onCopy?: (id: string) => void;
4
5
  };
5
- export declare const IdTableCell: ({ id, onCopy }: IdTableCellProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const IdTableCell: ({ id, onCopy, ...others }: IdTableCellProps) => import("react/jsx-runtime").JSX.Element;
6
7
  //# sourceMappingURL=id-table-cell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"id-table-cell.d.ts","sourceRoot":"","sources":["../../../src/components/table/id-table-cell.tsx"],"names":[],"mappings":"AAcA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,gBAAgB,gBAAgB,4CAqB3D,CAAA"}
1
+ {"version":3,"file":"id-table-cell.d.ts","sourceRoot":"","sources":["../../../src/components/table/id-table-cell.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAGV,MAAM,uBAAuB,CAAA;AAU9B,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,EACtC,QAAQ,CACT,GAAG;IACF,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,2BAA2B,gBAAgB,4CAqBtE,CAAA"}
@@ -6,11 +6,11 @@ const table_1 = require("../../components/ui/table");
6
6
  const tooltip_1 = require("../../components/ui/tooltip");
7
7
  const lodash_1 = require("lodash");
8
8
  const lucide_react_1 = require("lucide-react");
9
- const IdTableCell = ({ id, onCopy }) => {
9
+ const IdTableCell = ({ id, onCopy, ...others }) => {
10
10
  const handleCopyToClipboard = () => {
11
11
  navigator.clipboard.writeText(id);
12
12
  onCopy?.(id);
13
13
  };
14
- return ((0, jsx_runtime_1.jsx)(table_1.TableCell, { onClick: handleCopyToClipboard, children: (0, jsx_runtime_1.jsxs)(table_1.TableCellWrapper, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipProvider, { children: (0, jsx_runtime_1.jsxs)(tooltip_1.Tooltip, { delayDuration: 300, children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipTrigger, { children: (0, lodash_1.truncate)(id, { length: 16 }) }), (0, jsx_runtime_1.jsx)(tooltip_1.TooltipContent, { children: id })] }) }), (0, jsx_runtime_1.jsx)(table_1.TableCellAction, { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Copy, { className: "size-3.5" }) })] }) }));
14
+ return ((0, jsx_runtime_1.jsx)(table_1.TableCell, { onClick: handleCopyToClipboard, ...others, children: (0, jsx_runtime_1.jsxs)(table_1.TableCellWrapper, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipProvider, { children: (0, jsx_runtime_1.jsxs)(tooltip_1.Tooltip, { delayDuration: 300, children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipTrigger, { children: (0, lodash_1.truncate)(id, { length: 16 }) }), (0, jsx_runtime_1.jsx)(tooltip_1.TooltipContent, { children: id })] }) }), (0, jsx_runtime_1.jsx)(table_1.TableCellAction, { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Copy, { className: "size-3.5" }) })] }) }));
15
15
  };
16
16
  exports.IdTableCell = IdTableCell;
@@ -6,6 +6,6 @@ const lucide_react_1 = require("lucide-react");
6
6
  const tooltip_1 = require("../../components/ui/tooltip");
7
7
  const utils_1 = require("../../lib/utils");
8
8
  const LockedTableActions = ({ message, className }) => {
9
- return ((0, jsx_runtime_1.jsx)(tooltip_1.TooltipProvider, { children: (0, jsx_runtime_1.jsxs)(tooltip_1.Tooltip, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('border-border bg-muted flex h-[36px] w-[36px] items-center justify-center rounded-md border', className), children: (0, jsx_runtime_1.jsx)(lucide_react_1.LockIcon, { size: 14, className: "text-muted-foreground" }) }) }), (0, jsx_runtime_1.jsx)(tooltip_1.TooltipContent, { side: "left", children: message })] }) }));
9
+ return ((0, jsx_runtime_1.jsx)(tooltip_1.TooltipProvider, { children: (0, jsx_runtime_1.jsxs)(tooltip_1.Tooltip, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('border-border bg-muted flex size-9 items-center justify-center rounded-md border', className), children: (0, jsx_runtime_1.jsx)(lucide_react_1.LockIcon, { size: 14, className: "text-muted-foreground" }) }) }), (0, jsx_runtime_1.jsx)(tooltip_1.TooltipContent, { side: "left", children: message })] }) }));
10
10
  };
11
11
  exports.LockedTableActions = LockedTableActions;
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
+ import { IconButton } from '../icon-button';
3
4
  declare const alertVariants: (props?: ({
4
5
  variant?: "default" | "informative" | "destructive" | "warning" | "success" | null | undefined;
5
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -7,5 +8,8 @@ export type AlertProps = React.ComponentProps<'div'> & VariantProps<typeof alert
7
8
  declare function Alert({ className, variant, ...props }: AlertProps): import("react/jsx-runtime").JSX.Element;
8
9
  declare function AlertTitle({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
9
10
  declare function AlertDescription({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
10
- export { Alert, AlertTitle, AlertDescription };
11
+ declare function AlertActions({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
12
+ declare function AlertTopAction({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
13
+ declare function AlertClose({ className, ...props }: React.ComponentProps<typeof IconButton>): import("react/jsx-runtime").JSX.Element;
14
+ export { Alert, AlertTitle, AlertDescription, AlertActions, AlertTopAction, AlertClose };
11
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/alert/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,aAAa;;8EAoBlB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAClD,YAAY,CAAC,OAAO,aAAa,CAAC,CAAA;AAEpC,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAS1D;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQvE;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ7B;AAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/alert/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGjE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAG3C,QAAA,MAAM,aAAa;;8EAajB,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAClD,YAAY,CAAC,OAAO,aAAa,CAAC,CAAA;AAEpC,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAS1D;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQvE;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ7B;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQzE;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ3E;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,2CAczC;AAED,OAAO,EACL,KAAK,EACL,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,UAAU,EACX,CAAA"}
@@ -3,17 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Alert = Alert;
4
4
  exports.AlertTitle = AlertTitle;
5
5
  exports.AlertDescription = AlertDescription;
6
+ exports.AlertActions = AlertActions;
7
+ exports.AlertTopAction = AlertTopAction;
8
+ exports.AlertClose = AlertClose;
6
9
  const jsx_runtime_1 = require("react/jsx-runtime");
7
10
  const class_variance_authority_1 = require("class-variance-authority");
8
11
  const utils_1 = require("../../../lib/utils");
9
- const alertVariants = (0, class_variance_authority_1.cva)('relative w-full rounded-lg border border-slate-200 p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-slate-950 dark:border-slate-800 dark:[&>svg]:text-slate-50', {
12
+ const icon_button_1 = require("../icon-button");
13
+ const lucide_react_1 = require("lucide-react");
14
+ const alertVariants = (0, class_variance_authority_1.cva)('alert', {
10
15
  variants: {
11
16
  variant: {
12
- default: 'bg-white text-slate-950 dark:bg-slate-950 dark:text-slate-50',
13
- informative: 'bg-[#EFF6FF] border-opacity-50 border-[#2563eb] text-[#1E40AF] dark:bg-blue-900 dark:text-blue-50 [&>svg]:text-blue-600',
14
- destructive: 'border-red-500/50 text-red-500 dark:border-red-500 [&>svg]:text-red-500 dark:border-red-900/50 dark:text-red-900 dark:dark:border-red-900 dark:[&>svg]:text-red-900',
15
- warning: 'bg-yellow-50 border-yellow-200 text-yellow-800 [&>svg]:text-yellow-500 dark:bg-yellow-900 dark:border-yellow-700 dark:text-yellow-200 dark:[&>svg]:text-yellow-400',
16
- success: 'bg-[#F0FDF4] border-green-500/50 text-green-800 [&>svg]:text-green-600'
17
+ default: '',
18
+ informative: 'alert-informative',
19
+ destructive: 'alert-destructive',
20
+ warning: 'alert-warning',
21
+ success: 'alert-success'
17
22
  }
18
23
  },
19
24
  defaultVariants: {
@@ -24,8 +29,17 @@ function Alert({ className, variant, ...props }) {
24
29
  return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "alert", role: "alert", className: (0, utils_1.cn)(alertVariants({ variant }), className), ...props }));
25
30
  }
26
31
  function AlertTitle({ className, ...props }) {
27
- return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "alert-title", className: (0, utils_1.cn)('mb-1 leading-none font-medium tracking-tight', className), ...props }));
32
+ return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "alert-title", className: (0, utils_1.cn)('alert-title', className), ...props }));
28
33
  }
29
34
  function AlertDescription({ className, ...props }) {
30
- return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "alert-description", className: (0, utils_1.cn)('text-sm [&_p]:leading-relaxed', className), ...props }));
35
+ return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "alert-description", className: (0, utils_1.cn)('alert-description', className), ...props }));
36
+ }
37
+ function AlertActions({ className, ...props }) {
38
+ return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "alert-actions", className: (0, utils_1.cn)('alert-actions', className), ...props }));
39
+ }
40
+ function AlertTopAction({ className, ...props }) {
41
+ return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "alert-top-action", className: (0, utils_1.cn)('alert-top-action', className), ...props }));
42
+ }
43
+ function AlertClose({ className, ...props }) {
44
+ return ((0, jsx_runtime_1.jsx)(AlertTopAction, { children: (0, jsx_runtime_1.jsx)(icon_button_1.IconButton, { className: (0, utils_1.cn)('alert-close', className), variant: "outline", size: "small", rounded: true, ...props, children: (0, jsx_runtime_1.jsx)(lucide_react_1.X, {}) }) }));
31
45
  }
@@ -0,0 +1,68 @@
1
+ @theme inline {
2
+ --spacing-alert-p: calc(var(--spacing) * 4.5);
3
+ --text-alert-title: var(--text-sm);
4
+ --text-alert-description: 13px;
5
+ --spacing-alert-icon-size: calc(var(--spacing) * 5);
6
+
7
+ /* Variants */
8
+ --color-alert-text: var(--color-zinc-700);
9
+ --color-alert-informative: var(--color-blue-50);
10
+ --color-alert-informative-border: var(--color-blue-600);
11
+ --color-alert-informative-text: var(--color-blue-800);
12
+ --color-alert-warning: var(--color-yellow-50);
13
+ --color-alert-warning-border: var(--color-yellow-500);
14
+ --color-alert-warning-text: var(--color-yellow-800);
15
+ --color-alert-success: var(--color-green-50);
16
+ --color-alert-success-border: var(--color-green-600);
17
+ --color-alert-success-text: var(--color-green-800);
18
+ --color-alert-destructive: var(--color-red-50);
19
+ --color-alert-destructive-border: var(--color-red-600);
20
+ --color-alert-destructive-text: var(--color-red-800);
21
+ }
22
+
23
+ @layer components {
24
+ .alert {
25
+ @apply relative w-full rounded-lg bg-white p-alert-p text-alert-text;
26
+ @apply [&>svg]:size-alert-icon-size [&>svg~*]:pl-9.5 [&>svg]:absolute [&>svg]:left-4.5 [&>svg]:top-4.5 [&>svg]:text-alert-text;
27
+ }
28
+
29
+ .alert-informative {
30
+ @apply bg-alert-informative border border-alert-informative-border/50 text-alert-informative-text;
31
+ @apply [&>svg]:text-alert-informative-border [&>div:nth-child(3)]:text-alert-informative-text/70;
32
+ }
33
+
34
+ .alert-warning {
35
+ @apply bg-alert-warning border border-alert-warning-border/50 text-alert-warning-text;
36
+ @apply [&>svg]:text-alert-warning-border [&>div:nth-child(3)]:text-alert-warning-text/70;
37
+ }
38
+
39
+ .alert-success {
40
+ @apply bg-alert-success border border-alert-success-border/50 text-alert-success-text;
41
+ @apply [&>svg]:text-alert-success-border [&>div:nth-child(3)]:text-alert-success-text/70;
42
+ }
43
+
44
+ .alert-destructive {
45
+ @apply bg-alert-destructive border border-alert-destructive-border/50 text-alert-destructive-text;
46
+ @apply [&>svg]:text-alert-destructive-border [&>div:nth-child(3)]:text-alert-destructive-text/70;
47
+ }
48
+
49
+ .alert-title {
50
+ @apply text-alert-title font-medium mb-2 leading-none tracking-tight;
51
+ }
52
+
53
+ .alert-description {
54
+ @apply text-alert-description font-normal [&_p]:leading-relaxed;
55
+ }
56
+
57
+ .alert-actions {
58
+ @apply flex mt-3.5 gap-5;
59
+ }
60
+
61
+ .alert-top-action {
62
+ @apply !pl-0 absolute top-2 right-2 flex gap-2;
63
+ }
64
+
65
+ .alert-close {
66
+ @apply text-inherit;
67
+ }
68
+ }
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  declare const badgeVariants: (props?: ({
4
- variant?: "default" | "destructive" | "active" | "inactive" | "secondary" | "outline" | null | undefined;
4
+ variant?: "default" | "secondary" | "outline" | "destructive" | "active" | "inactive" | null | undefined;
5
5
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
6
  export type BadgeProps = React.ComponentProps<'span'> & VariantProps<typeof badgeVariants> & {
7
7
  asChild?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/breadcrumb/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,iBAAS,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAE5D;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAW1E;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAQ1E;AAED,iBAAS,cAAc,CAAC,EACtB,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,2CAaA;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAc5E;AAED,iBAAS,mBAAmB,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAY5B;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAa9B;AAED,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EACnB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/breadcrumb/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,iBAAS,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAE5D;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAQ1E;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAQ1E;AAED,iBAAS,cAAc,CAAC,EACtB,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,2CAUA;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAW5E;AAED,iBAAS,mBAAmB,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAY5B;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAa9B;AAED,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EACnB,CAAA"}
@@ -15,20 +15,20 @@ function Breadcrumb({ ...props }) {
15
15
  return (0, jsx_runtime_1.jsx)("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
16
16
  }
17
17
  function BreadcrumbList({ className, ...props }) {
18
- return ((0, jsx_runtime_1.jsx)("ol", { "data-slot": "breadcrumb-list", className: (0, utils_1.cn)('flex flex-wrap items-center gap-1.5 text-sm break-words text-slate-500 sm:gap-2.5 dark:text-slate-400', className), ...props }));
18
+ return ((0, jsx_runtime_1.jsx)("ol", { "data-slot": "breadcrumb-list", className: (0, utils_1.cn)('breadcrumb-list', className), ...props }));
19
19
  }
20
20
  function BreadcrumbItem({ className, ...props }) {
21
- return ((0, jsx_runtime_1.jsx)("li", { "data-slot": "breadcrumb-item", className: (0, utils_1.cn)('inline-flex items-center gap-1.5', className), ...props }));
21
+ return ((0, jsx_runtime_1.jsx)("li", { "data-slot": "breadcrumb-item", className: (0, utils_1.cn)('breadcrumb-item', className), ...props }));
22
22
  }
23
23
  function BreadcrumbLink({ asChild, className, ...props }) {
24
24
  const Comp = asChild ? react_slot_1.Slot : 'a';
25
- return ((0, jsx_runtime_1.jsx)(Comp, { "data-slot": "breadcrumb-link", className: (0, utils_1.cn)('font-medium text-[#3f3f46] underline transition-colors hover:text-slate-950 dark:hover:text-slate-50', className), ...props }));
25
+ return ((0, jsx_runtime_1.jsx)(Comp, { "data-slot": "breadcrumb-link", className: (0, utils_1.cn)('breadcrumb-link', className), ...props }));
26
26
  }
27
27
  function BreadcrumbPage({ className, ...props }) {
28
- return ((0, jsx_runtime_1.jsx)("span", { "data-slot": "breadcrumb-page", role: "link", "aria-disabled": "true", "aria-current": "page", className: (0, utils_1.cn)('text-shadcn-400 text-sm font-normal dark:text-slate-50', className), ...props }));
28
+ return ((0, jsx_runtime_1.jsx)("span", { "data-slot": "breadcrumb-page", role: "link", "aria-disabled": "true", "aria-current": "page", className: (0, utils_1.cn)('breadcrumb-page', className), ...props }));
29
29
  }
30
30
  function BreadcrumbSeparator({ children, className, ...props }) {
31
- return ((0, jsx_runtime_1.jsx)("li", { "data-slot": "breadcrumb-separator", role: "presentation", "aria-hidden": "true", className: (0, utils_1.cn)('text-shadcn-400 [&>svg]:size-3.5', className), ...props, children: children ?? (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, {}) }));
31
+ return ((0, jsx_runtime_1.jsx)("li", { "data-slot": "breadcrumb-separator", role: "presentation", "aria-hidden": "true", className: (0, utils_1.cn)('breadcrumb-separator', className), ...props, children: children ?? (0, jsx_runtime_1.jsx)(lucide_react_1.Slash, {}) }));
32
32
  }
33
33
  function BreadcrumbEllipsis({ className, ...props }) {
34
34
  return ((0, jsx_runtime_1.jsxs)("span", { "data-slot": "breadcrumb-ellipsis", role: "presentation", "aria-hidden": "true", className: (0, utils_1.cn)('flex h-9 w-9 items-center justify-center', className), ...props, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.MoreHorizontal, { className: "h-4 w-4" }), (0, jsx_runtime_1.jsx)("span", { className: "sr-only", children: "More" })] }));
@@ -0,0 +1,27 @@
1
+ @theme inline {
2
+ --color-breadcrumb-link-foreground: var(--color-zinc-700);
3
+ --color-breadcrumb-link-foreground-hover: var(--color-zinc-900);
4
+ --color-breadcrumb-muted-foreground: var(--color-shadcn-400);
5
+ }
6
+
7
+ @layer components {
8
+ .breadcrumb-list {
9
+ @apply flex flex-wrap items-center gap-2 text-xs font-medium break-words sm:gap-2.5;
10
+ }
11
+
12
+ .breadcrumb-item {
13
+ @apply inline-flex items-center gap-1.5;
14
+ }
15
+
16
+ .breadcrumb-link {
17
+ @apply text-breadcrumb-link-foreground underline cursor-pointer hover:text-breadcrumb-link-foreground-hover transition-colors;
18
+ }
19
+
20
+ .breadcrumb-page {
21
+ @apply text-breadcrumb-muted-foreground;
22
+ }
23
+
24
+ .breadcrumb-separator {
25
+ @apply text-breadcrumb-muted-foreground [&>svg]:size-2.5;
26
+ }
27
+ }
@@ -1,8 +1,13 @@
1
1
  import * as React from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  declare const buttonVariants: (props?: ({
4
- variant?: "default" | "destructive" | "link" | "secondary" | "outline" | "plain" | "white" | "activeLink" | "hoverLink" | "ghost" | null | undefined;
5
- size?: "default" | "link" | "sm" | "lg" | "icon" | "xl" | null | undefined;
4
+ variant?: "default" | "plain" | "hoverLink" | "primary" | "secondary" | "tertiary" | "outline" | "link" | null | undefined;
5
+ fullWidth?: boolean | null | undefined;
6
+ size?: "default" | "small" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ declare const iconVariants: (props?: ({
9
+ position?: "start" | "end" | "far-end" | null | undefined;
10
+ size?: "default" | "small" | null | undefined;
6
11
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
12
  export type ButtonProps = React.ComponentProps<'button'> & VariantProps<typeof buttonVariants> & {
8
13
  asChild?: boolean;
@@ -13,5 +18,5 @@ export type ButtonProps = React.ComponentProps<'button'> & VariantProps<typeof b
13
18
  readOnly?: boolean;
14
19
  };
15
20
  declare function Button({ className, variant, size, asChild, icon, iconPlacement, fullWidth, readOnly, onClick, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
16
- export { Button, buttonVariants };
21
+ export { Button, buttonVariants, iconVariants };
17
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,cAAc;;;8EAmCnB,CAAA;AAuBD,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GACtD,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,GAAG;IACF,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAA;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAEH,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAO,EACP,IAAI,EACJ,OAAe,EACf,IAAI,EACJ,aAAuB,EACvB,SAAiB,EACjB,QAAgB,EAChB,OAAO,EACP,GAAG,KAAK,EACT,EAAE,WAAW,2CAyCb;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,cAAc;;;;8EA0BlB,CAAA;AAEF,QAAA,MAAM,YAAY;;;8EAgBhB,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GACtD,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,GAAG;IACF,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAA;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAEH,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAO,EACP,IAAI,EACJ,OAAe,EACf,IAAI,EACJ,aAAuB,EACvB,SAAiB,EACjB,QAAgB,EAChB,OAAO,EACP,GAAG,KAAK,EACT,EAAE,WAAW,2CAgCb;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,CAAA"}
@@ -1,32 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buttonVariants = void 0;
3
+ exports.iconVariants = exports.buttonVariants = void 0;
4
4
  exports.Button = Button;
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const react_slot_1 = require("@radix-ui/react-slot");
7
7
  const class_variance_authority_1 = require("class-variance-authority");
8
8
  const utils_1 = require("../../../lib/utils");
9
- const buttonVariants = (0, class_variance_authority_1.cva)('relative flex inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors disabled:pointer-events-none disabled:opacity-50', {
9
+ const buttonVariants = (0, class_variance_authority_1.cva)('button-base button-disabled button-read-only', {
10
10
  variants: {
11
11
  variant: {
12
- plain: '',
13
- white: 'bg-white text-black font-semibold',
14
- activeLink: 'bg-shadcn-100 text-black font-medium',
12
+ plain: 'button-plain',
15
13
  hoverLink: 'hover:bg-accent text-black hover:text-accent-foreground font-normal',
16
- default: 'bg-primary text-primary-foreground hover:bg-primary/90 shadow-xs disabled:bg-shadcn-200 disabled:text-shadcn-600',
17
- destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive/90',
18
- outline: 'border border-shadcn-300 bg-background hover:bg-accent hover:text-accent-foreground shadow-xs',
19
- secondary: 'border border-shadcn-300 bg-background hover:bg-primary/5 text-secondary-foreground shadow-xs',
20
- ghost: 'hover:bg-shadcn-300',
21
- link: 'text-shadcn-600 underline-offset-4 underline text-sm font-normal justify-start font-medium'
14
+ default: 'button-primary',
15
+ primary: 'button-primary',
16
+ secondary: 'button-secondary',
17
+ tertiary: 'button-tertiary',
18
+ outline: 'button-outline',
19
+ link: 'button-link'
20
+ },
21
+ fullWidth: {
22
+ true: 'w-full',
23
+ false: 'w-fit'
22
24
  },
23
25
  size: {
24
- default: 'h-10 px-4 py-2',
25
- sm: 'h-8 rounded-md px-3 py-2',
26
- lg: 'h-12 rounded-md px-8',
27
- icon: 'h-10 w-10',
28
- link: 'p-0 w-auto h-auto',
29
- xl: 'h-14 p-4'
26
+ default: '',
27
+ small: 'button-small'
30
28
  }
31
29
  },
32
30
  defaultVariants: {
@@ -43,18 +41,16 @@ const iconVariants = (0, class_variance_authority_1.cva)('', {
43
41
  'far-end': 'absolute right-2'
44
42
  },
45
43
  size: {
46
- default: 'h-10',
47
- sm: 'h-8',
48
- lg: 'h-12',
49
- icon: 'h-10',
50
- link: 'h-6',
51
- xl: 'h-14'
44
+ default: '[&>*]:size-6',
45
+ small: '[&>*]:size-4'
52
46
  }
53
47
  },
54
48
  defaultVariants: {
55
- position: 'start'
49
+ position: 'start',
50
+ size: 'default'
56
51
  }
57
52
  });
53
+ exports.iconVariants = iconVariants;
58
54
  function Button({ className, variant, size, asChild = false, icon, iconPlacement = 'start', fullWidth = false, readOnly = false, onClick, ...props }) {
59
55
  const Comp = asChild ? react_slot_1.Slot : 'button';
60
56
  const handleClick = (e) => {
@@ -64,9 +60,5 @@ function Button({ className, variant, size, asChild = false, icon, iconPlacement
64
60
  }
65
61
  onClick?.(e);
66
62
  };
67
- return ((0, jsx_runtime_1.jsxs)(Comp, { className: (0, utils_1.cn)(buttonVariants({ variant, size, className }), {
68
- 'w-full': fullWidth
69
- }, {
70
- 'data-read-only:bg-shadcn-200 data-read-only:text-shadcn-600 data-read-only:cursor-default data-read-only:opacity-50 data-read-only:focus:ring-0 data-read-only:focus:outline-hidden': readOnly
71
- }), "data-read-only": readOnly, "data-slot": "button", ...props, onClick: handleClick, children: [icon && iconPlacement === 'start' && ((0, jsx_runtime_1.jsx)("span", { className: (0, utils_1.cn)(iconVariants({ position: iconPlacement })), children: icon })), props.children, icon && iconPlacement !== 'start' && ((0, jsx_runtime_1.jsx)("span", { className: (0, utils_1.cn)(iconVariants({ position: iconPlacement })), children: icon }))] }));
63
+ return ((0, jsx_runtime_1.jsxs)(Comp, { className: (0, utils_1.cn)(buttonVariants({ variant, size, fullWidth }), className), "data-read-only": readOnly, "data-slot": "button", ...props, onClick: handleClick, children: [icon && iconPlacement === 'start' && ((0, jsx_runtime_1.jsx)("span", { className: (0, utils_1.cn)(iconVariants({ position: iconPlacement, size })), children: icon })), props.children, icon && iconPlacement !== 'start' && ((0, jsx_runtime_1.jsx)("span", { className: (0, utils_1.cn)(iconVariants({ position: iconPlacement, size })), children: icon }))] }));
72
64
  }