singularity-components 0.1.105 → 0.1.106

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 (199) hide show
  1. package/dist/_virtual/rolldown_runtime.cjs +29 -0
  2. package/dist/_virtual/rolldown_runtime.js +30 -0
  3. package/dist/components/client/index.cjs +7 -0
  4. package/dist/components/client/index.js +9 -0
  5. package/dist/components/client/primitives/accordion/accordion.cjs +57 -0
  6. package/dist/components/client/primitives/accordion/accordion.cjs.map +1 -0
  7. package/dist/components/client/primitives/accordion/accordion.d.cts +25 -0
  8. package/dist/components/client/primitives/accordion/accordion.d.ts +25 -0
  9. package/dist/components/client/primitives/accordion/accordion.js +51 -0
  10. package/dist/components/client/primitives/accordion/accordion.js.map +1 -0
  11. package/dist/components/client/primitives/index.cjs +4 -0
  12. package/dist/components/client/primitives/index.js +6 -0
  13. package/dist/components/client/primitives/separator/separator.cjs +26 -0
  14. package/dist/components/client/primitives/separator/separator.cjs.map +1 -0
  15. package/dist/components/client/primitives/separator/separator.d.cts +14 -0
  16. package/dist/components/client/primitives/separator/separator.d.ts +14 -0
  17. package/dist/components/client/primitives/separator/separator.js +22 -0
  18. package/dist/components/client/primitives/separator/separator.js.map +1 -0
  19. package/dist/components/client/primitives/table/table.cjs +82 -0
  20. package/dist/components/client/primitives/table/table.cjs.map +1 -0
  21. package/dist/components/client/primitives/table/table.d.cts +39 -0
  22. package/dist/components/client/primitives/table/table.d.ts +39 -0
  23. package/dist/components/client/primitives/table/table.js +72 -0
  24. package/dist/components/client/primitives/table/table.js.map +1 -0
  25. package/dist/components/client/primitives/ui-image.cjs +24 -0
  26. package/dist/components/client/primitives/ui-image.cjs.map +1 -0
  27. package/dist/components/client/primitives/ui-image.d.cts +8 -0
  28. package/dist/components/client/primitives/ui-image.d.ts +8 -0
  29. package/dist/components/client/primitives/ui-image.js +21 -0
  30. package/dist/components/client/primitives/ui-image.js.map +1 -0
  31. package/dist/components/client/providers/ImageContext.cjs +30 -0
  32. package/dist/components/client/providers/ImageContext.cjs.map +1 -0
  33. package/dist/components/client/providers/ImageContext.d.cts +18 -0
  34. package/dist/components/client/providers/ImageContext.d.ts +18 -0
  35. package/dist/components/client/providers/ImageContext.js +26 -0
  36. package/dist/components/client/providers/ImageContext.js.map +1 -0
  37. package/dist/components/client/providers/index.cjs +1 -0
  38. package/dist/components/client/providers/index.js +3 -0
  39. package/dist/components/index.cjs +24 -0
  40. package/dist/components/index.js +26 -0
  41. package/dist/components/server/index.cjs +18 -0
  42. package/dist/components/server/index.js +20 -0
  43. package/dist/components/server/primitives/alert/alert.cjs +47 -0
  44. package/dist/components/server/primitives/alert/alert.cjs.map +1 -0
  45. package/dist/components/server/primitives/alert/alert.d.cts +31 -0
  46. package/dist/components/server/primitives/alert/alert.d.ts +31 -0
  47. package/dist/components/server/primitives/alert/alert.js +40 -0
  48. package/dist/components/server/primitives/alert/alert.js.map +1 -0
  49. package/dist/components/server/primitives/badge/badge.cjs +33 -0
  50. package/dist/components/server/primitives/badge/badge.cjs.map +1 -0
  51. package/dist/components/server/primitives/badge/badge.d.cts +20 -0
  52. package/dist/components/server/primitives/badge/badge.d.ts +20 -0
  53. package/dist/components/server/primitives/badge/badge.js +27 -0
  54. package/dist/components/server/primitives/badge/badge.js.map +1 -0
  55. package/dist/components/server/primitives/badge/badges.cjs +19 -0
  56. package/dist/components/server/primitives/badge/badges.cjs.map +1 -0
  57. package/dist/components/server/primitives/badge/badges.d.cts +13 -0
  58. package/dist/components/server/primitives/badge/badges.d.ts +13 -0
  59. package/dist/components/server/primitives/badge/badges.js +16 -0
  60. package/dist/components/server/primitives/badge/badges.js.map +1 -0
  61. package/dist/components/server/primitives/button/button.cjs +65 -0
  62. package/dist/components/server/primitives/button/button.cjs.map +1 -0
  63. package/dist/components/server/primitives/button/button.d.cts +49 -0
  64. package/dist/components/server/primitives/button/button.d.ts +49 -0
  65. package/dist/components/server/primitives/button/button.js +58 -0
  66. package/dist/components/server/primitives/button/button.js.map +1 -0
  67. package/dist/components/server/primitives/cards/blog-card.cjs +10 -0
  68. package/dist/components/server/primitives/cards/blog-card.d.cts +14 -0
  69. package/dist/components/server/primitives/cards/blog-card.d.ts +16 -0
  70. package/dist/components/server/primitives/cards/blog-card.js +10 -0
  71. package/dist/components/server/primitives/cards/card.cjs +66 -0
  72. package/dist/components/server/primitives/cards/card.cjs.map +1 -0
  73. package/dist/components/server/primitives/cards/card.d.cts +17 -0
  74. package/dist/components/server/primitives/cards/card.d.ts +17 -0
  75. package/dist/components/server/primitives/cards/card.js +57 -0
  76. package/dist/components/server/primitives/cards/card.js.map +1 -0
  77. package/dist/components/server/primitives/cards/cards.cjs +36 -0
  78. package/dist/components/server/primitives/cards/cards.cjs.map +1 -0
  79. package/dist/components/server/primitives/cards/cards.d.cts +24 -0
  80. package/dist/components/server/primitives/cards/cards.d.ts +24 -0
  81. package/dist/components/server/primitives/cards/cards.js +32 -0
  82. package/dist/components/server/primitives/cards/cards.js.map +1 -0
  83. package/dist/components/server/primitives/icon/icon.cjs +54 -0
  84. package/dist/components/server/primitives/icon/icon.cjs.map +1 -0
  85. package/dist/components/server/primitives/icon/icon.d.cts +41 -0
  86. package/dist/components/server/primitives/icon/icon.d.ts +41 -0
  87. package/dist/components/server/primitives/icon/icon.js +49 -0
  88. package/dist/components/server/primitives/icon/icon.js.map +1 -0
  89. package/dist/components/server/primitives/index.cjs +18 -0
  90. package/dist/components/server/primitives/index.js +20 -0
  91. package/dist/components/server/primitives/input/input.cjs +20 -0
  92. package/dist/components/server/primitives/input/input.cjs.map +1 -0
  93. package/dist/components/server/primitives/input/input.d.cts +12 -0
  94. package/dist/components/server/primitives/input/input.d.ts +12 -0
  95. package/dist/components/server/primitives/input/input.js +17 -0
  96. package/dist/components/server/primitives/input/input.js.map +1 -0
  97. package/dist/components/server/primitives/layout/layout.cjs +83 -0
  98. package/dist/components/server/primitives/layout/layout.cjs.map +1 -0
  99. package/dist/components/server/primitives/layout/layout.d.cts +69 -0
  100. package/dist/components/server/primitives/layout/layout.d.ts +69 -0
  101. package/dist/components/server/primitives/layout/layout.js +77 -0
  102. package/dist/components/server/primitives/layout/layout.js.map +1 -0
  103. package/dist/components/server/primitives/skeleton/skeleton.cjs +17 -0
  104. package/dist/components/server/primitives/skeleton/skeleton.cjs.map +1 -0
  105. package/dist/components/server/primitives/skeleton/skeleton.d.cts +10 -0
  106. package/dist/components/server/primitives/skeleton/skeleton.d.ts +10 -0
  107. package/dist/components/server/primitives/skeleton/skeleton.js +15 -0
  108. package/dist/components/server/primitives/skeleton/skeleton.js.map +1 -0
  109. package/dist/components/server/primitives/spinner/spinner.cjs +33 -0
  110. package/dist/components/server/primitives/spinner/spinner.cjs.map +1 -0
  111. package/dist/components/server/primitives/spinner/spinner.d.cts +16 -0
  112. package/dist/components/server/primitives/spinner/spinner.d.ts +16 -0
  113. package/dist/components/server/primitives/spinner/spinner.js +31 -0
  114. package/dist/components/server/primitives/spinner/spinner.js.map +1 -0
  115. package/dist/components/server/primitives/stack/stack.cjs +41 -0
  116. package/dist/components/server/primitives/stack/stack.cjs.map +1 -0
  117. package/dist/components/server/primitives/stack/stack.d.cts +15 -0
  118. package/dist/components/server/primitives/stack/stack.d.ts +15 -0
  119. package/dist/components/server/primitives/stack/stack.js +35 -0
  120. package/dist/components/server/primitives/stack/stack.js.map +1 -0
  121. package/dist/components/server/primitives/text/internal/text-element.cjs +67 -0
  122. package/dist/components/server/primitives/text/internal/text-element.cjs.map +1 -0
  123. package/dist/components/server/primitives/text/internal/text-element.d.cts +17 -0
  124. package/dist/components/server/primitives/text/internal/text-element.d.ts +18 -0
  125. package/dist/components/server/primitives/text/internal/text-element.js +62 -0
  126. package/dist/components/server/primitives/text/internal/text-element.js.map +1 -0
  127. package/dist/components/server/primitives/text/text-div.cjs +23 -0
  128. package/dist/components/server/primitives/text/text-div.cjs.map +1 -0
  129. package/dist/components/server/primitives/text/text-div.d.cts +16 -0
  130. package/dist/components/server/primitives/text/text-div.d.ts +16 -0
  131. package/dist/components/server/primitives/text/text-div.js +21 -0
  132. package/dist/components/server/primitives/text/text-div.js.map +1 -0
  133. package/dist/components/server/primitives/text/text-heading.cjs +36 -0
  134. package/dist/components/server/primitives/text/text-heading.cjs.map +1 -0
  135. package/dist/components/server/primitives/text/text-heading.d.cts +34 -0
  136. package/dist/components/server/primitives/text/text-heading.d.ts +34 -0
  137. package/dist/components/server/primitives/text/text-heading.js +31 -0
  138. package/dist/components/server/primitives/text/text-heading.js.map +1 -0
  139. package/dist/components/server/primitives/text/text-paragraph.cjs +23 -0
  140. package/dist/components/server/primitives/text/text-paragraph.cjs.map +1 -0
  141. package/dist/components/server/primitives/text/text-paragraph.d.cts +16 -0
  142. package/dist/components/server/primitives/text/text-paragraph.d.ts +16 -0
  143. package/dist/components/server/primitives/text/text-paragraph.js +21 -0
  144. package/dist/components/server/primitives/text/text-paragraph.js.map +1 -0
  145. package/dist/components/server/primitives/text/text-span.cjs +23 -0
  146. package/dist/components/server/primitives/text/text-span.cjs.map +1 -0
  147. package/dist/components/server/primitives/text/text-span.d.cts +16 -0
  148. package/dist/components/server/primitives/text/text-span.d.ts +16 -0
  149. package/dist/components/server/primitives/text/text-span.js +21 -0
  150. package/dist/components/server/primitives/text/text-span.js.map +1 -0
  151. package/dist/components/server/primitives/text/text-time.cjs +23 -0
  152. package/dist/components/server/primitives/text/text-time.cjs.map +1 -0
  153. package/dist/components/server/primitives/text/text-time.d.cts +16 -0
  154. package/dist/components/server/primitives/text/text-time.d.ts +16 -0
  155. package/dist/components/server/primitives/text/text-time.js +21 -0
  156. package/dist/components/server/primitives/text/text-time.js.map +1 -0
  157. package/dist/css/variables-HJ1tH8SD.css +63 -0
  158. package/dist/css/variables-HJ1tH8SD.css.map +1 -0
  159. package/dist/css/variables.cjs +0 -0
  160. package/dist/css/variables.js +1 -0
  161. package/dist/lib/helpers/date.cjs +11 -0
  162. package/dist/lib/helpers/date.cjs.map +1 -0
  163. package/dist/lib/helpers/date.d.cts +5 -0
  164. package/dist/lib/helpers/date.d.ts +5 -0
  165. package/dist/lib/helpers/date.js +10 -0
  166. package/dist/lib/helpers/date.js.map +1 -0
  167. package/dist/lib/types.d.cts +6 -0
  168. package/dist/lib/types.d.ts +6 -0
  169. package/dist/main.cjs +81 -35020
  170. package/dist/main.d.cts +25 -261
  171. package/dist/main.d.ts +25 -261
  172. package/dist/main.js +28 -34941
  173. package/dist/node_modules/lucide-react/dist/cjs/lucide-react.cjs +33010 -0
  174. package/dist/node_modules/lucide-react/dist/cjs/lucide-react.cjs.map +1 -0
  175. package/dist/node_modules/lucide-react/dist/cjs/lucide-react.js +33007 -0
  176. package/dist/node_modules/lucide-react/dist/cjs/lucide-react.js.map +1 -0
  177. package/dist/tailwind-0e8cQs9T.css +219 -0
  178. package/dist/tailwind-0e8cQs9T.css.map +1 -0
  179. package/dist/tailwind.cjs +0 -0
  180. package/dist/tailwind.js +1 -0
  181. package/dist/utils.cjs +20 -0
  182. package/dist/utils.cjs.map +1 -0
  183. package/dist/utils.js +17 -0
  184. package/dist/utils.js.map +1 -0
  185. package/package.json +67 -67
  186. package/dist/client/client.css +0 -1876
  187. package/dist/client/client.css.map +0 -1
  188. package/dist/client/client.d.ts +0 -40
  189. package/dist/client/client.js +0 -381
  190. package/dist/client/client.js.map +0 -1
  191. package/dist/main.cjs.map +0 -1
  192. package/dist/main.css +0 -1876
  193. package/dist/main.css.map +0 -1
  194. package/dist/main.js.map +0 -1
  195. package/dist/server/ssr.cjs +0 -834
  196. package/dist/server/ssr.cjs.map +0 -1
  197. package/dist/server/ssr.css +0 -1876
  198. package/dist/server/ssr.css.map +0 -1
  199. package/dist/server/ssr.d.cts +0 -228
