@lerianstudio/sindarian-ui 1.0.0-beta.8 → 1.1.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/dist/components/card/account-card/index.js +4 -4
  2. package/dist/components/card/basic-card/index.js +1 -1
  3. package/dist/components/card/dashboard-card/index.d.ts.map +1 -1
  4. package/dist/components/card/dashboard-card/index.js +4 -4
  5. package/dist/components/card/entity-card/index.d.ts +2 -1
  6. package/dist/components/card/entity-card/index.d.ts.map +1 -1
  7. package/dist/components/card/entity-card/index.js +11 -7
  8. package/dist/components/dialog/large-dialog/index.d.ts.map +1 -1
  9. package/dist/components/dialog/large-dialog/index.js +1 -1
  10. package/dist/components/entity-box/index.js +3 -3
  11. package/dist/components/form/combo-box-field/index.d.ts +5 -5
  12. package/dist/components/form/combo-box-field/index.d.ts.map +1 -1
  13. package/dist/components/form/combo-box-field/index.js +1 -1
  14. package/dist/components/form/date-picker-field/index.d.ts +20 -0
  15. package/dist/components/form/date-picker-field/index.d.ts.map +1 -0
  16. package/dist/components/form/date-picker-field/index.js +43 -0
  17. package/dist/components/form/date-range-field/index.d.ts +20 -0
  18. package/dist/components/form/date-range-field/index.d.ts.map +1 -0
  19. package/dist/components/form/date-range-field/index.js +22 -0
  20. package/dist/components/form/index.d.ts +3 -0
  21. package/dist/components/form/index.d.ts.map +1 -1
  22. package/dist/components/form/index.js +3 -0
  23. package/dist/components/form/input-field/index.d.ts +6 -5
  24. package/dist/components/form/input-field/index.d.ts.map +1 -1
  25. package/dist/components/form/input-field/index.js +2 -2
  26. package/dist/components/form/pagination-limit-field/index.d.ts +5 -4
  27. package/dist/components/form/pagination-limit-field/index.d.ts.map +1 -1
  28. package/dist/components/form/pagination-limit-field/index.js +2 -2
  29. package/dist/components/form/password-field/index.d.ts +2 -1
  30. package/dist/components/form/password-field/index.d.ts.map +1 -1
  31. package/dist/components/form/password-field/index.js +2 -2
  32. package/dist/components/form/select-field/index.d.ts +7 -5
  33. package/dist/components/form/select-field/index.d.ts.map +1 -1
  34. package/dist/components/form/select-field/index.js +8 -2
  35. package/dist/components/form/state-field/index.js +1 -1
  36. package/dist/components/form/switch-field/index.d.ts +6 -5
  37. package/dist/components/form/switch-field/index.d.ts.map +1 -1
  38. package/dist/components/form/switch-field/index.js +2 -2
  39. package/dist/components/page/index.d.ts.map +1 -1
  40. package/dist/components/page/index.js +3 -3
  41. package/dist/components/page-header/index.d.ts.map +1 -1
  42. package/dist/components/page-header/index.js +8 -6
  43. package/dist/components/table/id-table-cell.d.ts +3 -2
  44. package/dist/components/table/id-table-cell.d.ts.map +1 -1
  45. package/dist/components/table/id-table-cell.js +2 -2
  46. package/dist/components/table/locked-table-actions.js +1 -1
  47. package/dist/components/ui/alert/styles.css +68 -0
  48. package/dist/components/ui/autocomplete/index.js +8 -8
  49. package/dist/components/ui/autosize-textarea/index.js +1 -1
  50. package/dist/components/ui/badge/index.d.ts +1 -1
  51. package/dist/components/ui/badge/index.d.ts.map +1 -1
  52. package/dist/components/ui/badge/index.js +11 -7
  53. package/dist/components/ui/breadcrumb/styles.css +27 -0
  54. package/dist/components/ui/button/index.d.ts +5 -1
  55. package/dist/components/ui/button/index.d.ts.map +1 -1
  56. package/dist/components/ui/button/index.js +3 -2
  57. package/dist/components/ui/button/styles.css +64 -0
  58. package/dist/components/ui/calendar/index.d.ts +9 -0
  59. package/dist/components/ui/calendar/index.d.ts.map +1 -0
  60. package/dist/components/ui/calendar/index.js +115 -0
  61. package/dist/components/ui/checkbox/index.js +1 -1
  62. package/dist/components/ui/command/index.d.ts +1 -1
  63. package/dist/components/ui/command/index.d.ts.map +1 -1
  64. package/dist/components/ui/command/index.js +59 -9
  65. package/dist/components/ui/dialog/styles.css +34 -0
  66. package/dist/components/ui/dropdown-menu/index.js +6 -6
  67. package/dist/components/ui/field/index.d.ts +25 -0
  68. package/dist/components/ui/field/index.d.ts.map +1 -0
  69. package/dist/components/ui/field/index.js +79 -0
  70. package/dist/components/ui/form.d.ts.map +1 -1
  71. package/dist/components/ui/form.js +3 -2
  72. package/dist/components/ui/icon-button/styles.css +33 -0
  73. package/dist/components/ui/input/styles.css +68 -0
  74. package/dist/components/ui/multiple-select/index.d.ts.map +1 -1
  75. package/dist/components/ui/multiple-select/index.js +14 -12
  76. package/dist/components/ui/paper/index.js +1 -1
  77. package/dist/components/ui/paper-collapsible/index.js +1 -1
  78. package/dist/components/ui/select/styles.css +57 -0
  79. package/dist/components/ui/separator/index.js +1 -1
  80. package/dist/components/ui/sheet/index.d.ts +1 -1
  81. package/dist/components/ui/sheet/index.d.ts.map +1 -1
  82. package/dist/components/ui/sheet/index.js +12 -3
  83. package/dist/components/ui/sidebar/index.d.ts +10 -0
  84. package/dist/components/ui/sidebar/index.d.ts.map +1 -0
  85. package/dist/components/ui/sidebar/index.js +25 -0
  86. package/dist/components/ui/sidebar/sidebar-back-button.d.ts +3 -0
  87. package/dist/components/ui/sidebar/sidebar-back-button.d.ts.map +1 -0
  88. package/dist/components/ui/sidebar/sidebar-back-button.js +8 -0
  89. package/dist/components/ui/sidebar/sidebar-components.d.ts +23 -0
  90. package/dist/components/ui/sidebar/sidebar-components.d.ts.map +1 -0
  91. package/dist/components/ui/sidebar/sidebar-components.js +23 -0
  92. package/dist/components/ui/sidebar/sidebar-expand-button.d.ts +6 -0
  93. package/dist/components/ui/sidebar/sidebar-expand-button.d.ts.map +1 -0
  94. package/dist/components/ui/sidebar/sidebar-expand-button.js +19 -0
  95. package/dist/components/ui/sidebar/sidebar-item-button.d.ts +12 -0
  96. package/dist/components/ui/sidebar/sidebar-item-button.d.ts.map +1 -0
  97. package/dist/components/ui/sidebar/sidebar-item-button.js +23 -0
  98. package/dist/components/ui/sidebar/sidebar-item-collapsible.d.ts +12 -0
  99. package/dist/components/ui/sidebar/sidebar-item-collapsible.d.ts.map +1 -0
  100. package/dist/components/ui/sidebar/sidebar-item-collapsible.js +52 -0
  101. package/dist/components/ui/sidebar/sidebar-item-icon-button.d.ts +12 -0
  102. package/dist/components/ui/sidebar/sidebar-item-icon-button.d.ts.map +1 -0
  103. package/dist/components/ui/sidebar/sidebar-item-icon-button.js +20 -0
  104. package/dist/components/ui/sidebar/sidebar-item.d.ts +13 -0
  105. package/dist/components/ui/sidebar/sidebar-item.d.ts.map +1 -0
  106. package/dist/components/ui/sidebar/sidebar-item.js +19 -0
  107. package/dist/components/ui/sidebar/sidebar-provider.d.ts +12 -0
  108. package/dist/components/ui/sidebar/sidebar-provider.d.ts.map +1 -0
  109. package/dist/components/ui/sidebar/sidebar-provider.js +59 -0
  110. package/dist/components/ui/sidebar/sidebar-provider.test.d.ts +2 -0
  111. package/dist/components/ui/sidebar/sidebar-provider.test.d.ts.map +1 -0
  112. package/dist/components/ui/sidebar/sidebar-provider.test.js +167 -0
  113. package/dist/components/ui/sidebar/sidebar-root.d.ts +3 -0
  114. package/dist/components/ui/sidebar/sidebar-root.d.ts.map +1 -0
  115. package/dist/components/ui/sidebar/sidebar-root.js +24 -0
  116. package/dist/components/ui/stepper/index.js +2 -2
  117. package/dist/components/ui/stepper/styles.css +41 -0
  118. package/dist/components/ui/switch/index.js +1 -1
  119. package/dist/components/ui/table/index.js +4 -4
  120. package/dist/components/ui/tabs/styles.css +31 -0
  121. package/dist/components/ui/textarea/index.js +1 -1
  122. package/dist/components/ui/toast/index.d.ts +16 -15
  123. package/dist/components/ui/toast/index.d.ts.map +1 -1
  124. package/dist/components/ui/toast/index.js +0 -77
  125. package/dist/components/ui/toast/toaster.d.ts +5 -1
  126. package/dist/components/ui/toast/toaster.d.ts.map +1 -1
  127. package/dist/components/ui/toast/toaster.js +5 -7
  128. package/dist/globals.css +472 -0
  129. package/dist/hooks/use-toast.d.ts +19 -33
  130. package/dist/hooks/use-toast.d.ts.map +1 -1
  131. package/dist/hooks/use-toast.js +49 -150
  132. package/dist/index.d.ts +3 -0
  133. package/dist/index.d.ts.map +1 -1
  134. package/dist/index.js +4 -0
  135. package/dist/lib/storage/get-storage-object.d.ts +2 -0
  136. package/dist/lib/storage/get-storage-object.d.ts.map +1 -0
  137. package/dist/lib/storage/get-storage-object.js +19 -0
  138. package/dist/lib/storage/get-storage.d.ts +2 -0
  139. package/dist/lib/storage/get-storage.d.ts.map +1 -0
  140. package/dist/lib/storage/get-storage.js +17 -0
  141. package/dist/lib/storage/index.d.ts +3 -0
  142. package/dist/lib/storage/index.d.ts.map +1 -0
  143. package/dist/lib/storage/index.js +18 -0
  144. package/package.json +20 -19
