@xscriptor/xcomponents 0.1.0

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 (84) hide show
  1. package/CODE_OF_CONDUCT.md +35 -0
  2. package/CONTRIBUTING.md +64 -0
  3. package/LICENSE +21 -0
  4. package/README.md +127 -0
  5. package/SECURITY.md +25 -0
  6. package/dist/chunk-2OAXRRVQ.mjs +150 -0
  7. package/dist/chunk-2OAXRRVQ.mjs.map +1 -0
  8. package/dist/chunk-42XPBYTL.mjs +186 -0
  9. package/dist/chunk-42XPBYTL.mjs.map +1 -0
  10. package/dist/chunk-5G4P2E76.mjs +66 -0
  11. package/dist/chunk-5G4P2E76.mjs.map +1 -0
  12. package/dist/chunk-FZRTAML3.mjs +1 -0
  13. package/dist/chunk-FZRTAML3.mjs.map +1 -0
  14. package/dist/chunk-NY22GB3E.mjs +311 -0
  15. package/dist/chunk-NY22GB3E.mjs.map +1 -0
  16. package/dist/chunk-QCMWPIG7.mjs +320 -0
  17. package/dist/chunk-QCMWPIG7.mjs.map +1 -0
  18. package/dist/chunk-U27ZVCP7.mjs +247 -0
  19. package/dist/chunk-U27ZVCP7.mjs.map +1 -0
  20. package/dist/components/content/index.css +132 -0
  21. package/dist/components/content/index.css.map +1 -0
  22. package/dist/components/content/index.d.mts +17 -0
  23. package/dist/components/content/index.d.ts +17 -0
  24. package/dist/components/content/index.js +102 -0
  25. package/dist/components/content/index.js.map +1 -0
  26. package/dist/components/content/index.mjs +7 -0
  27. package/dist/components/content/index.mjs.map +1 -0
  28. package/dist/components/forms/index.css +307 -0
  29. package/dist/components/forms/index.css.map +1 -0
  30. package/dist/components/forms/index.d.mts +68 -0
  31. package/dist/components/forms/index.d.ts +68 -0
  32. package/dist/components/forms/index.js +357 -0
  33. package/dist/components/forms/index.js.map +1 -0
  34. package/dist/components/forms/index.mjs +9 -0
  35. package/dist/components/forms/index.mjs.map +1 -0
  36. package/dist/components/gallery/index.css +229 -0
  37. package/dist/components/gallery/index.css.map +1 -0
  38. package/dist/components/gallery/index.d.mts +29 -0
  39. package/dist/components/gallery/index.d.ts +29 -0
  40. package/dist/components/gallery/index.js +187 -0
  41. package/dist/components/gallery/index.js.map +1 -0
  42. package/dist/components/gallery/index.mjs +9 -0
  43. package/dist/components/gallery/index.mjs.map +1 -0
  44. package/dist/components/index.css +1181 -0
  45. package/dist/components/index.css.map +1 -0
  46. package/dist/components/index.d.mts +8 -0
  47. package/dist/components/index.d.ts +8 -0
  48. package/dist/components/index.js +1317 -0
  49. package/dist/components/index.js.map +1 -0
  50. package/dist/components/index.mjs +50 -0
  51. package/dist/components/index.mjs.map +1 -0
  52. package/dist/components/layout/index.css +168 -0
  53. package/dist/components/layout/index.css.map +1 -0
  54. package/dist/components/layout/index.d.mts +55 -0
  55. package/dist/components/layout/index.d.ts +55 -0
  56. package/dist/components/layout/index.js +224 -0
  57. package/dist/components/layout/index.js.map +1 -0
  58. package/dist/components/layout/index.mjs +11 -0
  59. package/dist/components/layout/index.mjs.map +1 -0
  60. package/dist/components/navigation/index.css +229 -0
  61. package/dist/components/navigation/index.css.map +1 -0
  62. package/dist/components/navigation/index.d.mts +76 -0
  63. package/dist/components/navigation/index.d.ts +76 -0
  64. package/dist/components/navigation/index.js +347 -0
  65. package/dist/components/navigation/index.js.map +1 -0
  66. package/dist/components/navigation/index.mjs +7 -0
  67. package/dist/components/navigation/index.mjs.map +1 -0
  68. package/dist/components/social/index.css +116 -0
  69. package/dist/components/social/index.css.map +1 -0
  70. package/dist/components/social/index.d.mts +55 -0
  71. package/dist/components/social/index.d.ts +55 -0
  72. package/dist/components/social/index.js +280 -0
  73. package/dist/components/social/index.js.map +1 -0
  74. package/dist/components/social/index.mjs +21 -0
  75. package/dist/components/social/index.mjs.map +1 -0
  76. package/dist/index.css +1181 -0
  77. package/dist/index.css.map +1 -0
  78. package/dist/index.d.mts +8 -0
  79. package/dist/index.d.ts +8 -0
  80. package/dist/index.js +1317 -0
  81. package/dist/index.js.map +1 -0
  82. package/dist/index.mjs +50 -0
  83. package/dist/index.mjs.map +1 -0
  84. package/package.json +86 -0