@@ -0,0 +1,219 @@
1
+
2
+ @plugin 'tailwindcss-animate';
3
+
4
+ @custom-variant dark (&:is(.dark *));
5
+
6
+ :root {
7
+ --sg-color-background: var(--sg-color-white);
8
+ --sg-color-foreground: var(--sg-color-black);
9
+
10
+ --sg-color-muted-background: var(--sg-white-muted);
11
+ --sg-color-muted-foreground: var(--sg-black-muted);
12
+
13
+ /* Gradients */
14
+ --sg-gradient-1: var(--sg-pink);
15
+ --sg-gradient-2: var(--sg-primary);
16
+
17
+ --sg-border: var(--sg-black-muted);
18
+
19
+ --sg-accent: var(--sg-white-accent);
20
+ --sg-accent-foreground: var(--sg-black-accent);
21
+
22
+ /* Pasted */
23
+ --card: oklch(1 0 0);
24
+ --card-foreground: oklch(0.145 0 0);
25
+ --popover: oklch(1 0 0);
26
+ --popover-foreground: oklch(0.145 0 0);
27
+ --input: oklch(0.922 0 0);
28
+ --ring: oklch(0.708 0 0);
29
+ --chart-1: oklch(0.646 0.222 41.116);
30
+ --chart-2: oklch(0.6 0.118 184.704);
31
+ --chart-3: oklch(0.398 0.07 227.392);
32
+ --chart-4: oklch(0.828 0.189 84.429);
33
+ --chart-5: oklch(0.769 0.188 70.08);
34
+ --radius: 0.625rem;
35
+ --sidebar: oklch(0.985 0 0);
36
+ --sidebar-foreground: oklch(0.145 0 0);
37
+ --sidebar-primary: oklch(0.205 0 0);
38
+ --sidebar-primary-foreground: oklch(0.985 0 0);
39
+ --sidebar-accent: oklch(0.97 0 0);
40
+ --sidebar-accent-foreground: oklch(0.205 0 0);
41
+ --sidebar-border: oklch(0.922 0 0);
42
+ --sidebar-ring: oklch(0.708 0 0);
43
+ }
44
+
45
+ .dark {
46
+ --sg-color-background: var(--sg-black);
47
+ --sg-color-foreground: var(--sg-white);
48
+
49
+ --sg-color-muted-background: var(--sg-black-muted);
50
+ --sg-color-muted-foreground: var(--sg-white-muted);
51
+
52
+ /* Gradients */
53
+ --sg-gradient-1: var(--sg-pink);
54
+ --sg-gradient-2: var(--sg-primary-light);
55
+
56
+ --sg-border: var(--sg-white-muted);
57
+
58
+ --sg-accent: var(--sg-black-accent);
59
+ --sg-accent-foreground: var(--sg-white-accent);
60
+
61
+ /* Pasted */
62
+ --card: oklch(0.145 0 0);
63
+ --card-foreground: oklch(0.985 0 0);
64
+ --popover: oklch(0.145 0 0);
65
+ --popover-foreground: oklch(0.985 0 0);
66
+ --primary: oklch(0.985 0 0);
67
+ --primary-foreground: oklch(0.205 0 0);
68
+ --secondary: oklch(0.269 0 0);
69
+ --secondary-foreground: oklch(0.985 0 0);
70
+ --destructive: oklch(0.396 0.141 25.723);
71
+ --destructive-foreground: oklch(0.637 0.237 25.331);
72
+ --input: oklch(0.269 0 0);
73
+ --ring: oklch(0.439 0 0);
74
+ --chart-1: oklch(0.488 0.243 264.376);
75
+ --chart-2: oklch(0.696 0.17 162.48);
76
+ --chart-3: oklch(0.769 0.188 70.08);
77
+ --chart-4: oklch(0.627 0.265 303.9);
78
+ --chart-5: oklch(0.645 0.246 16.439);
79
+ --sidebar: oklch(0.205 0 0);
80
+ --sidebar-foreground: oklch(0.985 0 0);
81
+ --sidebar-primary: oklch(0.488 0.243 264.376);
82
+ --sidebar-primary-foreground: oklch(0.985 0 0);
83
+ --sidebar-accent: oklch(0.269 0 0);
84
+ --sidebar-accent-foreground: oklch(0.985 0 0);
85
+ --sidebar-border: oklch(0.269 0 0);
86
+ --sidebar-ring: oklch(0.439 0 0);
87
+ }
88
+
89
+ @theme inline {
90
+ /* Fonts */
91
+ --font-sans: Inter;
92
+ --font-serif: "Inter Tight";
93
+ --font-mono: "JetBrains Mono";
94
+
95
+ /* Colors */
96
+ --color-*: initial;
97
+
98
+ --color-black: hsl(var(--sg-black));
99
+ --color-white: hsl(var(--sg-white));
100
+ --color-pink: hsl(var(--sg-pink));
101
+
102
+ --color-gray-light: hsl(var(--sg-gray-light));
103
+ --color-gray: hsl(var(--sg-gray));
104
+ --color-gray-dark: hsl(var(--sg-gray-dark));
105
+
106
+ --color-green-light: hsl(var(--sg-green-light));
107
+ --color-green: hsl(var(--sg-green));
108
+ --color-green-dark: hsl(var(--sg-green-dark));
109
+ --color-green-foreground: hsl(var(--sg-green-foreground));
110
+
111
+ --color-orange-light: hsl(var(--sg-orange-light));
112
+ --color-orange: hsl(var(--sg-orange));
113
+ --color-orange-dark: hsl(var(--sg-orange-dark));
114
+ --color-orange-foreground: hsl(var(--sg-orange-foreground));
115
+
116
+ --color-red-light: hsl(var(--sg-red-light));
117
+ --color-red: hsl(var(--sg-red));
118
+ --color-red-dark: hsl(var(--sg-red-dark));
119
+ --color-red-foreground: hsl(var(--sg-red-foreground));
120
+
121
+ --color-blue-light: hsl(var(--sg-blue-light));
122
+ --color-blue: hsl(var(--sg-blue));
123
+ --color-blue-dark: hsl(var(--sg-blue-dark));
124
+ --color-blue-foreground: hsl(var(--sg-blue-foreground));
125
+
126
+ --color-primary-light: hsl(var(--sg-primary-light));
127
+ --color-primary: hsl(var(--sg-primary));
128
+ --color-primary-dark: hsl(var(--sg-primary-dark));
129
+ --color-primary-foreground: hsl(var(--sg-primary-foreground));
130
+
131
+ --color-secondary-light: hsl(var(--sg-secondary-light));
132
+ --color-secondary: hsl(var(--sg-secondary));
133
+ --color-secondary-dark: hsl(var(--sg-secondary-dark));
134
+ --color-secondary-foreground: hsl(var(--sg-secondary-foreground));
135
+
136
+ --color-info: hsl(var(--sg-blue));
137
+ --color-info-foreground: hsl(var(--sg-blue-foreground));
138
+
139
+ --color-success: hsl(var(--sg-green));
140
+ --color-success-foreground: hsl(var(--sg-green-foreground));
141
+
142
+ --color-warning: hsl(var(--sg-orange));
143
+ --color-warning-foreground: hsl(var(--sg-orange-foreground));
144
+
145
+ --color-destructive: hsl(var(--sg-red));
146
+ --color-destructive-foreground: hsl(var(--sg-red-foreground));
147
+
148
+ --color-background: hsl(var(--sg-color-background));
149
+ --color-foreground: hsl(var(--sg-color-foreground));
150
+
151
+ --color-muted: hsl(var(--sg-color-muted-background));
152
+ --color-muted-foreground: hsl(var(--sg-color-muted-foreground));
153
+
154
+ --color-border: hsl(var(--sg-border));
155
+
156
+ --color-accent: hsl(var(--sg-accent));
157
+ --color-accent-foreground: hsl(var(--sg-accent-foreground));
158
+
159
+ /* Pasted */
160
+ --color-card: var(--card);
161
+ --color-card-foreground: var(--card-foreground);
162
+ --color-popover: var(--popover);
163
+ --color-popover-foreground: var(--popover-foreground);
164
+ --color-input: var(--input);
165
+ --color-ring: var(--ring);
166
+ --color-chart-1: var(--chart-1);
167
+ --color-chart-2: var(--chart-2);
168
+ --color-chart-3: var(--chart-3);
169
+ --color-chart-4: var(--chart-4);
170
+ --color-chart-5: var(--chart-5);
171
+ --radius-sm: calc(var(--radius) - 4px);
172
+ --radius-md: calc(var(--radius) - 2px);
173
+ --radius-lg: var(--radius);
174
+ --radius-xl: calc(var(--radius) + 4px);
175
+ --color-sidebar: var(--sidebar);
176
+ --color-sidebar-foreground: var(--sidebar-foreground);
177
+ --color-sidebar-primary: var(--sidebar-primary);
178
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
179
+ --color-sidebar-accent: var(--sidebar-accent);
180
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
181
+ --color-sidebar-border: var(--sidebar-border);
182
+ --color-sidebar-ring: var(--sidebar-ring);
183
+ }
184
+
185
+ @layer base {
186
+ * {
187
+ @apply sg:border-border sg:outline-ring/50;
188
+ }
189
+ body {
190
+ @apply sg:bg-background sg:text-foreground;
191
+ }
192
+ }
193
+
194
+ @layer utilities {
195
+ .text-gradient-brand {
196
+ background-image: linear-gradient(
197
+ 90deg,
198
+ hsl(var(--sg-gradient-1)) 0%,
199
+ hsl(var(--sg-gradient-2)) 50%,
200
+ hsl(var(--sg-primary)) 100%
201
+ );
202
+ -webkit-background-clip: text;
203
+ background-clip: text;
204
+ color: transparent;
205
+ }
206
+ }
207
+
208
+ /* Specials */
209
+ .gradient-hero {
210
+ background: linear-gradient(
211
+ 135deg,
212
+ hsl(var(--sg-primary-light)) 0%,
213
+ hsl(var(--sg-pink)) 50%,
214
+ hsl(var(--sg-orange)) 100%
215
+ );
216
+ }
217
+
218
+
219
+ /*# sourceMappingURL=tailwind-0e8cQs9T.css.map*/
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tailwind-0e8cQs9T.css","names":[],"sources":["../src/tailwind.css"],"sourcesContent":["@import \"./css/variables.css\";\r\n@import \"tailwindcss\" prefix(sg);\r\n\r\n@plugin 'tailwindcss-animate';\r\n\r\n@custom-variant dark (&:is(.dark *));\r\n\r\n:root {\r\n --sg-color-background: var(--sg-color-white);\r\n --sg-color-foreground: var(--sg-color-black);\r\n\r\n --sg-color-muted-background: var(--sg-white-muted);\r\n --sg-color-muted-foreground: var(--sg-black-muted);\r\n\r\n /* Gradients */\r\n --sg-gradient-1: var(--sg-pink);\r\n --sg-gradient-2: var(--sg-primary);\r\n\r\n --sg-border: var(--sg-black-muted);\r\n\r\n --sg-accent: var(--sg-white-accent);\r\n --sg-accent-foreground: var(--sg-black-accent);\r\n\r\n /* Pasted */\r\n --card: oklch(1 0 0);\r\n --card-foreground: oklch(0.145 0 0);\r\n --popover: oklch(1 0 0);\r\n --popover-foreground: oklch(0.145 0 0);\r\n --input: oklch(0.922 0 0);\r\n --ring: oklch(0.708 0 0);\r\n --chart-1: oklch(0.646 0.222 41.116);\r\n --chart-2: oklch(0.6 0.118 184.704);\r\n --chart-3: oklch(0.398 0.07 227.392);\r\n --chart-4: oklch(0.828 0.189 84.429);\r\n --chart-5: oklch(0.769 0.188 70.08);\r\n --radius: 0.625rem;\r\n --sidebar: oklch(0.985 0 0);\r\n --sidebar-foreground: oklch(0.145 0 0);\r\n --sidebar-primary: oklch(0.205 0 0);\r\n --sidebar-primary-foreground: oklch(0.985 0 0);\r\n --sidebar-accent: oklch(0.97 0 0);\r\n --sidebar-accent-foreground: oklch(0.205 0 0);\r\n --sidebar-border: oklch(0.922 0 0);\r\n --sidebar-ring: oklch(0.708 0 0);\r\n}\r\n\r\n.dark {\r\n --sg-color-background: var(--sg-black);\r\n --sg-color-foreground: var(--sg-white);\r\n\r\n --sg-color-muted-background: var(--sg-black-muted);\r\n --sg-color-muted-foreground: var(--sg-white-muted);\r\n\r\n /* Gradients */\r\n --sg-gradient-1: var(--sg-pink);\r\n --sg-gradient-2: var(--sg-primary-light);\r\n\r\n --sg-border: var(--sg-white-muted);\r\n\r\n --sg-accent: var(--sg-black-accent);\r\n --sg-accent-foreground: var(--sg-white-accent);\r\n\r\n /* Pasted */\r\n --card: oklch(0.145 0 0);\r\n --card-foreground: oklch(0.985 0 0);\r\n --popover: oklch(0.145 0 0);\r\n --popover-foreground: oklch(0.985 0 0);\r\n --primary: oklch(0.985 0 0);\r\n --primary-foreground: oklch(0.205 0 0);\r\n --secondary: oklch(0.269 0 0);\r\n --secondary-foreground: oklch(0.985 0 0);\r\n --destructive: oklch(0.396 0.141 25.723);\r\n --destructive-foreground: oklch(0.637 0.237 25.331);\r\n --input: oklch(0.269 0 0);\r\n --ring: oklch(0.439 0 0);\r\n --chart-1: oklch(0.488 0.243 264.376);\r\n --chart-2: oklch(0.696 0.17 162.48);\r\n --chart-3: oklch(0.769 0.188 70.08);\r\n --chart-4: oklch(0.627 0.265 303.9);\r\n --chart-5: oklch(0.645 0.246 16.439);\r\n --sidebar: oklch(0.205 0 0);\r\n --sidebar-foreground: oklch(0.985 0 0);\r\n --sidebar-primary: oklch(0.488 0.243 264.376);\r\n --sidebar-primary-foreground: oklch(0.985 0 0);\r\n --sidebar-accent: oklch(0.269 0 0);\r\n --sidebar-accent-foreground: oklch(0.985 0 0);\r\n --sidebar-border: oklch(0.269 0 0);\r\n --sidebar-ring: oklch(0.439 0 0);\r\n}\r\n\r\n@theme inline {\r\n /* Fonts */\r\n --font-sans: Inter;\r\n --font-serif: \"Inter Tight\";\r\n --font-mono: \"JetBrains Mono\";\r\n\r\n /* Colors */\r\n --color-*: initial;\r\n\r\n --color-black: hsl(var(--sg-black));\r\n --color-white: hsl(var(--sg-white));\r\n --color-pink: hsl(var(--sg-pink));\r\n\r\n --color-gray-light: hsl(var(--sg-gray-light));\r\n --color-gray: hsl(var(--sg-gray));\r\n --color-gray-dark: hsl(var(--sg-gray-dark));\r\n\r\n --color-green-light: hsl(var(--sg-green-light));\r\n --color-green: hsl(var(--sg-green));\r\n --color-green-dark: hsl(var(--sg-green-dark));\r\n --color-green-foreground: hsl(var(--sg-green-foreground));\r\n\r\n --color-orange-light: hsl(var(--sg-orange-light));\r\n --color-orange: hsl(var(--sg-orange));\r\n --color-orange-dark: hsl(var(--sg-orange-dark));\r\n --color-orange-foreground: hsl(var(--sg-orange-foreground));\r\n\r\n --color-red-light: hsl(var(--sg-red-light));\r\n --color-red: hsl(var(--sg-red));\r\n --color-red-dark: hsl(var(--sg-red-dark));\r\n --color-red-foreground: hsl(var(--sg-red-foreground));\r\n\r\n --color-blue-light: hsl(var(--sg-blue-light));\r\n --color-blue: hsl(var(--sg-blue));\r\n --color-blue-dark: hsl(var(--sg-blue-dark));\r\n --color-blue-foreground: hsl(var(--sg-blue-foreground));\r\n\r\n --color-primary-light: hsl(var(--sg-primary-light));\r\n --color-primary: hsl(var(--sg-primary));\r\n --color-primary-dark: hsl(var(--sg-primary-dark));\r\n --color-primary-foreground: hsl(var(--sg-primary-foreground));\r\n\r\n --color-secondary-light: hsl(var(--sg-secondary-light));\r\n --color-secondary: hsl(var(--sg-secondary));\r\n --color-secondary-dark: hsl(var(--sg-secondary-dark));\r\n --color-secondary-foreground: hsl(var(--sg-secondary-foreground));\r\n\r\n --color-info: hsl(var(--sg-blue));\r\n --color-info-foreground: hsl(var(--sg-blue-foreground));\r\n\r\n --color-success: hsl(var(--sg-green));\r\n --color-success-foreground: hsl(var(--sg-green-foreground));\r\n\r\n --color-warning: hsl(var(--sg-orange));\r\n --color-warning-foreground: hsl(var(--sg-orange-foreground));\r\n\r\n --color-destructive: hsl(var(--sg-red));\r\n --color-destructive-foreground: hsl(var(--sg-red-foreground));\r\n\r\n --color-background: hsl(var(--sg-color-background));\r\n --color-foreground: hsl(var(--sg-color-foreground));\r\n\r\n --color-muted: hsl(var(--sg-color-muted-background));\r\n --color-muted-foreground: hsl(var(--sg-color-muted-foreground));\r\n\r\n --color-border: hsl(var(--sg-border));\r\n\r\n --color-accent: hsl(var(--sg-accent));\r\n --color-accent-foreground: hsl(var(--sg-accent-foreground));\r\n\r\n /* Pasted */\r\n --color-card: var(--card);\r\n --color-card-foreground: var(--card-foreground);\r\n --color-popover: var(--popover);\r\n --color-popover-foreground: var(--popover-foreground);\r\n --color-input: var(--input);\r\n --color-ring: var(--ring);\r\n --color-chart-1: var(--chart-1);\r\n --color-chart-2: var(--chart-2);\r\n --color-chart-3: var(--chart-3);\r\n --color-chart-4: var(--chart-4);\r\n --color-chart-5: var(--chart-5);\r\n --radius-sm: calc(var(--radius) - 4px);\r\n --radius-md: calc(var(--radius) - 2px);\r\n --radius-lg: var(--radius);\r\n --radius-xl: calc(var(--radius) + 4px);\r\n --color-sidebar: var(--sidebar);\r\n --color-sidebar-foreground: var(--sidebar-foreground);\r\n --color-sidebar-primary: var(--sidebar-primary);\r\n --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);\r\n --color-sidebar-accent: var(--sidebar-accent);\r\n --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);\r\n --color-sidebar-border: var(--sidebar-border);\r\n --color-sidebar-ring: var(--sidebar-ring);\r\n}\r\n\r\n@layer base {\r\n * {\r\n @apply sg:border-border sg:outline-ring/50;\r\n }\r\n body {\r\n @apply sg:bg-background sg:text-foreground;\r\n }\r\n}\r\n\r\n@layer utilities {\r\n .text-gradient-brand {\r\n background-image: linear-gradient(\r\n 90deg,\r\n hsl(var(--sg-gradient-1)) 0%,\r\n hsl(var(--sg-gradient-2)) 50%,\r\n hsl(var(--sg-primary)) 100%\r\n );\r\n -webkit-background-clip: text;\r\n background-clip: text;\r\n color: transparent;\r\n }\r\n}\r\n\r\n/* Specials */\r\n.gradient-hero {\r\n background: linear-gradient(\r\n 135deg,\r\n hsl(var(--sg-primary-light)) 0%,\r\n hsl(var(--sg-pink)) 50%,\r\n hsl(var(--sg-orange)) 100%\r\n );\r\n}\r\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
File without changes
@@ -0,0 +1 @@
1
+ export { };
package/dist/utils.cjs ADDED
@@ -0,0 +1,20 @@
1
+ const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
2
+ let clsx = require("clsx");
3
+ clsx = require_rolldown_runtime.__toESM(clsx);
4
+ let tailwind_merge = require("tailwind-merge");
5
+ tailwind_merge = require_rolldown_runtime.__toESM(tailwind_merge);
6
+
7
+ //#region src/utils.ts
8
+ function cn(...inputs) {
9
+ const allOriginalClasses = (0, clsx.clsx)(inputs).split(/\s+/).filter(Boolean);
10
+ const prefixedClasses = allOriginalClasses.filter((c) => c.startsWith("sg:"));
11
+ const unprefixedClasses = allOriginalClasses.filter((c) => !c.startsWith("sg:"));
12
+ return (0, tailwind_merge.twMerge)(allOriginalClasses.map((c) => c.replace("sg:", ""))).split(/\s+/).filter(Boolean).map((c) => {
13
+ if (prefixedClasses.includes("sg:" + c) && !unprefixedClasses.includes(c)) return "sg:" + c;
14
+ return c;
15
+ }).join(" ");
16
+ }
17
+
18
+ //#endregion
19
+ exports.cn = cn;
20
+ //# sourceMappingURL=utils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.cjs","names":[],"sources":["../src/utils.ts"],"sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n const classString = clsx(inputs);\n const allOriginalClasses = classString.split(/\\s+/).filter(Boolean);\n\n //Store prefixed classes\n const prefixedClasses = allOriginalClasses.filter((c) => c.startsWith(\"sg:\"));\n const unprefixedClasses = allOriginalClasses.filter(\n (c) => !c.startsWith(\"sg:\")\n );\n\n //Get all classes without prefix\n const allClassesWithRemovedPrefix = allOriginalClasses.map((c) =>\n c.replace(\"sg:\", \"\")\n );\n\n //Merge all (with prefix removed)\n const mergedClasses = twMerge(allClassesWithRemovedPrefix)\n .split(/\\s+/)\n .filter(Boolean);\n\n //Put prefix back if class exists in prefix and not in unprefixed\n return mergedClasses\n .map((c: string) => {\n if (\n prefixedClasses.includes(\"sg:\" + c) &&\n !unprefixedClasses.includes(c)\n ) {\n return \"sg:\" + c;\n }\n return c;\n })\n .join(\" \");\n}\n"],"mappings":";;;;;;;AAGA,SAAgB,GAAG,GAAG,QAAsB;CAE1C,MAAM,oCADmB,OAAO,CACO,MAAM,MAAM,CAAC,OAAO,QAAQ;CAGnE,MAAM,kBAAkB,mBAAmB,QAAQ,MAAM,EAAE,WAAW,MAAM,CAAC;CAC7E,MAAM,oBAAoB,mBAAmB,QAC1C,MAAM,CAAC,EAAE,WAAW,MAAM,CAC5B;AAaD,oCAVoC,mBAAmB,KAAK,MAC1D,EAAE,QAAQ,OAAO,GAAG,CACrB,CAGyD,CACvD,MAAM,MAAM,CACZ,OAAO,QAAQ,CAIf,KAAK,MAAc;AAClB,MACE,gBAAgB,SAAS,QAAQ,EAAE,IACnC,CAAC,kBAAkB,SAAS,EAAE,CAE9B,QAAO,QAAQ;AAEjB,SAAO;GACP,CACD,KAAK,IAAI"}
package/dist/utils.js ADDED
@@ -0,0 +1,17 @@
1
+ import { clsx } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+
4
+ //#region src/utils.ts
5
+ function cn(...inputs) {
6
+ const allOriginalClasses = clsx(inputs).split(/\s+/).filter(Boolean);
7
+ const prefixedClasses = allOriginalClasses.filter((c) => c.startsWith("sg:"));
8
+ const unprefixedClasses = allOriginalClasses.filter((c) => !c.startsWith("sg:"));
9
+ return twMerge(allOriginalClasses.map((c) => c.replace("sg:", ""))).split(/\s+/).filter(Boolean).map((c) => {
10
+ if (prefixedClasses.includes("sg:" + c) && !unprefixedClasses.includes(c)) return "sg:" + c;
11
+ return c;
12
+ }).join(" ");
13
+ }
14
+
15
+ //#endregion
16
+ export { cn };
17
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../src/utils.ts"],"sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n const classString = clsx(inputs);\n const allOriginalClasses = classString.split(/\\s+/).filter(Boolean);\n\n //Store prefixed classes\n const prefixedClasses = allOriginalClasses.filter((c) => c.startsWith(\"sg:\"));\n const unprefixedClasses = allOriginalClasses.filter(\n (c) => !c.startsWith(\"sg:\")\n );\n\n //Get all classes without prefix\n const allClassesWithRemovedPrefix = allOriginalClasses.map((c) =>\n c.replace(\"sg:\", \"\")\n );\n\n //Merge all (with prefix removed)\n const mergedClasses = twMerge(allClassesWithRemovedPrefix)\n .split(/\\s+/)\n .filter(Boolean);\n\n //Put prefix back if class exists in prefix and not in unprefixed\n return mergedClasses\n .map((c: string) => {\n if (\n prefixedClasses.includes(\"sg:\" + c) &&\n !unprefixedClasses.includes(c)\n ) {\n return \"sg:\" + c;\n }\n return c;\n })\n .join(\" \");\n}\n"],"mappings":";;;;AAGA,SAAgB,GAAG,GAAG,QAAsB;CAE1C,MAAM,qBADc,KAAK,OAAO,CACO,MAAM,MAAM,CAAC,OAAO,QAAQ;CAGnE,MAAM,kBAAkB,mBAAmB,QAAQ,MAAM,EAAE,WAAW,MAAM,CAAC;CAC7E,MAAM,oBAAoB,mBAAmB,QAC1C,MAAM,CAAC,EAAE,WAAW,MAAM,CAC5B;AAaD,QALsB,QALc,mBAAmB,KAAK,MAC1D,EAAE,QAAQ,OAAO,GAAG,CACrB,CAGyD,CACvD,MAAM,MAAM,CACZ,OAAO,QAAQ,CAIf,KAAK,MAAc;AAClB,MACE,gBAAgB,SAAS,QAAQ,EAAE,IACnC,CAAC,kBAAkB,SAAS,EAAE,CAE9B,QAAO,QAAQ;AAEjB,SAAO;GACP,CACD,KAAK,IAAI"}
package/package.json CHANGED
@@ -1,67 +1,67 @@
1
- {
2
- "name": "singularity-components",
3
- "version": "0.1.105",
4
- "main": "./dist/main.js",
5
- "module": "./dist/main.mjs",
6
- "types": "./dist/main.d.ts",
7
- "type": "module",
8
- "files": [
9
- "dist"
10
- ],
11
- "scripts": {
12
- "build": "tsup",
13
- "storybook": "storybook dev -p 6006 --no-open",
14
- "storybook:build": "storybook build",
15
- "droplet-down": "docker-compose --context remote -f .\\docker-compose-droplet.yml down",
16
- "droplet-up": "powershell -ExecutionPolicy Bypass -File droplet-update-containers.ps1"
17
- },
18
- "keywords": [
19
- "test"
20
- ],
21
- "author": "Filip",
22
- "license": "MIT",
23
- "description": "",
24
- "dependencies": {
25
- "@radix-ui/react-accordion": "^1.2.3",
26
- "@radix-ui/react-separator": "^1.1.7",
27
- "@radix-ui/react-slot": "^1.2.3",
28
- "@tailwindcss/postcss": "^4.1.14",
29
- "class-variance-authority": "^0.7.1",
30
- "clsx": "^2.1.1",
31
- "lucide-react": "^0.546.0",
32
- "postcss": "^8.5.6",
33
- "react": "^19.2.0",
34
- "react-dom": "^19.2.0",
35
- "react-spinners": "^0.17.0",
36
- "tailwind-merge": "^3.3.1",
37
- "tailwindcss": "^4.1.14",
38
- "tailwindcss-animate": "^1.0.7"
39
- },
40
- "devDependencies": {
41
- "@chromatic-com/storybook": "^4.1.1",
42
- "@storybook/addon-docs": "^9.1.13",
43
- "@storybook/addon-links": "^9.1.13",
44
- "@storybook/addon-themes": "^9.1.13",
45
- "@storybook/react-vite": "^9.1.13",
46
- "@types/node": "^24.8.1",
47
- "@types/react": "^19.2.2",
48
- "@types/react-dom": "^19.2.2",
49
- "@typescript-eslint/eslint-plugin": "^8.46.1",
50
- "@typescript-eslint/parser": "^8.46.1",
51
- "@vitejs/plugin-react": "^5.0.4",
52
- "eslint": "^9.38.0",
53
- "eslint-plugin-react-hooks": "^7.0.0",
54
- "eslint-plugin-react-refresh": "^0.4.24",
55
- "eslint-plugin-storybook": "9.1.13",
56
- "storybook": "^9.1.13",
57
- "tsup": "^8.5.0",
58
- "typescript": "^5.9.3",
59
- "vite": "^7.1.10",
60
- "vite-tsconfig-paths": "^5.1.4"
61
- },
62
- "peerDependencies": {
63
- "lucide-react": "^0.546.0",
64
- "react": "^19.2.0",
65
- "react-dom": "^19.2.0"
66
- }
67
- }
1
+ {
2
+ "name": "singularity-components",
3
+ "version": "0.1.106",
4
+ "main": "./dist/main.js",
5
+ "module": "./dist/main.mjs",
6
+ "types": "./dist/main.d.ts",
7
+ "type": "module",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "scripts": {
12
+ "build": "tsdown",
13
+ "storybook": "storybook dev -p 6006 --no-open",
14
+ "storybook:build": "storybook build",
15
+ "droplet-down": "docker-compose --context remote -f .\\docker-compose-droplet.yml down",
16
+ "droplet-up": "powershell -ExecutionPolicy Bypass -File droplet-update-containers.ps1"
17
+ },
18
+ "keywords": [
19
+ "test"
20
+ ],
21
+ "author": "Filip",
22
+ "license": "MIT",
23
+ "description": "",
24
+ "dependencies": {
25
+ "@radix-ui/react-accordion": "^1.2.3",
26
+ "@radix-ui/react-separator": "^1.1.7",
27
+ "@radix-ui/react-slot": "^1.2.3",
28
+ "@tailwindcss/postcss": "^4.1.14",
29
+ "class-variance-authority": "^0.7.1",
30
+ "clsx": "^2.1.1",
31
+ "lucide-react": "^0.546.0",
32
+ "postcss": "^8.5.6",
33
+ "react": "^19.2.0",
34
+ "react-dom": "^19.2.0",
35
+ "react-spinners": "^0.17.0",
36
+ "tailwind-merge": "^3.3.1",
37
+ "tailwindcss": "^4.1.14",
38
+ "tailwindcss-animate": "^1.0.7"
39
+ },
40
+ "devDependencies": {
41
+ "@chromatic-com/storybook": "^4.1.1",
42
+ "@storybook/addon-docs": "^9.1.13",
43
+ "@storybook/addon-links": "^9.1.13",
44
+ "@storybook/addon-themes": "^9.1.13",
45
+ "@storybook/react-vite": "^9.1.13",
46
+ "@types/node": "^24.8.1",
47
+ "@types/react": "^19.2.2",
48
+ "@types/react-dom": "^19.2.2",
49
+ "@typescript-eslint/eslint-plugin": "^8.46.1",
50
+ "@typescript-eslint/parser": "^8.46.1",
51
+ "@vitejs/plugin-react": "^5.0.4",
52
+ "eslint": "^9.38.0",
53
+ "eslint-plugin-react-hooks": "^7.0.0",
54
+ "eslint-plugin-react-refresh": "^0.4.24",
55
+ "eslint-plugin-storybook": "9.1.13",
56
+ "storybook": "^9.1.13",
57
+ "tsdown": "^0.15.9",
58
+ "typescript": "^5.9.3",
59
+ "vite": "^7.1.10",
60
+ "vite-tsconfig-paths": "^5.1.4"
61
+ },
62
+ "peerDependencies": {
63
+ "lucide-react": "^0.546.0",
64
+ "react": "^19.2.0",
65
+ "react-dom": "^19.2.0"
66
+ }
67
+ }