@@ -30,10 +30,10 @@ const AccountBalanceCardContext = react_1.default.createContext({
30
30
  open: false
31
31
  });
32
32
  function AccountBalanceCard({ className, open, onOpenChange, children, ...props }) {
33
- return ((0, jsx_runtime_1.jsx)(react_collapsible_1.Collapsible, { open: open, onOpenChange: onOpenChange, "data-slot": "account-balance-card", className: (0, utils_1.cn)('w-full', className), ...props, children: (0, jsx_runtime_1.jsx)(AccountBalanceCardContext.Provider, { value: { open }, children: (0, jsx_runtime_1.jsx)(card_1.Card, { className: "relative gap-2 px-5 py-4 shadow-xs", children: children }) }) }));
33
+ return ((0, jsx_runtime_1.jsx)(react_collapsible_1.Collapsible, { open: open, onOpenChange: onOpenChange, "data-slot": "account-balance-card", className: (0, utils_1.cn)('w-full', className), ...props, children: (0, jsx_runtime_1.jsx)(AccountBalanceCardContext.Provider, { value: { open }, children: (0, jsx_runtime_1.jsx)(card_1.Card, { className: "shadow-xs relative gap-2 px-5 py-4", children: children }) }) }));
34
34
  }
35
35
  function AccountBalanceCardIcon({ className, ...props }) {
36
- return ((0, jsx_runtime_1.jsx)(lucide_react_1.User, { "data-slot": "account-balance-card-icon", strokeWidth: 1, className: (0, utils_1.cn)('mb-[14px] size-8 text-zinc-800 opacity-40', className), ...props }));
36
+ return ((0, jsx_runtime_1.jsx)(lucide_react_1.User, { "data-slot": "account-balance-card-icon", strokeWidth: 1, className: (0, utils_1.cn)('text-foreground mb-[14px] size-8 opacity-40', className), ...props }));
37
37
  }
38
38
  function AccountBalanceCardHeader({ className, ...props }) {
39
39
  return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "account-balance-card-header", className: (0, utils_1.cn)('flex flex-col', className), ...props }));
@@ -42,13 +42,13 @@ function AccountBalanceCardTitle({ className, ...props }) {
42
42
  return ((0, jsx_runtime_1.jsx)("p", { "data-slot": "account-balance-card-title", className: (0, utils_1.cn)('text-shadcn-600 text-lg font-bold', className), ...props }));
43
43
  }
44
44
  function AccountBalanceCardDeleteButton({ className, ...props }) {
45
- return ((0, jsx_runtime_1.jsx)(icon_button_1.IconButton, { variant: "outline", size: "small", rounded: true, "data-slot": "account-balance-card-delete-button", className: (0, utils_1.cn)('absolute top-3 right-3', className), ...props, children: (0, jsx_runtime_1.jsx)(lucide_react_1.Trash, { className: "h-4 w-4 text-zinc-600" }) }));
45
+ return ((0, jsx_runtime_1.jsx)(icon_button_1.IconButton, { variant: "outline", size: "small", rounded: true, "data-slot": "account-balance-card-delete-button", className: (0, utils_1.cn)('absolute right-3 top-3', className), ...props, children: (0, jsx_runtime_1.jsx)(lucide_react_1.Trash, { className: "text-muted-foreground h-4 w-4" }) }));
46
46
  }
47
47
  function AccountBalanceCardContent({ className, ...props }) {
48
48
  return ((0, jsx_runtime_1.jsx)(collapsible_1.CollapsibleContent, { "data-slot": "account-balance-card-content", className: (0, utils_1.cn)('data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden', className), ...props }));
49
49
  }
50
50
  function AccountBalanceCardLoading({ className, ...props }) {
51
- return ((0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { "data-slot": "account-balance-card-loading", className: (0, utils_1.cn)('mt-3 h-3 w-full rounded-md bg-zinc-200', className), ...props }));
51
+ return ((0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { "data-slot": "account-balance-card-loading", className: (0, utils_1.cn)('bg-muted mt-3 h-3 w-full rounded-md', className), ...props }));
52
52
  }
