@c-rex/components 0.0.8 → 0.0.9
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.
- package/dist/autocomplete.cjs.js +215 -0
- package/dist/autocomplete.cjs.js.map +1 -0
- package/dist/autocomplete.d.cts +10 -0
- package/dist/autocomplete.d.ts +10 -0
- package/dist/autocomplete.esm.js +154 -0
- package/dist/autocomplete.esm.js.map +1 -0
- package/dist/blog-card.cjs.js +265 -0
- package/dist/blog-card.cjs.js.map +1 -0
- package/dist/blog-card.d.cts +19 -0
- package/dist/blog-card.d.ts +19 -0
- package/dist/blog-card.esm.js +192 -0
- package/dist/blog-card.esm.js.map +1 -0
- package/dist/blur-image.cjs.js +198 -0
- package/dist/blur-image.cjs.js.map +1 -0
- package/dist/blur-image.d.cts +7 -0
- package/dist/blur-image.d.ts +7 -0
- package/dist/blur-image.esm.js +125 -0
- package/dist/blur-image.esm.js.map +1 -0
- package/dist/breadcrumb.cjs.js +159 -0
- package/dist/breadcrumb.cjs.js.map +1 -0
- package/dist/breadcrumb.d.cts +10 -0
- package/dist/breadcrumb.d.ts +10 -0
- package/dist/breadcrumb.esm.js +98 -0
- package/dist/breadcrumb.esm.js.map +1 -0
- package/dist/empty.cjs.js +79 -0
- package/dist/empty.cjs.js.map +1 -0
- package/dist/empty.d.cts +5 -0
- package/dist/empty.d.ts +5 -0
- package/dist/empty.esm.js +18 -0
- package/dist/empty.esm.js.map +1 -0
- package/dist/navbar.cjs.js +134 -0
- package/dist/navbar.cjs.js.map +1 -0
- package/dist/navbar.d.cts +9 -0
- package/dist/navbar.d.ts +9 -0
- package/dist/navbar.esm.js +61 -0
- package/dist/navbar.esm.js.map +1 -0
- package/dist/providers/search-state-wrapper.cjs.js +113 -0
- package/dist/providers/search-state-wrapper.cjs.js.map +1 -0
- package/dist/providers/search-state-wrapper.d.cts +14 -0
- package/dist/providers/search-state-wrapper.d.ts +14 -0
- package/dist/providers/search-state-wrapper.esm.js +51 -0
- package/dist/providers/search-state-wrapper.esm.js.map +1 -0
- package/dist/result-list.cjs.js +321 -0
- package/dist/result-list.cjs.js.map +1 -0
- package/dist/result-list.d.cts +9 -0
- package/dist/result-list.d.ts +9 -0
- package/dist/result-list.esm.js +247 -0
- package/dist/result-list.esm.js.map +1 -0
- package/dist/result-view/blog-view.stories.cjs.js +372 -0
- package/dist/result-view/blog-view.stories.cjs.js.map +1 -0
- package/dist/result-view/blog-view.stories.d.cts +11 -0
- package/dist/result-view/blog-view.stories.d.ts +11 -0
- package/dist/result-view/blog-view.stories.esm.js +295 -0
- package/dist/result-view/blog-view.stories.esm.js.map +1 -0
- package/dist/result-view/blog.cjs.js +290 -0
- package/dist/result-view/blog.cjs.js.map +1 -0
- package/dist/result-view/blog.d.cts +9 -0
- package/dist/result-view/blog.d.ts +9 -0
- package/dist/result-view/blog.esm.js +220 -0
- package/dist/result-view/blog.esm.js.map +1 -0
- package/dist/result-view/table-view.stories.cjs.js +196 -0
- package/dist/result-view/table-view.stories.cjs.js.map +1 -0
- package/dist/result-view/table-view.stories.d.cts +11 -0
- package/dist/result-view/table-view.stories.d.ts +11 -0
- package/dist/result-view/table-view.stories.esm.js +131 -0
- package/dist/result-view/table-view.stories.esm.js.map +1 -0
- package/dist/result-view/table.cjs.js +116 -0
- package/dist/result-view/table.cjs.js.map +1 -0
- package/dist/result-view/table.d.cts +9 -0
- package/dist/result-view/table.d.ts +9 -0
- package/dist/result-view/table.esm.js +59 -0
- package/dist/result-view/table.esm.js.map +1 -0
- package/dist/sidebar.cjs.js +225 -0
- package/dist/sidebar.cjs.js.map +1 -0
- package/dist/sidebar.d.cts +12 -0
- package/dist/sidebar.d.ts +12 -0
- package/dist/sidebar.esm.js +164 -0
- package/dist/sidebar.esm.js.map +1 -0
- package/dist/stories/blog-card.stories.cjs.js +323 -0
- package/dist/stories/blog-card.stories.cjs.js.map +1 -0
- package/dist/stories/blog-card.stories.d.cts +9 -0
- package/dist/stories/blog-card.stories.d.ts +9 -0
- package/dist/stories/blog-card.stories.esm.js +242 -0
- package/dist/stories/blog-card.stories.esm.js.map +1 -0
- package/dist/stories/blur-image.stories.cjs.js +265 -0
- package/dist/stories/blur-image.stories.cjs.js.map +1 -0
- package/dist/stories/blur-image.stories.d.cts +37 -0
- package/dist/stories/blur-image.stories.d.ts +37 -0
- package/dist/stories/blur-image.stories.esm.js +180 -0
- package/dist/stories/blur-image.stories.esm.js.map +1 -0
- package/dist/stories/breadcrumb.stories.cjs.js +214 -0
- package/dist/stories/breadcrumb.stories.cjs.js.map +1 -0
- package/dist/stories/breadcrumb.stories.d.cts +9 -0
- package/dist/stories/breadcrumb.stories.d.ts +9 -0
- package/dist/stories/breadcrumb.stories.esm.js +145 -0
- package/dist/stories/breadcrumb.stories.esm.js.map +1 -0
- package/dist/stories/empty.stories.cjs.js +93 -0
- package/dist/stories/empty.stories.cjs.js.map +1 -0
- package/dist/stories/empty.stories.d.cts +13 -0
- package/dist/stories/empty.stories.d.ts +13 -0
- package/dist/stories/empty.stories.esm.js +28 -0
- package/dist/stories/empty.stories.esm.js.map +1 -0
- package/dist/stories/navbar.stories.cjs.js +151 -0
- package/dist/stories/navbar.stories.cjs.js.map +1 -0
- package/dist/stories/navbar.stories.d.cts +8 -0
- package/dist/stories/navbar.stories.d.ts +8 -0
- package/dist/stories/navbar.stories.esm.js +74 -0
- package/dist/stories/navbar.stories.esm.js.map +1 -0
- package/dist/stories/sidebar.stories.cjs.js +327 -0
- package/dist/stories/sidebar.stories.cjs.js.map +1 -0
- package/dist/stories/sidebar.stories.d.cts +30 -0
- package/dist/stories/sidebar.stories.d.ts +30 -0
- package/dist/stories/sidebar.stories.esm.js +258 -0
- package/dist/stories/sidebar.stories.esm.js.map +1 -0
- package/package.json +40 -27
- package/src/autocomplete.tsx +0 -113
- package/src/blog-card.tsx +0 -87
- package/src/blur-image.tsx +0 -23
- package/src/breadcrumb.tsx +0 -81
- package/src/empty.tsx +0 -13
- package/src/navbar.tsx +0 -66
- package/src/providers/search-state-wrapper.tsx +0 -21
- package/src/result-list.tsx +0 -16
- package/src/result-view/blog-view.stories.tsx +0 -58
- package/src/result-view/blog.tsx +0 -38
- package/src/result-view/table-view.stories.tsx +0 -55
- package/src/result-view/table.tsx +0 -65
- package/src/sidebar.tsx +0 -76
- package/src/stories/blog-card.stories.tsx +0 -46
- package/src/stories/blur-image.stories.tsx +0 -51
- package/src/stories/breadcrumb.stories.tsx +0 -52
- package/src/stories/empty.stories.tsx +0 -14
- package/src/stories/navbar.stories.tsx +0 -16
- package/src/stories/sidebar.stories.tsx +0 -94
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
function _array_like_to_array(arr, len) {
|
|
3
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
4
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
5
|
+
return arr2;
|
|
6
|
+
}
|
|
7
|
+
function _array_with_holes(arr) {
|
|
8
|
+
if (Array.isArray(arr)) return arr;
|
|
9
|
+
}
|
|
10
|
+
function _define_property(obj, key, value) {
|
|
11
|
+
if (key in obj) {
|
|
12
|
+
Object.defineProperty(obj, key, {
|
|
13
|
+
value: value,
|
|
14
|
+
enumerable: true,
|
|
15
|
+
configurable: true,
|
|
16
|
+
writable: true
|
|
17
|
+
});
|
|
18
|
+
} else {
|
|
19
|
+
obj[key] = value;
|
|
20
|
+
}
|
|
21
|
+
return obj;
|
|
22
|
+
}
|
|
23
|
+
function _iterable_to_array_limit(arr, i) {
|
|
24
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
25
|
+
if (_i == null) return;
|
|
26
|
+
var _arr = [];
|
|
27
|
+
var _n = true;
|
|
28
|
+
var _d = false;
|
|
29
|
+
var _s, _e;
|
|
30
|
+
try {
|
|
31
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
32
|
+
_arr.push(_s.value);
|
|
33
|
+
if (i && _arr.length === i) break;
|
|
34
|
+
}
|
|
35
|
+
} catch (err) {
|
|
36
|
+
_d = true;
|
|
37
|
+
_e = err;
|
|
38
|
+
} finally{
|
|
39
|
+
try {
|
|
40
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
41
|
+
} finally{
|
|
42
|
+
if (_d) throw _e;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return _arr;
|
|
46
|
+
}
|
|
47
|
+
function _non_iterable_rest() {
|
|
48
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
49
|
+
}
|
|
50
|
+
function _object_spread(target) {
|
|
51
|
+
for(var i = 1; i < arguments.length; i++){
|
|
52
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
53
|
+
var ownKeys = Object.keys(source);
|
|
54
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
55
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
56
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
ownKeys.forEach(function(key) {
|
|
60
|
+
_define_property(target, key, source[key]);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return target;
|
|
64
|
+
}
|
|
65
|
+
function ownKeys(object, enumerableOnly) {
|
|
66
|
+
var keys = Object.keys(object);
|
|
67
|
+
if (Object.getOwnPropertySymbols) {
|
|
68
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
69
|
+
if (enumerableOnly) {
|
|
70
|
+
symbols = symbols.filter(function(sym) {
|
|
71
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
keys.push.apply(keys, symbols);
|
|
75
|
+
}
|
|
76
|
+
return keys;
|
|
77
|
+
}
|
|
78
|
+
function _object_spread_props(target, source) {
|
|
79
|
+
source = source != null ? source : {};
|
|
80
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
81
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
82
|
+
} else {
|
|
83
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
84
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
return target;
|
|
88
|
+
}
|
|
89
|
+
function _sliced_to_array(arr, i) {
|
|
90
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
91
|
+
}
|
|
92
|
+
function _type_of(obj) {
|
|
93
|
+
"@swc/helpers - typeof";
|
|
94
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
95
|
+
}
|
|
96
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
97
|
+
if (!o) return;
|
|
98
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
99
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
100
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
101
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
102
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
103
|
+
}
|
|
104
|
+
var __create = Object.create;
|
|
105
|
+
var __defProp = Object.defineProperty;
|
|
106
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
107
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
108
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
109
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
110
|
+
var __export = function(target, all) {
|
|
111
|
+
for(var name in all)__defProp(target, name, {
|
|
112
|
+
get: all[name],
|
|
113
|
+
enumerable: true
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
var __copyProps = function(to, from, except, desc) {
|
|
117
|
+
if (from && (typeof from === "undefined" ? "undefined" : _type_of(from)) === "object" || typeof from === "function") {
|
|
118
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
119
|
+
try {
|
|
120
|
+
var _loop = function() {
|
|
121
|
+
var key = _step.value;
|
|
122
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
123
|
+
get: function() {
|
|
124
|
+
return from[key];
|
|
125
|
+
},
|
|
126
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
127
|
+
});
|
|
128
|
+
};
|
|
129
|
+
for(var _iterator = __getOwnPropNames(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();
|
|
130
|
+
} catch (err) {
|
|
131
|
+
_didIteratorError = true;
|
|
132
|
+
_iteratorError = err;
|
|
133
|
+
} finally{
|
|
134
|
+
try {
|
|
135
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
136
|
+
_iterator.return();
|
|
137
|
+
}
|
|
138
|
+
} finally{
|
|
139
|
+
if (_didIteratorError) {
|
|
140
|
+
throw _iteratorError;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return to;
|
|
146
|
+
};
|
|
147
|
+
var __toESM = function(mod, isNodeMode, target) {
|
|
148
|
+
return target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(// If the importer is in node compatibility mode or this is not an ESM
|
|
149
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
150
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
151
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
152
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
153
|
+
value: mod,
|
|
154
|
+
enumerable: true
|
|
155
|
+
}) : target, mod);
|
|
156
|
+
};
|
|
157
|
+
var __toCommonJS = function(mod) {
|
|
158
|
+
return __copyProps(__defProp({}, "__esModule", {
|
|
159
|
+
value: true
|
|
160
|
+
}), mod);
|
|
161
|
+
};
|
|
162
|
+
// src/blog-card.tsx
|
|
163
|
+
var blog_card_exports = {};
|
|
164
|
+
__export(blog_card_exports, {
|
|
165
|
+
BlogCard: function() {
|
|
166
|
+
return BlogCard;
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
module.exports = __toCommonJS(blog_card_exports);
|
|
170
|
+
var import_link = __toESM(require("next/link"), 1);
|
|
171
|
+
// ../utils/src/classMerge.ts
|
|
172
|
+
var import_clsx = require("clsx");
|
|
173
|
+
var import_tailwind_merge = require("tailwind-merge");
|
|
174
|
+
function cn() {
|
|
175
|
+
for(var _len = arguments.length, inputs = new Array(_len), _key = 0; _key < _len; _key++){
|
|
176
|
+
inputs[_key] = arguments[_key];
|
|
177
|
+
}
|
|
178
|
+
return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
|
|
179
|
+
}
|
|
180
|
+
// src/blur-image.tsx
|
|
181
|
+
var import_react = require("react");
|
|
182
|
+
var import_image = __toESM(require("next/image"), 1);
|
|
183
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
184
|
+
var BlurImage = function(props) {
|
|
185
|
+
var _ref = _sliced_to_array((0, import_react.useState)(true), 2), isLoading = _ref[0], setLoading = _ref[1];
|
|
186
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_image.default, _object_spread_props(_object_spread({}, props), {
|
|
187
|
+
alt: props.alt,
|
|
188
|
+
className: cn(props.className, "duration-500 ease-in-out", isLoading ? "blur-sm" : "blur-0"),
|
|
189
|
+
onLoad: function() {
|
|
190
|
+
return setLoading(false);
|
|
191
|
+
}
|
|
192
|
+
}));
|
|
193
|
+
};
|
|
194
|
+
// src/blog-card.tsx
|
|
195
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
196
|
+
var BlogCard = function(param) {
|
|
197
|
+
var data = param.data, priority = param.priority, _param_horizontal = param.horizontal, horizontal = _param_horizontal === void 0 ? false : _param_horizontal;
|
|
198
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("article", {
|
|
199
|
+
className: cn("group relative", horizontal ? "grid grid-cols-1 gap-3 md:grid-cols-2 md:gap-6" : "flex flex-col space-y-2"),
|
|
200
|
+
children: [
|
|
201
|
+
data.image && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", {
|
|
202
|
+
className: "w-full overflow-hidden rounded-xl border",
|
|
203
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(BlurImage, {
|
|
204
|
+
alt: data.title,
|
|
205
|
+
blurDataURL: data.blurDataURL,
|
|
206
|
+
className: cn("size-full object-cover object-center", horizontal ? "lg:h-72" : null),
|
|
207
|
+
width: 800,
|
|
208
|
+
height: 400,
|
|
209
|
+
priority: priority,
|
|
210
|
+
placeholder: "blur",
|
|
211
|
+
src: data.image,
|
|
212
|
+
sizes: "(max-width: 768px) 750px, 600px"
|
|
213
|
+
})
|
|
214
|
+
}),
|
|
215
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", {
|
|
216
|
+
className: cn("flex flex-1 flex-col", horizontal ? "justify-center" : "justify-between"),
|
|
217
|
+
children: [
|
|
218
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", {
|
|
219
|
+
className: "w-full",
|
|
220
|
+
children: [
|
|
221
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("h2", {
|
|
222
|
+
className: "my-1.5 line-clamp-2 font-heading text-2xl",
|
|
223
|
+
children: data.title
|
|
224
|
+
}),
|
|
225
|
+
data.description && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("p", {
|
|
226
|
+
className: "line-clamp-2 text-muted-foreground",
|
|
227
|
+
children: data.description
|
|
228
|
+
})
|
|
229
|
+
]
|
|
230
|
+
}),
|
|
231
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", {
|
|
232
|
+
className: "mt-4 flex items-center space-x-3",
|
|
233
|
+
children: [
|
|
234
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", {
|
|
235
|
+
className: "flex items-center -space-x-2",
|
|
236
|
+
children: data.authors && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("p", {
|
|
237
|
+
className: "text-sm text-muted-foreground",
|
|
238
|
+
children: data.authors
|
|
239
|
+
})
|
|
240
|
+
}),
|
|
241
|
+
data.date && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("p", {
|
|
242
|
+
className: "text-sm text-muted-foreground",
|
|
243
|
+
children: data.date
|
|
244
|
+
})
|
|
245
|
+
]
|
|
246
|
+
})
|
|
247
|
+
]
|
|
248
|
+
}),
|
|
249
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_link.default, {
|
|
250
|
+
href: data.slug,
|
|
251
|
+
className: "absolute inset-0",
|
|
252
|
+
target: "_blank",
|
|
253
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", {
|
|
254
|
+
className: "sr-only",
|
|
255
|
+
children: "View Article"
|
|
256
|
+
})
|
|
257
|
+
})
|
|
258
|
+
]
|
|
259
|
+
});
|
|
260
|
+
};
|
|
261
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
262
|
+
0 && (module.exports = {
|
|
263
|
+
BlogCard: BlogCard
|
|
264
|
+
});
|
|
265
|
+
//# sourceMappingURL=blog-card.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/periotto/Desktop/workspace/c-rex.net-web-client-foundation/packages/components/dist/blog-card.cjs.js","../src/blog-card.tsx","../../utils/src/classMerge.ts","../src/blur-image.tsx"],"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","blog_card_exports","BlogCard","module","exports","import_link","require","import_clsx","import_tailwind_merge","cn","inputs","twMerge","clsx","import_react","import_image","import_jsx_runtime","BlurImage","props","useState","isLoading","setLoading","jsx","Image","alt","className","onLoad","data","priority","horizontal","import_jsx_runtime2","jsxs","children","image","title","blurDataURL","width","height","placeholder","src","sizes","description","authors","date","Link","href","slug"],"mappings":"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","sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/blog-card.tsx\nvar blog_card_exports = {};\n__export(blog_card_exports, {\n BlogCard: () => BlogCard\n});\nmodule.exports = __toCommonJS(blog_card_exports);\nvar import_link = __toESM(require(\"next/link\"), 1);\n\n// ../utils/src/classMerge.ts\nvar import_clsx = require(\"clsx\");\nvar import_tailwind_merge = require(\"tailwind-merge\");\nfunction cn(...inputs) {\n return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));\n}\n\n// src/blur-image.tsx\nvar import_react = require(\"react\");\nvar import_image = __toESM(require(\"next/image\"), 1);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar BlurImage = (props) => {\n const [isLoading, setLoading] = (0, import_react.useState)(true);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\n import_image.default,\n {\n ...props,\n alt: props.alt,\n className: cn(\n props.className,\n \"duration-500 ease-in-out\",\n isLoading ? \"blur-sm\" : \"blur-0\"\n ),\n onLoad: () => setLoading(false)\n }\n );\n};\n\n// src/blog-card.tsx\nvar import_jsx_runtime2 = require(\"react/jsx-runtime\");\nvar BlogCard = ({\n data,\n priority,\n horizontal = false\n}) => {\n return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(\n \"article\",\n {\n className: cn(\n \"group relative\",\n horizontal ? \"grid grid-cols-1 gap-3 md:grid-cols-2 md:gap-6\" : \"flex flex-col space-y-2\"\n ),\n children: [\n data.image && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\"div\", { className: \"w-full overflow-hidden rounded-xl border\", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\n BlurImage,\n {\n alt: data.title,\n blurDataURL: data.blurDataURL,\n className: cn(\n \"size-full object-cover object-center\",\n horizontal ? \"lg:h-72\" : null\n ),\n width: 800,\n height: 400,\n priority,\n placeholder: \"blur\",\n src: data.image,\n sizes: \"(max-width: 768px) 750px, 600px\"\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(\n \"div\",\n {\n className: cn(\n \"flex flex-1 flex-col\",\n horizontal ? \"justify-center\" : \"justify-between\"\n ),\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(\"div\", { className: \"w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\"h2\", { className: \"my-1.5 line-clamp-2 font-heading text-2xl\", children: data.title }),\n data.description && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\"p\", { className: \"line-clamp-2 text-muted-foreground\", children: data.description })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(\"div\", { className: \"mt-4 flex items-center space-x-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\"div\", { className: \"flex items-center -space-x-2\", children: data.authors && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\"p\", { className: \"text-sm text-muted-foreground\", children: data.authors }) }),\n data.date && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\"p\", { className: \"text-sm text-muted-foreground\", children: data.date })\n ] })\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_link.default, { href: data.slug, className: \"absolute inset-0\", target: \"_blank\", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\"span\", { className: \"sr-only\", children: \"View Article\" }) })\n ]\n }\n );\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n BlogCard\n});\n","import Link from \"next/link\";\nimport { cn } from \"@c-rex/utils\";\nimport { BlurImage } from \"./blur-image\";\n\n//import Author from \"./author\";\n\ninterface BlogCardProp {\n data: {\n title: string;\n blurDataURL: string;\n image: string;\n description: string;\n authors: string;\n _id: string;\n date: string;\n slug: string;\n };\n priority?: boolean;\n horizontal?: boolean;\n}\n\nexport const BlogCard = ({\n data,\n priority,\n horizontal = false,\n}: BlogCardProp) => {\n return (\n <article\n className={cn(\n \"group relative\",\n horizontal\n ? \"grid grid-cols-1 gap-3 md:grid-cols-2 md:gap-6\"\n : \"flex flex-col space-y-2\",\n )}\n >\n {data.image && (\n <div className=\"w-full overflow-hidden rounded-xl border\">\n <BlurImage\n alt={data.title}\n blurDataURL={data.blurDataURL}\n className={cn(\n \"size-full object-cover object-center\",\n horizontal ? \"lg:h-72\" : null,\n )}\n width={800}\n height={400}\n priority={priority}\n placeholder=\"blur\"\n src={data.image}\n sizes=\"(max-width: 768px) 750px, 600px\"\n />\n </div>\n )}\n <div\n className={cn(\n \"flex flex-1 flex-col\",\n horizontal ? \"justify-center\" : \"justify-between\",\n )}\n >\n <div className=\"w-full\">\n <h2 className=\"my-1.5 line-clamp-2 font-heading text-2xl\">\n {data.title}\n </h2>\n {data.description && (\n <p className=\"line-clamp-2 text-muted-foreground\">\n {data.description}\n </p>\n )}\n </div>\n <div className=\"mt-4 flex items-center space-x-3\">\n <div className=\"flex items-center -space-x-2\">\n {data.authors && (\n <p className=\"text-sm text-muted-foreground\">{data.authors}</p>\n )}\n </div>\n\n {data.date && (\n <p className=\"text-sm text-muted-foreground\">{data.date}</p>\n )}\n </div>\n </div>\n <Link href={data.slug} className=\"absolute inset-0\" target=\"_blank\">\n <span className=\"sr-only\">View Article</span>\n </Link>\n </article>\n );\n};\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport { useState } from \"react\";\nimport type { ComponentProps } from \"react\";\nimport Image from \"next/image\";\nimport { cn } from \"@c-rex/utils\";\n\nexport const BlurImage = (props: ComponentProps<typeof Image>) => {\n const [isLoading, setLoading] = useState(true);\n\n return (\n <Image\n {...props}\n alt={props.alt}\n className={cn(\n props.className,\n \"duration-500 ease-in-out\",\n isLoading ? \"blur-sm\" : \"blur-0\",\n )}\n onLoad={() => setLoading(false)}\n />\n );\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
interface BlogCardProp {
|
|
4
|
+
data: {
|
|
5
|
+
title: string;
|
|
6
|
+
blurDataURL: string;
|
|
7
|
+
image: string;
|
|
8
|
+
description: string;
|
|
9
|
+
authors: string;
|
|
10
|
+
_id: string;
|
|
11
|
+
date: string;
|
|
12
|
+
slug: string;
|
|
13
|
+
};
|
|
14
|
+
priority?: boolean;
|
|
15
|
+
horizontal?: boolean;
|
|
16
|
+
}
|
|
17
|
+
declare const BlogCard: ({ data, priority, horizontal, }: BlogCardProp) => react_jsx_runtime.JSX.Element;
|
|
18
|
+
|
|
19
|
+
export { BlogCard };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
interface BlogCardProp {
|
|
4
|
+
data: {
|
|
5
|
+
title: string;
|
|
6
|
+
blurDataURL: string;
|
|
7
|
+
image: string;
|
|
8
|
+
description: string;
|
|
9
|
+
authors: string;
|
|
10
|
+
_id: string;
|
|
11
|
+
date: string;
|
|
12
|
+
slug: string;
|
|
13
|
+
};
|
|
14
|
+
priority?: boolean;
|
|
15
|
+
horizontal?: boolean;
|
|
16
|
+
}
|
|
17
|
+
declare const BlogCard: ({ data, priority, horizontal, }: BlogCardProp) => react_jsx_runtime.JSX.Element;
|
|
18
|
+
|
|
19
|
+
export { BlogCard };
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
// src/blog-card.tsx
|
|
2
|
+
function _array_like_to_array(arr, len) {
|
|
3
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
4
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
5
|
+
return arr2;
|
|
6
|
+
}
|
|
7
|
+
function _array_with_holes(arr) {
|
|
8
|
+
if (Array.isArray(arr)) return arr;
|
|
9
|
+
}
|
|
10
|
+
function _define_property(obj, key, value) {
|
|
11
|
+
if (key in obj) {
|
|
12
|
+
Object.defineProperty(obj, key, {
|
|
13
|
+
value: value,
|
|
14
|
+
enumerable: true,
|
|
15
|
+
configurable: true,
|
|
16
|
+
writable: true
|
|
17
|
+
});
|
|
18
|
+
} else {
|
|
19
|
+
obj[key] = value;
|
|
20
|
+
}
|
|
21
|
+
return obj;
|
|
22
|
+
}
|
|
23
|
+
function _iterable_to_array_limit(arr, i) {
|
|
24
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
25
|
+
if (_i == null) return;
|
|
26
|
+
var _arr = [];
|
|
27
|
+
var _n = true;
|
|
28
|
+
var _d = false;
|
|
29
|
+
var _s, _e;
|
|
30
|
+
try {
|
|
31
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
32
|
+
_arr.push(_s.value);
|
|
33
|
+
if (i && _arr.length === i) break;
|
|
34
|
+
}
|
|
35
|
+
} catch (err) {
|
|
36
|
+
_d = true;
|
|
37
|
+
_e = err;
|
|
38
|
+
} finally{
|
|
39
|
+
try {
|
|
40
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
41
|
+
} finally{
|
|
42
|
+
if (_d) throw _e;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return _arr;
|
|
46
|
+
}
|
|
47
|
+
function _non_iterable_rest() {
|
|
48
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
49
|
+
}
|
|
50
|
+
function _object_spread(target) {
|
|
51
|
+
for(var i = 1; i < arguments.length; i++){
|
|
52
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
53
|
+
var ownKeys = Object.keys(source);
|
|
54
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
55
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
56
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
ownKeys.forEach(function(key) {
|
|
60
|
+
_define_property(target, key, source[key]);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return target;
|
|
64
|
+
}
|
|
65
|
+
function ownKeys(object, enumerableOnly) {
|
|
66
|
+
var keys = Object.keys(object);
|
|
67
|
+
if (Object.getOwnPropertySymbols) {
|
|
68
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
69
|
+
if (enumerableOnly) {
|
|
70
|
+
symbols = symbols.filter(function(sym) {
|
|
71
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
keys.push.apply(keys, symbols);
|
|
75
|
+
}
|
|
76
|
+
return keys;
|
|
77
|
+
}
|
|
78
|
+
function _object_spread_props(target, source) {
|
|
79
|
+
source = source != null ? source : {};
|
|
80
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
81
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
82
|
+
} else {
|
|
83
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
84
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
return target;
|
|
88
|
+
}
|
|
89
|
+
function _sliced_to_array(arr, i) {
|
|
90
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
91
|
+
}
|
|
92
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
93
|
+
if (!o) return;
|
|
94
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
95
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
96
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
97
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
98
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
99
|
+
}
|
|
100
|
+
import Link from "next/link";
|
|
101
|
+
// ../utils/src/classMerge.ts
|
|
102
|
+
import { clsx } from "clsx";
|
|
103
|
+
import { twMerge } from "tailwind-merge";
|
|
104
|
+
function cn() {
|
|
105
|
+
for(var _len = arguments.length, inputs = new Array(_len), _key = 0; _key < _len; _key++){
|
|
106
|
+
inputs[_key] = arguments[_key];
|
|
107
|
+
}
|
|
108
|
+
return twMerge(clsx(inputs));
|
|
109
|
+
}
|
|
110
|
+
// src/blur-image.tsx
|
|
111
|
+
import { useState } from "react";
|
|
112
|
+
import Image from "next/image";
|
|
113
|
+
import { jsx } from "react/jsx-runtime";
|
|
114
|
+
var BlurImage = function(props) {
|
|
115
|
+
var _useState = _sliced_to_array(useState(true), 2), isLoading = _useState[0], setLoading = _useState[1];
|
|
116
|
+
return /* @__PURE__ */ jsx(Image, _object_spread_props(_object_spread({}, props), {
|
|
117
|
+
alt: props.alt,
|
|
118
|
+
className: cn(props.className, "duration-500 ease-in-out", isLoading ? "blur-sm" : "blur-0"),
|
|
119
|
+
onLoad: function() {
|
|
120
|
+
return setLoading(false);
|
|
121
|
+
}
|
|
122
|
+
}));
|
|
123
|
+
};
|
|
124
|
+
// src/blog-card.tsx
|
|
125
|
+
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
126
|
+
var BlogCard = function(param) {
|
|
127
|
+
var data = param.data, priority = param.priority, _param_horizontal = param.horizontal, horizontal = _param_horizontal === void 0 ? false : _param_horizontal;
|
|
128
|
+
return /* @__PURE__ */ jsxs("article", {
|
|
129
|
+
className: cn("group relative", horizontal ? "grid grid-cols-1 gap-3 md:grid-cols-2 md:gap-6" : "flex flex-col space-y-2"),
|
|
130
|
+
children: [
|
|
131
|
+
data.image && /* @__PURE__ */ jsx2("div", {
|
|
132
|
+
className: "w-full overflow-hidden rounded-xl border",
|
|
133
|
+
children: /* @__PURE__ */ jsx2(BlurImage, {
|
|
134
|
+
alt: data.title,
|
|
135
|
+
blurDataURL: data.blurDataURL,
|
|
136
|
+
className: cn("size-full object-cover object-center", horizontal ? "lg:h-72" : null),
|
|
137
|
+
width: 800,
|
|
138
|
+
height: 400,
|
|
139
|
+
priority: priority,
|
|
140
|
+
placeholder: "blur",
|
|
141
|
+
src: data.image,
|
|
142
|
+
sizes: "(max-width: 768px) 750px, 600px"
|
|
143
|
+
})
|
|
144
|
+
}),
|
|
145
|
+
/* @__PURE__ */ jsxs("div", {
|
|
146
|
+
className: cn("flex flex-1 flex-col", horizontal ? "justify-center" : "justify-between"),
|
|
147
|
+
children: [
|
|
148
|
+
/* @__PURE__ */ jsxs("div", {
|
|
149
|
+
className: "w-full",
|
|
150
|
+
children: [
|
|
151
|
+
/* @__PURE__ */ jsx2("h2", {
|
|
152
|
+
className: "my-1.5 line-clamp-2 font-heading text-2xl",
|
|
153
|
+
children: data.title
|
|
154
|
+
}),
|
|
155
|
+
data.description && /* @__PURE__ */ jsx2("p", {
|
|
156
|
+
className: "line-clamp-2 text-muted-foreground",
|
|
157
|
+
children: data.description
|
|
158
|
+
})
|
|
159
|
+
]
|
|
160
|
+
}),
|
|
161
|
+
/* @__PURE__ */ jsxs("div", {
|
|
162
|
+
className: "mt-4 flex items-center space-x-3",
|
|
163
|
+
children: [
|
|
164
|
+
/* @__PURE__ */ jsx2("div", {
|
|
165
|
+
className: "flex items-center -space-x-2",
|
|
166
|
+
children: data.authors && /* @__PURE__ */ jsx2("p", {
|
|
167
|
+
className: "text-sm text-muted-foreground",
|
|
168
|
+
children: data.authors
|
|
169
|
+
})
|
|
170
|
+
}),
|
|
171
|
+
data.date && /* @__PURE__ */ jsx2("p", {
|
|
172
|
+
className: "text-sm text-muted-foreground",
|
|
173
|
+
children: data.date
|
|
174
|
+
})
|
|
175
|
+
]
|
|
176
|
+
})
|
|
177
|
+
]
|
|
178
|
+
}),
|
|
179
|
+
/* @__PURE__ */ jsx2(Link, {
|
|
180
|
+
href: data.slug,
|
|
181
|
+
className: "absolute inset-0",
|
|
182
|
+
target: "_blank",
|
|
183
|
+
children: /* @__PURE__ */ jsx2("span", {
|
|
184
|
+
className: "sr-only",
|
|
185
|
+
children: "View Article"
|
|
186
|
+
})
|
|
187
|
+
})
|
|
188
|
+
]
|
|
189
|
+
});
|
|
190
|
+
};
|
|
191
|
+
export { BlogCard };
|
|
192
|
+
//# sourceMappingURL=blog-card.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/periotto/Desktop/workspace/c-rex.net-web-client-foundation/packages/components/dist/blog-card.esm.js","../src/blog-card.tsx","../../utils/src/classMerge.ts","../src/blur-image.tsx"],"names":["Link","clsx","twMerge","cn","inputs","useState","Image","jsx","BlurImage","props","isLoading","setLoading","alt","className","onLoad","jsxs","BlogCard","data","priority","horizontal","children","image","title","blurDataURL","width","height","placeholder","src","sizes","description","authors","date","href","slug","target"],"mappings":"AAAA,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACApB,OAAOA,UAAU,YAAA;ADGjB,6BAA6B;AEH7B,SAASC,IAAA,QAA6B,OAAA;AACtC,SAASC,OAAA,QAAe,iBAAA;AAEjB,SAASC;IAAA,IAAA,IAAA,OAAA,UAAA,QAAA,AAAMC,SAAN,UAAA,OAAA,OAAA,GAAA,OAAA,MAAA;QAAMA,OAAN,QAAA,SAAA,CAAA,KAAM;;IAClB,OAAOF,QAAQD,KAAKG;AACxB;AFKA,qBAAqB;AGRrB,SAASC,QAAA,QAAgB,QAAA;AAEzB,OAAOC,WAAW,aAAA;AAOV,SAAAC,GAAA,QAAA,oBAAA;AAJD,IAAMC,YAAY,SAACC;IACtB,IAAgCJ,6BAAAA,SAAS,WAAlCK,YAAyBL,cAAdM,aAAcN;IAEhC,OACI,aAAA,GAAAE,IAACD,OAAA,wCACOG;QACJG,KAAKH,MAAMG,GAAA;QACXC,WAAWV,GACPM,MAAMI,SAAA,EACN,4BACAH,YAAY,YAAY;QAE5BI,QAAQ;mBAAMH,WAAW;;;AAGrC;AHSA,oBAAoB;ACMA,SAAAJ,OAAAA,IAAAA,EAsBJQ,IAAA,QAtBI,oBAAA;AAhBb,IAAMC,WAAW;QACpBC,aAAAA,MACAC,iBAAAA,oCACAC,YAAAA,4CAAa;IAEb,OACI,aAAA,GAAAJ,KAAC,WAAA;QACGF,WAAWV,GACP,kBACAgB,aACM,mDACA;QAGTC,UAAA;YAAAH,KAAKI,KAAA,IACF,aAAA,GAAAd,KAAC,OAAA;gBAAIM,WAAU;gBACXO,UAAA,aAAA,GAAAb,KAACC,WAAA;oBACGI,KAAKK,KAAKK,KAAA;oBACVC,aAAaN,KAAKM,WAAA;oBAClBV,WAAWV,GACP,wCACAgB,aAAa,YAAY;oBAE7BK,OAAO;oBACPC,QAAQ;oBACRP,UAAAA;oBACAQ,aAAY;oBACZC,KAAKV,KAAKI,KAAA;oBACVO,OAAM;gBAAA;YACV;YAGR,aAAA,GAAAb,KAAC,OAAA;gBACGF,WAAWV,GACP,wBACAgB,aAAa,mBAAmB;gBAGpCC,UAAA;oBAAA,aAAA,GAAAL,KAAC,OAAA;wBAAIF,WAAU;wBACXO,UAAA;4BAAA,aAAA,GAAAb,KAAC,MAAA;gCAAGM,WAAU;gCACTO,UAAAH,KAAKK,KAAA;4BAAA;4BAETL,KAAKY,WAAA,IACF,aAAA,GAAAtB,KAAC,KAAA;gCAAEM,WAAU;gCACRO,UAAAH,KAAKY,WAAA;4BAAA;yBACV;oBAAA;oBAGR,aAAA,GAAAd,KAAC,OAAA;wBAAIF,WAAU;wBACXO,UAAA;4BAAA,aAAA,GAAAb,KAAC,OAAA;gCAAIM,WAAU;gCACVO,UAAAH,KAAKa,OAAA,IACF,aAAA,GAAAvB,KAAC,KAAA;oCAAEM,WAAU;oCAAiCO,UAAAH,KAAKa,OAAA;gCAAA;4BAAQ;4BAIlEb,KAAKc,IAAA,IACF,aAAA,GAAAxB,KAAC,KAAA;gCAAEM,WAAU;gCAAiCO,UAAAH,KAAKc,IAAA;4BAAA;yBAAK;oBAAA;iBAEhE;YAAA;YAEJ,aAAA,GAAAxB,KAACP,MAAA;gBAAKgC,MAAMf,KAAKgB,IAAA;gBAAMpB,WAAU;gBAAmBqB,QAAO;gBACvDd,UAAA,aAAA,GAAAb,KAAC,QAAA;oBAAKM,WAAU;oBAAUO,UAAA;gBAAA;YAAY;SAC1C;IAAA;AAGZ;ADCA,SACEJ,QAAQ,GACR","sourcesContent":["// src/blog-card.tsx\nimport Link from \"next/link\";\n\n// ../utils/src/classMerge.ts\nimport { clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nfunction cn(...inputs) {\n return twMerge(clsx(inputs));\n}\n\n// src/blur-image.tsx\nimport { useState } from \"react\";\nimport Image from \"next/image\";\nimport { jsx } from \"react/jsx-runtime\";\nvar BlurImage = (props) => {\n const [isLoading, setLoading] = useState(true);\n return /* @__PURE__ */ jsx(\n Image,\n {\n ...props,\n alt: props.alt,\n className: cn(\n props.className,\n \"duration-500 ease-in-out\",\n isLoading ? \"blur-sm\" : \"blur-0\"\n ),\n onLoad: () => setLoading(false)\n }\n );\n};\n\n// src/blog-card.tsx\nimport { jsx as jsx2, jsxs } from \"react/jsx-runtime\";\nvar BlogCard = ({\n data,\n priority,\n horizontal = false\n}) => {\n return /* @__PURE__ */ jsxs(\n \"article\",\n {\n className: cn(\n \"group relative\",\n horizontal ? \"grid grid-cols-1 gap-3 md:grid-cols-2 md:gap-6\" : \"flex flex-col space-y-2\"\n ),\n children: [\n data.image && /* @__PURE__ */ jsx2(\"div\", { className: \"w-full overflow-hidden rounded-xl border\", children: /* @__PURE__ */ jsx2(\n BlurImage,\n {\n alt: data.title,\n blurDataURL: data.blurDataURL,\n className: cn(\n \"size-full object-cover object-center\",\n horizontal ? \"lg:h-72\" : null\n ),\n width: 800,\n height: 400,\n priority,\n placeholder: \"blur\",\n src: data.image,\n sizes: \"(max-width: 768px) 750px, 600px\"\n }\n ) }),\n /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: cn(\n \"flex flex-1 flex-col\",\n horizontal ? \"justify-center\" : \"justify-between\"\n ),\n children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"w-full\", children: [\n /* @__PURE__ */ jsx2(\"h2\", { className: \"my-1.5 line-clamp-2 font-heading text-2xl\", children: data.title }),\n data.description && /* @__PURE__ */ jsx2(\"p\", { className: \"line-clamp-2 text-muted-foreground\", children: data.description })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"mt-4 flex items-center space-x-3\", children: [\n /* @__PURE__ */ jsx2(\"div\", { className: \"flex items-center -space-x-2\", children: data.authors && /* @__PURE__ */ jsx2(\"p\", { className: \"text-sm text-muted-foreground\", children: data.authors }) }),\n data.date && /* @__PURE__ */ jsx2(\"p\", { className: \"text-sm text-muted-foreground\", children: data.date })\n ] })\n ]\n }\n ),\n /* @__PURE__ */ jsx2(Link, { href: data.slug, className: \"absolute inset-0\", target: \"_blank\", children: /* @__PURE__ */ jsx2(\"span\", { className: \"sr-only\", children: \"View Article\" }) })\n ]\n }\n );\n};\nexport {\n BlogCard\n};\n","import Link from \"next/link\";\nimport { cn } from \"@c-rex/utils\";\nimport { BlurImage } from \"./blur-image\";\n\n//import Author from \"./author\";\n\ninterface BlogCardProp {\n data: {\n title: string;\n blurDataURL: string;\n image: string;\n description: string;\n authors: string;\n _id: string;\n date: string;\n slug: string;\n };\n priority?: boolean;\n horizontal?: boolean;\n}\n\nexport const BlogCard = ({\n data,\n priority,\n horizontal = false,\n}: BlogCardProp) => {\n return (\n <article\n className={cn(\n \"group relative\",\n horizontal\n ? \"grid grid-cols-1 gap-3 md:grid-cols-2 md:gap-6\"\n : \"flex flex-col space-y-2\",\n )}\n >\n {data.image && (\n <div className=\"w-full overflow-hidden rounded-xl border\">\n <BlurImage\n alt={data.title}\n blurDataURL={data.blurDataURL}\n className={cn(\n \"size-full object-cover object-center\",\n horizontal ? \"lg:h-72\" : null,\n )}\n width={800}\n height={400}\n priority={priority}\n placeholder=\"blur\"\n src={data.image}\n sizes=\"(max-width: 768px) 750px, 600px\"\n />\n </div>\n )}\n <div\n className={cn(\n \"flex flex-1 flex-col\",\n horizontal ? \"justify-center\" : \"justify-between\",\n )}\n >\n <div className=\"w-full\">\n <h2 className=\"my-1.5 line-clamp-2 font-heading text-2xl\">\n {data.title}\n </h2>\n {data.description && (\n <p className=\"line-clamp-2 text-muted-foreground\">\n {data.description}\n </p>\n )}\n </div>\n <div className=\"mt-4 flex items-center space-x-3\">\n <div className=\"flex items-center -space-x-2\">\n {data.authors && (\n <p className=\"text-sm text-muted-foreground\">{data.authors}</p>\n )}\n </div>\n\n {data.date && (\n <p className=\"text-sm text-muted-foreground\">{data.date}</p>\n )}\n </div>\n </div>\n <Link href={data.slug} className=\"absolute inset-0\" target=\"_blank\">\n <span className=\"sr-only\">View Article</span>\n </Link>\n </article>\n );\n};\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport { useState } from \"react\";\nimport type { ComponentProps } from \"react\";\nimport Image from \"next/image\";\nimport { cn } from \"@c-rex/utils\";\n\nexport const BlurImage = (props: ComponentProps<typeof Image>) => {\n const [isLoading, setLoading] = useState(true);\n\n return (\n <Image\n {...props}\n alt={props.alt}\n className={cn(\n props.className,\n \"duration-500 ease-in-out\",\n isLoading ? \"blur-sm\" : \"blur-0\",\n )}\n onLoad={() => setLoading(false)}\n />\n );\n}\n"]}
|