asterui 0.12.16 → 0.12.17

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 (140) hide show
  1. package/dist/components/Checkbox.d.ts +3 -1
  2. package/dist/components/Form.d.ts +7 -1
  3. package/dist/components/Input.d.ts +10 -2
  4. package/dist/index.d.ts +0 -2
  5. package/dist/index.js +134 -136
  6. package/dist/index.js.map +1 -1
  7. package/dist/index10.js +70 -65
  8. package/dist/index10.js.map +1 -1
  9. package/dist/index100.js +43 -11
  10. package/dist/index100.js.map +1 -1
  11. package/dist/index101.js +11 -44
  12. package/dist/index101.js.map +1 -1
  13. package/dist/index102.js +12 -10
  14. package/dist/index102.js.map +1 -1
  15. package/dist/index103.js +7 -14
  16. package/dist/index103.js.map +1 -1
  17. package/dist/index104.js +12 -7
  18. package/dist/index104.js.map +1 -1
  19. package/dist/index105.js +29 -11
  20. package/dist/index105.js.map +1 -1
  21. package/dist/index106.js +16 -29
  22. package/dist/index106.js.map +1 -1
  23. package/dist/index34.js +198 -158
  24. package/dist/index34.js.map +1 -1
  25. package/dist/index42.js +185 -148
  26. package/dist/index42.js.map +1 -1
  27. package/dist/index43.js +19 -19
  28. package/dist/index43.js.map +1 -1
  29. package/dist/index46.js +134 -18
  30. package/dist/index46.js.map +1 -1
  31. package/dist/index47.js +10 -134
  32. package/dist/index47.js.map +1 -1
  33. package/dist/index48.js +35 -13
  34. package/dist/index48.js.map +1 -1
  35. package/dist/index49.js +34 -35
  36. package/dist/index49.js.map +1 -1
  37. package/dist/index50.js +81 -34
  38. package/dist/index50.js.map +1 -1
  39. package/dist/index51.js +166 -71
  40. package/dist/index51.js.map +1 -1
  41. package/dist/index52.js +144 -167
  42. package/dist/index52.js.map +1 -1
  43. package/dist/index53.js +11 -152
  44. package/dist/index53.js.map +1 -1
  45. package/dist/index54.js +20 -10
  46. package/dist/index54.js.map +1 -1
  47. package/dist/index55.js +14 -22
  48. package/dist/index55.js.map +1 -1
  49. package/dist/index56.js +7 -14
  50. package/dist/index56.js.map +1 -1
  51. package/dist/index57.js +333 -6
  52. package/dist/index57.js.map +1 -1
  53. package/dist/index58.js +47 -334
  54. package/dist/index58.js.map +1 -1
  55. package/dist/index59.js +122 -47
  56. package/dist/index59.js.map +1 -1
  57. package/dist/index60.js +108 -120
  58. package/dist/index60.js.map +1 -1
  59. package/dist/index61.js +167 -107
  60. package/dist/index61.js.map +1 -1
  61. package/dist/index62.js +29 -167
  62. package/dist/index62.js.map +1 -1
  63. package/dist/index63.js +120 -30
  64. package/dist/index63.js.map +1 -1
  65. package/dist/index64.js +80 -116
  66. package/dist/index64.js.map +1 -1
  67. package/dist/index65.js +19 -85
  68. package/dist/index65.js.map +1 -1
  69. package/dist/index66.js +73 -19
  70. package/dist/index66.js.map +1 -1
  71. package/dist/index67.js +54 -71
  72. package/dist/index67.js.map +1 -1
  73. package/dist/index68.js +44 -56
  74. package/dist/index68.js.map +1 -1
  75. package/dist/index69.js +49 -42
  76. package/dist/index69.js.map +1 -1
  77. package/dist/index70.js +121 -50
  78. package/dist/index70.js.map +1 -1
  79. package/dist/index71.js +102 -118
  80. package/dist/index71.js.map +1 -1
  81. package/dist/index72.js +41 -107
  82. package/dist/index72.js.map +1 -1
  83. package/dist/index73.js +68 -41
  84. package/dist/index73.js.map +1 -1
  85. package/dist/index74.js +19 -66
  86. package/dist/index74.js.map +1 -1
  87. package/dist/index75.js +55 -18
  88. package/dist/index75.js.map +1 -1
  89. package/dist/index76.js +251 -55
  90. package/dist/index76.js.map +1 -1
  91. package/dist/index77.js +22 -254
  92. package/dist/index77.js.map +1 -1
  93. package/dist/index78.js +31 -22
  94. package/dist/index78.js.map +1 -1
  95. package/dist/index79.js +93 -30
  96. package/dist/index79.js.map +1 -1
  97. package/dist/index80.js +324 -89
  98. package/dist/index80.js.map +1 -1
  99. package/dist/index81.js +73 -322
  100. package/dist/index81.js.map +1 -1
  101. package/dist/index82.js +39 -79
  102. package/dist/index82.js.map +1 -1
  103. package/dist/index83.js +23 -40
  104. package/dist/index83.js.map +1 -1
  105. package/dist/index84.js +93 -21
  106. package/dist/index84.js.map +1 -1
  107. package/dist/index85.js +148 -87
  108. package/dist/index85.js.map +1 -1
  109. package/dist/index86.js +152 -147
  110. package/dist/index86.js.map +1 -1
  111. package/dist/index87.js +63 -159
  112. package/dist/index87.js.map +1 -1
  113. package/dist/index88.js +35 -65
  114. package/dist/index88.js.map +1 -1
  115. package/dist/index89.js +234 -35
  116. package/dist/index89.js.map +1 -1
  117. package/dist/index90.js +31 -231
  118. package/dist/index90.js.map +1 -1
  119. package/dist/index91.js +210 -34
  120. package/dist/index91.js.map +1 -1
  121. package/dist/index92.js +198 -195
  122. package/dist/index92.js.map +1 -1
  123. package/dist/index93.js +241 -159
  124. package/dist/index93.js.map +1 -1
  125. package/dist/index94.js +166 -283
  126. package/dist/index94.js.map +1 -1
  127. package/dist/index95.js +253 -173
  128. package/dist/index95.js.map +1 -1
  129. package/dist/index96.js +14 -258
  130. package/dist/index96.js.map +1 -1
  131. package/dist/index97.js +31 -12
  132. package/dist/index97.js.map +1 -1
  133. package/dist/index98.js +5 -32
  134. package/dist/index98.js.map +1 -1
  135. package/dist/index99.js +13 -5
  136. package/dist/index99.js.map +1 -1
  137. package/package.json +1 -1
  138. package/dist/components/Label.d.ts +0 -15
  139. package/dist/index107.js +0 -21
  140. package/dist/index107.js.map +0 -1