53
53
  function AccountBalanceCardEmpty({ className, ...props }) {
54
54
  return ((0, jsx_runtime_1.jsx)("p", { "data-slot": "account-balance-card-empty", className: (0, utils_1.cn)('text-shadcn-500 mt-3 text-center text-sm font-normal', className), ...props }));
@@ -7,7 +7,7 @@ exports.BasicCardAction = BasicCardAction;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const utils_1 = require("../../../lib/utils");
9
9
  function BasicCard({ className, ...props }) {
10
- return ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('flex flex-col rounded-lg bg-white p-6', className), ...props }));
10
+ return ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('bg-card flex flex-col rounded-lg p-6', className), ...props }));
11
11
  }
12
12
  function BasicCardTitle({ className, ...props }) {
13
13
  return ((0, jsx_runtime_1.jsx)("h2", { className: (0, utils_1.cn)('text-shadcn-600 mb-4 text-sm font-medium', className), ...props }));
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/card/dashboard-card/index.tsx"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAU7B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAU7B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAU5B;AAED,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAO7B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/card/dashboard-card/index.tsx"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAU7B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAU7B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAU5B;AAED,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAU7B"}
@@ -7,14 +7,14 @@ exports.DashboardCardContent = DashboardCardContent;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const utils_1 = require("../../../lib/utils");
9
9
  function DashboardCard({ className, ...props }) {
10
- return ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('relative flex flex-col rounded-lg bg-white p-6 pt-4', className), ...props }));
10
+ return ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('bg-card relative flex flex-col rounded-lg p-6 pt-4', className), ...props }));
11
11
  }
12
12
  function DashboardCardIcon({ className, ...props }) {
13
- return ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('text-shadcn-400 absolute top-4 right-6 flex size-6 items-center justify-center [&>svg]:size-6', className), ...props }));
13
+ return ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('text-muted-foreground absolute right-6 top-4 flex size-6 items-center justify-center [&>svg]:size-6', className), ...props }));
14
14
  }
15
15
  function DashboardCardTitle({ className, ...props }) {
16
- return ((0, jsx_runtime_1.jsx)("h2", { className: (0, utils_1.cn)('mb-4 text-sm font-medium text-zinc-600 uppercase', className), ...props }));
16
+ return ((0, jsx_runtime_1.jsx)("h2", { className: (0, utils_1.cn)('text-muted-foreground mb-4 text-sm font-medium uppercase', className), ...props }));
17
17
  }
18
18
  function DashboardCardContent({ className, ...props }) {
19
- return ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('text-[32px] font-extrabold text-zinc-600', className), ...props }));
19
+ return ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('text-muted-foreground text-[32px] font-extrabold', className), ...props }));
20
20
  }
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
2
  import { Badge } from '../../../components/ui/badge';
3
3
  import { DropdownMenu, DropdownMenuItem } from '../../../components/ui/dropdown-menu';
4
- export declare function EntityCardWrapper({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
4
+ export declare function EntityCardGrid({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
5
+ export declare function EntityCardGridFooter({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
5
6
  export type EntityCardProps = React.ComponentProps<'div'> & {
6
7
  value?: number;
7
8
  progress?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/card/entity-card/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EACL,YAAY,EAEZ,gBAAgB,EAEjB,MAAM,+BAA+B,CAAA;AAOtC,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAE7B;AAED,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,KAAK,EACL,QAAgB,EAChB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,2CAoBjB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,2CAW3C;AAED,eAAO,MAAM,oBAAoB,yBAAmB,CAAA;AAEpD,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ7B;AAED,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAQ5B;AAED,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAW9B;AAED,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ7B;AAED,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,2CAQpC;AAED,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ7B;AAED,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,2CAQ3B;AAED,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAW5B;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAgB7B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/card/entity-card/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EACL,YAAY,EAEZ,gBAAgB,EAEjB,MAAM,+BAA+B,CAAA;AAOtC,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAW7B;AAED,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAW7B;AAED,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,KAAK,EACL,QAAgB,EAChB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,2CAoBjB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,2CAW3C;AAED,eAAO,MAAM,oBAAoB,yBAAmB,CAAA;AAEpD,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ7B;AAED,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAQ5B;AAED,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAW9B;AAED,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ7B;AAED,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,2CAQpC;AAED,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ7B;AAED,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,2CAQ3B;AAED,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAW5B;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAgB7B"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EntityCardActionItem = void 0;
4
- exports.EntityCardWrapper = EntityCardWrapper;
4
+ exports.EntityCardGrid = EntityCardGrid;
5
+ exports.EntityCardGridFooter = EntityCardGridFooter;
5
6
  exports.EntityCard = EntityCard;
6
7
  exports.EntityCardAction = EntityCardAction;
7
8
  exports.EntityCardHeader = EntityCardHeader;
@@ -21,21 +22,24 @@ const progress_1 = require("../../../components/ui/progress");
21
22
  const separator_1 = require("../../../components/ui/separator");
22
23
  const utils_1 = require("../../../lib/utils");
23
24
  const lucide_react_1 = require("lucide-react");
24
- function EntityCardWrapper({ className, ...props }) {
25
- return (0, jsx_runtime_1.jsx)("div", { "data-slot": "entity-card-wrapper", ...props });
25
+ function EntityCardGrid({ className, ...props }) {
26
+ return ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('grid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-3', className), "data-slot": "entity-card-grid", ...props }));
27
+ }
28
+ function EntityCardGridFooter({ className, ...props }) {
29
+ return ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('flex items-center justify-between rounded-lg border border-zinc-200 bg-white px-6 py-4', className), "data-slot": "entity-card-grid-footer", ...props }));
26
30
  }
27
31
  function EntityCard({ className, value, progress = false, children, ...props }) {
28
- return ((0, jsx_runtime_1.jsxs)("div", { "data-slot": "entity-card-wrapper", className: "transition-shadow hover:shadow-xl", children: [(0, jsx_runtime_1.jsx)("div", { "data-slot": "entity-card", className: (0, utils_1.cn)('relative flex flex-col gap-4 rounded-lg bg-white px-5 py-4', { 'rounded-b-none': progress }, className), ...props, children: children }), progress && (0, jsx_runtime_1.jsx)(progress_1.Progress, { className: "h-1.5 rounded-t-none", value: value })] }));
32
+ return ((0, jsx_runtime_1.jsxs)("div", { "data-slot": "entity-card-wrapper", className: "transition-shadow hover:shadow-xl", children: [(0, jsx_runtime_1.jsx)("div", { "data-slot": "entity-card", className: (0, utils_1.cn)('bg-card relative flex flex-col gap-4 rounded-lg px-5 py-4', { 'rounded-b-none': progress }, className), ...props, children: children }), progress && (0, jsx_runtime_1.jsx)(progress_1.Progress, { className: "h-1.5 rounded-t-none", value: value })] }));
29
33
  }
30
34
  function EntityCardAction({ children, ...props }) {
31
- return ((0, jsx_runtime_1.jsxs)(dropdown_menu_1.DropdownMenu, { ...props, children: [(0, jsx_runtime_1.jsx)(dropdown_menu_1.DropdownMenuTrigger, { className: "absolute top-2.5 right-2.5", children: (0, jsx_runtime_1.jsx)(icon_button_1.IconButton, { variant: "outline", size: "small", rounded: true, children: (0, jsx_runtime_1.jsx)(lucide_react_1.EllipsisVertical, {}) }) }), (0, jsx_runtime_1.jsx)(dropdown_menu_1.DropdownMenuContent, { children: children })] }));
35
+ return ((0, jsx_runtime_1.jsxs)(dropdown_menu_1.DropdownMenu, { ...props, children: [(0, jsx_runtime_1.jsx)(dropdown_menu_1.DropdownMenuTrigger, { className: "absolute right-2.5 top-2.5", children: (0, jsx_runtime_1.jsx)(icon_button_1.IconButton, { variant: "outline", size: "small", rounded: true, children: (0, jsx_runtime_1.jsx)(lucide_react_1.EllipsisVertical, {}) }) }), (0, jsx_runtime_1.jsx)(dropdown_menu_1.DropdownMenuContent, { children: children })] }));
32
36
  }
33
37
  exports.EntityCardActionItem = dropdown_menu_1.DropdownMenuItem;
34
38
  function EntityCardHeader({ className, ...props }) {
35
39
  return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "entity-card-header", className: (0, utils_1.cn)('flex flex-col gap-2', className), ...props }));
