@axtec/components 0.1.7 → 0.1.10

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/README.md +1 -0
  2. package/dist/components/AgentChat/AgentChat.d.ts +32 -0
  3. package/dist/components/AgentChat/index.d.ts +1 -0
  4. package/dist/components/AgentPanel/AgentPanel.d.ts +44 -0
  5. package/dist/components/AgentPanel/index.d.ts +1 -0
  6. package/dist/components/OptionDivider/OptionDivider.d.ts +2 -1
  7. package/dist/components/index.d.ts +2 -0
  8. package/dist/index.css +1 -1
  9. package/dist/index.js +161 -157
  10. package/dist/index.js.map +1 -1
  11. package/dist/index10.js +77 -99
  12. package/dist/index10.js.map +1 -1
  13. package/dist/index11.js +91 -36
  14. package/dist/index11.js.map +1 -1
  15. package/dist/index12.js +97 -75
  16. package/dist/index12.js.map +1 -1
  17. package/dist/index13.js +38 -24
  18. package/dist/index13.js.map +1 -1
  19. package/dist/index14.js +76 -16
  20. package/dist/index14.js.map +1 -1
  21. package/dist/index15.js +24 -38
  22. package/dist/index15.js.map +1 -1
  23. package/dist/index16.js +18 -72
  24. package/dist/index16.js.map +1 -1
  25. package/dist/index17.js +36 -47
  26. package/dist/index17.js.map +1 -1
  27. package/dist/index18.js +73 -13
  28. package/dist/index18.js.map +1 -1
  29. package/dist/index19.js +47 -151
  30. package/dist/index19.js.map +1 -1
  31. package/dist/index20.js +12 -17
  32. package/dist/index20.js.map +1 -1
  33. package/dist/index21.js +148 -40
  34. package/dist/index21.js.map +1 -1
  35. package/dist/index22.js +18 -50
  36. package/dist/index22.js.map +1 -1
  37. package/dist/index23.js +41 -74
  38. package/dist/index23.js.map +1 -1
  39. package/dist/index24.js +46 -216
  40. package/dist/index24.js.map +1 -1
  41. package/dist/index25.js +73 -46
  42. package/dist/index25.js.map +1 -1
  43. package/dist/index26.js +212 -70
  44. package/dist/index26.js.map +1 -1
  45. package/dist/index27.js +51 -23
  46. package/dist/index27.js.map +1 -1
  47. package/dist/index28.js +74 -74
  48. package/dist/index28.js.map +1 -1
  49. package/dist/index29.js +19 -28
  50. package/dist/index29.js.map +1 -1
  51. package/dist/index3.js +2 -2
  52. package/dist/index30.js +62 -76
  53. package/dist/index30.js.map +1 -1
  54. package/dist/index31.js +28 -55
  55. package/dist/index31.js.map +1 -1
  56. package/dist/index32.js +87 -40
  57. package/dist/index32.js.map +1 -1
  58. package/dist/index33.js +57 -45
  59. package/dist/index33.js.map +1 -1
  60. package/dist/index34.js +40 -47
  61. package/dist/index34.js.map +1 -1
  62. package/dist/index35.js +47 -27
  63. package/dist/index35.js.map +1 -1
  64. package/dist/index36.js +52 -54
  65. package/dist/index36.js.map +1 -1
  66. package/dist/index37.js +28 -49
  67. package/dist/index37.js.map +1 -1
  68. package/dist/index38.js +54 -13
  69. package/dist/index38.js.map +1 -1
  70. package/dist/index39.js +46 -79
  71. package/dist/index39.js.map +1 -1
  72. package/dist/index40.js +13 -49
  73. package/dist/index40.js.map +1 -1
  74. package/dist/index41.js +80 -17
  75. package/dist/index41.js.map +1 -1
  76. package/dist/index42.js +48 -33
  77. package/dist/index42.js.map +1 -1
  78. package/dist/index43.js +17 -11
  79. package/dist/index43.js.map +1 -1
  80. package/dist/index44.js +34 -15
  81. package/dist/index44.js.map +1 -1
  82. package/dist/index45.js +16 -89
  83. package/dist/index45.js.map +1 -1
  84. package/dist/index46.js +15 -69
  85. package/dist/index46.js.map +1 -1
  86. package/dist/index47.js +85 -116
  87. package/dist/index47.js.map +1 -1
  88. package/dist/index48.js +69 -40
  89. package/dist/index48.js.map +1 -1
  90. package/dist/index49.js +120 -42
  91. package/dist/index49.js.map +1 -1
  92. package/dist/index5.js +1 -1
  93. package/dist/index50.js +39 -55
  94. package/dist/index50.js.map +1 -1
  95. package/dist/index51.js +39 -11
  96. package/dist/index51.js.map +1 -1
  97. package/dist/index52.js +53 -62
  98. package/dist/index52.js.map +1 -1
  99. package/dist/index53.js +16 -54
  100. package/dist/index53.js.map +1 -1
  101. package/dist/index54.js +64 -36
  102. package/dist/index54.js.map +1 -1
  103. package/dist/index55.js +54 -66
  104. package/dist/index55.js.map +1 -1
  105. package/dist/index56.js +37 -22
  106. package/dist/index56.js.map +1 -1
  107. package/dist/index57.js +63 -101
  108. package/dist/index57.js.map +1 -1
  109. package/dist/index58.js +16 -67
  110. package/dist/index58.js.map +1 -1
  111. package/dist/index59.js +99 -213
  112. package/dist/index59.js.map +1 -1
  113. package/dist/index6.js +1 -1
  114. package/dist/index60.js +67 -62
  115. package/dist/index60.js.map +1 -1
  116. package/dist/index61.js +206 -224
  117. package/dist/index61.js.map +1 -1
  118. package/dist/index62.js +62 -96
  119. package/dist/index62.js.map +1 -1
  120. package/dist/index63.js +233 -33
  121. package/dist/index63.js.map +1 -1
  122. package/dist/index64.js +98 -14
  123. package/dist/index64.js.map +1 -1
  124. package/dist/index65.js +35 -59
  125. package/dist/index65.js.map +1 -1
  126. package/dist/index66.js +16 -59
  127. package/dist/index66.js.map +1 -1
  128. package/dist/index67.js +57 -72
  129. package/dist/index67.js.map +1 -1
  130. package/dist/index68.js +58 -106
  131. package/dist/index68.js.map +1 -1
  132. package/dist/index69.js +70 -43
  133. package/dist/index69.js.map +1 -1
  134. package/dist/index7.js +157 -69
  135. package/dist/index7.js.map +1 -1
  136. package/dist/index70.js +101 -40
  137. package/dist/index70.js.map +1 -1
  138. package/dist/index71.js +44 -72
  139. package/dist/index71.js.map +1 -1
  140. package/dist/index72.js +47 -53
  141. package/dist/index72.js.map +1 -1
  142. package/dist/index73.js +70 -62
  143. package/dist/index73.js.map +1 -1
  144. package/dist/index74.js +46 -28
  145. package/dist/index74.js.map +1 -1
  146. package/dist/index75.js +67 -13
  147. package/dist/index75.js.map +1 -1
  148. package/dist/index76.js +35 -2263
  149. package/dist/index76.js.map +1 -1
  150. package/dist/index77.js +17 -0
  151. package/dist/index77.js.map +1 -0
  152. package/dist/index78.js +2267 -0
  153. package/dist/index78.js.map +1 -0
  154. package/dist/index8.js +377 -70
  155. package/dist/index8.js.map +1 -1
  156. package/dist/index9.js +60 -77
  157. package/dist/index9.js.map +1 -1
  158. package/package.json +1 -1