@@ -0,0 +1,55 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React from 'react';
3
+
4
+ interface SocialItem {
5
+ id: string;
6
+ href: string;
7
+ label: string;
8
+ icon: React.ReactNode;
9
+ text?: string;
10
+ iconColor?: string;
11
+ iconHoverColor?: string;
12
+ }
13
+ interface XSocialContactProps {
14
+ items: SocialItem[];
15
+ columns?: number;
16
+ rows?: number;
17
+ size?: "small" | "medium" | "large";
18
+ alignment?: "left" | "center" | "right";
19
+ gap?: string;
20
+ backgroundColor?: string;
21
+ iconDefaultColor?: string;
22
+ iconDefaultHoverColor?: string;
23
+ borderColor?: string;
24
+ borderWidth?: string;
25
+ borderStyle?: "solid" | "dashed" | "dotted";
26
+ borderRadius?: "rounded" | "square";
27
+ padding?: string;
28
+ textAlign?: "left" | "center" | "right";
29
+ textColor?: string;
30
+ textSize?: string;
31
+ }
32
+ declare function XSocialContact({ items, columns, rows, size, alignment, gap, backgroundColor, iconDefaultColor, iconDefaultHoverColor, borderColor, borderWidth, borderStyle, borderRadius, padding, textAlign, textColor, textSize, }: XSocialContactProps): react_jsx_runtime.JSX.Element;
33
+
34
+ interface XSocialIconProps extends Omit<React.SVGProps<SVGSVGElement>, "color" | "children"> {
35
+ size?: number | string;
36
+ color?: string;
37
+ hoverColor?: string;
38
+ fillColor?: string;
39
+ hoverFillColor?: string;
40
+ backgroundColor?: string;
41
+ badgeColor?: string;
42
+ badgeBackgroundColor?: string;
43
+ strokeWidth?: number;
44
+ showBadge?: boolean;
45
+ title?: string;
46
+ }
47
+ declare function XTelegramIcon(props: XSocialIconProps): react_jsx_runtime.JSX.Element;
48
+ declare function XInstagramIcon(props: XSocialIconProps): react_jsx_runtime.JSX.Element;
49
+ declare function XWhatsappIcon(props: XSocialIconProps): react_jsx_runtime.JSX.Element;
50
+ declare function XEmailIcon(props: XSocialIconProps): react_jsx_runtime.JSX.Element;
51
+ declare function XLinkedInIcon(props: XSocialIconProps): react_jsx_runtime.JSX.Element;
52
+ declare function XTwitterIcon(props: XSocialIconProps): react_jsx_runtime.JSX.Element;
53
+ declare function XGitHubIcon(props: XSocialIconProps): react_jsx_runtime.JSX.Element;
54
+
55
+ export { type SocialItem, XEmailIcon, XGitHubIcon, XInstagramIcon, XLinkedInIcon, XSocialContact, type XSocialContactProps, type XSocialIconProps, XTelegramIcon, XTwitterIcon, XWhatsappIcon };
@@ -0,0 +1,55 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React from 'react';
3
+
4
+ interface SocialItem {
5
+ id: string;
6
+ href: string;
7
+ label: string;
8
+ icon: React.ReactNode;
9
+ text?: string;
10
+ iconColor?: string;
11
+ iconHoverColor?: string;
12
+ }
13
+ interface XSocialContactProps {
14
+ items: SocialItem[];
15
+ columns?: number;
16
+ rows?: number;
17
+ size?: "small" | "medium" | "large";
18
+ alignment?: "left" | "center" | "right";
19
+ gap?: string;
20
+ backgroundColor?: string;
21
+ iconDefaultColor?: string;
22
+ iconDefaultHoverColor?: string;
23
+ borderColor?: string;
24
+ borderWidth?: string;
25
+ borderStyle?: "solid" | "dashed" | "dotted";
26
+ borderRadius?: "rounded" | "square";
27
+ padding?: string;
28
+ textAlign?: "left" | "center" | "right";
29
+ textColor?: string;
30
+ textSize?: string;
31
+ }
32
+ declare function XSocialContact({ items, columns, rows, size, alignment, gap, backgroundColor, iconDefaultColor, iconDefaultHoverColor, borderColor, borderWidth, borderStyle, borderRadius, padding, textAlign, textColor, textSize, }: XSocialContactProps): react_jsx_runtime.JSX.Element;
33
+
34
+ interface XSocialIconProps extends Omit<React.SVGProps<SVGSVGElement>, "color" | "children"> {
35
+ size?: number | string;
36
+ color?: string;
37
+ hoverColor?: string;
38
+ fillColor?: string;
39
+ hoverFillColor?: string;
40
+ backgroundColor?: string;
41
+ badgeColor?: string;
42
+ badgeBackgroundColor?: string;
43
+ strokeWidth?: number;
44
+ showBadge?: boolean;
45
+ title?: string;
46
+ }
47
+ declare function XTelegramIcon(props: XSocialIconProps): react_jsx_runtime.JSX.Element;
48
+ declare function XInstagramIcon(props: XSocialIconProps): react_jsx_runtime.JSX.Element;
49
+ declare function XWhatsappIcon(props: XSocialIconProps): react_jsx_runtime.JSX.Element;
50
+ declare function XEmailIcon(props: XSocialIconProps): react_jsx_runtime.JSX.Element;
51
+ declare function XLinkedInIcon(props: XSocialIconProps): react_jsx_runtime.JSX.Element;
52
+ declare function XTwitterIcon(props: XSocialIconProps): react_jsx_runtime.JSX.Element;
53
+ declare function XGitHubIcon(props: XSocialIconProps): react_jsx_runtime.JSX.Element;
54
+
55
+ export { type SocialItem, XEmailIcon, XGitHubIcon, XInstagramIcon, XLinkedInIcon, XSocialContact, type XSocialContactProps, type XSocialIconProps, XTelegramIcon, XTwitterIcon, XWhatsappIcon };
@@ -0,0 +1,280 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/social/index.ts
21
+ var social_exports = {};
22
+ __export(social_exports, {
23
+ XEmailIcon: () => XEmailIcon,
24
+ XGitHubIcon: () => XGitHubIcon,
25
+ XInstagramIcon: () => XInstagramIcon,
26
+ XLinkedInIcon: () => XLinkedInIcon,
27
+ XSocialContact: () => XSocialContact,
28
+ XTelegramIcon: () => XTelegramIcon,
29
+ XTwitterIcon: () => XTwitterIcon,
30
+ XWhatsappIcon: () => XWhatsappIcon
31
+ });
32
+ module.exports = __toCommonJS(social_exports);
33
+
34
+ // src/components/social/xsocialcontact/XSocialContact.module.css
35
+ var XSocialContact_default = {};
36
+
37
+ // src/components/social/xsocialcontact/XSocialContact.tsx
38
+ var import_jsx_runtime = require("react/jsx-runtime");
39
+ function XSocialContact({
40
+ items,
41
+ columns = 3,
42
+ rows,
43
+ size = "medium",
44
+ alignment = "center",
45
+ gap,
46
+ backgroundColor,
47
+ iconDefaultColor,
48
+ iconDefaultHoverColor,
49
+ borderColor,
50
+ borderWidth,
51
+ borderStyle = "solid",
52
+ borderRadius = "rounded",
53
+ padding,
54
+ textAlign = "center",
55
+ textColor,
56
+ textSize
57
+ }) {
58
+ const sizeMap = {
59
+ small: "1rem",
60
+ medium: "1.5rem",
61
+ large: "2rem"
62
+ };
63
+ const alignmentMap = {
64
+ left: "flex-start",
65
+ center: "center",
66
+ right: "flex-end"
67
+ };
68
+ const textAlignMap = {
69
+ left: "left",
70
+ center: "center",
71
+ right: "right"
72
+ };
73
+ const radiusMap = {
74
+ rounded: "0.5rem",
75
+ square: "0"
76
+ };
77
+ const defaultGap = gap || (size === "small" ? "1rem" : size === "medium" ? "1.5rem" : "2rem");
78
+ const defaultPadding = padding || (size === "small" ? "1rem" : size === "medium" ? "1.5rem" : "2rem");
79
+ const defaultTextSize = textSize || (size === "small" ? "0.875rem" : size === "medium" ? "1rem" : "1.125rem");
80
+ const customStyles = {
81
+ "--columns": columns.toString(),
82
+ "--gap": defaultGap,
83
+ "--padding": defaultPadding,
84
+ "--text-size": defaultTextSize,
85
+ "--alignment": alignmentMap[alignment],
86
+ "--text-align": textAlignMap[textAlign],
87
+ "--icon-gap": sizeMap[size],
88
+ "--border-radius": radiusMap[borderRadius],
89
+ ...backgroundColor && { "--bg-color": backgroundColor },
90
+ ...iconDefaultColor && { "--icon-color": iconDefaultColor },
91
+ ...iconDefaultHoverColor && { "--icon-hover-color": iconDefaultHoverColor },
92
+ ...borderColor && { "--border-color": borderColor },
93
+ ...borderWidth && { "--border-width": borderWidth },
94
+ ...textColor && { "--text-color": textColor },
95
+ "--border-style": borderStyle
96
+ };
97
+ let containerClass = XSocialContact_default.container;
98
+ if (rows) {
99
+ containerClass += ` ${XSocialContact_default[`rows${rows}`]}`;
100
+ }
101
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
102
+ "div",
103
+ {
104
+ className: `${containerClass} ${XSocialContact_default[size]}`,
105
+ style: customStyles,
106
+ children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
107
+ "a",
108
+ {
109
+ href: item.href,
110
+ target: "_blank",
111
+ rel: "noopener noreferrer",
112
+ className: XSocialContact_default.item,
113
+ title: item.label,
114
+ style: {
115
+ ...item.iconColor && { "--item-icon-color": item.iconColor },
116
+ ...item.iconHoverColor && { "--item-icon-hover-color": item.iconHoverColor }
117
+ },
118
+ children: [
119
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: XSocialContact_default.iconWrapper, children: item.icon }),
120
+ item.text && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: XSocialContact_default.text, children: item.text })
121
+ ]
122
+ },
123
+ item.id
124
+ ))
125
+ }
126
+ );
127
+ }
128
+
129
+ // src/components/social/xsocialcontact/XSocialIcons.tsx
130
+ var import_react = require("react");
131
+ var import_jsx_runtime2 = require("react/jsx-runtime");
132
+ function XSocialIconShell({
133
+ size = 24,
134
+ color = "currentColor",
135
+ hoverColor,
136
+ fillColor,
137
+ hoverFillColor,
138
+ backgroundColor,
139
+ badgeColor,
140
+ badgeBackgroundColor,
141
+ strokeWidth = 1.8,
142
+ showBadge = true,
143
+ title,
144
+ style,
145
+ children,
146
+ ...rest
147
+ }) {
148
+ const [isHovered, setIsHovered] = (0, import_react.useState)(false);
149
+ const stroke = isHovered && hoverColor ? hoverColor : color;
150
+ const fill = isHovered && hoverFillColor ? hoverFillColor : fillColor || stroke;
151
+ const badgeStroke = badgeColor || stroke;
152
+ const badgeFill = badgeBackgroundColor || "transparent";
153
+ const palette = {
154
+ stroke,
155
+ fill,
156
+ badgeStroke,
157
+ badgeFill
158
+ };
159
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
160
+ "svg",
161
+ {
162
+ xmlns: "http://www.w3.org/2000/svg",
163
+ width: size,
164
+ height: size,
165
+ viewBox: "0 0 24 24",
166
+ fill: "none",
167
+ role: title ? "img" : "presentation",
168
+ "aria-label": title,
169
+ "aria-hidden": title ? void 0 : true,
170
+ onPointerEnter: () => setIsHovered(true),
171
+ onPointerLeave: () => setIsHovered(false),
172
+ style: { color: stroke, ...style ?? {} },
173
+ ...rest,
174
+ children: [
175
+ title ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("title", { children: title }) : null,
176
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
177
+ "circle",
178
+ {
179
+ cx: "12",
180
+ cy: "12",
181
+ r: "10.5",
182
+ fill: backgroundColor || "none",
183
+ stroke: backgroundColor ? "none" : stroke,
184
+ strokeOpacity: backgroundColor ? void 0 : 0.14,
185
+ strokeWidth: backgroundColor ? void 0 : strokeWidth
186
+ }
187
+ ),
188
+ children({ palette }),
189
+ showBadge && /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("g", { children: [
190
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "18", cy: "18", r: "2.6", fill: badgeFill, stroke: badgeStroke, strokeWidth: "1" }),
191
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M17.05 17.05L18.95 18.95M18.95 17.05L17.05 18.95", stroke: badgeStroke, strokeWidth: "1.15", strokeLinecap: "round" })
192
+ ] })
193
+ ]
194
+ }
195
+ );
196
+ }
197
+ function XTelegramIcon(props) {
198
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(XSocialIconShell, { ...props, strokeWidth: props.strokeWidth ?? 1.8, children: ({ palette }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
199
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
200
+ "path",
201
+ {
202
+ d: "M9.2 12.4l2.15 2.15 5.1-5.1M20.6 4.2L4 12l6.45 1.8 1.8 6.45 2.55-4.2 4.2 2.55 1.6-14.4z",
203
+ stroke: palette.stroke,
204
+ strokeWidth: "1.8",
205
+ strokeLinecap: "round",
206
+ strokeLinejoin: "round",
207
+ fill: "none"
208
+ }
209
+ ),
210
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "9.75", fill: "none", stroke: palette.stroke, strokeOpacity: "0.18", strokeWidth: "1" })
211
+ ] }) });
212
+ }
213
+ function XInstagramIcon(props) {
214
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(XSocialIconShell, { ...props, strokeWidth: props.strokeWidth ?? 1.6, children: ({ palette }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
215
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "6.2", y: "6.2", width: "11.6", height: "11.6", rx: "3.2", ry: "3.2", stroke: palette.stroke, strokeWidth: "1.6", fill: "none" }),
216
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "3.15", stroke: palette.stroke, strokeWidth: "1.6", fill: "none" }),
217
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "16.3", cy: "7.7", r: "0.7", fill: palette.fill })
218
+ ] }) });
219
+ }
220
+ function XWhatsappIcon(props) {
221
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(XSocialIconShell, { ...props, strokeWidth: props.strokeWidth ?? 1.5, children: ({ palette }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
222
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
223
+ "path",
224
+ {
225
+ d: "M16.72 13.06c-.29-.15-1.71-.84-1.98-.94-.26-.1-.45-.15-.64.14-.19.29-.74.94-.9 1.13-.16.19-.33.22-.62.08-.29-.15-1.23-.45-2.35-1.45-.87-.77-1.45-1.72-1.62-2.01-.16-.29-.02-.45.12-.59.13-.13.29-.33.43-.49.14-.16.18-.28.27-.47.09-.19.04-.36-.02-.51-.07-.15-.64-1.54-.88-2.1-.23-.55-.47-.48-.64-.49-.16-.01-.36-.01-.55-.01-.19 0-.5.07-.76.36-.26.29-1 1.01-1 2.47 0 1.45 1.04 2.85 1.19 3.05.15.19 2.05 3.12 5.2 4.38.73.31 1.3.49 1.74.63.73.23 1.4.2 1.92.12.59-.09 1.71-.7 1.95-1.37.24-.67.24-1.25.17-1.37-.07-.11-.26-.18-.55-.32z",
226
+ fill: palette.fill
227
+ }
228
+ ),
229
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
230
+ "path",
231
+ {
232
+ d: "M12 3.2C7.13 3.2 3.2 7.13 3.2 12c0 1.56.41 3.02 1.13 4.29L3.2 20.8l4.59-1.09A8.77 8.77 0 0 0 12 20.8c4.87 0 8.8-3.93 8.8-8.8s-3.93-8.8-8.8-8.8z",
233
+ stroke: palette.stroke,
234
+ strokeWidth: "1.2",
235
+ fill: "none",
236
+ opacity: "0.18"
237
+ }
238
+ )
239
+ ] }) });
240
+ }
241
+ function XEmailIcon(props) {
242
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(XSocialIconShell, { ...props, strokeWidth: props.strokeWidth ?? 1.6, children: ({ palette }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
243
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "4.5", y: "7", width: "15", height: "10", rx: "1.4", stroke: palette.stroke, strokeWidth: "1.6", fill: "none" }),
244
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4.6 7.1l7.4 5.5 7.4-5.5", stroke: palette.stroke, strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round", fill: "none" })
245
+ ] }) });
246
+ }
247
+ function XLinkedInIcon(props) {
248
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(XSocialIconShell, { ...props, strokeWidth: props.strokeWidth ?? 1.6, children: ({ palette }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
249
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8.1 9.1l2.6 2.6 4.1-4.1", stroke: palette.stroke, strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round", fill: "none" }),
250
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M6.8 10.2c1.6-1.6 4.3-1.6 5.9 0", stroke: palette.stroke, strokeWidth: "1.6", strokeLinecap: "round", fill: "none" }),
251
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "5", y: "5", width: "14", height: "14", rx: "3", ry: "3", stroke: palette.stroke, strokeWidth: "1.4", fill: "none", opacity: "0.12" })
252
+ ] }) });
253
+ }
254
+ function XTwitterIcon(props) {
255
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(XSocialIconShell, { ...props, strokeWidth: props.strokeWidth ?? 1.6, children: ({ palette }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
256
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7 4l7 8.7L7 21h2.2l7-8.7L21 4h-2.2l-7 8.7L7 4z", fill: palette.fill }),
257
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 4h2.2l6.2 7.7", stroke: palette.stroke, strokeWidth: "1.2", strokeLinecap: "round", fill: "none", opacity: "0.2" })
258
+ ] }) });
259
+ }
260
+ function XGitHubIcon(props) {
261
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(XSocialIconShell, { ...props, strokeWidth: props.strokeWidth ?? 1.35, children: ({ palette }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
262
+ "path",
263
+ {
264
+ d: "M12 2c5.52 0 10 4.48 10 10 0 4.42-2.87 8.17-6.84 9.49.5.09.68-.22.68-.48 0-.24-.01-.87-.01-1.7 2.78.6 3.37-1.34 3.37-1.34.45-1.16 1.11-1.46 1.11-1.46.91-.62-.07-.61-.07-.61-1 .07-1.53 1.03-1.53 1.03-.89 1.53-2.34 1.54-2.91 1.19-.09-.92-.35-1.54-.63-1.9 2.22-.25 4.55-1.11 4.55-4.94 0-1.09-.39-1.98-1.03-2.68.1-.25.45-1.27-.1-2.65 0 0-.84-.27-2.75 1.03A9.58 9.58 0 0 0 12 6.84c-.85 0-1.7.12-2.51.34-1.91-1.3-2.75-1.03-2.75-1.03-.54 1.38-.2 2.4-.1 2.65-.63.7-1.03 1.59-1.03 2.68 0 3.84 2.33 4.69 4.54 4.94-.29.36-.55.97-.64 1.9-.57.35-2.02.34-2.91-1.19 0 0-.52-.96-1.53-1.03 0 0-.98-.01-.07.61 0 0 .66.3 1.11 1.46 0 0 .59 1.94 3.37 1.34 0 .83-.01 1.46-.01 1.7 0 .26.18.57.68.48C5.87 20.17 3 16.42 3 12 3 6.48 7.48 2 12 2z",
265
+ fill: palette.fill
266
+ }
267
+ ) }) });
268
+ }
269
+ // Annotate the CommonJS export names for ESM import in node:
270
+ 0 && (module.exports = {
271
+ XEmailIcon,
272
+ XGitHubIcon,
273
+ XInstagramIcon,
274
+ XLinkedInIcon,
275
+ XSocialContact,
276
+ XTelegramIcon,
277
+ XTwitterIcon,
278
+ XWhatsappIcon
279
+ });
280
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/social/index.ts","../../../src/components/social/xsocialcontact/XSocialContact.module.css","../../../src/components/social/xsocialcontact/XSocialContact.tsx","../../../src/components/social/xsocialcontact/XSocialIcons.tsx"],"sourcesContent":["export {\n XSocialContact,\n XTelegramIcon,\n XInstagramIcon,\n XWhatsappIcon,\n XEmailIcon,\n XLinkedInIcon,\n XTwitterIcon,\n XGitHubIcon,\n} from \"./xsocialcontact\";\nexport type { SocialItem, XSocialContactProps, XSocialIconProps } from \"./xsocialcontact\";\n","/* XSocialContact Styles */\n\n.container {\n --columns: 3;\n --gap: 1.5rem;\n --padding: 1.5rem;\n --text-size: 1rem;\n --alignment: center;\n --text-align: center;\n --icon-gap: 1.5rem;\n --border-radius: 0.5rem;\n --bg-color: transparent;\n --icon-color: currentColor;\n --icon-hover-color: currentColor;\n --border-color: transparent;\n --border-width: 0px;\n --border-style: solid;\n --text-color: inherit;\n\n display: grid;\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n padding: var(--padding);\n background-color: var(--bg-color);\n border: var(--border-width) var(--border-style) var(--border-color);\n border-radius: var(--border-radius);\n justify-items: var(--alignment);\n}\n\n/* Size variants */\n.small {\n --icon-gap: 1rem;\n --gap: 1rem;\n --padding: 1rem;\n --text-size: 0.875rem;\n}\n\n.medium {\n --icon-gap: 1.5rem;\n --gap: 1.5rem;\n --padding: 1.5rem;\n --text-size: 1rem;\n}\n\n.large {\n --icon-gap: 2rem;\n --gap: 2rem;\n --padding: 2rem;\n --text-size: 1.125rem;\n}\n\n/* Rows configuration */\n.rows1 {\n grid-template-rows: auto;\n}\n\n.rows2 {\n grid-template-rows: repeat(2, auto);\n}\n\n.rows3 {\n grid-template-rows: repeat(3, auto);\n}\n\n.rows4 {\n grid-template-rows: repeat(4, auto);\n}\n\n/* Item styling */\n.item {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: calc(var(--icon-gap) * 0.5);\n text-decoration: none;\n transition: opacity 0.2s ease;\n color: inherit;\n}\n\n.item:hover {\n opacity: 0.8;\n}\n\n.iconWrapper {\n --item-icon-color: var(--icon-color);\n --item-icon-hover-color: var(--icon-hover-color);\n \n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--icon-gap);\n height: var(--icon-gap);\n color: var(--item-icon-color);\n transition: color 0.2s ease;\n}\n\n.item:hover .iconWrapper {\n color: var(--item-icon-hover-color);\n}\n\n.text {\n font-size: var(--text-size);\n color: var(--text-color);\n text-align: var(--text-align);\n word-break: break-word;\n max-width: 100%;\n}\n\n/* Responsive */\n@media (max-width: 768px) {\n .container {\n --columns: 2;\n --gap: calc(var(--gap) * 0.75);\n --padding: calc(var(--padding) * 0.75);\n }\n \n .rows2,\n .rows3,\n .rows4 {\n grid-template-columns: repeat(2, 1fr);\n grid-template-rows: repeat(2, auto);\n }\n}\n\n@media (max-width: 480px) {\n .container {\n --columns: 1;\n --gap: calc(var(--gap) * 0.5);\n --padding: calc(var(--padding) * 0.5);\n }\n \n .rows2,\n .rows3,\n .rows4 {\n grid-template-columns: 1fr;\n grid-template-rows: auto;\n }\n}\n","\"use client\";\n\nimport React from \"react\";\nimport styles from \"./XSocialContact.module.css\";\n\nexport interface SocialItem {\n id: string;\n href: string;\n label: string;\n icon: React.ReactNode;\n text?: string;\n iconColor?: string;\n iconHoverColor?: string;\n}\n\nexport interface XSocialContactProps {\n items: SocialItem[];\n columns?: number;\n rows?: number;\n size?: \"small\" | \"medium\" | \"large\";\n alignment?: \"left\" | \"center\" | \"right\";\n gap?: string;\n backgroundColor?: string;\n iconDefaultColor?: string;\n iconDefaultHoverColor?: string;\n borderColor?: string;\n borderWidth?: string;\n borderStyle?: \"solid\" | \"dashed\" | \"dotted\";\n borderRadius?: \"rounded\" | \"square\";\n padding?: string;\n textAlign?: \"left\" | \"center\" | \"right\";\n textColor?: string;\n textSize?: string;\n}\n\nexport default function XSocialContact({\n items,\n columns = 3,\n rows,\n size = \"medium\",\n alignment = \"center\",\n gap,\n backgroundColor,\n iconDefaultColor,\n iconDefaultHoverColor,\n borderColor,\n borderWidth,\n borderStyle = \"solid\",\n borderRadius = \"rounded\",\n padding,\n textAlign = \"center\",\n textColor,\n textSize,\n}: XSocialContactProps) {\n const sizeMap = {\n small: \"1rem\",\n medium: \"1.5rem\",\n large: \"2rem\",\n } as const;\n\n const alignmentMap = {\n left: \"flex-start\",\n center: \"center\",\n right: \"flex-end\",\n } as const;\n\n const textAlignMap = {\n left: \"left\",\n center: \"center\",\n right: \"right\",\n } as const;\n\n const radiusMap = {\n rounded: \"0.5rem\",\n square: \"0\",\n } as const;\n\n const defaultGap = gap || (size === \"small\" ? \"1rem\" : size === \"medium\" ? \"1.5rem\" : \"2rem\");\n const defaultPadding =\n padding || (size === \"small\" ? \"1rem\" : size === \"medium\" ? \"1.5rem\" : \"2rem\");\n const defaultTextSize = textSize || (size === \"small\" ? \"0.875rem\" : size === \"medium\" ? \"1rem\" : \"1.125rem\");\n\n const customStyles = {\n \"--columns\": columns.toString(),\n \"--gap\": defaultGap,\n \"--padding\": defaultPadding,\n \"--text-size\": defaultTextSize,\n \"--alignment\": alignmentMap[alignment],\n \"--text-align\": textAlignMap[textAlign],\n \"--icon-gap\": sizeMap[size],\n \"--border-radius\": radiusMap[borderRadius],\n ...(backgroundColor && { \"--bg-color\": backgroundColor }),\n ...(iconDefaultColor && { \"--icon-color\": iconDefaultColor }),\n ...(iconDefaultHoverColor && { \"--icon-hover-color\": iconDefaultHoverColor }),\n ...(borderColor && { \"--border-color\": borderColor }),\n ...(borderWidth && { \"--border-width\": borderWidth }),\n ...(textColor && { \"--text-color\": textColor }),\n \"--border-style\": borderStyle,\n } as React.CSSProperties;\n\n let containerClass = styles.container;\n if (rows) {\n containerClass += ` ${styles[`rows${rows}`]}`;\n }\n\n return (\n <div\n className={`${containerClass} ${styles[size]}`}\n style={customStyles}\n >\n {items.map((item) => (\n <a\n key={item.id}\n href={item.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={styles.item}\n title={item.label}\n style={{\n ...(item.iconColor && { \"--item-icon-color\": item.iconColor }),\n ...(item.iconHoverColor && { \"--item-icon-hover-color\": item.iconHoverColor }),\n } as React.CSSProperties}\n >\n <div className={styles.iconWrapper}>{item.icon}</div>\n {item.text && <span className={styles.text}>{item.text}</span>}\n </a>\n ))}\n </div>\n );\n}\n","\"use client\";\n\nimport React, { useState } from \"react\";\n\nexport interface XSocialIconProps extends Omit<React.SVGProps<SVGSVGElement>, \"color\" | \"children\"> {\n size?: number | string;\n color?: string;\n hoverColor?: string;\n fillColor?: string;\n hoverFillColor?: string;\n backgroundColor?: string;\n badgeColor?: string;\n badgeBackgroundColor?: string;\n strokeWidth?: number;\n showBadge?: boolean;\n title?: string;\n}\n\ntype IconPalette = {\n stroke: string;\n fill: string;\n badgeStroke: string;\n badgeFill: string;\n};\n\ntype SocialIconContentProps = {\n palette: IconPalette;\n};\n\ntype SocialIconRenderer = (props: SocialIconContentProps) => React.ReactNode;\n\nfunction XSocialIconShell({\n size = 24,\n color = \"currentColor\",\n hoverColor,\n fillColor,\n hoverFillColor,\n backgroundColor,\n badgeColor,\n badgeBackgroundColor,\n strokeWidth = 1.8,\n showBadge = true,\n title,\n style,\n children,\n ...rest\n}: XSocialIconProps & { children: SocialIconRenderer }) {\n const [isHovered, setIsHovered] = useState(false);\n\n const stroke = isHovered && hoverColor ? hoverColor : color;\n const fill = isHovered && hoverFillColor ? hoverFillColor : fillColor || stroke;\n const badgeStroke = badgeColor || stroke;\n const badgeFill = badgeBackgroundColor || \"transparent\";\n\n const palette = {\n stroke,\n fill,\n badgeStroke,\n badgeFill,\n };\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n role={title ? \"img\" : \"presentation\"}\n aria-label={title}\n aria-hidden={title ? undefined : true}\n onPointerEnter={() => setIsHovered(true)}\n onPointerLeave={() => setIsHovered(false)}\n style={{ color: stroke, ...(style ?? {}) }}\n {...rest}\n >\n {title ? <title>{title}</title> : null}\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"10.5\"\n fill={backgroundColor || \"none\"}\n stroke={backgroundColor ? \"none\" : stroke}\n strokeOpacity={backgroundColor ? undefined : 0.14}\n strokeWidth={backgroundColor ? undefined : strokeWidth}\n />\n {children({ palette })}\n {showBadge && (\n <g>\n <circle cx=\"18\" cy=\"18\" r=\"2.6\" fill={badgeFill} stroke={badgeStroke} strokeWidth=\"1\" />\n <path d=\"M17.05 17.05L18.95 18.95M18.95 17.05L17.05 18.95\" stroke={badgeStroke} strokeWidth=\"1.15\" strokeLinecap=\"round\" />\n </g>\n )}\n </svg>\n );\n}\n\nexport function XTelegramIcon(props: XSocialIconProps) {\n return (\n <XSocialIconShell {...props} strokeWidth={props.strokeWidth ?? 1.8}>\n {({ palette }) => (\n <>\n <path\n d=\"M9.2 12.4l2.15 2.15 5.1-5.1M20.6 4.2L4 12l6.45 1.8 1.8 6.45 2.55-4.2 4.2 2.55 1.6-14.4z\"\n stroke={palette.stroke}\n strokeWidth=\"1.8\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n fill=\"none\"\n />\n <circle cx=\"12\" cy=\"12\" r=\"9.75\" fill=\"none\" stroke={palette.stroke} strokeOpacity=\"0.18\" strokeWidth=\"1\" />\n </>\n )}\n </XSocialIconShell>\n );\n}\n\nexport function XInstagramIcon(props: XSocialIconProps) {\n return (\n <XSocialIconShell {...props} strokeWidth={props.strokeWidth ?? 1.6}>\n {({ palette }) => (\n <>\n <rect x=\"6.2\" y=\"6.2\" width=\"11.6\" height=\"11.6\" rx=\"3.2\" ry=\"3.2\" stroke={palette.stroke} strokeWidth=\"1.6\" fill=\"none\" />\n <circle cx=\"12\" cy=\"12\" r=\"3.15\" stroke={palette.stroke} strokeWidth=\"1.6\" fill=\"none\" />\n <circle cx=\"16.3\" cy=\"7.7\" r=\"0.7\" fill={palette.fill} />\n </>\n )}\n </XSocialIconShell>\n );\n}\n\nexport function XWhatsappIcon(props: XSocialIconProps) {\n return (\n <XSocialIconShell {...props} strokeWidth={props.strokeWidth ?? 1.5}>\n {({ palette }) => (\n <>\n <path\n d=\"M16.72 13.06c-.29-.15-1.71-.84-1.98-.94-.26-.1-.45-.15-.64.14-.19.29-.74.94-.9 1.13-.16.19-.33.22-.62.08-.29-.15-1.23-.45-2.35-1.45-.87-.77-1.45-1.72-1.62-2.01-.16-.29-.02-.45.12-.59.13-.13.29-.33.43-.49.14-.16.18-.28.27-.47.09-.19.04-.36-.02-.51-.07-.15-.64-1.54-.88-2.1-.23-.55-.47-.48-.64-.49-.16-.01-.36-.01-.55-.01-.19 0-.5.07-.76.36-.26.29-1 1.01-1 2.47 0 1.45 1.04 2.85 1.19 3.05.15.19 2.05 3.12 5.2 4.38.73.31 1.3.49 1.74.63.73.23 1.4.2 1.92.12.59-.09 1.71-.7 1.95-1.37.24-.67.24-1.25.17-1.37-.07-.11-.26-.18-.55-.32z\"\n fill={palette.fill}\n />\n <path\n d=\"M12 3.2C7.13 3.2 3.2 7.13 3.2 12c0 1.56.41 3.02 1.13 4.29L3.2 20.8l4.59-1.09A8.77 8.77 0 0 0 12 20.8c4.87 0 8.8-3.93 8.8-8.8s-3.93-8.8-8.8-8.8z\"\n stroke={palette.stroke}\n strokeWidth=\"1.2\"\n fill=\"none\"\n opacity=\"0.18\"\n />\n </>\n )}\n </XSocialIconShell>\n );\n}\n\nexport function XEmailIcon(props: XSocialIconProps) {\n return (\n <XSocialIconShell {...props} strokeWidth={props.strokeWidth ?? 1.6}>\n {({ palette }) => (\n <>\n <rect x=\"4.5\" y=\"7\" width=\"15\" height=\"10\" rx=\"1.4\" stroke={palette.stroke} strokeWidth=\"1.6\" fill=\"none\" />\n <path d=\"M4.6 7.1l7.4 5.5 7.4-5.5\" stroke={palette.stroke} strokeWidth=\"1.6\" strokeLinecap=\"round\" strokeLinejoin=\"round\" fill=\"none\" />\n </>\n )}\n </XSocialIconShell>\n );\n}\n\nexport function XLinkedInIcon(props: XSocialIconProps) {\n return (\n <XSocialIconShell {...props} strokeWidth={props.strokeWidth ?? 1.6}>\n {({ palette }) => (\n <>\n <path d=\"M8.1 9.1l2.6 2.6 4.1-4.1\" stroke={palette.stroke} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" fill=\"none\" />\n <path d=\"M6.8 10.2c1.6-1.6 4.3-1.6 5.9 0\" stroke={palette.stroke} strokeWidth=\"1.6\" strokeLinecap=\"round\" fill=\"none\" />\n <rect x=\"5\" y=\"5\" width=\"14\" height=\"14\" rx=\"3\" ry=\"3\" stroke={palette.stroke} strokeWidth=\"1.4\" fill=\"none\" opacity=\"0.12\" />\n </>\n )}\n </XSocialIconShell>\n );\n}\n\nexport function XTwitterIcon(props: XSocialIconProps) {\n return (\n <XSocialIconShell {...props} strokeWidth={props.strokeWidth ?? 1.6}>\n {({ palette }) => (\n <>\n <path d=\"M7 4l7 8.7L7 21h2.2l7-8.7L21 4h-2.2l-7 8.7L7 4z\" fill={palette.fill} />\n <path d=\"M8 4h2.2l6.2 7.7\" stroke={palette.stroke} strokeWidth=\"1.2\" strokeLinecap=\"round\" fill=\"none\" opacity=\"0.2\" />\n </>\n )}\n </XSocialIconShell>\n );\n}\n\nexport function XGitHubIcon(props: XSocialIconProps) {\n return (\n <XSocialIconShell {...props} strokeWidth={props.strokeWidth ?? 1.35}>\n {({ palette }) => (\n <>\n <path\n d=\"M12 2c5.52 0 10 4.48 10 10 0 4.42-2.87 8.17-6.84 9.49.5.09.68-.22.68-.48 0-.24-.01-.87-.01-1.7 2.78.6 3.37-1.34 3.37-1.34.45-1.16 1.11-1.46 1.11-1.46.91-.62-.07-.61-.07-.61-1 .07-1.53 1.03-1.53 1.03-.89 1.53-2.34 1.54-2.91 1.19-.09-.92-.35-1.54-.63-1.9 2.22-.25 4.55-1.11 4.55-4.94 0-1.09-.39-1.98-1.03-2.68.1-.25.45-1.27-.1-2.65 0 0-.84-.27-2.75 1.03A9.58 9.58 0 0 0 12 6.84c-.85 0-1.7.12-2.51.34-1.91-1.3-2.75-1.03-2.75-1.03-.54 1.38-.2 2.4-.1 2.65-.63.7-1.03 1.59-1.03 2.68 0 3.84 2.33 4.69 4.54 4.94-.29.36-.55.97-.64 1.9-.57.35-2.02.34-2.91-1.19 0 0-.52-.96-1.53-1.03 0 0-.98-.01-.07.61 0 0 .66.3 1.11 1.46 0 0 .59 1.94 3.37 1.34 0 .83-.01 1.46-.01 1.7 0 .26.18.57.68.48C5.87 20.17 3 16.42 3 12 3 6.48 7.48 2 12 2z\"\n fill={palette.fill}\n />\n </>\n )}\n </XSocialIconShell>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;;;AC+GQ;AA5EO,SAAR,eAAgC;AAAA,EACrC;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA,OAAO;AAAA,EACP,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,eAAe;AAAA,EACf;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AACF,GAAwB;AACtB,QAAM,UAAU;AAAA,IACd,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AAEA,QAAM,eAAe;AAAA,IACnB,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AAEA,QAAM,eAAe;AAAA,IACnB,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AAEA,QAAM,YAAY;AAAA,IAChB,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAEA,QAAM,aAAa,QAAQ,SAAS,UAAU,SAAS,SAAS,WAAW,WAAW;AACtF,QAAM,iBACJ,YAAY,SAAS,UAAU,SAAS,SAAS,WAAW,WAAW;AACzE,QAAM,kBAAkB,aAAa,SAAS,UAAU,aAAa,SAAS,WAAW,SAAS;AAElG,QAAM,eAAe;AAAA,IACnB,aAAa,QAAQ,SAAS;AAAA,IAC9B,SAAS;AAAA,IACT,aAAa;AAAA,IACb,eAAe;AAAA,IACf,eAAe,aAAa,SAAS;AAAA,IACrC,gBAAgB,aAAa,SAAS;AAAA,IACtC,cAAc,QAAQ,IAAI;AAAA,IAC1B,mBAAmB,UAAU,YAAY;AAAA,IACzC,GAAI,mBAAmB,EAAE,cAAc,gBAAgB;AAAA,IACvD,GAAI,oBAAoB,EAAE,gBAAgB,iBAAiB;AAAA,IAC3D,GAAI,yBAAyB,EAAE,sBAAsB,sBAAsB;AAAA,IAC3E,GAAI,eAAe,EAAE,kBAAkB,YAAY;AAAA,IACnD,GAAI,eAAe,EAAE,kBAAkB,YAAY;AAAA,IACnD,GAAI,aAAa,EAAE,gBAAgB,UAAU;AAAA,IAC7C,kBAAkB;AAAA,EACpB;AAEA,MAAI,iBAAiB,uBAAO;AAC5B,MAAI,MAAM;AACR,sBAAkB,IAAI,uBAAO,OAAO,IAAI,EAAE,CAAC;AAAA,EAC7C;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,cAAc,IAAI,uBAAO,IAAI,CAAC;AAAA,MAC5C,OAAO;AAAA,MAEN,gBAAM,IAAI,CAAC,SACV;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM,KAAK;AAAA,UACX,QAAO;AAAA,UACP,KAAI;AAAA,UACJ,WAAW,uBAAO;AAAA,UAClB,OAAO,KAAK;AAAA,UACZ,OAAO;AAAA,YACL,GAAI,KAAK,aAAa,EAAE,qBAAqB,KAAK,UAAU;AAAA,YAC5D,GAAI,KAAK,kBAAkB,EAAE,2BAA2B,KAAK,eAAe;AAAA,UAC9E;AAAA,UAEA;AAAA,wDAAC,SAAI,WAAW,uBAAO,aAAc,eAAK,MAAK;AAAA,YAC9C,KAAK,QAAQ,4CAAC,UAAK,WAAW,uBAAO,MAAO,eAAK,MAAK;AAAA;AAAA;AAAA,QAZlD,KAAK;AAAA,MAaZ,CACD;AAAA;AAAA,EACH;AAEJ;;;AC/HA,mBAAgC;AA0EjB,IAAAA,sBAAA;AA7Cf,SAAS,iBAAiB;AAAA,EACxB,OAAO;AAAA,EACP,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAwD;AACtD,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAS,KAAK;AAEhD,QAAM,SAAS,aAAa,aAAa,aAAa;AACtD,QAAM,OAAO,aAAa,iBAAiB,iBAAiB,aAAa;AACzE,QAAM,cAAc,cAAc;AAClC,QAAM,YAAY,wBAAwB;AAE1C,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,MAAM,QAAQ,QAAQ;AAAA,MACtB,cAAY;AAAA,MACZ,eAAa,QAAQ,SAAY;AAAA,MACjC,gBAAgB,MAAM,aAAa,IAAI;AAAA,MACvC,gBAAgB,MAAM,aAAa,KAAK;AAAA,MACxC,OAAO,EAAE,OAAO,QAAQ,GAAI,SAAS,CAAC,EAAG;AAAA,MACxC,GAAG;AAAA,MAEH;AAAA,gBAAQ,6CAAC,WAAO,iBAAM,IAAW;AAAA,QAClC;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH,IAAG;AAAA,YACH,GAAE;AAAA,YACF,MAAM,mBAAmB;AAAA,YACzB,QAAQ,kBAAkB,SAAS;AAAA,YACnC,eAAe,kBAAkB,SAAY;AAAA,YAC7C,aAAa,kBAAkB,SAAY;AAAA;AAAA,QAC7C;AAAA,QACC,SAAS,EAAE,QAAQ,CAAC;AAAA,QACpB,aACC,8CAAC,OACC;AAAA,uDAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,WAAW,QAAQ,aAAa,aAAY,KAAI;AAAA,UACtF,6CAAC,UAAK,GAAE,oDAAmD,QAAQ,aAAa,aAAY,QAAO,eAAc,SAAQ;AAAA,WAC3H;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEO,SAAS,cAAc,OAAyB;AACrD,SACE,6CAAC,oBAAkB,GAAG,OAAO,aAAa,MAAM,eAAe,KAC5D,WAAC,EAAE,QAAQ,MACV,8EACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,QAAQ;AAAA,QAChB,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,QACf,MAAK;AAAA;AAAA,IACP;AAAA,IACA,6CAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,QAAO,MAAK,QAAO,QAAQ,QAAQ,QAAQ,eAAc,QAAO,aAAY,KAAI;AAAA,KAC5G,GAEJ;AAEJ;AAEO,SAAS,eAAe,OAAyB;AACtD,SACE,6CAAC,oBAAkB,GAAG,OAAO,aAAa,MAAM,eAAe,KAC5D,WAAC,EAAE,QAAQ,MACV,8EACE;AAAA,iDAAC,UAAK,GAAE,OAAM,GAAE,OAAM,OAAM,QAAO,QAAO,QAAO,IAAG,OAAM,IAAG,OAAM,QAAQ,QAAQ,QAAQ,aAAY,OAAM,MAAK,QAAO;AAAA,IACzH,6CAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,QAAO,QAAQ,QAAQ,QAAQ,aAAY,OAAM,MAAK,QAAO;AAAA,IACvF,6CAAC,YAAO,IAAG,QAAO,IAAG,OAAM,GAAE,OAAM,MAAM,QAAQ,MAAM;AAAA,KACzD,GAEJ;AAEJ;AAEO,SAAS,cAAc,OAAyB;AACrD,SACE,6CAAC,oBAAkB,GAAG,OAAO,aAAa,MAAM,eAAe,KAC5D,WAAC,EAAE,QAAQ,MACV,8EACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,QAAQ;AAAA;AAAA,IAChB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,QAAQ;AAAA,QAChB,aAAY;AAAA,QACZ,MAAK;AAAA,QACL,SAAQ;AAAA;AAAA,IACV;AAAA,KACF,GAEJ;AAEJ;AAEO,SAAS,WAAW,OAAyB;AAClD,SACE,6CAAC,oBAAkB,GAAG,OAAO,aAAa,MAAM,eAAe,KAC5D,WAAC,EAAE,QAAQ,MACV,8EACE;AAAA,iDAAC,UAAK,GAAE,OAAM,GAAE,KAAI,OAAM,MAAK,QAAO,MAAK,IAAG,OAAM,QAAQ,QAAQ,QAAQ,aAAY,OAAM,MAAK,QAAO;AAAA,IAC1G,6CAAC,UAAK,GAAE,4BAA2B,QAAQ,QAAQ,QAAQ,aAAY,OAAM,eAAc,SAAQ,gBAAe,SAAQ,MAAK,QAAO;AAAA,KACxI,GAEJ;AAEJ;AAEO,SAAS,cAAc,OAAyB;AACrD,SACE,6CAAC,oBAAkB,GAAG,OAAO,aAAa,MAAM,eAAe,KAC5D,WAAC,EAAE,QAAQ,MACV,8EACE;AAAA,iDAAC,UAAK,GAAE,4BAA2B,QAAQ,QAAQ,QAAQ,aAAY,OAAM,eAAc,SAAQ,gBAAe,SAAQ,MAAK,QAAO;AAAA,IACtI,6CAAC,UAAK,GAAE,mCAAkC,QAAQ,QAAQ,QAAQ,aAAY,OAAM,eAAc,SAAQ,MAAK,QAAO;AAAA,IACtH,6CAAC,UAAK,GAAE,KAAI,GAAE,KAAI,OAAM,MAAK,QAAO,MAAK,IAAG,KAAI,IAAG,KAAI,QAAQ,QAAQ,QAAQ,aAAY,OAAM,MAAK,QAAO,SAAQ,QAAO;AAAA,KAC9H,GAEJ;AAEJ;AAEO,SAAS,aAAa,OAAyB;AACpD,SACE,6CAAC,oBAAkB,GAAG,OAAO,aAAa,MAAM,eAAe,KAC5D,WAAC,EAAE,QAAQ,MACV,8EACE;AAAA,iDAAC,UAAK,GAAE,mDAAkD,MAAM,QAAQ,MAAM;AAAA,IAC9E,6CAAC,UAAK,GAAE,oBAAmB,QAAQ,QAAQ,QAAQ,aAAY,OAAM,eAAc,SAAQ,MAAK,QAAO,SAAQ,OAAM;AAAA,KACvH,GAEJ;AAEJ;AAEO,SAAS,YAAY,OAAyB;AACnD,SACE,6CAAC,oBAAkB,GAAG,OAAO,aAAa,MAAM,eAAe,MAC5D,WAAC,EAAE,QAAQ,MACV,6EACE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,QAAQ;AAAA;AAAA,EAChB,GACF,GAEJ;AAEJ;","names":["import_jsx_runtime"]}
@@ -0,0 +1,21 @@
1
+ import {
2
+ XEmailIcon,
3
+ XGitHubIcon,
4
+ XInstagramIcon,
5
+ XLinkedInIcon,
6
+ XSocialContact,
7
+ XTelegramIcon,
8
+ XTwitterIcon,
9
+ XWhatsappIcon
10
+ } from "../../chunk-U27ZVCP7.mjs";
11
+ export {
12
+ XEmailIcon,
13
+ XGitHubIcon,
14
+ XInstagramIcon,
15
+ XLinkedInIcon,
16
+ XSocialContact,
17
+ XTelegramIcon,
18
+ XTwitterIcon,
19
+ XWhatsappIcon
20
+ };
21
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}