36
40
  }
37
41
  function EntityCardTitle({ className, ...props }) {
38
- return ((0, jsx_runtime_1.jsx)("h3", { "data-slot": "entity-card-title", className: (0, utils_1.cn)('text-sm font-semibold text-zinc-700', className), ...props }));
42
+ return ((0, jsx_runtime_1.jsx)("h3", { "data-slot": "entity-card-title", className: (0, utils_1.cn)('text-foreground text-sm font-semibold', className), ...props }));
39
43
  }
40
44
  function EntityCardIcon({ className, ...props }) {
41
45
  return ((0, jsx_runtime_1.jsx)("span", { "data-slot": "entity-card-icon", className: (0, utils_1.cn)('text-shadcn-400 size-8 [&>svg]:size-8 [&>svg]:stroke-[1.5]', className), ...props }));
@@ -56,5 +60,5 @@ function EntityCardList({ className, ...props }) {
56
60
  return ((0, jsx_runtime_1.jsx)("ul", { "data-slot": "entity-card-list", className: (0, utils_1.cn)('text-shadcn-500 mx-2 list-inside list-disc space-y-1 text-xs font-medium', className), ...props }));
57
61
  }
58
62
  function EntityCardFooter({ className, children, ...props }) {
59
- return ((0, jsx_runtime_1.jsxs)("div", { "data-slot": "entity-card-footer", className: (0, utils_1.cn)('text-shadcn-400 flex flex-col gap-2 text-xs font-medium', className), ...props, children: [(0, jsx_runtime_1.jsx)(separator_1.Separator, {}), (0, jsx_runtime_1.jsx)("div", { className: "flex flex-row items-center gap-2 [&>svg]:size-4 [&>svg]:stroke-[1.5] [&>svg]:text-zinc-600", children: children })] }));
63
+ return ((0, jsx_runtime_1.jsxs)("div", { "data-slot": "entity-card-footer", className: (0, utils_1.cn)('text-shadcn-400 flex flex-col gap-2 text-xs font-medium', className), ...props, children: [(0, jsx_runtime_1.jsx)(separator_1.Separator, {}), (0, jsx_runtime_1.jsx)("div", { className: "[&>svg]:text-muted-foreground flex flex-row items-center gap-2 [&>svg]:size-4 [&>svg]:stroke-[1.5]", children: children })] }));
60
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/dialog/large-dialog/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE3D,iBAAS,oBAAoB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,2CAYxE;AAED,iBAAS,mBAAmB,CAAC,EAC3B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ7B;AAED,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAClE,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,iBAAS,kBAAkB,CAAC,EAC1B,UAAU,EACV,KAAK,EACL,SAAS,EACT,GAAG,KAAK,EACT,EAAE,uBAAuB,2CAazB;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAU7B;AAED,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EAClB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/dialog/large-dialog/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE3D,iBAAS,oBAAoB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,2CAYxE;AAED,iBAAS,mBAAmB,CAAC,EAC3B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ7B;AAED,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAClE,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,iBAAS,kBAAkB,CAAC,EAC1B,UAAU,EACV,KAAK,EACL,SAAS,EACT,GAAG,KAAK,EACT,EAAE,uBAAuB,2CAezB;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAU7B;AAED,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EAClB,CAAA"}
@@ -14,7 +14,7 @@ function OnboardDialogHeader({ className, ...props }) {
14
14
  return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "onboard-dialog-header", className: (0, utils_1.cn)('flex flex-row justify-between', className), ...props }));
15
15
  }
16
16
  function OnboardDialogTitle({ upperTitle, title, className, ...props }) {
17
- return ((0, jsx_runtime_1.jsxs)("div", { "data-slot": "onboard-dialog-title", className: (0, utils_1.cn)('flex flex-col gap-8', className), ...props, children: [(0, jsx_runtime_1.jsx)("p", { className: "text-base font-medium text-zinc-600", children: upperTitle }), (0, jsx_runtime_1.jsx)(dialog_1.DialogTitle, { className: "text-4xl font-bold text-zinc-600", children: title })] }));
17
+ return ((0, jsx_runtime_1.jsxs)("div", { "data-slot": "onboard-dialog-title", className: (0, utils_1.cn)('flex flex-col gap-8', className), ...props, children: [(0, jsx_runtime_1.jsx)("p", { className: "text-muted-foreground text-base font-medium", children: upperTitle }), (0, jsx_runtime_1.jsx)(dialog_1.DialogTitle, { className: "text-muted-foreground text-4xl font-bold", children: title })] }));
18
18
  }
19
19
  function OnboardDialogIcon({ className, children, ...props }) {
20
20
  return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "onboard-dialog-icon", className: (0, utils_1.cn)('flex items-center px-12', className), ...props, children: (0, jsx_runtime_1.jsx)("div", { className: "shrink-0", children: children }) }));
@@ -15,10 +15,10 @@ const collapsible_1 = require("../ui/collapsible");
15
15
  const button_1 = require("../ui/button");
16
16
  const separator_1 = require("../ui/separator");
17
17
  function EntityBox({ className, children, ...props }) {
18
- return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "entity-box", className: (0, utils_1.cn)('shadow-entity-box mb-2 flex items-center justify-between rounded-lg bg-white p-6', className), ...props, children: children }));
18
+ return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "entity-box", className: (0, utils_1.cn)('shadow-entity-box bg-card mb-2 flex items-center justify-between rounded-lg p-6', className), ...props, children: children }));
19
19
  }
20
20
  function EntityBoxCollapsible({ className, ...props }) {
21
- return ((0, jsx_runtime_1.jsx)(collapsible_1.Collapsible, { className: (0, utils_1.cn)('shadow-entity-box mb-2 flex flex-col rounded-lg bg-white', className), ...props }));
21
+ return ((0, jsx_runtime_1.jsx)(collapsible_1.Collapsible, { className: (0, utils_1.cn)('shadow-entity-box bg-card mb-2 flex flex-col rounded-lg', className), ...props }));
22
22
  }