package/dist/index72.js CHANGED
@@ -1,110 +1,44 @@
1
- import { jsxs as d, jsx as e } from "react/jsx-runtime";
2
- const m = {
3
- success: /* @__PURE__ */ e(
4
- "svg",
5
- {
6
- className: "w-16 h-16 text-success",
7
- fill: "none",
8
- viewBox: "0 0 24 24",
9
- stroke: "currentColor",
10
- children: /* @__PURE__ */ e(
11
- "path",
12
- {
13
- strokeLinecap: "round",
14
- strokeLinejoin: "round",
15
- strokeWidth: 2,
16
- d: "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"
17
- }
18
- )
19
- }
20
- ),
21
- error: /* @__PURE__ */ e(
22
- "svg",
23
- {
24
- className: "w-16 h-16 text-error",
25
- fill: "none",
26
- viewBox: "0 0 24 24",
27
- stroke: "currentColor",
28
- children: /* @__PURE__ */ e(
29
- "path",
30
- {
31
- strokeLinecap: "round",
32
- strokeLinejoin: "round",
33
- strokeWidth: 2,
34
- d: "M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
35
- }
36
- )
37
- }
38
- ),
39
- info: /* @__PURE__ */ e(
40
- "svg",
41
- {
42
- className: "w-16 h-16 text-info",
43
- fill: "none",
44
- viewBox: "0 0 24 24",
45
- stroke: "currentColor",
46
- children: /* @__PURE__ */ e(
47
- "path",
48
- {
49
- strokeLinecap: "round",
50
- strokeLinejoin: "round",
51
- strokeWidth: 2,
52
- d: "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
53
- }
54
- )
55
- }
56
- ),
57
- warning: /* @__PURE__ */ e(
58
- "svg",
59
- {
60
- className: "w-16 h-16 text-warning",
61
- fill: "none",
62
- viewBox: "0 0 24 24",
63
- stroke: "currentColor",
64
- children: /* @__PURE__ */ e(
65
- "path",
66
- {
67
- strokeLinecap: "round",
68
- strokeLinejoin: "round",
69
- strokeWidth: 2,
70
- d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
71
- }
72
- )
73
- }
74
- ),
75
- 404: /* @__PURE__ */ e("div", { className: "text-6xl font-bold text-base-content/40", children: "404" }),
76
- 403: /* @__PURE__ */ e("div", { className: "text-6xl font-bold text-base-content/40", children: "403" }),
77
- 500: /* @__PURE__ */ e("div", { className: "text-6xl font-bold text-base-content/40", children: "500" })
78
- }, x = ({
79
- status: t = "info",
80
- title: n,
81
- subTitle: s,
82
- icon: o,
83
- extra: r,
84
- children: l,
85
- className: i = "",
86
- ...c
87
- }) => {
88
- const a = o !== void 0 ? o : m[t];
89
- return /* @__PURE__ */ d(
90
- "div",
91
- {
92
- className: `w-full flex flex-col items-center justify-center text-center p-8 ${i}`,
93
- "data-status": t,
94
- ...c,
95
- children: [
96
- a && /* @__PURE__ */ e("div", { className: "mb-6", children: a }),
97
- n && /* @__PURE__ */ e("div", { className: "text-2xl font-semibold mb-2 text-base-content", children: n }),
98
- s && /* @__PURE__ */ e("div", { className: "text-base text-base-content/70 mb-6 max-w-md", children: s }),
99
- l && /* @__PURE__ */ e("div", { className: "mb-6 max-w-2xl", children: l }),
100
- r && /* @__PURE__ */ e("div", { className: "flex gap-2", children: r })
101
- ]
102
- }
103
- );
104
- };
105
- x.displayName = "Result";
1
+ import { jsx as f } from "react/jsx-runtime";
2
+ import { forwardRef as d } from "react";
3
+ const u = d(
4
+ ({
5
+ size: e,
6
+ color: s,
7
+ ghost: l = !1,
8
+ bordered: c = !0,
9
+ className: t = "",
10
+ children: r,
11
+ ...o
12
+ }, a) => {
13
+ const n = {
14
+ xs: "select-xs",
15
+ sm: "select-sm",
16
+ md: "select-md",
17
+ lg: "select-lg",
18
+ xl: "select-xl"
19
+ }, m = {
20
+ neutral: "select-neutral",
21
+ primary: "select-primary",
22
+ secondary: "select-secondary",
23
+ accent: "select-accent",
24
+ info: "select-info",
25
+ success: "select-success",
26
+ warning: "select-warning",
27
+ error: "select-error"
28
+ }, i = [
29
+ "select",
30
+ "w-full",
31
+ c && "select-bordered",
32
+ l && "select-ghost",
33
+ e && n[e],
34
+ s && m[s],
35
+ t
36
+ ].filter(Boolean).join(" ");
37
+ return /* @__PURE__ */ f("select", { ref: a, className: i, ...o, children: r });
38
+ }
39
+ );
40
+ u.displayName = "Select";
106
41
  export {
107
- x as Result,
108
- x as default
42
+ u as Select
109
43
  };