package/dist/index41.js CHANGED
@@ -1,22 +1,85 @@
1
- import { jsx as t } from "react/jsx-runtime";
2
- import { cn as a } from "./index3.js";
3
- const x = {
4
- sm: "h-6 max-w-[120px]",
5
- md: "h-8 max-w-[160px]",
6
- lg: "h-10 max-w-[200px]",
7
- xl: "h-14 max-w-[280px]"
1
+ import { jsx as e, jsxs as a } from "react/jsx-runtime";
2
+ import { Fragment as t } from "react";
3
+ import { Transition as d, Dialog as x, TransitionChild as r, DialogPanel as p, DialogTitle as u } from "@headlessui/react";
4
+ import { XMarkIcon as h } from "@heroicons/react/24/outline";
5
+ import { cn as l } from "./index3.js";
6
+ const f = {
7
+ sm: "max-w-sm",
8
+ md: "max-w-md",
9
+ lg: "max-w-lg",
10
+ xl: "max-w-xl",
11
+ "2xl": "max-w-2xl"
8
12
  };
9
- function e({ size: o = "md", className: m }) {
10
- return /* @__PURE__ */ t(
11
- "img",
12
- {
13
- src: "/logos/mhv-logo.png",
14
- alt: "My Home Vault",
15
- className: a(x[o], "w-auto object-contain", m)
16
- }
17
- );
13
+ function N({
14
+ open: s,
15
+ onClose: i,
16
+ title: o,
17
+ children: n,
18
+ maxWidth: c = "md",
19
+ className: m
20
+ }) {
21
+ return /* @__PURE__ */ e(d, { show: s, as: t, children: /* @__PURE__ */ a(x, { onClose: i, className: "relative z-50", children: [
22
+ /* @__PURE__ */ e(
23
+ r,
24
+ {
25
+ as: t,
26
+ enter: "ease-out duration-300",
27
+ enterFrom: "opacity-0",
28
+ enterTo: "opacity-100",
29
+ leave: "ease-in duration-200",
30
+ leaveFrom: "opacity-100",
31
+ leaveTo: "opacity-0",
32
+ children: /* @__PURE__ */ e("div", { className: "fixed inset-0 bg-black/50", "aria-hidden": "true" })
33
+ }
34
+ ),
35
+ /* @__PURE__ */ e("div", { className: "fixed inset-0 flex items-center justify-center p-4", children: /* @__PURE__ */ e(
36
+ r,
37
+ {
38
+ as: t,
39
+ enter: "ease-out duration-300",
40
+ enterFrom: "opacity-0 scale-95",
41
+ enterTo: "opacity-100 scale-100",
42
+ leave: "ease-in duration-200",
43
+ leaveFrom: "opacity-100 scale-100",
44
+ leaveTo: "opacity-0 scale-95",
45
+ children: /* @__PURE__ */ a(
46
+ p,
47
+ {
48
+ className: l(
49
+ "w-full bg-white rounded-2xl shadow-xl",
50
+ "transform transition-all",
51
+ f[c],
52
+ m
53
+ ),
54
+ children: [
55
+ o && /* @__PURE__ */ a("div", { className: "flex items-center justify-between px-6 py-4 border-b border-slate-200", children: [
56
+ /* @__PURE__ */ e(u, { className: "text-lg font-semibold text-slate-900", children: o }),
57
+ /* @__PURE__ */ a(
58
+ "button",
59
+ {
60
+ type: "button",
61
+ onClick: i,
62
+ className: l(
63
+ "p-1 rounded-lg transition-colors duration-200",
64
+ "text-slate-400 hover:text-slate-600 hover:bg-slate-100",
65
+ "focus:outline-none focus:ring-2 focus:ring-primary-500"
66
+ ),
67
+ children: [
68
+ /* @__PURE__ */ e(h, { className: "h-5 w-5" }),
69
+ /* @__PURE__ */ e("span", { className: "sr-only", children: "Close" })
70
+ ]
71
+ }
72
+ )
73
+ ] }),
74
+ /* @__PURE__ */ e("div", { className: "p-6", children: n })
75
+ ]
76
+ }
77
+ )
78
+ }
79
+ ) })
80
+ ] }) });
18
81
  }
19
82
  export {
20
- e as MyHomeVaultLogo
83
+ N as Modal
21
84
  };
22
85
  //# sourceMappingURL=index41.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index41.js","sources":["../src/components/Logo/MyHomeVaultLogo.tsx"],"sourcesContent":["import { cn } from '@/lib/utils'\n\nexport interface MyHomeVaultLogoProps {\n size?: 'sm' | 'md' | 'lg' | 'xl'\n className?: string\n}\n\nconst sizeStyles = {\n sm: 'h-6 max-w-[120px]',\n md: 'h-8 max-w-[160px]',\n lg: 'h-10 max-w-[200px]',\n xl: 'h-14 max-w-[280px]',\n}\n\nexport function MyHomeVaultLogo({ size = 'md', className }: MyHomeVaultLogoProps) {\n return (\n <img\n src=\"/logos/mhv-logo.png\"\n alt=\"My Home Vault\"\n className={cn(sizeStyles[size], 'w-auto object-contain', className)}\n />\n )\n}\n"],"names":["sizeStyles","MyHomeVaultLogo","size","className","jsx","cn"],"mappings":";;AAOA,MAAMA,IAAa;AAAA,EACjB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEO,SAASC,EAAgB,EAAE,MAAAC,IAAO,MAAM,WAAAC,KAAmC;AAChF,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAI;AAAA,MACJ,KAAI;AAAA,MACJ,WAAWC,EAAGL,EAAWE,CAAI,GAAG,yBAAyBC,CAAS;AAAA,IAAA;AAAA,EAAA;AAGxE;"}
1
+ {"version":3,"file":"index41.js","sources":["../src/components/Modal/Modal.tsx"],"sourcesContent":["import { Fragment, type ReactNode } from 'react'\nimport {\n Dialog,\n DialogPanel,\n DialogTitle,\n Transition,\n TransitionChild,\n} from '@headlessui/react'\nimport { XMarkIcon } from '@heroicons/react/24/outline'\nimport { cn } from '@/lib/utils'\n\nexport interface ModalProps {\n open: boolean\n onClose: () => void\n title?: string\n children?: ReactNode\n maxWidth?: 'sm' | 'md' | 'lg' | 'xl' | '2xl'\n className?: string\n}\n\nconst maxWidthStyles = {\n sm: 'max-w-sm',\n md: 'max-w-md',\n lg: 'max-w-lg',\n xl: 'max-w-xl',\n '2xl': 'max-w-2xl',\n}\n\nexport function Modal({\n open,\n onClose,\n title,\n children,\n maxWidth = 'md',\n className,\n}: ModalProps) {\n return (\n <Transition show={open} as={Fragment}>\n <Dialog onClose={onClose} className=\"relative z-50\">\n {/* Backdrop */}\n <TransitionChild\n as={Fragment}\n enter=\"ease-out duration-300\"\n enterFrom=\"opacity-0\"\n enterTo=\"opacity-100\"\n leave=\"ease-in duration-200\"\n leaveFrom=\"opacity-100\"\n leaveTo=\"opacity-0\"\n >\n <div className=\"fixed inset-0 bg-black/50\" aria-hidden=\"true\" />\n </TransitionChild>\n\n {/* Full-screen container for centering */}\n <div className=\"fixed inset-0 flex items-center justify-center p-4\">\n <TransitionChild\n as={Fragment}\n enter=\"ease-out duration-300\"\n enterFrom=\"opacity-0 scale-95\"\n enterTo=\"opacity-100 scale-100\"\n leave=\"ease-in duration-200\"\n leaveFrom=\"opacity-100 scale-100\"\n leaveTo=\"opacity-0 scale-95\"\n >\n <DialogPanel\n className={cn(\n 'w-full bg-white rounded-2xl shadow-xl',\n 'transform transition-all',\n maxWidthStyles[maxWidth],\n className\n )}\n >\n {/* Header */}\n {title && (\n <div className=\"flex items-center justify-between px-6 py-4 border-b border-slate-200\">\n <DialogTitle className=\"text-lg font-semibold text-slate-900\">\n {title}\n </DialogTitle>\n <button\n type=\"button\"\n onClick={onClose}\n className={cn(\n 'p-1 rounded-lg transition-colors duration-200',\n 'text-slate-400 hover:text-slate-600 hover:bg-slate-100',\n 'focus:outline-none focus:ring-2 focus:ring-primary-500'\n )}\n >\n <XMarkIcon className=\"h-5 w-5\" />\n <span className=\"sr-only\">Close</span>\n </button>\n </div>\n )}\n\n {/* Content */}\n <div className=\"p-6\">{children}</div>\n </DialogPanel>\n </TransitionChild>\n </div>\n </Dialog>\n </Transition>\n )\n}\n"],"names":["maxWidthStyles","Modal","open","onClose","title","children","maxWidth","className","jsx","Transition","Fragment","jsxs","Dialog","TransitionChild","DialogPanel","cn","DialogTitle","XMarkIcon"],"mappings":";;;;;AAoBA,MAAMA,IAAiB;AAAA,EACrB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,OAAO;AACT;AAEO,SAASC,EAAM;AAAA,EACpB,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,WAAAC;AACF,GAAe;AACb,SACE,gBAAAC,EAACC,GAAA,EAAW,MAAMP,GAAM,IAAIQ,GAC1B,UAAA,gBAAAC,EAACC,GAAA,EAAO,SAAAT,GAAkB,WAAU,iBAElC,UAAA;AAAA,IAAA,gBAAAK;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,IAAIH;AAAA,QACJ,OAAM;AAAA,QACN,WAAU;AAAA,QACV,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,WAAU;AAAA,QACV,SAAQ;AAAA,QAER,UAAA,gBAAAF,EAAC,OAAA,EAAI,WAAU,6BAA4B,eAAY,OAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,IAIhE,gBAAAA,EAAC,OAAA,EAAI,WAAU,sDACb,UAAA,gBAAAA;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,IAAIH;AAAA,QACJ,OAAM;AAAA,QACN,WAAU;AAAA,QACV,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,WAAU;AAAA,QACV,SAAQ;AAAA,QAER,UAAA,gBAAAC;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,WAAWC;AAAA,cACT;AAAA,cACA;AAAA,cACAf,EAAeM,CAAQ;AAAA,cACvBC;AAAA,YAAA;AAAA,YAID,UAAA;AAAA,cAAAH,KACC,gBAAAO,EAAC,OAAA,EAAI,WAAU,yEACb,UAAA;AAAA,gBAAA,gBAAAH,EAACQ,GAAA,EAAY,WAAU,wCACpB,UAAAZ,GACH;AAAA,gBACA,gBAAAO;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,MAAK;AAAA,oBACL,SAASR;AAAA,oBACT,WAAWY;AAAA,sBACT;AAAA,sBACA;AAAA,sBACA;AAAA,oBAAA;AAAA,oBAGF,UAAA;AAAA,sBAAA,gBAAAP,EAACS,GAAA,EAAU,WAAU,UAAA,CAAU;AAAA,sBAC/B,gBAAAT,EAAC,QAAA,EAAK,WAAU,WAAU,UAAA,QAAA,CAAK;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACjC,GACF;AAAA,cAIF,gBAAAA,EAAC,OAAA,EAAI,WAAU,OAAO,UAAAH,EAAA,CAAS;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACjC;AAAA,IAAA,EACF,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;"}
package/dist/index42.js CHANGED
@@ -1,37 +1,52 @@
1
- import { jsx as e, jsxs as s } from "react/jsx-runtime";
2
- import { Modal as a } from "./index39.js";
3
- import { Button as n } from "./index17.js";
4
- const p = ({
5
- isOpen: l,
6
- onClose: t,
7
- message: r,
8
- title: c = "Notification",
9
- icon: i,
10
- confirmText: m = "OK",
1
+ import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
+ import { useState as d } from "react";
3
+ import { cn as i } from "./index3.js";
4
+ import { Checkbox as x } from "./index24.js";
5
+ import { ChevronUpIcon as f, ChevronDownIcon as u } from "@heroicons/react/24/outline";
6
+ const w = ({
7
+ label: c,
8
+ items: t,
9
+ onChange: r,
10
+ initialDisplayCount: a = 5,
11
11
  className: o
12
- }) => /* @__PURE__ */ e(
13
- a,
14
- {
15
- open: l,
16
- onClose: t,
17
- title: c,
18
- maxWidth: "sm",
19
- className: o,
20
- children: /* @__PURE__ */ s("div", { className: "flex flex-col items-center text-center px-4 py-6", children: [
21
- i && /* @__PURE__ */ e("div", { className: "mb-4", children: i }),
22
- /* @__PURE__ */ e("p", { className: "text-slate-700 mb-8", children: r }),
23
- /* @__PURE__ */ e(
24
- n,
25
- {
26
- onClick: t,
27
- className: "w-full",
28
- children: m
29
- }
30
- )
31
- ] })
32
- }
33
- );
12
+ }) => {
13
+ const [n, h] = d(!1);
14
+ if (t.length === 0) return null;
15
+ const m = n ? t.length : Math.min(t.length, a), p = t.length > a;
16
+ return /* @__PURE__ */ l("div", { className: i("w-full", o), children: [
17
+ /* @__PURE__ */ e("h3", { className: "text-sm font-semibold text-primary-500 mb-3", children: c }),
18
+ /* @__PURE__ */ e("div", { className: "space-y-2", children: t.slice(0, m).map((s) => /* @__PURE__ */ l(
19
+ "label",
20
+ {
21
+ className: "flex items-center gap-3 cursor-pointer",
22
+ children: [
23
+ /* @__PURE__ */ e(
24
+ x,
25
+ {
26
+ checked: s.checked || !1,
27
+ onChange: () => r(s.value, !s.checked)
28
+ }
29
+ ),
30
+ /* @__PURE__ */ e("span", { className: "text-sm text-slate-700 flex-1", children: s.name })
31
+ ]
32
+ },
33
+ `${c}-${s.value}`
34
+ )) }),
35
+ p && /* @__PURE__ */ l(
36
+ "button",
37
+ {
38
+ type: "button",
39
+ onClick: () => h(!n),
40
+ className: "flex items-center justify-center gap-1 w-full mt-3 py-2 text-sm text-slate-600 hover:text-slate-800 transition-colors",
41
+ children: [
42
+ /* @__PURE__ */ e("span", { children: n ? "Less" : "More" }),
43
+ n ? /* @__PURE__ */ e(f, { className: "w-4 h-4" }) : /* @__PURE__ */ e(u, { className: "w-4 h-4" })
44
+ ]
45
+ }
46
+ )
47
+ ] });
48
+ };
34
49
  export {
35
- p as Notification
50
+ w as MultiItemSelect
36
51
  };
37
52
  //# sourceMappingURL=index42.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index42.js","sources":["../src/components/Notification/Notification.tsx"],"sourcesContent":["import { type ReactNode } from 'react'\nimport { Modal } from '../Modal/Modal'\nimport { Button } from '../Button/Button'\n\nexport interface NotificationProps {\n isOpen: boolean\n onClose: () => void\n message: string\n title?: string\n icon?: ReactNode\n confirmText?: string\n className?: string\n}\n\nexport const Notification = ({\n isOpen,\n onClose,\n message,\n title = 'Notification',\n icon,\n confirmText = 'OK',\n className,\n}: NotificationProps) => {\n return (\n <Modal\n open={isOpen}\n onClose={onClose}\n title={title}\n maxWidth=\"sm\"\n className={className}\n >\n <div className=\"flex flex-col items-center text-center px-4 py-6\">\n {icon && (\n <div className=\"mb-4\">\n {icon}\n </div>\n )}\n\n <p className=\"text-slate-700 mb-8\">\n {message}\n </p>\n\n <Button\n onClick={onClose}\n className=\"w-full\"\n >\n {confirmText}\n </Button>\n </div>\n </Modal>\n )\n}\n"],"names":["Notification","isOpen","onClose","message","title","icon","confirmText","className","jsx","Modal","jsxs","Button"],"mappings":";;;AAcO,MAAMA,IAAe,CAAC;AAAA,EAC3B,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,MAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,WAAAC;AACF,MAEI,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,MAAMR;AAAA,IACN,SAAAC;AAAA,IACA,OAAAE;AAAA,IACA,UAAS;AAAA,IACT,WAAAG;AAAA,IAEA,UAAA,gBAAAG,EAAC,OAAA,EAAI,WAAU,oDACZ,UAAA;AAAA,MAAAL,KACC,gBAAAG,EAAC,OAAA,EAAI,WAAU,QACZ,UAAAH,GACH;AAAA,MAGF,gBAAAG,EAAC,KAAA,EAAE,WAAU,uBACV,UAAAL,GACH;AAAA,MAEA,gBAAAK;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,SAAST;AAAA,UACT,WAAU;AAAA,UAET,UAAAI;AAAA,QAAA;AAAA,MAAA;AAAA,IACH,EAAA,CACF;AAAA,EAAA;AAAA;"}
1
+ {"version":3,"file":"index42.js","sources":["../src/components/MultiItemSelect/MultiItemSelect.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { cn } from '@/lib/utils'\nimport { Checkbox } from '../Checkbox/Checkbox'\nimport { ChevronDownIcon, ChevronUpIcon } from '@heroicons/react/24/outline'\n\nexport interface MultiItemSelectItem {\n name: string\n value: string\n checked?: boolean\n}\n\nexport interface MultiItemSelectProps {\n label: string\n items: MultiItemSelectItem[]\n onChange: (value: string, checked: boolean) => void\n initialDisplayCount?: number\n className?: string\n}\n\nexport const MultiItemSelect = ({\n label,\n items,\n onChange,\n initialDisplayCount = 5,\n className,\n}: MultiItemSelectProps) => {\n const [isExpanded, setIsExpanded] = useState(false)\n\n if (items.length === 0) return null\n\n const displayCount = isExpanded ? items.length : Math.min(items.length, initialDisplayCount)\n const hasMore = items.length > initialDisplayCount\n\n return (\n <div className={cn('w-full', className)}>\n <h3 className=\"text-sm font-semibold text-primary-500 mb-3\">\n {label}\n </h3>\n\n <div className=\"space-y-2\">\n {items.slice(0, displayCount).map((item) => (\n <label\n key={`${label}-${item.value}`}\n className=\"flex items-center gap-3 cursor-pointer\"\n >\n <Checkbox\n checked={item.checked || false}\n onChange={() => onChange(item.value, !item.checked)}\n />\n <span className=\"text-sm text-slate-700 flex-1\">\n {item.name}\n </span>\n </label>\n ))}\n </div>\n\n {hasMore && (\n <button\n type=\"button\"\n onClick={() => setIsExpanded(!isExpanded)}\n className=\"flex items-center justify-center gap-1 w-full mt-3 py-2 text-sm text-slate-600 hover:text-slate-800 transition-colors\"\n >\n <span>{isExpanded ? 'Less' : 'More'}</span>\n {isExpanded ? (\n <ChevronUpIcon className=\"w-4 h-4\" />\n ) : (\n <ChevronDownIcon className=\"w-4 h-4\" />\n )}\n </button>\n )}\n </div>\n )\n}\n"],"names":["MultiItemSelect","label","items","onChange","initialDisplayCount","className","isExpanded","setIsExpanded","useState","displayCount","hasMore","cn","jsx","item","jsxs","Checkbox","ChevronUpIcon","ChevronDownIcon"],"mappings":";;;;;AAmBO,MAAMA,IAAkB,CAAC;AAAA,EAC9B,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,qBAAAC,IAAsB;AAAA,EACtB,WAAAC;AACF,MAA4B;AAC1B,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAAS,EAAK;AAElD,MAAIN,EAAM,WAAW,EAAG,QAAO;AAE/B,QAAMO,IAAeH,IAAaJ,EAAM,SAAS,KAAK,IAAIA,EAAM,QAAQE,CAAmB,GACrFM,IAAUR,EAAM,SAASE;AAE/B,2BACG,OAAA,EAAI,WAAWO,EAAG,UAAUN,CAAS,GACpC,UAAA;AAAA,IAAA,gBAAAO,EAAC,MAAA,EAAG,WAAU,+CACX,UAAAX,GACH;AAAA,IAEA,gBAAAW,EAAC,OAAA,EAAI,WAAU,aACZ,UAAAV,EAAM,MAAM,GAAGO,CAAY,EAAE,IAAI,CAACI,MACjC,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,WAAU;AAAA,QAEV,UAAA;AAAA,UAAA,gBAAAF;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,SAASF,EAAK,WAAW;AAAA,cACzB,UAAU,MAAMV,EAASU,EAAK,OAAO,CAACA,EAAK,OAAO;AAAA,YAAA;AAAA,UAAA;AAAA,UAEpD,gBAAAD,EAAC,QAAA,EAAK,WAAU,iCACb,YAAK,KAAA,CACR;AAAA,QAAA;AAAA,MAAA;AAAA,MATK,GAAGX,CAAK,IAAIY,EAAK,KAAK;AAAA,IAAA,CAW9B,GACH;AAAA,IAECH,KACC,gBAAAI;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAS,MAAMP,EAAc,CAACD,CAAU;AAAA,QACxC,WAAU;AAAA,QAEV,UAAA;AAAA,UAAA,gBAAAM,EAAC,QAAA,EAAM,UAAAN,IAAa,SAAS,QAAO;AAAA,UACnCA,sBACEU,GAAA,EAAc,WAAU,WAAU,IAEnC,gBAAAJ,EAACK,GAAA,EAAgB,WAAU,UAAA,CAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEzC,GAEJ;AAEJ;"}
package/dist/index43.js CHANGED
@@ -1,16 +1,22 @@
1
- import { jsxs as s, jsx as e } from "react/jsx-runtime";
1
+ import { jsx as t } from "react/jsx-runtime";
2
2
  import { cn as a } from "./index3.js";
3
- function l({
4
- label: r = "or",
5
- className: t
6
- }) {
7
- return /* @__PURE__ */ s("div", { className: a("flex items-center gap-3", t), children: [
8
- /* @__PURE__ */ e("div", { className: "flex-1 border-t border-slate-200" }),
9
- /* @__PURE__ */ e("span", { className: "text-sm text-slate-400 font-medium", children: r }),
10
- /* @__PURE__ */ e("div", { className: "flex-1 border-t border-slate-200" })
11
- ] });
3
+ const x = {
4
+ sm: "h-6 max-w-[120px]",
5
+ md: "h-8 max-w-[160px]",
6
+ lg: "h-10 max-w-[200px]",
7
+ xl: "h-14 max-w-[280px]"
8
+ };
9
+ function e({ size: o = "md", className: m }) {
10
+ return /* @__PURE__ */ t(
11
+ "img",
12
+ {
13
+ src: "/logos/mhv-logo.png",
14
+ alt: "My Home Vault",
15
+ className: a(x[o], "w-auto object-contain", m)
16
+ }
17
+ );
12
18
  }
13
19
  export {
14
- l as OptionDivider
20
+ e as MyHomeVaultLogo
15
21
  };
16
22
  //# sourceMappingURL=index43.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index43.js","sources":["../src/components/OptionDivider/OptionDivider.tsx"],"sourcesContent":["import { cn } from '@/lib/utils'\n\nexport interface OptionDividerProps {\n label?: string\n className?: string\n}\n\nexport function OptionDivider({\n label = 'or',\n className,\n}: OptionDividerProps) {\n return (\n <div className={cn('flex items-center gap-3', className)}>\n <div className=\"flex-1 border-t border-slate-200\" />\n <span className=\"text-sm text-slate-400 font-medium\">{label}</span>\n <div className=\"flex-1 border-t border-slate-200\" />\n </div>\n )\n}\n"],"names":["OptionDivider","label","className","cn","jsx"],"mappings":";;AAOO,SAASA,EAAc;AAAA,EAC5B,OAAAC,IAAQ;AAAA,EACR,WAAAC;AACF,GAAuB;AACrB,2BACG,OAAA,EAAI,WAAWC,EAAG,2BAA2BD,CAAS,GACrD,UAAA;AAAA,IAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,mCAAA,CAAmC;AAAA,IAClD,gBAAAA,EAAC,QAAA,EAAK,WAAU,sCAAsC,UAAAH,GAAM;AAAA,IAC5D,gBAAAG,EAAC,OAAA,EAAI,WAAU,mCAAA,CAAmC;AAAA,EAAA,GACpD;AAEJ;"}
1
+ {"version":3,"file":"index43.js","sources":["../src/components/Logo/MyHomeVaultLogo.tsx"],"sourcesContent":["import { cn } from '@/lib/utils'\n\nexport interface MyHomeVaultLogoProps {\n size?: 'sm' | 'md' | 'lg' | 'xl'\n className?: string\n}\n\nconst sizeStyles = {\n sm: 'h-6 max-w-[120px]',\n md: 'h-8 max-w-[160px]',\n lg: 'h-10 max-w-[200px]',\n xl: 'h-14 max-w-[280px]',\n}\n\nexport function MyHomeVaultLogo({ size = 'md', className }: MyHomeVaultLogoProps) {\n return (\n <img\n src=\"/logos/mhv-logo.png\"\n alt=\"My Home Vault\"\n className={cn(sizeStyles[size], 'w-auto object-contain', className)}\n />\n )\n}\n"],"names":["sizeStyles","MyHomeVaultLogo","size","className","jsx","cn"],"mappings":";;AAOA,MAAMA,IAAa;AAAA,EACjB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEO,SAASC,EAAgB,EAAE,MAAAC,IAAO,MAAM,WAAAC,KAAmC;AAChF,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAI;AAAA,MACJ,KAAI;AAAA,MACJ,WAAWC,EAAGL,EAAWE,CAAI,GAAG,yBAAyBC,CAAS;AAAA,IAAA;AAAA,EAAA;AAGxE;"}
package/dist/index44.js CHANGED
@@ -1,18 +1,37 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import { cn as i } from "./index3.js";
3
- function a({ children: t, className: e }) {
4
- return /* @__PURE__ */ r(
5
- "h1",
6
- {
7
- className: i(
8
- "text-5xl font-light text-slate-900 tracking-tight",
9
- e
10
- ),
11
- children: t
12
- }
13
- );
14
- }
1
+ import { jsx as e, jsxs as s } from "react/jsx-runtime";
2
+ import { Modal as a } from "./index41.js";
3
+ import { Button as n } from "./index19.js";
4
+ const p = ({
5
+ isOpen: l,
6
+ onClose: t,
7
+ message: r,
8
+ title: c = "Notification",
9
+ icon: i,
10
+ confirmText: m = "OK",
11
+ className: o
12
+ }) => /* @__PURE__ */ e(
13
+ a,
14
+ {
15
+ open: l,
16
+ onClose: t,
17
+ title: c,
18
+ maxWidth: "sm",
19
+ className: o,
20
+ children: /* @__PURE__ */ s("div", { className: "flex flex-col items-center text-center px-4 py-6", children: [
21
+ i && /* @__PURE__ */ e("div", { className: "mb-4", children: i }),
22
+ /* @__PURE__ */ e("p", { className: "text-slate-700 mb-8", children: r }),
23
+ /* @__PURE__ */ e(
24
+ n,
25
+ {
26
+ onClick: t,
27
+ className: "w-full",
28
+ children: m
29
+ }
30
+ )
31
+ ] })
32
+ }
33
+ );
15
34
  export {
16
- a as PageHeading
35
+ p as Notification
17
36
  };
18
37
  //# sourceMappingURL=index44.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index44.js","sources":["../src/components/Typography/PageHeading.tsx"],"sourcesContent":["import { cn } from '@/lib/utils'\nimport type { ReactNode } from 'react'\n\nexport interface PageHeadingProps {\n children: ReactNode\n className?: string\n}\n\nexport function PageHeading({ children, className }: PageHeadingProps) {\n return (\n <h1\n className={cn(\n 'text-5xl font-light text-slate-900 tracking-tight',\n className\n )}\n >\n {children}\n </h1>\n )\n}\n"],"names":["PageHeading","children","className","jsx","cn"],"mappings":";;AAQO,SAASA,EAAY,EAAE,UAAAC,GAAU,WAAAC,KAA+B;AACrE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAF;AAAA,MAAA;AAAA,MAGD,UAAAD;AAAA,IAAA;AAAA,EAAA;AAGP;"}
1
+ {"version":3,"file":"index44.js","sources":["../src/components/Notification/Notification.tsx"],"sourcesContent":["import { type ReactNode } from 'react'\nimport { Modal } from '../Modal/Modal'\nimport { Button } from '../Button/Button'\n\nexport interface NotificationProps {\n isOpen: boolean\n onClose: () => void\n message: string\n title?: string\n icon?: ReactNode\n confirmText?: string\n className?: string\n}\n\nexport const Notification = ({\n isOpen,\n onClose,\n message,\n title = 'Notification',\n icon,\n confirmText = 'OK',\n className,\n}: NotificationProps) => {\n return (\n <Modal\n open={isOpen}\n onClose={onClose}\n title={title}\n maxWidth=\"sm\"\n className={className}\n >\n <div className=\"flex flex-col items-center text-center px-4 py-6\">\n {icon && (\n <div className=\"mb-4\">\n {icon}\n </div>\n )}\n\n <p className=\"text-slate-700 mb-8\">\n {message}\n </p>\n\n <Button\n onClick={onClose}\n className=\"w-full\"\n >\n {confirmText}\n </Button>\n </div>\n </Modal>\n )\n}\n"],"names":["Notification","isOpen","onClose","message","title","icon","confirmText","className","jsx","Modal","jsxs","Button"],"mappings":";;;AAcO,MAAMA,IAAe,CAAC;AAAA,EAC3B,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,MAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,WAAAC;AACF,MAEI,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,MAAMR;AAAA,IACN,SAAAC;AAAA,IACA,OAAAE;AAAA,IACA,UAAS;AAAA,IACT,WAAAG;AAAA,IAEA,UAAA,gBAAAG,EAAC,OAAA,EAAI,WAAU,oDACZ,UAAA;AAAA,MAAAL,KACC,gBAAAG,EAAC,OAAA,EAAI,WAAU,QACZ,UAAAH,GACH;AAAA,MAGF,gBAAAG,EAAC,KAAA,EAAE,WAAU,uBACV,UAAAL,GACH;AAAA,MAEA,gBAAAK;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,SAAST;AAAA,UACT,WAAU;AAAA,UAET,UAAAI;AAAA,QAAA;AAAA,MAAA;AAAA,IACH,EAAA,CACF;AAAA,EAAA;AAAA;"}
package/dist/index45.js CHANGED
@@ -1,94 +1,21 @@
1
- import { jsxs as m, jsx as s } from "react/jsx-runtime";
2
- import { ChevronLeftIcon as b, ChevronRightIcon as f } from "@heroicons/react/20/solid";
3
- import { cn as c } from "./index3.js";
4
- function p(i, t) {
5
- return Array.from({ length: t - i + 1 }, (e, l) => i + l);
6
- }
7
- function u(i, t, e) {
8
- const l = e * 2 + 5;
9
- if (t <= l)
10
- return p(1, t);
11
- const o = Math.max(i - e, 1), r = Math.min(i + e, t), a = o > 2, d = r < t - 1;
12
- return !a && d ? [...p(1, 3 + e * 2), "ellipsis", t] : a && !d ? [1, "ellipsis", ...p(t - (2 + e * 2), t)] : [1, "ellipsis", ...p(o, r), "ellipsis", t];
13
- }
14
- function R({
15
- currentPage: i,
16
- totalPages: t,
17
- onPageChange: e,
18
- siblingCount: l = 1,
19
- className: o
1
+ import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
+ import { cn as l } from "./index3.js";
3
+ function o({
4
+ label: r = "or",
5
+ orientation: a = "horizontal",
6
+ className: t
20
7
  }) {
21
- const r = u(i, t, l);
22
- if (t <= 1)
23
- return null;
24
- const a = () => {
25
- i > 1 && e(i - 1);
26
- }, d = () => {
27
- i < t && e(i + 1);
28
- };
29
- return /* @__PURE__ */ m(
30
- "nav",
31
- {
32
- "aria-label": "Pagination",
33
- className: c("flex items-center justify-center gap-1", o),
34
- children: [
35
- /* @__PURE__ */ s(
36
- "button",
37
- {
38
- type: "button",
39
- onClick: a,
40
- disabled: i === 1,
41
- className: c(
42
- "p-2 rounded-lg transition-colors duration-150",
43
- "text-slate-500 hover:bg-slate-100 hover:text-slate-700",
44
- "disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-transparent"
45
- ),
46
- "aria-label": "Previous page",
47
- children: /* @__PURE__ */ s(b, { className: "h-5 w-5" })
48
- }
49
- ),
50
- r.map((n, h) => n === "ellipsis" ? /* @__PURE__ */ s(
51
- "span",
52
- {
53
- className: "px-3 py-2 text-slate-400",
54
- children: "..."
55
- },
56
- `ellipsis-${h}`
57
- ) : /* @__PURE__ */ s(
58
- "button",
59
- {
60
- type: "button",
61
- onClick: () => e(n),
62
- className: c(
63
- "min-w-[40px] h-10 px-3 rounded-lg text-sm font-medium",
64
- "transition-colors duration-150",
65
- n === i ? "bg-primary-500 text-white" : "text-slate-700 hover:bg-slate-100"
66
- ),
67
- "aria-current": n === i ? "page" : void 0,
68
- children: n
69
- },
70
- n
71
- )),
72
- /* @__PURE__ */ s(
73
- "button",
74
- {
75
- type: "button",
76
- onClick: d,
77
- disabled: i === t,
78
- className: c(
79
- "p-2 rounded-lg transition-colors duration-150",
80
- "text-slate-500 hover:bg-slate-100 hover:text-slate-700",
81
- "disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-transparent"
82
- ),
83
- "aria-label": "Next page",
84
- children: /* @__PURE__ */ s(f, { className: "h-5 w-5" })
85
- }
86
- )
87
- ]
88
- }
89
- );
8
+ return a === "vertical" ? /* @__PURE__ */ s("div", { className: l("flex flex-col items-center gap-3 self-stretch", t), children: [
9
+ /* @__PURE__ */ e("div", { className: "flex-1 border-l border-slate-200" }),
10
+ /* @__PURE__ */ e("span", { className: "text-sm text-slate-400 font-medium", children: r }),
11
+ /* @__PURE__ */ e("div", { className: "flex-1 border-l border-slate-200" })
12
+ ] }) : /* @__PURE__ */ s("div", { className: l("flex items-center gap-3", t), children: [
13
+ /* @__PURE__ */ e("div", { className: "flex-1 border-t border-slate-200" }),
14
+ /* @__PURE__ */ e("span", { className: "text-sm text-slate-400 font-medium", children: r }),
15
+ /* @__PURE__ */ e("div", { className: "flex-1 border-t border-slate-200" })
16
+ ] });
90
17
  }
91
18
  export {
92
- R as Pagination
19
+ o as OptionDivider
93
20
  };
94
21
  //# sourceMappingURL=index45.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index45.js","sources":["../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import { ChevronLeftIcon, ChevronRightIcon } from '@heroicons/react/20/solid'\nimport { cn } from '@/lib/utils'\n\nexport interface PaginationProps {\n currentPage: number\n totalPages: number\n onPageChange: (page: number) => void\n siblingCount?: number\n className?: string\n}\n\nfunction range(start: number, end: number): number[] {\n return Array.from({ length: end - start + 1 }, (_, i) => start + i)\n}\n\nfunction getPaginationRange(\n currentPage: number,\n totalPages: number,\n siblingCount: number\n): (number | 'ellipsis')[] {\n const totalPageNumbers = siblingCount * 2 + 5 // siblings + first + last + current + 2 ellipsis\n\n if (totalPages <= totalPageNumbers) {\n return range(1, totalPages)\n }\n\n const leftSiblingIndex = Math.max(currentPage - siblingCount, 1)\n const rightSiblingIndex = Math.min(currentPage + siblingCount, totalPages)\n\n const showLeftEllipsis = leftSiblingIndex > 2\n const showRightEllipsis = rightSiblingIndex < totalPages - 1\n\n if (!showLeftEllipsis && showRightEllipsis) {\n const leftRange = range(1, 3 + siblingCount * 2)\n return [...leftRange, 'ellipsis', totalPages]\n }\n\n if (showLeftEllipsis && !showRightEllipsis) {\n const rightRange = range(totalPages - (2 + siblingCount * 2), totalPages)\n return [1, 'ellipsis', ...rightRange]\n }\n\n const middleRange = range(leftSiblingIndex, rightSiblingIndex)\n return [1, 'ellipsis', ...middleRange, 'ellipsis', totalPages]\n}\n\nexport function Pagination({\n currentPage,\n totalPages,\n onPageChange,\n siblingCount = 1,\n className,\n}: PaginationProps) {\n const paginationRange = getPaginationRange(currentPage, totalPages, siblingCount)\n\n if (totalPages <= 1) {\n return null\n }\n\n const onPrevious = () => {\n if (currentPage > 1) {\n onPageChange(currentPage - 1)\n }\n }\n\n const onNext = () => {\n if (currentPage < totalPages) {\n onPageChange(currentPage + 1)\n }\n }\n\n return (\n <nav\n aria-label=\"Pagination\"\n className={cn('flex items-center justify-center gap-1', className)}\n >\n <button\n type=\"button\"\n onClick={onPrevious}\n disabled={currentPage === 1}\n className={cn(\n 'p-2 rounded-lg transition-colors duration-150',\n 'text-slate-500 hover:bg-slate-100 hover:text-slate-700',\n 'disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-transparent'\n )}\n aria-label=\"Previous page\"\n >\n <ChevronLeftIcon className=\"h-5 w-5\" />\n </button>\n\n {paginationRange.map((page, index) => {\n if (page === 'ellipsis') {\n return (\n <span\n key={`ellipsis-${index}`}\n className=\"px-3 py-2 text-slate-400\"\n >\n ...\n </span>\n )\n }\n\n return (\n <button\n key={page}\n type=\"button\"\n onClick={() => onPageChange(page)}\n className={cn(\n 'min-w-[40px] h-10 px-3 rounded-lg text-sm font-medium',\n 'transition-colors duration-150',\n page === currentPage\n ? 'bg-primary-500 text-white'\n : 'text-slate-700 hover:bg-slate-100'\n )}\n aria-current={page === currentPage ? 'page' : undefined}\n >\n {page}\n </button>\n )\n })}\n\n <button\n type=\"button\"\n onClick={onNext}\n disabled={currentPage === totalPages}\n className={cn(\n 'p-2 rounded-lg transition-colors duration-150',\n 'text-slate-500 hover:bg-slate-100 hover:text-slate-700',\n 'disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-transparent'\n )}\n aria-label=\"Next page\"\n >\n <ChevronRightIcon className=\"h-5 w-5\" />\n </button>\n </nav>\n )\n}\n"],"names":["range","start","end","_","i","getPaginationRange","currentPage","totalPages","siblingCount","totalPageNumbers","leftSiblingIndex","rightSiblingIndex","showLeftEllipsis","showRightEllipsis","Pagination","onPageChange","className","paginationRange","onPrevious","onNext","jsxs","cn","jsx","ChevronLeftIcon","page","index","ChevronRightIcon"],"mappings":";;;AAWA,SAASA,EAAMC,GAAeC,GAAuB;AACnD,SAAO,MAAM,KAAK,EAAE,QAAQA,IAAMD,IAAQ,EAAA,GAAK,CAACE,GAAGC,MAAMH,IAAQG,CAAC;AACpE;AAEA,SAASC,EACPC,GACAC,GACAC,GACyB;AACzB,QAAMC,IAAmBD,IAAe,IAAI;AAE5C,MAAID,KAAcE;AAChB,WAAOT,EAAM,GAAGO,CAAU;AAG5B,QAAMG,IAAmB,KAAK,IAAIJ,IAAcE,GAAc,CAAC,GACzDG,IAAoB,KAAK,IAAIL,IAAcE,GAAcD,CAAU,GAEnEK,IAAmBF,IAAmB,GACtCG,IAAoBF,IAAoBJ,IAAa;AAE3D,SAAI,CAACK,KAAoBC,IAEhB,CAAC,GADUb,EAAM,GAAG,IAAIQ,IAAe,CAAC,GACzB,YAAYD,CAAU,IAG1CK,KAAoB,CAACC,IAEhB,CAAC,GAAG,YAAY,GADJb,EAAMO,KAAc,IAAIC,IAAe,IAAID,CAAU,CACpC,IAI/B,CAAC,GAAG,YAAY,GADHP,EAAMU,GAAkBC,CAAiB,GACtB,YAAYJ,CAAU;AAC/D;AAEO,SAASO,EAAW;AAAA,EACzB,aAAAR;AAAA,EACA,YAAAC;AAAA,EACA,cAAAQ;AAAA,EACA,cAAAP,IAAe;AAAA,EACf,WAAAQ;AACF,GAAoB;AAClB,QAAMC,IAAkBZ,EAAmBC,GAAaC,GAAYC,CAAY;AAEhF,MAAID,KAAc;AAChB,WAAO;AAGT,QAAMW,IAAa,MAAM;AACvB,IAAIZ,IAAc,KAChBS,EAAaT,IAAc,CAAC;AAAA,EAEhC,GAEMa,IAAS,MAAM;AACnB,IAAIb,IAAcC,KAChBQ,EAAaT,IAAc,CAAC;AAAA,EAEhC;AAEA,SACE,gBAAAc;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,cAAW;AAAA,MACX,WAAWC,EAAG,0CAA0CL,CAAS;AAAA,MAEjE,UAAA;AAAA,QAAA,gBAAAM;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,SAASJ;AAAA,YACT,UAAUZ,MAAgB;AAAA,YAC1B,WAAWe;AAAA,cACT;AAAA,cACA;AAAA,cACA;AAAA,YAAA;AAAA,YAEF,cAAW;AAAA,YAEX,UAAA,gBAAAC,EAACC,GAAA,EAAgB,WAAU,UAAA,CAAU;AAAA,UAAA;AAAA,QAAA;AAAA,QAGtCN,EAAgB,IAAI,CAACO,GAAMC,MACtBD,MAAS,aAET,gBAAAF;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,WAAU;AAAA,YACX,UAAA;AAAA,UAAA;AAAA,UAFM,YAAYG,CAAK;AAAA,QAAA,IAS1B,gBAAAH;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,MAAK;AAAA,YACL,SAAS,MAAMP,EAAaS,CAAI;AAAA,YAChC,WAAWH;AAAA,cACT;AAAA,cACA;AAAA,cACAG,MAASlB,IACL,8BACA;AAAA,YAAA;AAAA,YAEN,gBAAckB,MAASlB,IAAc,SAAS;AAAA,YAE7C,UAAAkB;AAAA,UAAA;AAAA,UAZIA;AAAA,QAAA,CAeV;AAAA,QAED,gBAAAF;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,SAASH;AAAA,YACT,UAAUb,MAAgBC;AAAA,YAC1B,WAAWc;AAAA,cACT;AAAA,cACA;AAAA,cACA;AAAA,YAAA;AAAA,YAEF,cAAW;AAAA,YAEX,UAAA,gBAAAC,EAACI,GAAA,EAAiB,WAAU,UAAA,CAAU;AAAA,UAAA;AAAA,QAAA;AAAA,MACxC;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"index45.js","sources":["../src/components/OptionDivider/OptionDivider.tsx"],"sourcesContent":["import { cn } from '@/lib/utils'\n\nexport interface OptionDividerProps {\n label?: string\n orientation?: 'horizontal' | 'vertical'\n className?: string\n}\n\nexport function OptionDivider({\n label = 'or',\n orientation = 'horizontal',\n className,\n}: OptionDividerProps) {\n if (orientation === 'vertical') {\n return (\n <div className={cn('flex flex-col items-center gap-3 self-stretch', className)}>\n <div className=\"flex-1 border-l border-slate-200\" />\n <span className=\"text-sm text-slate-400 font-medium\">{label}</span>\n <div className=\"flex-1 border-l border-slate-200\" />\n </div>\n )\n }\n\n return (\n <div className={cn('flex items-center gap-3', className)}>\n <div className=\"flex-1 border-t border-slate-200\" />\n <span className=\"text-sm text-slate-400 font-medium\">{label}</span>\n <div className=\"flex-1 border-t border-slate-200\" />\n </div>\n )\n}\n"],"names":["OptionDivider","label","orientation","className","cn","jsx"],"mappings":";;AAQO,SAASA,EAAc;AAAA,EAC5B,OAAAC,IAAQ;AAAA,EACR,aAAAC,IAAc;AAAA,EACd,WAAAC;AACF,GAAuB;AACrB,SAAID,MAAgB,+BAEf,OAAA,EAAI,WAAWE,EAAG,iDAAiDD,CAAS,GAC3E,UAAA;AAAA,IAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,mCAAA,CAAmC;AAAA,IAClD,gBAAAA,EAAC,QAAA,EAAK,WAAU,sCAAsC,UAAAJ,GAAM;AAAA,IAC5D,gBAAAI,EAAC,OAAA,EAAI,WAAU,mCAAA,CAAmC;AAAA,EAAA,GACpD,sBAKD,OAAA,EAAI,WAAWD,EAAG,2BAA2BD,CAAS,GACrD,UAAA;AAAA,IAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,mCAAA,CAAmC;AAAA,IAClD,gBAAAA,EAAC,QAAA,EAAK,WAAU,sCAAsC,UAAAJ,GAAM;AAAA,IAC5D,gBAAAI,EAAC,OAAA,EAAI,WAAU,mCAAA,CAAmC;AAAA,EAAA,GACpD;AAEJ;"}
package/dist/index46.js CHANGED
@@ -1,72 +1,18 @@
1
- import { jsx as r, jsxs as a } from "react/jsx-runtime";
2
- import { cn as n } from "./index3.js";
3
- const i = ({ children: e, className: t }) => /* @__PURE__ */ r(
4
- "div",
5
- {
6
- className: n(
7
- "border border-slate-200 rounded-2xl p-6 bg-white relative",
8
- t
9
- ),
10
- children: e
11
- }
12
- ), m = ({ children: e, className: t }) => /* @__PURE__ */ r(
13
- "div",
14
- {
15
- className: n(
16
- "flex justify-between items-center mb-5",
17
- t
18
- ),
19
- children: e
20
- }
21
- ), d = ({ children: e, badge: t, className: s }) => /* @__PURE__ */ a("div", { className: n("flex items-center gap-3", s), children: [
22
- /* @__PURE__ */ r("h2", { className: "text-lg font-semibold text-primary-500 m-0", children: e }),
23
- t
24
- ] }), p = ({ children: e, onClick: t, disabled: s, className: o }) => /* @__PURE__ */ r(
25
- "button",
26
- {
27
- type: "button",
28
- onClick: t,
29
- disabled: s,
30
- className: n(
31
- "bg-transparent border-none p-0",
32
- "flex items-center gap-1.5",
33
- "cursor-pointer text-primary-500",
34
- "text-sm font-semibold",
35
- "transition-opacity hover:opacity-70",
36
- "disabled:opacity-40 disabled:cursor-not-allowed",
37
- o
38
- ),
39
- children: e
40
- }
41
- ), x = ({ children: e, className: t }) => /* @__PURE__ */ r("div", { className: t, children: e }), b = ({ children: e, className: t }) => /* @__PURE__ */ r(
42
- "div",
43
- {
44
- className: n(
45
- "border-t border-slate-100 pt-3 mt-4 text-center",
46
- t
47
- ),
48
- children: e
49
- }
50
- ), u = ({ message: e, action: t, className: s }) => /* @__PURE__ */ a(
51
- "div",
52
- {
53
- className: n(
54
- "flex flex-col items-center justify-center py-8 text-center",
55
- s
56
- ),
57
- children: [
58
- /* @__PURE__ */ r("p", { className: "text-sm text-slate-500 mb-4", children: e }),
59
- t
60
- ]
61
- }
62
- );
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { cn as i } from "./index3.js";
3
+ function a({ children: t, className: e }) {
4
+ return /* @__PURE__ */ r(
5
+ "h1",
6
+ {
7
+ className: i(
8
+ "text-5xl font-light text-slate-900 tracking-tight",
9
+ e
10
+ ),
11
+ children: t
12
+ }
13
+ );
14
+ }
63
15
  export {
64
- i as Panel,
65
- p as PanelAction,
66
- x as PanelBody,
67
- u as PanelEmptyState,
68
- b as PanelFooter,
69
- m as PanelHeader,
70
- d as PanelTitle
16
+ a as PageHeading
71
17
  };
72
18
  //# sourceMappingURL=index46.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index46.js","sources":["../src/components/Panel/Panel.tsx"],"sourcesContent":["import { type ReactNode } from 'react'\nimport { cn } from '@/lib/utils'\n\nexport interface PanelProps {\n children: ReactNode\n className?: string\n}\n\nexport const Panel = ({ children, className }: PanelProps) => {\n return (\n <div\n className={cn(\n 'border border-slate-200 rounded-2xl p-6 bg-white relative',\n className\n )}\n >\n {children}\n </div>\n )\n}\n\nexport interface PanelHeaderProps {\n children: ReactNode\n className?: string\n}\n\nexport const PanelHeader = ({ children, className }: PanelHeaderProps) => {\n return (\n <div\n className={cn(\n 'flex justify-between items-center mb-5',\n className\n )}\n >\n {children}\n </div>\n )\n}\n\nexport interface PanelTitleProps {\n children: ReactNode\n badge?: ReactNode\n className?: string\n}\n\nexport const PanelTitle = ({ children, badge, className }: PanelTitleProps) => {\n return (\n <div className={cn('flex items-center gap-3', className)}>\n <h2 className=\"text-lg font-semibold text-primary-500 m-0\">\n {children}\n </h2>\n {badge}\n </div>\n )\n}\n\nexport interface PanelActionProps {\n children: ReactNode\n onClick?: () => void\n disabled?: boolean\n className?: string\n}\n\nexport const PanelAction = ({ children, onClick, disabled, className }: PanelActionProps) => {\n return (\n <button\n type=\"button\"\n onClick={onClick}\n disabled={disabled}\n className={cn(\n 'bg-transparent border-none p-0',\n 'flex items-center gap-1.5',\n 'cursor-pointer text-primary-500',\n 'text-sm font-semibold',\n 'transition-opacity hover:opacity-70',\n 'disabled:opacity-40 disabled:cursor-not-allowed',\n className\n )}\n >\n {children}\n </button>\n )\n}\n\nexport interface PanelBodyProps {\n children: ReactNode\n className?: string\n}\n\nexport const PanelBody = ({ children, className }: PanelBodyProps) => {\n return (\n <div className={className}>\n {children}\n </div>\n )\n}\n\nexport interface PanelFooterProps {\n children: ReactNode\n className?: string\n}\n\nexport const PanelFooter = ({ children, className }: PanelFooterProps) => {\n return (\n <div\n className={cn(\n 'border-t border-slate-100 pt-3 mt-4 text-center',\n className\n )}\n >\n {children}\n </div>\n )\n}\n\nexport interface PanelEmptyStateProps {\n message: string\n action?: ReactNode\n className?: string\n}\n\nexport const PanelEmptyState = ({ message, action, className }: PanelEmptyStateProps) => {\n return (\n <div\n className={cn(\n 'flex flex-col items-center justify-center py-8 text-center',\n className\n )}\n >\n <p className=\"text-sm text-slate-500 mb-4\">{message}</p>\n {action}\n </div>\n )\n}\n"],"names":["Panel","children","className","jsx","cn","PanelHeader","PanelTitle","badge","PanelAction","onClick","disabled","PanelBody","PanelFooter","PanelEmptyState","message","action","jsxs"],"mappings":";;AAQO,MAAMA,IAAQ,CAAC,EAAE,UAAAC,GAAU,WAAAC,QAE9B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAF;AAAA,IAAA;AAAA,IAGD,UAAAD;AAAA,EAAA;AAAA,GAUMI,IAAc,CAAC,EAAE,UAAAJ,GAAU,WAAAC,QAEpC,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAF;AAAA,IAAA;AAAA,IAGD,UAAAD;AAAA,EAAA;AAAA,GAWMK,IAAa,CAAC,EAAE,UAAAL,GAAU,OAAAM,GAAO,WAAAL,0BAEzC,OAAA,EAAI,WAAWE,EAAG,2BAA2BF,CAAS,GACrD,UAAA;AAAA,EAAA,gBAAAC,EAAC,MAAA,EAAG,WAAU,8CACX,UAAAF,EAAA,CACH;AAAA,EACCM;AAAA,GACH,GAWSC,IAAc,CAAC,EAAE,UAAAP,GAAU,SAAAQ,GAAS,UAAAC,GAAU,WAAAR,QAEvD,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,SAAAM;AAAA,IACA,UAAAC;AAAA,IACA,WAAWN;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACAF;AAAA,IAAA;AAAA,IAGD,UAAAD;AAAA,EAAA;AAAA,GAUMU,IAAY,CAAC,EAAE,UAAAV,GAAU,WAAAC,QAElC,gBAAAC,EAAC,OAAA,EAAI,WAAAD,GACF,UAAAD,EAAA,CACH,GASSW,IAAc,CAAC,EAAE,UAAAX,GAAU,WAAAC,QAEpC,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAF;AAAA,IAAA;AAAA,IAGD,UAAAD;AAAA,EAAA;AAAA,GAWMY,IAAkB,CAAC,EAAE,SAAAC,GAAS,QAAAC,GAAQ,WAAAb,QAE/C,gBAAAc;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWZ;AAAA,MACT;AAAA,MACAF;AAAA,IAAA;AAAA,IAGF,UAAA;AAAA,MAAA,gBAAAC,EAAC,KAAA,EAAE,WAAU,+BAA+B,UAAAW,GAAQ;AAAA,MACnDC;AAAA,IAAA;AAAA,EAAA;AAAA;"}
1
+ {"version":3,"file":"index46.js","sources":["../src/components/Typography/PageHeading.tsx"],"sourcesContent":["import { cn } from '@/lib/utils'\nimport type { ReactNode } from 'react'\n\nexport interface PageHeadingProps {\n children: ReactNode\n className?: string\n}\n\nexport function PageHeading({ children, className }: PageHeadingProps) {\n return (\n <h1\n className={cn(\n 'text-5xl font-light text-slate-900 tracking-tight',\n className\n )}\n >\n {children}\n </h1>\n )\n}\n"],"names":["PageHeading","children","className","jsx","cn"],"mappings":";;AAQO,SAASA,EAAY,EAAE,UAAAC,GAAU,WAAAC,KAA+B;AACrE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAF;AAAA,MAAA;AAAA,MAGD,UAAAD;AAAA,IAAA;AAAA,EAAA;AAGP;"}