23
23
  function EntityBoxCollapsibleTrigger(props) {
24
24
  return ((0, jsx_runtime_1.jsx)(collapsible_1.CollapsibleTrigger, { ...props, asChild: true, children: (0, jsx_runtime_1.jsx)(button_1.Button, { variant: "secondary", className: "h-[34px] w-[34px] p-2", children: (0, jsx_runtime_1.jsx)(lucide_react_1.Settings2, { size: 16 }) }) }));
@@ -27,7 +27,7 @@ function EntityBoxCollapsibleContent({ children, ...props }) {
27
27
  return ((0, jsx_runtime_1.jsxs)(collapsible_1.CollapsibleContent, { ...props, children: [(0, jsx_runtime_1.jsx)(separator_1.Separator, { orientation: "horizontal" }), (0, jsx_runtime_1.jsx)("div", { className: "grid w-full grid-cols-3 p-6", children: children })] }));
28
28
  }
29
29
  function EntityBoxHeaderTitle({ title, subtitle, tooltip, tooltipWidth, className, ...props }) {
30
- return ((0, jsx_runtime_1.jsxs)("div", { "data-slot": "entity-box-header", className: (0, utils_1.cn)('flex flex-col items-start', className), ...props, children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-[10px]", children: [(0, jsx_runtime_1.jsx)("h1", { className: "text-lg font-medium text-zinc-600", children: title }), tooltip && ((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)(lucide_react_1.CircleHelp, { className: "pointer text-shadcn-400 h-5 w-5" }) }), (0, jsx_runtime_1.jsx)(tooltip_1.TooltipContent, { side: "right", style: tooltipWidth
30
+ return ((0, jsx_runtime_1.jsxs)("div", { "data-slot": "entity-box-header", className: (0, utils_1.cn)('flex flex-col items-start', className), ...props, children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-[10px]", children: [(0, jsx_runtime_1.jsx)("h1", { className: "text-muted-foreground text-lg font-medium", children: title }), tooltip && ((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)(lucide_react_1.CircleHelp, { className: "pointer text-shadcn-400 h-5 w-5" }) }), (0, jsx_runtime_1.jsx)(tooltip_1.TooltipContent, { side: "right", style: tooltipWidth
31
31
  ? { width: tooltipWidth, maxWidth: tooltipWidth }
32
32
  : undefined, children: tooltip })] }) }))] }), subtitle && (0, jsx_runtime_1.jsx)("p", { className: "text-shadcn-400 text-sm", children: subtitle })] }));
33
33
  }
@@ -1,14 +1,14 @@
1
1
  import React from 'react';