110
44
  //# sourceMappingURL=index72.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index72.js","sources":["../src/components/Result.tsx"],"sourcesContent":["import React from 'react'\n\nexport type ResultStatus = 'success' | 'error' | 'info' | 'warning' | '404' | '403' | '500'\n\nexport interface ResultProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n status?: ResultStatus\n title?: React.ReactNode\n subTitle?: React.ReactNode\n icon?: React.ReactNode\n extra?: React.ReactNode\n children?: React.ReactNode\n}\n\nconst defaultIcons: Record<ResultStatus, React.ReactNode> = {\n success: (\n <svg\n className=\"w-16 h-16 text-success\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n ),\n error: (\n <svg\n className=\"w-16 h-16 text-error\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n ),\n info: (\n <svg\n className=\"w-16 h-16 text-info\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n ),\n warning: (\n <svg\n className=\"w-16 h-16 text-warning\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"\n />\n </svg>\n ),\n '404': (\n <div className=\"text-6xl font-bold text-base-content/40\">404</div>\n ),\n '403': (\n <div className=\"text-6xl font-bold text-base-content/40\">403</div>\n ),\n '500': (\n <div className=\"text-6xl font-bold text-base-content/40\">500</div>\n ),\n}\n\nexport const Result: React.FC<ResultProps> = ({\n status = 'info',\n title,\n subTitle,\n icon,\n extra,\n children,\n className = '',\n ...rest\n}) => {\n const displayIcon = icon !== undefined ? icon : defaultIcons[status]\n\n return (\n <div\n className={`w-full flex flex-col items-center justify-center text-center p-8 ${className}`}\n data-status={status}\n {...rest}\n >\n {displayIcon && <div className=\"mb-6\">{displayIcon}</div>}\n\n {title && (\n <div className=\"text-2xl font-semibold mb-2 text-base-content\">\n {title}\n </div>\n )}\n\n {subTitle && (\n <div className=\"text-base text-base-content/70 mb-6 max-w-md\">\n {subTitle}\n </div>\n )}\n\n {children && <div className=\"mb-6 max-w-2xl\">{children}</div>}\n\n {extra && <div className=\"flex gap-2\">{extra}</div>}\n </div>\n )\n}\n\nResult.displayName = 'Result'\n\nexport default Result\n"],"names":["defaultIcons","jsx","Result","status","title","subTitle","icon","extra","children","className","rest","displayIcon","jsxs"],"mappings":";AAaA,MAAMA,IAAsD;AAAA,EAC1D,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,QAAO;AAAA,MAEP,UAAA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,eAAc;AAAA,UACd,gBAAe;AAAA,UACf,aAAa;AAAA,UACb,GAAE;AAAA,QAAA;AAAA,MAAA;AAAA,IACJ;AAAA,EAAA;AAAA,EAGJ,OACE,gBAAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,QAAO;AAAA,MAEP,UAAA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,eAAc;AAAA,UACd,gBAAe;AAAA,UACf,aAAa;AAAA,UACb,GAAE;AAAA,QAAA;AAAA,MAAA;AAAA,IACJ;AAAA,EAAA;AAAA,EAGJ,MACE,gBAAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,QAAO;AAAA,MAEP,UAAA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,eAAc;AAAA,UACd,gBAAe;AAAA,UACf,aAAa;AAAA,UACb,GAAE;AAAA,QAAA;AAAA,MAAA;AAAA,IACJ;AAAA,EAAA;AAAA,EAGJ,SACE,gBAAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,QAAO;AAAA,MAEP,UAAA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,eAAc;AAAA,UACd,gBAAe;AAAA,UACf,aAAa;AAAA,UACb,GAAE;AAAA,QAAA;AAAA,MAAA;AAAA,IACJ;AAAA,EAAA;AAAA,EAGJ,KACE,gBAAAA,EAAC,OAAA,EAAI,WAAU,2CAA0C,UAAA,OAAG;AAAA,EAE9D,KACE,gBAAAA,EAAC,OAAA,EAAI,WAAU,2CAA0C,UAAA,OAAG;AAAA,EAE9D,KACE,gBAAAA,EAAC,OAAA,EAAI,WAAU,2CAA0C,UAAA,MAAA,CAAG;AAEhE,GAEaC,IAAgC,CAAC;AAAA,EAC5C,QAAAC,IAAS;AAAA,EACT,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAcL,MAAS,SAAYA,IAAON,EAAaG,CAAM;AAEnE,SACE,gBAAAS;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,oEAAoEH,CAAS;AAAA,MACxF,eAAaN;AAAA,MACZ,GAAGO;AAAA,MAEH,UAAA;AAAA,QAAAC,KAAe,gBAAAV,EAAC,OAAA,EAAI,WAAU,QAAQ,UAAAU,GAAY;AAAA,QAElDP,KACC,gBAAAH,EAAC,OAAA,EAAI,WAAU,iDACZ,UAAAG,GACH;AAAA,QAGDC,KACC,gBAAAJ,EAAC,OAAA,EAAI,WAAU,gDACZ,UAAAI,GACH;AAAA,QAGDG,KAAY,gBAAAP,EAAC,OAAA,EAAI,WAAU,kBAAkB,UAAAO,GAAS;AAAA,QAEtDD,KAAS,gBAAAN,EAAC,OAAA,EAAI,WAAU,cAAc,UAAAM,EAAA,CAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGnD;AAEAL,EAAO,cAAc;"}
1
+ {"version":3,"file":"index72.js","sources":["../src/components/Select.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\n\nexport interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size'> {\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n color?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error'\n ghost?: boolean\n bordered?: boolean\n className?: string\n children?: React.ReactNode\n}\n\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\n (\n {\n size,\n color,\n ghost = false,\n bordered = true,\n className = '',\n children,\n ...props\n },\n ref\n ) => {\n const sizeClasses = {\n xs: 'select-xs',\n sm: 'select-sm',\n md: 'select-md',\n lg: 'select-lg',\n xl: 'select-xl',\n }\n\n const colorClasses = {\n neutral: 'select-neutral',\n primary: 'select-primary',\n secondary: 'select-secondary',\n accent: 'select-accent',\n info: 'select-info',\n success: 'select-success',\n warning: 'select-warning',\n error: 'select-error',\n }\n\n const selectClasses = [\n 'select',\n 'w-full',\n bordered && 'select-bordered',\n ghost && 'select-ghost',\n size && sizeClasses[size],\n color && colorClasses[color],\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <select ref={ref} className={selectClasses} {...props}>\n {children}\n </select>\n )\n }\n)\n\nSelect.displayName = 'Select'\n"],"names":["Select","forwardRef","size","color","ghost","bordered","className","children","props","ref","sizeClasses","colorClasses","selectClasses"],"mappings":";;AAWO,MAAMA,IAASC;AAAA,EACpB,CACE;AAAA,IACE,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,UAAAC,IAAW;AAAA,IACX,WAAAC,IAAY;AAAA,IACZ,UAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAMC,IAAc;AAAA,MAClB,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA,GAGAC,IAAe;AAAA,MACnB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,IAAA,GAGHC,IAAgB;AAAA,MACpB;AAAA,MACA;AAAA,MACAP,KAAY;AAAA,MACZD,KAAS;AAAA,MACTF,KAAQQ,EAAYR,CAAI;AAAA,MACxBC,KAASQ,EAAaR,CAAK;AAAA,MAC3BG;AAAA,IAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,6BACG,UAAA,EAAO,KAAAG,GAAU,WAAWG,GAAgB,GAAGJ,GAC7C,UAAAD,GACH;AAAA,EAEJ;AACF;AAEAP,EAAO,cAAc;"}
package/dist/index73.js CHANGED
@@ -1,44 +1,71 @@
1
- import { jsx as f } from "react/jsx-runtime";
2
- import { forwardRef as d } from "react";
3
- const u = d(
4
- ({
5
- size: e,
6
- color: s,
7
- ghost: l = !1,
8
- bordered: c = !0,
9
- className: t = "",
10
- children: r,
11
- ...o
12
- }, a) => {
13
- const n = {
14
- xs: "select-xs",
15
- sm: "select-sm",
16
- md: "select-md",
17
- lg: "select-lg",
18
- xl: "select-xl"
19
- }, m = {
20
- neutral: "select-neutral",
21
- primary: "select-primary",
22
- secondary: "select-secondary",
23
- accent: "select-accent",
24
- info: "select-info",
25
- success: "select-success",
26
- warning: "select-warning",
27
- error: "select-error"
28
- }, i = [
29
- "select",
30
- "w-full",
31
- c && "select-bordered",
32
- l && "select-ghost",
33
- e && n[e],
34
- s && m[s],
35
- t
36
- ].filter(Boolean).join(" ");
37
- return /* @__PURE__ */ f("select", { ref: a, className: i, ...o, children: r });
38
- }
39
- );
40
- u.displayName = "Select";
1
+ import { jsx as b, jsxs as h } from "react/jsx-runtime";
2
+ import { useState as p, useCallback as S, createContext as j, useContext as v } from "react";
3
+ const C = j(null), I = () => {
4
+ const e = v(C);
5
+ if (!e)
6
+ throw new Error("Segmented.Item must be used within a Segmented component");
7
+ return e;
8
+ }, V = {
9
+ xs: "btn-xs",
10
+ sm: "btn-sm",
11
+ md: "",
12
+ lg: "btn-lg"
13
+ }, k = ({
14
+ value: e,
15
+ disabled: o = !1,
16
+ icon: n,
17
+ children: l,
18
+ className: a = ""
19
+ }) => {
20
+ const { value: i, onChange: d, size: r, disabled: c } = I(), s = i === e, t = c || o, m = () => {
21
+ t || d?.(e);
22
+ }, u = [
23
+ "join-item",
24
+ "btn",
25
+ V[r],
26
+ s ? "btn-active" : "",
27
+ a
28
+ ].filter(Boolean).join(" ");
29
+ return /* @__PURE__ */ h(
30
+ "button",
31
+ {
32
+ type: "button",
33
+ className: u,
34
+ disabled: t,
35
+ onClick: m,
36
+ "aria-pressed": s,
37
+ "data-testid": `segmented-item-${e}`,
38
+ children: [
39
+ n && /* @__PURE__ */ b("span", { className: "mr-1", children: n }),
40
+ l
41
+ ]
42
+ }
43
+ );
44
+ }, w = ({
45
+ value: e,
46
+ defaultValue: o,
47
+ onChange: n,
48
+ size: l = "md",
49
+ block: a = !1,
50
+ disabled: i = !1,
51
+ className: d = "",
52
+ children: r
53
+ }) => {
54
+ const [c, s] = p(o), t = e !== void 0, m = t ? e : c, u = S(
55
+ (g) => {
56
+ t || s(g), n?.(g);
57
+ },
58
+ [t, n]
59
+ ), f = {
60
+ value: m,
61
+ onChange: u,
62
+ size: l,
63
+ disabled: i
64
+ }, x = ["join", a ? "w-full [&>.join-item]:flex-1" : "", d].filter(Boolean).join(" ");
65
+ return /* @__PURE__ */ b(C.Provider, { value: f, children: /* @__PURE__ */ b("div", { className: x, role: "group", "data-testid": "segmented", children: r }) });
66
+ };
67
+ w.Item = k;
41
68
  export {
42
- u as Select
69
+ w as Segmented
43
70
  };