2
- import { Control } from 'react-hook-form';
3
- export type ComboBoxFieldProps = React.PropsWithChildren & {
4
- name: string;
2
+ import { Control, FieldValues, Path } from 'react-hook-form';
3
+ export type ComboBoxFieldProps<T extends FieldValues = FieldValues> = React.PropsWithChildren & {
4
+ name: Path<T>;
5
5
  label?: string;
6
6
  placeholder?: string;
7
7
  emptyMessage?: string;
8
- control: Control<any>;
8
+ control: Control<T>;
9
9
  disabled?: boolean;
10
10
  readOnly?: boolean;
11
11
  required?: boolean;
12
12
  };
13
- export declare const ComboBoxField: ({ name, label, placeholder, emptyMessage, required, children, readOnly, ...others }: ComboBoxFieldProps) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const ComboBoxField: <T extends FieldValues = FieldValues>({ name, label, placeholder, emptyMessage, required, children, readOnly, ...others }: ComboBoxFieldProps<T>) => import("react/jsx-runtime").JSX.Element;
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/combo-box-field/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAiBzC,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,iBAAiB,GAAG;IACzD,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,qFAS3B,kBAAkB,4CA0FpB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/combo-box-field/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAiB5D,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAChE,KAAK,CAAC,iBAAiB,GAAG;IACxB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAEH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,qFAShE,kBAAkB,CAAC,CAAC,CAAC,4CA0FvB,CAAA"}
@@ -22,7 +22,7 @@ const ComboBoxField = ({ name, label, placeholder, emptyMessage, required, child
22
22
  const getDisplayValue = react_1.default.useCallback((value) => {
23
23
  return options.find((option) => option.value === value)?.label ?? null;
24
24
  }, [options]);
25
- return ((0, jsx_runtime_1.jsx)(form_1.FormField, { name: name, ...others, render: ({ field }) => ((0, jsx_runtime_1.jsxs)(form_1.FormItem, { required: required, children: [label && (0, jsx_runtime_1.jsx)(form_1.FormLabel, { children: label }), (0, jsx_runtime_1.jsxs)(popover_1.Popover, { open: readOnly ? false : open, onOpenChange: readOnly ? () => { } : setOpen, children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)(button_1.Button, { variant: "outline", role: "combobox", "aria-expanded": readOnly ? false : open, readOnly: readOnly, tabIndex: 0, className: (0, utils_1.cn)('w-full justify-between', !field.value && 'text-muted-foreground'), children: [getDisplayValue(field.value) ?? placeholder, !readOnly && ((0, jsx_runtime_1.jsx)(lucide_react_1.ChevronsUpDown, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" }))] }) }), (0, jsx_runtime_1.jsx)(popover_1.PopoverContent, { className: "w-(--radix-popover-trigger-width) p-0", children: (0, jsx_runtime_1.jsxs)(command_1.Command, { children: [(0, jsx_runtime_1.jsx)(command_1.CommandInput, { placeholder: placeholder }), (0, jsx_runtime_1.jsxs)(command_1.CommandList, { children: [(0, jsx_runtime_1.jsx)(command_1.CommandEmpty, { children: emptyMessage }), (0, jsx_runtime_1.jsx)(command_1.CommandGroup, { children: react_1.default.Children.map(react_1.default.Children.toArray(children), (child) => react_1.default.isValidElement(child)
25
+ return ((0, jsx_runtime_1.jsx)(form_1.FormField, { name: name, ...others, render: ({ field }) => ((0, jsx_runtime_1.jsxs)(form_1.FormItem, { required: required, children: [label && (0, jsx_runtime_1.jsx)(form_1.FormLabel, { children: label }), (0, jsx_runtime_1.jsxs)(popover_1.Popover, { open: readOnly ? false : open, onOpenChange: readOnly ? () => { } : setOpen, children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)(button_1.Button, { variant: "outline", role: "combobox", "aria-expanded": readOnly ? false : open, readOnly: readOnly, tabIndex: 0, className: (0, utils_1.cn)('border-border bg-input hover:bg-input h-10 w-full justify-between rounded-md border px-4 py-2 pl-6 text-left text-sm font-normal focus:outline-none focus:ring-2 focus:ring-offset-0', !field.value && 'text-muted-foreground'), children: [getDisplayValue(field.value) ?? placeholder, !readOnly && ((0, jsx_runtime_1.jsx)(lucide_react_1.ChevronsUpDown, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" }))] }) }), (0, jsx_runtime_1.jsx)(popover_1.PopoverContent, { className: "w-(--radix-popover-trigger-width) p-0", children: (0, jsx_runtime_1.jsxs)(command_1.Command, { children: [(0, jsx_runtime_1.jsx)(command_1.CommandInput, { placeholder: placeholder }), (0, jsx_runtime_1.jsxs)(command_1.CommandList, { children: [(0, jsx_runtime_1.jsx)(command_1.CommandEmpty, { children: emptyMessage }), (0, jsx_runtime_1.jsx)(command_1.CommandGroup, { children: react_1.default.Children.map(react_1.default.Children.toArray(children), (child) => react_1.default.isValidElement(child)
26
26
  ? react_1.default.cloneElement(child, {
27
27
  keywords: [child.props.children],
28
28
  onSelect: (value) => {
@@ -0,0 +1,20 @@
1
+ import { ReactNode } from 'react';
2
+ import { Control, FieldValues, Path } from 'react-hook-form';
3
+ export type DatePickerFieldProps<T extends FieldValues = FieldValues> = {
4
+ name: Path<T>;
5
+ label?: ReactNode;
6
+ tooltip?: string;
7
+ labelExtra?: ReactNode;
8
+ description?: ReactNode;
9
+ placeholder?: string;
10
+ disabled?: boolean;
11
+ readOnly?: boolean;
12
+ control: Control<T>;
13
+ required?: boolean;
14
+ dateFormat?: string;
15
+ align?: 'start' | 'center' | 'end';
16
+ 'data-testid'?: string;
17
+ valueAsString?: boolean;
18
+ };
19
+ export declare const DatePickerField: <T extends FieldValues = FieldValues>({ name, label, tooltip, labelExtra, description, placeholder, disabled, readOnly, control, required, dateFormat, align, valueAsString, ...others }: DatePickerFieldProps<T>) => import("react/jsx-runtime").JSX.Element;
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/date-picker-field/index.tsx"],"names":[],"mappings":"AAqBA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAE5D,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI;IACtE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IACb,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,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,CAAC,CAAC,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;IAClC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,oJAelE,oBAAoB,CAAC,CAAC,CAAC,4CAsFzB,CAAA"}
@@ -0,0 +1,43 @@
1
+ 'use client';
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.DatePickerField = void 0;
8
+ const jsx_runtime_1 = require("react/jsx-runtime");
9
+ const button_1 = require("../../../components/ui/button");
10
+ const calendar_1 = require("../../../components/ui/calendar");
11
+ const form_1 = require("../../../components/ui/form");
12
+ const popover_1 = require("../../../components/ui/popover");
13
+ const utils_1 = require("../../../lib/utils");
14
+ const dayjs_1 = __importDefault(require("dayjs"));
15
+ const lucide_react_1 = require("lucide-react");
16
+ const DatePickerField = ({ name, label, tooltip, labelExtra, description, placeholder, disabled, readOnly, control, required, dateFormat = 'MMM DD, YYYY', align = 'start', valueAsString, ...others }) => {
17
+ return ((0, jsx_runtime_1.jsx)(form_1.FormField, { name: name, control: control, render: ({ field }) => {
18
+ const convertFieldValueToDate = (fieldValue) => {
19
+ if (!fieldValue)
20
+ return undefined;
21
+ if (valueAsString) {
22
+ const parsed = (0, dayjs_1.default)(fieldValue);
23
+ return parsed.isValid() ? parsed.toDate() : undefined;
24
+ }
25
+ return fieldValue;
26
+ };
27
+ const convertDateToOutputFormat = (date) => {
28
+ if (!date)
29
+ return undefined;
30
+ if (valueAsString) {
31
+ const parsed = (0, dayjs_1.default)(date);
32
+ return parsed.isValid() ? parsed.format('YYYY-MM-DD') : undefined;
33
+ }
34
+ return date;
35
+ };
36
+ const value = convertFieldValueToDate(field.value);
37
+ const handleSelect = (date) => {
38
+ field.onChange(convertDateToOutputFormat(date));
39
+ };
40
+ 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 })), (0, jsx_runtime_1.jsxs)(popover_1.Popover, { children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)(form_1.FormControl, { children: (0, jsx_runtime_1.jsx)(button_1.Button, { variant: "outline", disabled: disabled, className: (0, utils_1.cn)('border-button-border w-full justify-start px-2.5 font-normal', !value && 'text-muted-foreground', readOnly && 'pointer-events-none'), "data-testid": others['data-testid'], icon: (0, jsx_runtime_1.jsx)(lucide_react_1.CalendarIcon, { className: "size-4" }), children: value ? ((0, dayjs_1.default)(value).format(dateFormat)) : ((0, jsx_runtime_1.jsx)("span", { children: placeholder })) }) }) }), (0, jsx_runtime_1.jsx)(popover_1.PopoverContent, { className: "w-auto p-0", align: align, children: (0, jsx_runtime_1.jsx)(calendar_1.Calendar, { mode: "single", defaultMonth: value, selected: value, onSelect: handleSelect, disabled: disabled || readOnly }) })] }), (0, jsx_runtime_1.jsx)(form_1.FormMessage, {}), description && (0, jsx_runtime_1.jsx)(form_1.FormDescription, { children: description })] }));
41
+ } }));
42
+ };
43
+ exports.DatePickerField = DatePickerField;
@@ -0,0 +1,20 @@
1
+ import { ReactNode } from 'react';
2
+ import { Control, FieldValues, Path } from 'react-hook-form';
3
+ export type DateRangeFieldProps<T extends FieldValues = FieldValues> = {
4
+ name: Path<T>;
5
+ label?: ReactNode;
6
+ tooltip?: string;
7
+ labelExtra?: ReactNode;
8
+ description?: ReactNode;
9
+ placeholder?: string;
10
+ disabled?: boolean;
11
+ readOnly?: boolean;
12
+ control: Control<T>;
13
+ required?: boolean;
14
+ numberOfMonths?: number;
15
+ dateFormat?: string;
16
+ align?: 'start' | 'center' | 'end';
17
+ 'data-testid'?: string;
18
+ };
19
+ export declare const DateRangeField: <T extends FieldValues = FieldValues>({ name, label, tooltip, labelExtra, description, placeholder, disabled, readOnly, control, required, numberOfMonths, dateFormat, align, ...others }: DateRangeFieldProps<T>) => import("react/jsx-runtime").JSX.Element;
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/date-range-field/index.tsx"],"names":[],"mappings":"AAqBA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAE5D,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI;IACrE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IACb,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,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,CAAC,CAAC,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;IAClC,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,qJAejE,mBAAmB,CAAC,CAAC,CAAC,4CAoExB,CAAA"}
@@ -0,0 +1,22 @@
1
+ 'use client';
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.DateRangeField = void 0;
8
+ const jsx_runtime_1 = require("react/jsx-runtime");
9
+ const button_1 = require("../../../components/ui/button");
10
+ const calendar_1 = require("../../../components/ui/calendar");
11
+ const form_1 = require("../../../components/ui/form");
12
+ const popover_1 = require("../../../components/ui/popover");
13
+ const utils_1 = require("../../../lib/utils");
14
+ const dayjs_1 = __importDefault(require("dayjs"));
15
+ const lucide_react_1 = require("lucide-react");
16
+ const DateRangeField = ({ name, label, tooltip, labelExtra, description, placeholder, disabled, readOnly, control, required, numberOfMonths = 2, dateFormat = 'MMM DD, YYYY', align = 'start', ...others }) => {
17
+ return ((0, jsx_runtime_1.jsx)(form_1.FormField, { name: name, control: control, render: ({ field }) => {
18
+ const value = field.value;
19
+ 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 })), (0, jsx_runtime_1.jsxs)(popover_1.Popover, { children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)(form_1.FormControl, { children: (0, jsx_runtime_1.jsx)(button_1.Button, { variant: "outline", disabled: disabled, className: (0, utils_1.cn)('border-button-border w-full justify-start px-2.5 font-normal', !value && 'text-muted-foreground', readOnly && 'pointer-events-none'), "data-testid": others['data-testid'], icon: (0, jsx_runtime_1.jsx)(lucide_react_1.CalendarIcon, { className: "size-4" }), children: value?.from ? (value.to ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, dayjs_1.default)(value.from).format(dateFormat), " -", ' ', (0, dayjs_1.default)(value.to).format(dateFormat)] })) : ((0, dayjs_1.default)(value.from).format(dateFormat))) : ((0, jsx_runtime_1.jsx)("span", { children: placeholder })) }) }) }), (0, jsx_runtime_1.jsx)(popover_1.PopoverContent, { className: "w-auto p-0", align: align, children: (0, jsx_runtime_1.jsx)(calendar_1.Calendar, { mode: "range", defaultMonth: value?.from, selected: value, onSelect: field.onChange, numberOfMonths: numberOfMonths, disabled: disabled || readOnly }) })] }), (0, jsx_runtime_1.jsx)(form_1.FormMessage, {}), description && (0, jsx_runtime_1.jsx)(form_1.FormDescription, { children: description })] }));
20
+ } }));
21
+ };
22
+ exports.DateRangeField = DateRangeField;
@@ -5,4 +5,7 @@ export * from './pagination-limit-field';
5
5
  export * from './combo-box-field';
6
6
  export * from './country-field';
7
7
  export * from './state-field';
8
+ export * from './date-range-field';
9
+ export * from './date-picker-field';
10
+ export * from './password-field';
8
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/form/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/form/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
@@ -21,3 +21,6 @@ __exportStar(require("./pagination-limit-field"), exports);
21
21
  __exportStar(require("./combo-box-field"), exports);
22
22
  __exportStar(require("./country-field"), exports);
23
23
  __exportStar(require("./state-field"), exports);
24
+ __exportStar(require("./date-range-field"), exports);
25
+ __exportStar(require("./date-picker-field"), exports);
26
+ __exportStar(require("./password-field"), exports);
@@ -1,8 +1,8 @@
1
1
  import { HTMLInputTypeAttribute, ReactNode } from 'react';
2
- import { Control } from 'react-hook-form';
3
- export type InputFieldProps = {
2
+ import { Control, FieldValues, Path } from 'react-hook-form';
3
+ export type InputFieldProps<T extends FieldValues = FieldValues> = {
4
4
  className?: string;
5
- name: string;
5
+ name: Path<T>;
6
6
  type?: HTMLInputTypeAttribute;
7
7
  label?: ReactNode;
8
8
  tooltip?: string;
@@ -11,7 +11,7 @@ export type InputFieldProps = {
11
11
  description?: ReactNode;
12
12
  startAdornment?: ReactNode;
13
13
  endAdornment?: ReactNode;
14
- control: Control<any>;
14
+ control: Control<T>;
15
15
  disabled?: boolean;
16
16
  readOnly?: boolean;
17
17
  minHeight?: number;
@@ -19,7 +19,8 @@ export type InputFieldProps = {
19
19
  textArea?: boolean;
20
20
  required?: boolean;
21
21
  defaultValue?: string;
22
+ 'data-testid'?: string;
22
23
  onChange?: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
23
24
  };
24
- export declare const InputField: ({ className, type, label, tooltip, labelExtra, placeholder, description, startAdornment, endAdornment, required, readOnly, minHeight, maxHeight, textArea, defaultValue, onChange, ...others }: InputFieldProps) => import("react/jsx-runtime").JSX.Element;
25
+ export declare const InputField: <T extends FieldValues = FieldValues>({ className, type, label, tooltip, labelExtra, placeholder, description, startAdornment, endAdornment, required, readOnly, minHeight, maxHeight, textArea, defaultValue, onChange, ...others }: InputFieldProps<T>) => import("react/jsx-runtime").JSX.Element;
25
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/input-field/index.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEzC,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,sBAAsB,CAAA;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,cAAc,CAAC,EAAE,SAAS,CAAA;IAC1B,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,CACT,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,KACzD,IAAI,CAAA;CACV,CAAA;AACD,eAAO,MAAM,UAAU,GAAI,gMAkBxB,eAAe,4CAgDjB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/input-field/index.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAE5D,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI;IACjE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IACb,IAAI,CAAC,EAAE,sBAAsB,CAAA;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,cAAc,CAAC,EAAE,SAAS,CAAA;IAC1B,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,CACT,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,KACzD,IAAI,CAAA;CACV,CAAA;AACD,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,gMAkB7D,eAAe,CAAC,CAAC,CAAC,4CAkDpB,CAAA"}
@@ -6,9 +6,9 @@ const autosize_textarea_1 = require("../../../components/ui/autosize-textarea");
6
6
  const form_1 = require("../../../components/ui/form");
7
7
  const input_1 = require("../../../components/ui/input");
8
8
  const InputField = ({ className, type, label, tooltip, labelExtra, placeholder, description, startAdornment, endAdornment, required, readOnly, minHeight, maxHeight, textArea, defaultValue, onChange, ...others }) => {
9
- return ((0, jsx_runtime_1.jsx)(form_1.FormField, { ...others, 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)(form_1.FormControl, { children: textArea ? ((0, jsx_runtime_1.jsx)(autosize_textarea_1.AutosizeTextarea, { className: className, placeholder: placeholder, readOnly: readOnly, minHeight: minHeight, maxHeight: maxHeight, defaultValue: defaultValue, ...field, onChange: (e) => {
9
+ return ((0, jsx_runtime_1.jsx)(form_1.FormField, { ...others, 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)(form_1.FormControl, { children: textArea ? ((0, jsx_runtime_1.jsx)(autosize_textarea_1.AutosizeTextarea, { className: className, placeholder: placeholder, readOnly: readOnly, minHeight: minHeight, maxHeight: maxHeight, defaultValue: defaultValue, "data-testid": others['data-testid'], ...field, onChange: (e) => {
10
10
  field.onChange(e);
11
11
  onChange?.(e);
12
- } })) : ((0, jsx_runtime_1.jsx)(input_1.Input, { className: className, type: type, placeholder: placeholder, readOnly: readOnly, startAdornment: startAdornment, endAdornment: endAdornment, ...field })) }), (0, jsx_runtime_1.jsx)(form_1.FormMessage, {}), description && (0, jsx_runtime_1.jsx)(form_1.FormDescription, { children: description })] })) }));
12
+ } })) : ((0, jsx_runtime_1.jsx)(input_1.Input, { className: className, type: type, placeholder: placeholder, readOnly: readOnly, startAdornment: startAdornment, endAdornment: endAdornment, "data-testid": others['data-testid'], ...field })) }), (0, jsx_runtime_1.jsx)(form_1.FormMessage, {}), description && (0, jsx_runtime_1.jsx)(form_1.FormDescription, { children: description })] })) }));
13
13
  };