44
71
  //# sourceMappingURL=index73.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index73.js","sources":["../src/components/Select.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\n\nexport interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size'> {\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n color?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error'\n ghost?: boolean\n bordered?: boolean\n className?: string\n children?: React.ReactNode\n}\n\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\n (\n {\n size,\n color,\n ghost = false,\n bordered = true,\n className = '',\n children,\n ...props\n },\n ref\n ) => {\n const sizeClasses = {\n xs: 'select-xs',\n sm: 'select-sm',\n md: 'select-md',\n lg: 'select-lg',\n xl: 'select-xl',\n }\n\n const colorClasses = {\n neutral: 'select-neutral',\n primary: 'select-primary',\n secondary: 'select-secondary',\n accent: 'select-accent',\n info: 'select-info',\n success: 'select-success',\n warning: 'select-warning',\n error: 'select-error',\n }\n\n const selectClasses = [\n 'select',\n 'w-full',\n bordered && 'select-bordered',\n ghost && 'select-ghost',\n size && sizeClasses[size],\n color && colorClasses[color],\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <select ref={ref} className={selectClasses} {...props}>\n {children}\n </select>\n )\n }\n)\n\nSelect.displayName = 'Select'\n"],"names":["Select","forwardRef","size","color","ghost","bordered","className","children","props","ref","sizeClasses","colorClasses","selectClasses"],"mappings":";;AAWO,MAAMA,IAASC;AAAA,EACpB,CACE;AAAA,IACE,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,UAAAC,IAAW;AAAA,IACX,WAAAC,IAAY;AAAA,IACZ,UAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAMC,IAAc;AAAA,MAClB,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA,GAGAC,IAAe;AAAA,MACnB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,IAAA,GAGHC,IAAgB;AAAA,MACpB;AAAA,MACA;AAAA,MACAP,KAAY;AAAA,MACZD,KAAS;AAAA,MACTF,KAAQQ,EAAYR,CAAI;AAAA,MACxBC,KAASQ,EAAaR,CAAK;AAAA,MAC3BG;AAAA,IAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,6BACG,UAAA,EAAO,KAAAG,GAAU,WAAWG,GAAgB,GAAGJ,GAC7C,UAAAD,GACH;AAAA,EAEJ;AACF;AAEAP,EAAO,cAAc;"}
1
+ {"version":3,"file":"index73.js","sources":["../src/components/Segmented.tsx"],"sourcesContent":["import React, { useState, useCallback, createContext, useContext } from 'react'\n\nexport type SegmentedValue = string | number\n\ninterface SegmentedContextValue {\n value?: SegmentedValue\n onChange?: (value: SegmentedValue) => void\n size: 'xs' | 'sm' | 'md' | 'lg'\n disabled: boolean\n}\n\nconst SegmentedContext = createContext<SegmentedContextValue | null>(null)\n\nconst useSegmentedContext = () => {\n const context = useContext(SegmentedContext)\n if (!context) {\n throw new Error('Segmented.Item must be used within a Segmented component')\n }\n return context\n}\n\nexport interface SegmentedItemProps {\n /** Option value */\n value: SegmentedValue\n /** Disable this option */\n disabled?: boolean\n /** Icon to display before label */\n icon?: React.ReactNode\n /** Label content */\n children: React.ReactNode\n /** Additional CSS class */\n className?: string\n}\n\nconst sizeClasses = {\n xs: 'btn-xs',\n sm: 'btn-sm',\n md: '',\n lg: 'btn-lg',\n}\n\nconst SegmentedItem: React.FC<SegmentedItemProps> = ({\n value,\n disabled: itemDisabled = false,\n icon,\n children,\n className = '',\n}) => {\n const { value: selectedValue, onChange, size, disabled: groupDisabled } = useSegmentedContext()\n\n const isSelected = selectedValue === value\n const isDisabled = groupDisabled || itemDisabled\n\n const handleClick = () => {\n if (!isDisabled) {\n onChange?.(value)\n }\n }\n\n const buttonClasses = [\n 'join-item',\n 'btn',\n sizeClasses[size],\n isSelected ? 'btn-active' : '',\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <button\n type=\"button\"\n className={buttonClasses}\n disabled={isDisabled}\n onClick={handleClick}\n aria-pressed={isSelected}\n data-testid={`segmented-item-${value}`}\n >\n {icon && <span className=\"mr-1\">{icon}</span>}\n {children}\n </button>\n )\n}\n\nexport interface SegmentedProps {\n /** Currently selected value (controlled) */\n value?: SegmentedValue\n /** Default selected value (uncontrolled) */\n defaultValue?: SegmentedValue\n /** Callback when selection changes */\n onChange?: (value: SegmentedValue) => void\n /** Size variant */\n size?: 'xs' | 'sm' | 'md' | 'lg'\n /** Take full width of container */\n block?: boolean\n /** Disable all options */\n disabled?: boolean\n /** Additional CSS class */\n className?: string\n /** Segmented.Item children */\n children: React.ReactNode\n}\n\nexport const Segmented: React.FC<SegmentedProps> & { Item: typeof SegmentedItem } = ({\n value,\n defaultValue,\n onChange,\n size = 'md',\n block = false,\n disabled = false,\n className = '',\n children,\n}) => {\n const [internalValue, setInternalValue] = useState<SegmentedValue | undefined>(defaultValue)\n\n const isControlled = value !== undefined\n const currentValue = isControlled ? value : internalValue\n\n const handleChange = useCallback(\n (newValue: SegmentedValue) => {\n if (!isControlled) {\n setInternalValue(newValue)\n }\n onChange?.(newValue)\n },\n [isControlled, onChange]\n )\n\n const contextValue: SegmentedContextValue = {\n value: currentValue,\n onChange: handleChange,\n size,\n disabled,\n }\n\n const containerClasses = ['join', block ? 'w-full [&>.join-item]:flex-1' : '', className]\n .filter(Boolean)\n .join(' ')\n\n return (\n <SegmentedContext.Provider value={contextValue}>\n <div className={containerClasses} role=\"group\" data-testid=\"segmented\">\n {children}\n </div>\n </SegmentedContext.Provider>\n )\n}\n\nSegmented.Item = SegmentedItem\n"],"names":["SegmentedContext","createContext","useSegmentedContext","context","useContext","sizeClasses","SegmentedItem","value","itemDisabled","icon","children","className","selectedValue","onChange","size","groupDisabled","isSelected","isDisabled","handleClick","buttonClasses","jsxs","jsx","Segmented","defaultValue","block","disabled","internalValue","setInternalValue","useState","isControlled","currentValue","handleChange","useCallback","newValue","contextValue","containerClasses"],"mappings":";;AAWA,MAAMA,IAAmBC,EAA4C,IAAI,GAEnEC,IAAsB,MAAM;AAChC,QAAMC,IAAUC,EAAWJ,CAAgB;AAC3C,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,0DAA0D;AAE5E,SAAOA;AACT,GAeME,IAAc;AAAA,EAClB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEMC,IAA8C,CAAC;AAAA,EACnD,OAAAC;AAAA,EACA,UAAUC,IAAe;AAAA,EACzB,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC,IAAY;AACd,MAAM;AACJ,QAAM,EAAE,OAAOC,GAAe,UAAAC,GAAU,MAAAC,GAAM,UAAUC,EAAA,IAAkBb,EAAA,GAEpEc,IAAaJ,MAAkBL,GAC/BU,IAAaF,KAAiBP,GAE9BU,IAAc,MAAM;AACxB,IAAKD,KACHJ,IAAWN,CAAK;AAAA,EAEpB,GAEMY,IAAgB;AAAA,IACpB;AAAA,IACA;AAAA,IACAd,EAAYS,CAAI;AAAA,IAChBE,IAAa,eAAe;AAAA,IAC5BL;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAS;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAWD;AAAA,MACX,UAAUF;AAAA,MACV,SAASC;AAAA,MACT,gBAAcF;AAAA,MACd,eAAa,kBAAkBT,CAAK;AAAA,MAEnC,UAAA;AAAA,QAAAE,KAAQ,gBAAAY,EAAC,QAAA,EAAK,WAAU,QAAQ,UAAAZ,GAAK;AAAA,QACrCC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP,GAqBaY,IAAuE,CAAC;AAAA,EACnF,OAAAf;AAAA,EACA,cAAAgB;AAAA,EACA,UAAAV;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAU,IAAQ;AAAA,EACR,UAAAC,IAAW;AAAA,EACX,WAAAd,IAAY;AAAA,EACZ,UAAAD;AACF,MAAM;AACJ,QAAM,CAACgB,GAAeC,CAAgB,IAAIC,EAAqCL,CAAY,GAErFM,IAAetB,MAAU,QACzBuB,IAAeD,IAAetB,IAAQmB,GAEtCK,IAAeC;AAAA,IACnB,CAACC,MAA6B;AAC5B,MAAKJ,KACHF,EAAiBM,CAAQ,GAE3BpB,IAAWoB,CAAQ;AAAA,IACrB;AAAA,IACA,CAACJ,GAAchB,CAAQ;AAAA,EAAA,GAGnBqB,IAAsC;AAAA,IAC1C,OAAOJ;AAAA,IACP,UAAUC;AAAA,IACV,MAAAjB;AAAA,IACA,UAAAW;AAAA,EAAA,GAGIU,IAAmB,CAAC,QAAQX,IAAQ,iCAAiC,IAAIb,CAAS,EACrF,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAU,EAACrB,EAAiB,UAAjB,EAA0B,OAAOkC,GAChC,UAAA,gBAAAb,EAAC,OAAA,EAAI,WAAWc,GAAkB,MAAK,SAAQ,eAAY,aACxD,UAAAzB,GACH,GACF;AAEJ;AAEAY,EAAU,OAAOhB;"}
package/dist/index74.js CHANGED
@@ -1,71 +1,24 @@
1
- import { jsx as b, jsxs as h } from "react/jsx-runtime";
2
- import { useState as p, useCallback as S, createContext as j, useContext as v } from "react";
3
- const C = j(null), I = () => {
4
- const e = v(C);
5
- if (!e)
6
- throw new Error("Segmented.Item must be used within a Segmented component");
7
- return e;
8
- }, V = {
9
- xs: "btn-xs",
10
- sm: "btn-sm",
11
- md: "",
12
- lg: "btn-lg"
13
- }, k = ({
14
- value: e,
15
- disabled: o = !1,
16
- icon: n,
17
- children: l,
18
- className: a = ""
1
+ import { jsx as x } from "react/jsx-runtime";
2
+ const i = ({
3
+ width: s,
4
+ height: t,
5
+ circle: o = !1,
6
+ variant: l = "default",
7
+ className: n = "",
8
+ children: r,
9
+ style: f,
10
+ ...u
19
11
  }) => {
20
- const { value: i, onChange: d, size: r, disabled: c } = I(), s = i === e, t = c || o, m = () => {
21
- t || d?.(e);
22
- }, u = [
23
- "join-item",
24
- "btn",
25
- V[r],
26
- s ? "btn-active" : "",
27
- a
28
- ].filter(Boolean).join(" ");
29
- return /* @__PURE__ */ h(
30
- "button",
31
- {
32
- type: "button",
33
- className: u,
34
- disabled: t,
35
- onClick: m,
36
- "aria-pressed": s,
37
- "data-testid": `segmented-item-${e}`,
38
- children: [
39
- n && /* @__PURE__ */ b("span", { className: "mr-1", children: n }),
40
- l
41
- ]
42
- }
43
- );
44
- }, w = ({
45
- value: e,
46
- defaultValue: o,
47
- onChange: n,
48
- size: l = "md",
49
- block: a = !1,
50
- disabled: i = !1,
51
- className: d = "",
52
- children: r
53
- }) => {
54
- const [c, s] = p(o), t = e !== void 0, m = t ? e : c, u = S(
55
- (g) => {
56
- t || s(g), n?.(g);
57
- },
58
- [t, n]
59
- ), f = {
60
- value: m,
61
- onChange: u,
62
- size: l,
63
- disabled: i
64
- }, x = ["join", a ? "w-full [&>.join-item]:flex-1" : "", d].filter(Boolean).join(" ");
65
- return /* @__PURE__ */ b(C.Provider, { value: f, children: /* @__PURE__ */ b("div", { className: x, role: "group", "data-testid": "segmented", children: r }) });
12
+ const p = () => {
13
+ const e = ["skeleton"];
14
+ return l === "text" && e.push("skeleton-text"), o && e.push("rounded-full"), n && e.push(n), e.join(" ");
15
+ }, c = () => {
16
+ const e = {};
17
+ return s && (e.width = typeof s == "number" ? `${s}px` : s), t && (e.height = typeof t == "number" ? `${t}px` : t), Object.keys(e).length > 0 ? e : void 0;
18
+ };
19
+ return /* @__PURE__ */ x("div", { className: p(), style: { ...c(), ...f }, ...u, children: r });
66
20
  };
67
- w.Item = k;
68
21
  export {
69
- w as Segmented
22
+ i as Skeleton
70
23
  };
71
24
  //# sourceMappingURL=index74.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index74.js","sources":["../src/components/Segmented.tsx"],"sourcesContent":["import React, { useState, useCallback, createContext, useContext } from 'react'\n\nexport type SegmentedValue = string | number\n\ninterface SegmentedContextValue {\n value?: SegmentedValue\n onChange?: (value: SegmentedValue) => void\n size: 'xs' | 'sm' | 'md' | 'lg'\n disabled: boolean\n}\n\nconst SegmentedContext = createContext<SegmentedContextValue | null>(null)\n\nconst useSegmentedContext = () => {\n const context = useContext(SegmentedContext)\n if (!context) {\n throw new Error('Segmented.Item must be used within a Segmented component')\n }\n return context\n}\n\nexport interface SegmentedItemProps {\n /** Option value */\n value: SegmentedValue\n /** Disable this option */\n disabled?: boolean\n /** Icon to display before label */\n icon?: React.ReactNode\n /** Label content */\n children: React.ReactNode\n /** Additional CSS class */\n className?: string\n}\n\nconst sizeClasses = {\n xs: 'btn-xs',\n sm: 'btn-sm',\n md: '',\n lg: 'btn-lg',\n}\n\nconst SegmentedItem: React.FC<SegmentedItemProps> = ({\n value,\n disabled: itemDisabled = false,\n icon,\n children,\n className = '',\n}) => {\n const { value: selectedValue, onChange, size, disabled: groupDisabled } = useSegmentedContext()\n\n const isSelected = selectedValue === value\n const isDisabled = groupDisabled || itemDisabled\n\n const handleClick = () => {\n if (!isDisabled) {\n onChange?.(value)\n }\n }\n\n const buttonClasses = [\n 'join-item',\n 'btn',\n sizeClasses[size],\n isSelected ? 'btn-active' : '',\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <button\n type=\"button\"\n className={buttonClasses}\n disabled={isDisabled}\n onClick={handleClick}\n aria-pressed={isSelected}\n data-testid={`segmented-item-${value}`}\n >\n {icon && <span className=\"mr-1\">{icon}</span>}\n {children}\n </button>\n )\n}\n\nexport interface SegmentedProps {\n /** Currently selected value (controlled) */\n value?: SegmentedValue\n /** Default selected value (uncontrolled) */\n defaultValue?: SegmentedValue\n /** Callback when selection changes */\n onChange?: (value: SegmentedValue) => void\n /** Size variant */\n size?: 'xs' | 'sm' | 'md' | 'lg'\n /** Take full width of container */\n block?: boolean\n /** Disable all options */\n disabled?: boolean\n /** Additional CSS class */\n className?: string\n /** Segmented.Item children */\n children: React.ReactNode\n}\n\nexport const Segmented: React.FC<SegmentedProps> & { Item: typeof SegmentedItem } = ({\n value,\n defaultValue,\n onChange,\n size = 'md',\n block = false,\n disabled = false,\n className = '',\n children,\n}) => {\n const [internalValue, setInternalValue] = useState<SegmentedValue | undefined>(defaultValue)\n\n const isControlled = value !== undefined\n const currentValue = isControlled ? value : internalValue\n\n const handleChange = useCallback(\n (newValue: SegmentedValue) => {\n if (!isControlled) {\n setInternalValue(newValue)\n }\n onChange?.(newValue)\n },\n [isControlled, onChange]\n )\n\n const contextValue: SegmentedContextValue = {\n value: currentValue,\n onChange: handleChange,\n size,\n disabled,\n }\n\n const containerClasses = ['join', block ? 'w-full [&>.join-item]:flex-1' : '', className]\n .filter(Boolean)\n .join(' ')\n\n return (\n <SegmentedContext.Provider value={contextValue}>\n <div className={containerClasses} role=\"group\" data-testid=\"segmented\">\n {children}\n </div>\n </SegmentedContext.Provider>\n )\n}\n\nSegmented.Item = SegmentedItem\n"],"names":["SegmentedContext","createContext","useSegmentedContext","context","useContext","sizeClasses","SegmentedItem","value","itemDisabled","icon","children","className","selectedValue","onChange","size","groupDisabled","isSelected","isDisabled","handleClick","buttonClasses","jsxs","jsx","Segmented","defaultValue","block","disabled","internalValue","setInternalValue","useState","isControlled","currentValue","handleChange","useCallback","newValue","contextValue","containerClasses"],"mappings":";;AAWA,MAAMA,IAAmBC,EAA4C,IAAI,GAEnEC,IAAsB,MAAM;AAChC,QAAMC,IAAUC,EAAWJ,CAAgB;AAC3C,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,0DAA0D;AAE5E,SAAOA;AACT,GAeME,IAAc;AAAA,EAClB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEMC,IAA8C,CAAC;AAAA,EACnD,OAAAC;AAAA,EACA,UAAUC,IAAe;AAAA,EACzB,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC,IAAY;AACd,MAAM;AACJ,QAAM,EAAE,OAAOC,GAAe,UAAAC,GAAU,MAAAC,GAAM,UAAUC,EAAA,IAAkBb,EAAA,GAEpEc,IAAaJ,MAAkBL,GAC/BU,IAAaF,KAAiBP,GAE9BU,IAAc,MAAM;AACxB,IAAKD,KACHJ,IAAWN,CAAK;AAAA,EAEpB,GAEMY,IAAgB;AAAA,IACpB;AAAA,IACA;AAAA,IACAd,EAAYS,CAAI;AAAA,IAChBE,IAAa,eAAe;AAAA,IAC5BL;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAS;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAWD;AAAA,MACX,UAAUF;AAAA,MACV,SAASC;AAAA,MACT,gBAAcF;AAAA,MACd,eAAa,kBAAkBT,CAAK;AAAA,MAEnC,UAAA;AAAA,QAAAE,KAAQ,gBAAAY,EAAC,QAAA,EAAK,WAAU,QAAQ,UAAAZ,GAAK;AAAA,QACrCC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP,GAqBaY,IAAuE,CAAC;AAAA,EACnF,OAAAf;AAAA,EACA,cAAAgB;AAAA,EACA,UAAAV;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAU,IAAQ;AAAA,EACR,UAAAC,IAAW;AAAA,EACX,WAAAd,IAAY;AAAA,EACZ,UAAAD;AACF,MAAM;AACJ,QAAM,CAACgB,GAAeC,CAAgB,IAAIC,EAAqCL,CAAY,GAErFM,IAAetB,MAAU,QACzBuB,IAAeD,IAAetB,IAAQmB,GAEtCK,IAAeC;AAAA,IACnB,CAACC,MAA6B;AAC5B,MAAKJ,KACHF,EAAiBM,CAAQ,GAE3BpB,IAAWoB,CAAQ;AAAA,IACrB;AAAA,IACA,CAACJ,GAAchB,CAAQ;AAAA,EAAA,GAGnBqB,IAAsC;AAAA,IAC1C,OAAOJ;AAAA,IACP,UAAUC;AAAA,IACV,MAAAjB;AAAA,IACA,UAAAW;AAAA,EAAA,GAGIU,IAAmB,CAAC,QAAQX,IAAQ,iCAAiC,IAAIb,CAAS,EACrF,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAU,EAACrB,EAAiB,UAAjB,EAA0B,OAAOkC,GAChC,UAAA,gBAAAb,EAAC,OAAA,EAAI,WAAWc,GAAkB,MAAK,SAAQ,eAAY,aACxD,UAAAzB,GACH,GACF;AAEJ;AAEAY,EAAU,OAAOhB;"}
1
+ {"version":3,"file":"index74.js","sources":["../src/components/Skeleton.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n width?: string | number\n height?: string | number\n circle?: boolean\n variant?: 'default' | 'text'\n children?: React.ReactNode\n}\n\nexport const Skeleton: React.FC<SkeletonProps> = ({\n width,\n height,\n circle = false,\n variant = 'default',\n className = '',\n children,\n style,\n ...rest\n}) => {\n const getClasses = () => {\n const classes = ['skeleton']\n\n if (variant === 'text') {\n classes.push('skeleton-text')\n }\n\n if (circle) {\n classes.push('rounded-full')\n }\n\n if (className) {\n classes.push(className)\n }\n\n return classes.join(' ')\n }\n\n const getStyles = () => {\n const styles: React.CSSProperties = {}\n\n if (width) {\n styles.width = typeof width === 'number' ? `${width}px` : width\n }\n\n if (height) {\n styles.height = typeof height === 'number' ? `${height}px` : height\n }\n\n return Object.keys(styles).length > 0 ? styles : undefined\n }\n\n return (\n <div className={getClasses()} style={{ ...getStyles(), ...style }} {...rest}>\n {children}\n </div>\n )\n}\n"],"names":["Skeleton","width","height","circle","variant","className","children","style","rest","getClasses","classes","getStyles","styles","jsx"],"mappings":";AAUO,MAAMA,IAAoC,CAAC;AAAA,EAChD,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,SAAAC,IAAU;AAAA,EACV,WAAAC,IAAY;AAAA,EACZ,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAa,MAAM;AACvB,UAAMC,IAAU,CAAC,UAAU;AAE3B,WAAIN,MAAY,UACdM,EAAQ,KAAK,eAAe,GAG1BP,KACFO,EAAQ,KAAK,cAAc,GAGzBL,KACFK,EAAQ,KAAKL,CAAS,GAGjBK,EAAQ,KAAK,GAAG;AAAA,EACzB,GAEMC,IAAY,MAAM;AACtB,UAAMC,IAA8B,CAAA;AAEpC,WAAIX,MACFW,EAAO,QAAQ,OAAOX,KAAU,WAAW,GAAGA,CAAK,OAAOA,IAGxDC,MACFU,EAAO,SAAS,OAAOV,KAAW,WAAW,GAAGA,CAAM,OAAOA,IAGxD,OAAO,KAAKU,CAAM,EAAE,SAAS,IAAIA,IAAS;AAAA,EACnD;AAEA,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAWJ,EAAA,GAAc,OAAO,EAAE,GAAGE,EAAA,GAAa,GAAGJ,EAAA,GAAU,GAAGC,GACpE,UAAAF,EAAA,CACH;AAEJ;"}
package/dist/index75.js CHANGED
@@ -1,24 +1,61 @@
1
- import { jsx as x } from "react/jsx-runtime";
2
- const i = ({
3
- width: s,
4
- height: t,
5
- circle: o = !1,
6
- variant: l = "default",
7
- className: n = "",
8
- children: r,
9
- style: f,
10
- ...u
1
+ import { jsx as c } from "react/jsx-runtime";
2
+ import b from "react";
3
+ const w = {
4
+ xs: "gap-1",
5
+ sm: "gap-2",
6
+ md: "gap-4",
7
+ lg: "gap-6",
8
+ xl: "gap-8"
9
+ }, v = {
10
+ start: "items-start",
11
+ end: "items-end",
12
+ center: "items-center",
13
+ baseline: "items-baseline",
14
+ stretch: "items-stretch"
15
+ }, N = {
16
+ start: "justify-start",
17
+ end: "justify-end",
18
+ center: "justify-center",
19
+ between: "justify-between",
20
+ around: "justify-around",
21
+ evenly: "justify-evenly"
22
+ }, z = ({
23
+ direction: f = "horizontal",
24
+ size: s = "md",
25
+ align: r,
26
+ justify: a,
27
+ wrap: p = !1,
28
+ split: l,
29
+ className: u = "",
30
+ style: d,
31
+ children: e,
32
+ ...m
11
33
  }) => {
12
- const p = () => {
13
- const e = ["skeleton"];
14
- return l === "text" && e.push("skeleton-text"), o && e.push("rounded-full"), n && e.push(n), e.join(" ");
15
- }, c = () => {
16
- const e = {};
17
- return s && (e.width = typeof s == "number" ? `${s}px` : s), t && (e.height = typeof t == "number" ? `${t}px` : t), Object.keys(e).length > 0 ? e : void 0;
34
+ const o = typeof s == "number", h = o ? "" : w[s], y = r ? v[r] : "", C = a ? N[a] : "", g = [
35
+ "flex",
36
+ f === "horizontal" ? "flex-row" : "flex-col",
37
+ h,
38
+ y,
39
+ C,
40
+ p ? "flex-wrap" : "",
41
+ u
42
+ ].filter(Boolean).join(" "), j = {
43
+ ...d,
44
+ ...o ? { gap: `${s}px` } : {}
18
45
  };
19
- return /* @__PURE__ */ x("div", { className: p(), style: { ...c(), ...f }, ...u, children: r });
46
+ return /* @__PURE__ */ c("div", { className: g, style: j, ...m, children: (() => {
47
+ if (!l) return e;
48
+ const t = b.Children.toArray(e).filter(Boolean);
49
+ if (t.length <= 1) return e;
50
+ const n = [];
51
+ return t.forEach((x, i) => {
52
+ n.push(x), i < t.length - 1 && n.push(
53
+ /* @__PURE__ */ c("span", { className: "flex-shrink-0", children: l }, `split-${i}`)
54
+ );
55
+ }), n;
56
+ })() });
20
57
  };
21
58
  export {
22
- i as Skeleton
59
+ z as Space
23
60
  };
24
61
  //# sourceMappingURL=index75.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index75.js","sources":["../src/components/Skeleton.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n width?: string | number\n height?: string | number\n circle?: boolean\n variant?: 'default' | 'text'\n children?: React.ReactNode\n}\n\nexport const Skeleton: React.FC<SkeletonProps> = ({\n width,\n height,\n circle = false,\n variant = 'default',\n className = '',\n children,\n style,\n ...rest\n}) => {\n const getClasses = () => {\n const classes = ['skeleton']\n\n if (variant === 'text') {\n classes.push('skeleton-text')\n }\n\n if (circle) {\n classes.push('rounded-full')\n }\n\n if (className) {\n classes.push(className)\n }\n\n return classes.join(' ')\n }\n\n const getStyles = () => {\n const styles: React.CSSProperties = {}\n\n if (width) {\n styles.width = typeof width === 'number' ? `${width}px` : width\n }\n\n if (height) {\n styles.height = typeof height === 'number' ? `${height}px` : height\n }\n\n return Object.keys(styles).length > 0 ? styles : undefined\n }\n\n return (\n <div className={getClasses()} style={{ ...getStyles(), ...style }} {...rest}>\n {children}\n </div>\n )\n}\n"],"names":["Skeleton","width","height","circle","variant","className","children","style","rest","getClasses","classes","getStyles","styles","jsx"],"mappings":";AAUO,MAAMA,IAAoC,CAAC;AAAA,EAChD,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,SAAAC,IAAU;AAAA,EACV,WAAAC,IAAY;AAAA,EACZ,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAa,MAAM;AACvB,UAAMC,IAAU,CAAC,UAAU;AAE3B,WAAIN,MAAY,UACdM,EAAQ,KAAK,eAAe,GAG1BP,KACFO,EAAQ,KAAK,cAAc,GAGzBL,KACFK,EAAQ,KAAKL,CAAS,GAGjBK,EAAQ,KAAK,GAAG;AAAA,EACzB,GAEMC,IAAY,MAAM;AACtB,UAAMC,IAA8B,CAAA;AAEpC,WAAIX,MACFW,EAAO,QAAQ,OAAOX,KAAU,WAAW,GAAGA,CAAK,OAAOA,IAGxDC,MACFU,EAAO,SAAS,OAAOV,KAAW,WAAW,GAAGA,CAAM,OAAOA,IAGxD,OAAO,KAAKU,CAAM,EAAE,SAAS,IAAIA,IAAS;AAAA,EACnD;AAEA,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAWJ,EAAA,GAAc,OAAO,EAAE,GAAGE,EAAA,GAAa,GAAGJ,EAAA,GAAU,GAAGC,GACpE,UAAAF,EAAA,CACH;AAEJ;"}
1
+ {"version":3,"file":"index75.js","sources":["../src/components/Space.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface SpaceProps extends React.HTMLAttributes<HTMLDivElement> {\n direction?: 'horizontal' | 'vertical'\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number\n align?: 'start' | 'end' | 'center' | 'baseline' | 'stretch'\n justify?: 'start' | 'end' | 'center' | 'between' | 'around' | 'evenly'\n wrap?: boolean\n split?: React.ReactNode\n children: React.ReactNode\n}\n\nconst gapClasses = {\n xs: 'gap-1',\n sm: 'gap-2',\n md: 'gap-4',\n lg: 'gap-6',\n xl: 'gap-8',\n} as const\n\nconst alignClasses = {\n start: 'items-start',\n end: 'items-end',\n center: 'items-center',\n baseline: 'items-baseline',\n stretch: 'items-stretch',\n} as const\n\nconst justifyClasses = {\n start: 'justify-start',\n end: 'justify-end',\n center: 'justify-center',\n between: 'justify-between',\n around: 'justify-around',\n evenly: 'justify-evenly',\n} as const\n\nexport const Space: React.FC<SpaceProps> = ({\n direction = 'horizontal',\n size = 'md',\n align,\n justify,\n wrap = false,\n split,\n className = '',\n style,\n children,\n ...rest\n}) => {\n const isNumericSize = typeof size === 'number'\n const gapClass = isNumericSize ? '' : gapClasses[size]\n const alignClass = align ? alignClasses[align] : ''\n const justifyClass = justify ? justifyClasses[justify] : ''\n const wrapClass = wrap ? 'flex-wrap' : ''\n const directionClass = direction === 'horizontal' ? 'flex-row' : 'flex-col'\n\n const classes = [\n 'flex',\n directionClass,\n gapClass,\n alignClass,\n justifyClass,\n wrapClass,\n className\n ].filter(Boolean).join(' ')\n\n const combinedStyle: React.CSSProperties = {\n ...style,\n ...(isNumericSize ? { gap: `${size}px` } : {}),\n }\n\n // If split is provided, interleave separator between children\n const renderChildren = () => {\n if (!split) return children\n\n const childArray = React.Children.toArray(children).filter(Boolean)\n if (childArray.length <= 1) return children\n\n const result: React.ReactNode[] = []\n childArray.forEach((child, index) => {\n result.push(child)\n if (index < childArray.length - 1) {\n result.push(\n <span key={`split-${index}`} className=\"flex-shrink-0\">\n {split}\n </span>\n )\n }\n })\n return result\n }\n\n return <div className={classes} style={combinedStyle} {...rest}>{renderChildren()}</div>\n}\n"],"names":["gapClasses","alignClasses","justifyClasses","Space","direction","size","align","justify","wrap","split","className","style","children","rest","isNumericSize","gapClass","alignClass","justifyClass","classes","combinedStyle","jsx","childArray","React","result","child","index"],"mappings":";;AAYA,MAAMA,IAAa;AAAA,EACjB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEMC,IAAe;AAAA,EACnB,OAAO;AAAA,EACP,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,SAAS;AACX,GAEMC,IAAiB;AAAA,EACrB,OAAO;AAAA,EACP,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AACV,GAEaC,IAA8B,CAAC;AAAA,EAC1C,WAAAC,IAAY;AAAA,EACZ,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAgB,OAAOT,KAAS,UAChCU,IAAWD,IAAgB,KAAKd,EAAWK,CAAI,GAC/CW,IAAaV,IAAQL,EAAaK,CAAK,IAAI,IAC3CW,IAAeV,IAAUL,EAAeK,CAAO,IAAI,IAInDW,IAAU;AAAA,IACd;AAAA,IAHqBd,MAAc,eAAe,aAAa;AAAA,IAK/DW;AAAA,IACAC;AAAA,IACAC;AAAA,IARgBT,IAAO,cAAc;AAAA,IAUrCE;AAAA,EAAA,EACA,OAAO,OAAO,EAAE,KAAK,GAAG,GAEpBS,IAAqC;AAAA,IACzC,GAAGR;AAAA,IACH,GAAIG,IAAgB,EAAE,KAAK,GAAGT,CAAI,SAAS,CAAA;AAAA,EAAC;AAwB9C,SAAO,gBAAAe,EAAC,SAAI,WAAWF,GAAS,OAAOC,GAAgB,GAAGN,GAAO,WApB1C,MAAM;AAC3B,QAAI,CAACJ,EAAO,QAAOG;AAEnB,UAAMS,IAAaC,EAAM,SAAS,QAAQV,CAAQ,EAAE,OAAO,OAAO;AAClE,QAAIS,EAAW,UAAU,EAAG,QAAOT;AAEnC,UAAMW,IAA4B,CAAA;AAClC,WAAAF,EAAW,QAAQ,CAACG,GAAOC,MAAU;AACnC,MAAAF,EAAO,KAAKC,CAAK,GACbC,IAAQJ,EAAW,SAAS,KAC9BE,EAAO;AAAA,0BACJ,QAAA,EAA4B,WAAU,iBACpC,UAAAd,KADQ,SAASgB,CAAK,EAEzB;AAAA,MAAA;AAAA,IAGN,CAAC,GACMF;AAAA,EACT,GAEiE,EAAe,CAAE;AACpF;"}