14
14
  exports.InputField = InputField;
@@ -1,8 +1,9 @@
1
- import { Control } from 'react-hook-form';
2
- export type PaginationLimitFieldProps = {
1
+ import { Control, FieldValues } from 'react-hook-form';
2
+ export type PaginationLimitFieldProps<T extends FieldValues = FieldValues> = {
3
3
  label?: string;
4
4
  options?: number[];
5
- control: Control<any>;
5
+ control: Control<T>;
6
+ ['data-testid']?: string;
6
7
  };
7
- export declare const PaginationLimitField: ({ options, label, control }: PaginationLimitFieldProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const PaginationLimitField: <T extends FieldValues = FieldValues>({ options, label, control, ["data-testid"]: dataTestId }: PaginationLimitFieldProps<T>) => import("react/jsx-runtime").JSX.Element;
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/pagination-limit-field/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAIzC,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,6BAIlC,yBAAyB,4CAe3B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/pagination-limit-field/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAQ,MAAM,iBAAiB,CAAA;AAI5D,MAAM,MAAM,yBAAyB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,0DAKvE,yBAAyB,CAAC,CAAC,CAAC,4CAe9B,CAAA"}
@@ -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-muted-foreground whitespace-nowrap text-sm font-medium", 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;
@@ -7,6 +7,7 @@ export type PasswordFieldProps<TFieldValues extends FieldValues = FieldValues, T
7
7
  control: Control<TFieldValues>;
8
8
  required?: boolean;
9
9
  disabled?: boolean;
10
+ 'data-testid'?: string;
10
11
  };
11
- export declare function PasswordField<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ name, label, tooltip, placeholder, control, required, disabled }: PasswordFieldProps<TFieldValues, TName>): import("react/jsx-runtime").JSX.Element;
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;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;CACnB,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,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,2CA0CzC"}
@@ -10,7 +10,7 @@ const form_1 = require("../../../components/ui/form");
10
10
  const input_1 = require("../../../components/ui/input");
11
11
  const lucide_react_1 = require("lucide-react");
12
12
  const icon_button_1 = require("../../../components/ui/icon-button");
13
- function PasswordField({ name, label, tooltip, placeholder, control, required = false, disabled = false }) {
13
+ function PasswordField({ name, label, tooltip, placeholder, control, required = false, disabled = false, 'data-testid': dataTestId }) {
14
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" }) }), (0, jsx_runtime_1.jsx)(form_1.FormMessage, {})] })) }));
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, { type: "button", 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, {})] })) }));
16
16
  }
@@ -1,7 +1,7 @@
1
1
  import React, { PropsWithChildren, ReactNode } from 'react';
2
- import { Control } from 'react-hook-form';
3
- export type SelectFieldProps = PropsWithChildren & {
4
- name: string;
2
+ import { Control, FieldValues, Path } from 'react-hook-form';
3
+ export type SelectFieldProps<T extends FieldValues = FieldValues> = PropsWithChildren & {
4
+ name: Path<T>;
5
5
  label?: ReactNode;
6
6
  tooltip?: string;
7
7
  labelExtra?: React.ReactNode;
@@ -9,10 +9,12 @@ export type SelectFieldProps = PropsWithChildren & {
9
9
  placeholder?: string;
10
10
  disabled?: boolean;
11
11
  readOnly?: boolean;
12
- control: Control<any>;
12
+ control: Control<T>;
13
13
  multi?: boolean;
14
14
  required?: boolean;
15
15
  emptyMessage?: string;
16
+ onChange?: (value: string | string[]) => void;
17
+ 'data-testid'?: string;
16
18
  };
17
- 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;
19
+ export declare const SelectField: <T extends FieldValues = FieldValues>({ name, label, tooltip, labelExtra, required, placeholder, description, disabled, readOnly, multi, control, children, emptyMessage, onChange, ...others }: SelectFieldProps<T>) => import("react/jsx-runtime").JSX.Element;
18
20
  //# 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,WAAW,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAE5D,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAC9D,iBAAiB,GAAG;IAClB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IACb,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,CAAC,CAAC,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAA;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAEH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,2JAgB9D,gBAAgB,CAAC,CAAC,CAAC,4CAmErB,CAAA"}
@@ -6,9 +6,15 @@ const form_1 = require("../../../components/ui/form");
6
6
  const multiple_select_1 = require("../../../components/ui/multiple-select");
7
7
  const select_1 = require("../../../components/ui/select");
8
8
  const utils_1 = require("../../../lib/utils");
9
- const SelectField = ({ name, label, tooltip, labelExtra, required, placeholder, description, disabled, readOnly, multi, control, children, emptyMessage = 'No options found.', ...others }) => {
9
+ const SelectField = ({ name, label, tooltip, labelExtra, required, placeholder, description, disabled, readOnly, multi, control, children, emptyMessage = 'No options found.', onChange, ...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: (value) => {
12
+ field.onChange(value);
13
+ onChange?.(value);
14
+ }, 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: (value) => {
15
+ field.onChange(value);
16
+ onChange?.(value);
17
+ }, 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
18
  } }));
13
19
  };
14
20
  exports.SelectField = SelectField;
@@ -31,7 +31,7 @@ function StateComboBox({ value, placeholder, onChange, countryName, emptyMessage
31
31
  const getDisplayValue = react_1.default.useCallback((value) => {
32
32
  return options.find((option) => option.value === value)?.label ?? null;
33
33
  }, [options]);
34
- return ((0, jsx_runtime_1.jsxs)(popover_1.Popover, { open: readOnly ? false : open, onOpenChange: readOnly ? () => { } : setOpen, children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)(button_1.Button, { variant: "outline", role: "combobox", "aria-expanded": readOnly ? false : open, readOnly: readOnly, tabIndex: 0, className: (0, utils_1.cn)('w-full justify-between', !value && 'text-muted-foreground'), children: [getDisplayValue(value) ?? placeholder, !readOnly && ((0, jsx_runtime_1.jsx)(lucide_react_1.ChevronsUpDown, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" }))] }) }), (0, jsx_runtime_1.jsx)(popover_1.PopoverContent, { className: "w-(--radix-popover-trigger-width) p-0", children: (0, jsx_runtime_1.jsxs)(command_1.Command, { children: [(0, jsx_runtime_1.jsx)(command_1.CommandInput, { placeholder: placeholder }), (0, jsx_runtime_1.jsxs)(command_1.CommandList, { children: [(0, jsx_runtime_1.jsx)(command_1.CommandEmpty, { children: emptyMessage }), (0, jsx_runtime_1.jsx)(command_1.CommandGroup, { children: options.map((option) => ((0, jsx_runtime_1.jsx)(command_1.CommandItem, { value: option.value, keywords: [option.label], onSelect: (currentValue) => {
34
+ return ((0, jsx_runtime_1.jsxs)(popover_1.Popover, { open: readOnly ? false : open, onOpenChange: readOnly ? () => { } : setOpen, children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)(button_1.Button, { variant: "outline", role: "combobox", "aria-expanded": readOnly ? false : open, readOnly: readOnly, tabIndex: 0, className: (0, utils_1.cn)('border-border bg-input hover:bg-input h-10 w-full justify-between rounded-md border px-4 py-2 pl-6 text-left text-sm font-normal focus:outline-none focus:ring-2 focus:ring-offset-0', !value && 'text-muted-foreground'), children: [getDisplayValue(value) ?? placeholder, !readOnly && ((0, jsx_runtime_1.jsx)(lucide_react_1.ChevronsUpDown, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" }))] }) }), (0, jsx_runtime_1.jsx)(popover_1.PopoverContent, { className: "w-(--radix-popover-trigger-width) p-0", children: (0, jsx_runtime_1.jsxs)(command_1.Command, { children: [(0, jsx_runtime_1.jsx)(command_1.CommandInput, { placeholder: placeholder }), (0, jsx_runtime_1.jsxs)(command_1.CommandList, { children: [(0, jsx_runtime_1.jsx)(command_1.CommandEmpty, { children: emptyMessage }), (0, jsx_runtime_1.jsx)(command_1.CommandGroup, { children: options.map((option) => ((0, jsx_runtime_1.jsx)(command_1.CommandItem, { value: option.value, keywords: [option.label], onSelect: (currentValue) => {
35
35
  onChange?.(value !== currentValue ? currentValue : '');
36
36
  setOpen(false);
37
37
  }, children: option.label }, option.value))) })] })] }) })] }));