@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.
Files changed (134) hide show
  1. package/dist/autocomplete.cjs.js +215 -0
  2. package/dist/autocomplete.cjs.js.map +1 -0
  3. package/dist/autocomplete.d.cts +10 -0
  4. package/dist/autocomplete.d.ts +10 -0
  5. package/dist/autocomplete.esm.js +154 -0
  6. package/dist/autocomplete.esm.js.map +1 -0
  7. package/dist/blog-card.cjs.js +265 -0
  8. package/dist/blog-card.cjs.js.map +1 -0
  9. package/dist/blog-card.d.cts +19 -0
  10. package/dist/blog-card.d.ts +19 -0
  11. package/dist/blog-card.esm.js +192 -0
  12. package/dist/blog-card.esm.js.map +1 -0
  13. package/dist/blur-image.cjs.js +198 -0
  14. package/dist/blur-image.cjs.js.map +1 -0
  15. package/dist/blur-image.d.cts +7 -0
  16. package/dist/blur-image.d.ts +7 -0
  17. package/dist/blur-image.esm.js +125 -0
  18. package/dist/blur-image.esm.js.map +1 -0
  19. package/dist/breadcrumb.cjs.js +159 -0
  20. package/dist/breadcrumb.cjs.js.map +1 -0
  21. package/dist/breadcrumb.d.cts +10 -0
  22. package/dist/breadcrumb.d.ts +10 -0
  23. package/dist/breadcrumb.esm.js +98 -0
  24. package/dist/breadcrumb.esm.js.map +1 -0
  25. package/dist/empty.cjs.js +79 -0
  26. package/dist/empty.cjs.js.map +1 -0
  27. package/dist/empty.d.cts +5 -0
  28. package/dist/empty.d.ts +5 -0
  29. package/dist/empty.esm.js +18 -0
  30. package/dist/empty.esm.js.map +1 -0
  31. package/dist/navbar.cjs.js +134 -0
  32. package/dist/navbar.cjs.js.map +1 -0
  33. package/dist/navbar.d.cts +9 -0
  34. package/dist/navbar.d.ts +9 -0
  35. package/dist/navbar.esm.js +61 -0
  36. package/dist/navbar.esm.js.map +1 -0
  37. package/dist/providers/search-state-wrapper.cjs.js +113 -0
  38. package/dist/providers/search-state-wrapper.cjs.js.map +1 -0
  39. package/dist/providers/search-state-wrapper.d.cts +14 -0
  40. package/dist/providers/search-state-wrapper.d.ts +14 -0
  41. package/dist/providers/search-state-wrapper.esm.js +51 -0
  42. package/dist/providers/search-state-wrapper.esm.js.map +1 -0
  43. package/dist/result-list.cjs.js +321 -0
  44. package/dist/result-list.cjs.js.map +1 -0
  45. package/dist/result-list.d.cts +9 -0
  46. package/dist/result-list.d.ts +9 -0
  47. package/dist/result-list.esm.js +247 -0
  48. package/dist/result-list.esm.js.map +1 -0
  49. package/dist/result-view/blog-view.stories.cjs.js +372 -0
  50. package/dist/result-view/blog-view.stories.cjs.js.map +1 -0
  51. package/dist/result-view/blog-view.stories.d.cts +11 -0
  52. package/dist/result-view/blog-view.stories.d.ts +11 -0
  53. package/dist/result-view/blog-view.stories.esm.js +295 -0
  54. package/dist/result-view/blog-view.stories.esm.js.map +1 -0
  55. package/dist/result-view/blog.cjs.js +290 -0
  56. package/dist/result-view/blog.cjs.js.map +1 -0
  57. package/dist/result-view/blog.d.cts +9 -0
  58. package/dist/result-view/blog.d.ts +9 -0
  59. package/dist/result-view/blog.esm.js +220 -0
  60. package/dist/result-view/blog.esm.js.map +1 -0
  61. package/dist/result-view/table-view.stories.cjs.js +196 -0
  62. package/dist/result-view/table-view.stories.cjs.js.map +1 -0
  63. package/dist/result-view/table-view.stories.d.cts +11 -0
  64. package/dist/result-view/table-view.stories.d.ts +11 -0
  65. package/dist/result-view/table-view.stories.esm.js +131 -0
  66. package/dist/result-view/table-view.stories.esm.js.map +1 -0
  67. package/dist/result-view/table.cjs.js +116 -0
  68. package/dist/result-view/table.cjs.js.map +1 -0
  69. package/dist/result-view/table.d.cts +9 -0
  70. package/dist/result-view/table.d.ts +9 -0
  71. package/dist/result-view/table.esm.js +59 -0
  72. package/dist/result-view/table.esm.js.map +1 -0
  73. package/dist/sidebar.cjs.js +225 -0
  74. package/dist/sidebar.cjs.js.map +1 -0
  75. package/dist/sidebar.d.cts +12 -0
  76. package/dist/sidebar.d.ts +12 -0
  77. package/dist/sidebar.esm.js +164 -0
  78. package/dist/sidebar.esm.js.map +1 -0
  79. package/dist/stories/blog-card.stories.cjs.js +323 -0
  80. package/dist/stories/blog-card.stories.cjs.js.map +1 -0
  81. package/dist/stories/blog-card.stories.d.cts +9 -0
  82. package/dist/stories/blog-card.stories.d.ts +9 -0
  83. package/dist/stories/blog-card.stories.esm.js +242 -0
  84. package/dist/stories/blog-card.stories.esm.js.map +1 -0
  85. package/dist/stories/blur-image.stories.cjs.js +265 -0
  86. package/dist/stories/blur-image.stories.cjs.js.map +1 -0
  87. package/dist/stories/blur-image.stories.d.cts +37 -0
  88. package/dist/stories/blur-image.stories.d.ts +37 -0
  89. package/dist/stories/blur-image.stories.esm.js +180 -0
  90. package/dist/stories/blur-image.stories.esm.js.map +1 -0
  91. package/dist/stories/breadcrumb.stories.cjs.js +214 -0
  92. package/dist/stories/breadcrumb.stories.cjs.js.map +1 -0
  93. package/dist/stories/breadcrumb.stories.d.cts +9 -0
  94. package/dist/stories/breadcrumb.stories.d.ts +9 -0
  95. package/dist/stories/breadcrumb.stories.esm.js +145 -0
  96. package/dist/stories/breadcrumb.stories.esm.js.map +1 -0
  97. package/dist/stories/empty.stories.cjs.js +93 -0
  98. package/dist/stories/empty.stories.cjs.js.map +1 -0
  99. package/dist/stories/empty.stories.d.cts +13 -0
  100. package/dist/stories/empty.stories.d.ts +13 -0
  101. package/dist/stories/empty.stories.esm.js +28 -0
  102. package/dist/stories/empty.stories.esm.js.map +1 -0
  103. package/dist/stories/navbar.stories.cjs.js +151 -0
  104. package/dist/stories/navbar.stories.cjs.js.map +1 -0
  105. package/dist/stories/navbar.stories.d.cts +8 -0
  106. package/dist/stories/navbar.stories.d.ts +8 -0
  107. package/dist/stories/navbar.stories.esm.js +74 -0
  108. package/dist/stories/navbar.stories.esm.js.map +1 -0
  109. package/dist/stories/sidebar.stories.cjs.js +327 -0
  110. package/dist/stories/sidebar.stories.cjs.js.map +1 -0
  111. package/dist/stories/sidebar.stories.d.cts +30 -0
  112. package/dist/stories/sidebar.stories.d.ts +30 -0
  113. package/dist/stories/sidebar.stories.esm.js +258 -0
  114. package/dist/stories/sidebar.stories.esm.js.map +1 -0
  115. package/package.json +40 -27
  116. package/src/autocomplete.tsx +0 -113
  117. package/src/blog-card.tsx +0 -87
  118. package/src/blur-image.tsx +0 -23
  119. package/src/breadcrumb.tsx +0 -81
  120. package/src/empty.tsx +0 -13
  121. package/src/navbar.tsx +0 -66
  122. package/src/providers/search-state-wrapper.tsx +0 -21
  123. package/src/result-list.tsx +0 -16
  124. package/src/result-view/blog-view.stories.tsx +0 -58
  125. package/src/result-view/blog.tsx +0 -38
  126. package/src/result-view/table-view.stories.tsx +0 -55
  127. package/src/result-view/table.tsx +0 -65
  128. package/src/sidebar.tsx +0 -76
  129. package/src/stories/blog-card.stories.tsx +0 -46
  130. package/src/stories/blur-image.stories.tsx +0 -51
  131. package/src/stories/breadcrumb.stories.tsx +0 -52
  132. package/src/stories/empty.stories.tsx +0 -14
  133. package/src/stories/navbar.stories.tsx +0 -16
  134. 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/stories/blur-image.stories.tsx
163
+ var blur_image_stories_exports = {};
164
+ __export(blur_image_stories_exports, {
165
+ Default: function() {
166
+ return Default;
167
+ },
168
+ RoundedImage: function() {
169
+ return RoundedImage;
170
+ },
171
+ SmallImage: function() {
172
+ return SmallImage;
173
+ },
174
+ default: function() {
175
+ return blur_image_stories_default;
176
+ }
177
+ });
178
+ module.exports = __toCommonJS(blur_image_stories_exports);
179
+ // src/blur-image.tsx
180
+ var import_react = require("react");
181
+ var import_image = __toESM(require("next/image"), 1);
182
+ // ../utils/src/classMerge.ts
183
+ var import_clsx = require("clsx");
184
+ var import_tailwind_merge = require("tailwind-merge");
185
+ function cn() {
186
+ for(var _len = arguments.length, inputs = new Array(_len), _key = 0; _key < _len; _key++){
187
+ inputs[_key] = arguments[_key];
188
+ }
189
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
190
+ }
191
+ // src/blur-image.tsx
192
+ var import_jsx_runtime = require("react/jsx-runtime");
193
+ var BlurImage = function(props) {
194
+ var _ref = _sliced_to_array((0, import_react.useState)(true), 2), isLoading = _ref[0], setLoading = _ref[1];
195
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_image.default, _object_spread_props(_object_spread({}, props), {
196
+ alt: props.alt,
197
+ className: cn(props.className, "duration-500 ease-in-out", isLoading ? "blur-sm" : "blur-0"),
198
+ onLoad: function() {
199
+ return setLoading(false);
200
+ }
201
+ }));
202
+ };
203
+ // src/stories/blur-image.stories.tsx
204
+ var meta = {
205
+ title: "Components/BlurImage",
206
+ component: BlurImage,
207
+ tags: [
208
+ "autodocs"
209
+ ],
210
+ parameters: {
211
+ layout: "centered"
212
+ },
213
+ argTypes: {
214
+ src: {
215
+ control: "text"
216
+ },
217
+ alt: {
218
+ control: "text"
219
+ },
220
+ width: {
221
+ control: "number"
222
+ },
223
+ height: {
224
+ control: "number"
225
+ },
226
+ className: {
227
+ control: "text"
228
+ }
229
+ }
230
+ };
231
+ var blur_image_stories_default = meta;
232
+ var Default = {
233
+ args: {
234
+ src: "https://images.pexels.com/photos/31712301/pexels-photo-31712301/free-photo-of-scenic-cycling-tour-in-andernach-fields.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1",
235
+ alt: "Sample image with blur effect",
236
+ width: 400,
237
+ height: 300,
238
+ className: "rounded-lg"
239
+ }
240
+ };
241
+ var SmallImage = {
242
+ args: {
243
+ src: "https://images.pexels.com/photos/31712301/pexels-photo-31712301/free-photo-of-scenic-cycling-tour-in-andernach-fields.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1",
244
+ alt: "Small sample image with blur effect",
245
+ width: 200,
246
+ height: 150,
247
+ className: "rounded-lg"
248
+ }
249
+ };
250
+ var RoundedImage = {
251
+ args: {
252
+ src: "https://images.pexels.com/photos/31712301/pexels-photo-31712301/free-photo-of-scenic-cycling-tour-in-andernach-fields.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1",
253
+ alt: "Rounded sample image with blur effect",
254
+ width: 300,
255
+ height: 300,
256
+ className: "rounded-full"
257
+ }
258
+ };
259
+ // Annotate the CommonJS export names for ESM import in node:
260
+ 0 && (module.exports = {
261
+ Default: Default,
262
+ RoundedImage: RoundedImage,
263
+ SmallImage: SmallImage
264
+ });
265
+ //# sourceMappingURL=blur-image.stories.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/periotto/Desktop/workspace/c-rex.net-web-client-foundation/packages/components/dist/stories/blur-image.stories.cjs.js","../../src/stories/blur-image.stories.tsx","../../src/blur-image.tsx","../../../utils/src/classMerge.ts"],"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","blur_image_stories_exports","Default","RoundedImage","SmallImage","default","blur_image_stories_default","module","exports","import_react","require","import_image","import_clsx","import_tailwind_merge","cn","inputs","twMerge","clsx","import_jsx_runtime","BlurImage","props","useState","isLoading","setLoading","jsx","Image","alt","className","onLoad","meta","title","component","tags","parameters","layout","argTypes","src","control","width","height","args"],"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/stories/blur-image.stories.tsx\nvar blur_image_stories_exports = {};\n__export(blur_image_stories_exports, {\n Default: () => Default,\n RoundedImage: () => RoundedImage,\n SmallImage: () => SmallImage,\n default: () => blur_image_stories_default\n});\nmodule.exports = __toCommonJS(blur_image_stories_exports);\n\n// src/blur-image.tsx\nvar import_react = require(\"react\");\nvar import_image = __toESM(require(\"next/image\"), 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_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/stories/blur-image.stories.tsx\nvar meta = {\n title: \"Components/BlurImage\",\n component: BlurImage,\n tags: [\"autodocs\"],\n parameters: {\n layout: \"centered\"\n },\n argTypes: {\n src: { control: \"text\" },\n alt: { control: \"text\" },\n width: { control: \"number\" },\n height: { control: \"number\" },\n className: { control: \"text\" }\n }\n};\nvar blur_image_stories_default = meta;\nvar Default = {\n args: {\n src: \"https://images.pexels.com/photos/31712301/pexels-photo-31712301/free-photo-of-scenic-cycling-tour-in-andernach-fields.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1\",\n alt: \"Sample image with blur effect\",\n width: 400,\n height: 300,\n className: \"rounded-lg\"\n }\n};\nvar SmallImage = {\n args: {\n src: \"https://images.pexels.com/photos/31712301/pexels-photo-31712301/free-photo-of-scenic-cycling-tour-in-andernach-fields.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1\",\n alt: \"Small sample image with blur effect\",\n width: 200,\n height: 150,\n className: \"rounded-lg\"\n }\n};\nvar RoundedImage = {\n args: {\n src: \"https://images.pexels.com/photos/31712301/pexels-photo-31712301/free-photo-of-scenic-cycling-tour-in-andernach-fields.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1\",\n alt: \"Rounded sample image with blur effect\",\n width: 300,\n height: 300,\n className: \"rounded-full\"\n }\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n Default,\n RoundedImage,\n SmallImage\n});\n","import type { Meta, StoryObj } from '@storybook/react';\nimport { BlurImage } from '../blur-image';\n\nconst meta = {\n title: 'Components/BlurImage',\n component: BlurImage,\n tags: ['autodocs'],\n parameters: {\n layout: 'centered',\n },\n argTypes: {\n src: { control: 'text' },\n alt: { control: 'text' },\n width: { control: 'number' },\n height: { control: 'number' },\n className: { control: 'text' },\n },\n} satisfies Meta<typeof BlurImage>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const Default: Story = {\n args: {\n src: 'https://images.pexels.com/photos/31712301/pexels-photo-31712301/free-photo-of-scenic-cycling-tour-in-andernach-fields.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1',\n alt: 'Sample image with blur effect',\n width: 400,\n height: 300,\n className: 'rounded-lg',\n },\n};\n\nexport const SmallImage: Story = {\n args: {\n src: 'https://images.pexels.com/photos/31712301/pexels-photo-31712301/free-photo-of-scenic-cycling-tour-in-andernach-fields.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1',\n alt: 'Small sample image with blur effect',\n width: 200,\n height: 150,\n className: 'rounded-lg',\n },\n};\n\nexport const RoundedImage: Story = {\n args: {\n src: 'https://images.pexels.com/photos/31712301/pexels-photo-31712301/free-photo-of-scenic-cycling-tour-in-andernach-fields.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1',\n alt: 'Rounded sample image with blur effect',\n width: 300,\n height: 300,\n className: 'rounded-full',\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","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"]}
@@ -0,0 +1,37 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import * as Image from 'next/image';
4
+ import { StoryObj } from '@storybook/react';
5
+
6
+ declare const meta: {
7
+ title: string;
8
+ component: (props: react.ComponentProps<typeof Image.default>) => react_jsx_runtime.JSX.Element;
9
+ tags: string[];
10
+ parameters: {
11
+ layout: string;
12
+ };
13
+ argTypes: {
14
+ src: {
15
+ control: "text";
16
+ };
17
+ alt: {
18
+ control: "text";
19
+ };
20
+ width: {
21
+ control: "number";
22
+ };
23
+ height: {
24
+ control: "number";
25
+ };
26
+ className: {
27
+ control: "text";
28
+ };
29
+ };
30
+ };
31
+
32
+ type Story = StoryObj<typeof meta>;
33
+ declare const Default: Story;
34
+ declare const SmallImage: Story;
35
+ declare const RoundedImage: Story;
36
+
37
+ export { Default, RoundedImage, SmallImage, meta as default };
@@ -0,0 +1,37 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import * as Image from 'next/image';
4
+ import { StoryObj } from '@storybook/react';
5
+
6
+ declare const meta: {
7
+ title: string;
8
+ component: (props: react.ComponentProps<typeof Image.default>) => react_jsx_runtime.JSX.Element;
9
+ tags: string[];
10
+ parameters: {
11
+ layout: string;
12
+ };
13
+ argTypes: {
14
+ src: {
15
+ control: "text";
16
+ };
17
+ alt: {
18
+ control: "text";
19
+ };
20
+ width: {
21
+ control: "number";
22
+ };
23
+ height: {
24
+ control: "number";
25
+ };
26
+ className: {
27
+ control: "text";
28
+ };
29
+ };
30
+ };
31
+
32
+ type Story = StoryObj<typeof meta>;
33
+ declare const Default: Story;
34
+ declare const SmallImage: Story;
35
+ declare const RoundedImage: Story;
36
+
37
+ export { Default, RoundedImage, SmallImage, meta as default };
@@ -0,0 +1,180 @@
1
+ // src/blur-image.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 { useState } from "react";
101
+ import Image from "next/image";
102
+ // ../utils/src/classMerge.ts
103
+ import { clsx } from "clsx";
104
+ import { twMerge } from "tailwind-merge";
105
+ function cn() {
106
+ for(var _len = arguments.length, inputs = new Array(_len), _key = 0; _key < _len; _key++){
107
+ inputs[_key] = arguments[_key];
108
+ }
109
+ return twMerge(clsx(inputs));
110
+ }
111
+ // src/blur-image.tsx
112
+ import { jsx } from "react/jsx-runtime";
113
+ var BlurImage = function(props) {
114
+ var _useState = _sliced_to_array(useState(true), 2), isLoading = _useState[0], setLoading = _useState[1];
115
+ return /* @__PURE__ */ jsx(Image, _object_spread_props(_object_spread({}, props), {
116
+ alt: props.alt,
117
+ className: cn(props.className, "duration-500 ease-in-out", isLoading ? "blur-sm" : "blur-0"),
118
+ onLoad: function() {
119
+ return setLoading(false);
120
+ }
121
+ }));
122
+ };
123
+ // src/stories/blur-image.stories.tsx
124
+ var meta = {
125
+ title: "Components/BlurImage",
126
+ component: BlurImage,
127
+ tags: [
128
+ "autodocs"
129
+ ],
130
+ parameters: {
131
+ layout: "centered"
132
+ },
133
+ argTypes: {
134
+ src: {
135
+ control: "text"
136
+ },
137
+ alt: {
138
+ control: "text"
139
+ },
140
+ width: {
141
+ control: "number"
142
+ },
143
+ height: {
144
+ control: "number"
145
+ },
146
+ className: {
147
+ control: "text"
148
+ }
149
+ }
150
+ };
151
+ var blur_image_stories_default = meta;
152
+ var Default = {
153
+ args: {
154
+ src: "https://images.pexels.com/photos/31712301/pexels-photo-31712301/free-photo-of-scenic-cycling-tour-in-andernach-fields.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1",
155
+ alt: "Sample image with blur effect",
156
+ width: 400,
157
+ height: 300,
158
+ className: "rounded-lg"
159
+ }
160
+ };
161
+ var SmallImage = {
162
+ args: {
163
+ src: "https://images.pexels.com/photos/31712301/pexels-photo-31712301/free-photo-of-scenic-cycling-tour-in-andernach-fields.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1",
164
+ alt: "Small sample image with blur effect",
165
+ width: 200,
166
+ height: 150,
167
+ className: "rounded-lg"
168
+ }
169
+ };
170
+ var RoundedImage = {
171
+ args: {
172
+ src: "https://images.pexels.com/photos/31712301/pexels-photo-31712301/free-photo-of-scenic-cycling-tour-in-andernach-fields.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1",
173
+ alt: "Rounded sample image with blur effect",
174
+ width: 300,
175
+ height: 300,
176
+ className: "rounded-full"
177
+ }
178
+ };
179
+ export { Default, RoundedImage, SmallImage, blur_image_stories_default as default };
180
+ //# sourceMappingURL=blur-image.stories.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/periotto/Desktop/workspace/c-rex.net-web-client-foundation/packages/components/dist/stories/blur-image.stories.esm.js","../../src/blur-image.tsx","../../../utils/src/classMerge.ts","../../src/stories/blur-image.stories.tsx"],"names":["useState","Image","clsx","twMerge","cn","inputs","jsx","BlurImage","props","isLoading","setLoading","alt","className","onLoad","meta","title","component","tags","parameters","layout","argTypes","src","control","width","height","blur_image_stories_default","Default","args","SmallImage","RoundedImage","default"],"mappings":"AAAA,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACErB,SAASA,QAAA,QAAgB,QAAA;AAEzB,OAAOC,WAAW,aAAA;ADAlB,6BAA6B;AEJ7B,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;AFMA,qBAAqB;ACAb,SAAAC,GAAA,QAAA,oBAAA;AAJD,IAAMC,YAAY,SAACC;IACtB,IAAgCR,6BAAAA,SAAS,WAAlCS,YAAyBT,cAAdU,aAAcV;IAEhC,OACI,aAAA,GAAAM,IAACL,OAAA,wCACOO;QACJG,KAAKH,MAAMG,GAAA;QACXC,WAAWR,GACPI,MAAMI,SAAA,EACN,4BACAH,YAAY,YAAY;QAE5BI,QAAQ;mBAAMH,WAAW;;;AAGrC;ADQA,qCAAqC;AG3BrC,IAAMI,OAAO;IACTC,OAAO;IACPC,WAAWT;IACXU,MAAM;QAAC;KAAU;IACjBC,YAAY;QACRC,QAAQ;IACZ;IACAC,UAAU;QACNC,KAAK;YAAEC,SAAS;QAAO;QACvBX,KAAK;YAAEW,SAAS;QAAO;QACvBC,OAAO;YAAED,SAAS;QAAS;QAC3BE,QAAQ;YAAEF,SAAS;QAAS;QAC5BV,WAAW;YAAEU,SAAS;QAAO;IACjC;AACJ;AAEA,IAAOG,6BAAQX;AAGR,IAAMY,UAAiB;IAC1BC,MAAM;QACFN,KAAK;QACLV,KAAK;QACLY,OAAO;QACPC,QAAQ;QACRZ,WAAW;IACf;AACJ;AAEO,IAAMgB,aAAoB;IAC7BD,MAAM;QACFN,KAAK;QACLV,KAAK;QACLY,OAAO;QACPC,QAAQ;QACRZ,WAAW;IACf;AACJ;AAEO,IAAMiB,eAAsB;IAC/BF,MAAM;QACFN,KAAK;QACLV,KAAK;QACLY,OAAO;QACPC,QAAQ;QACRZ,WAAW;IACf;AACJ;AHwBA,SACEc,OAAO,EACPG,YAAY,EACZD,UAAU,EACVH,8BAA8BK,OAAO,GACrC","sourcesContent":["// src/blur-image.tsx\nimport { useState } from \"react\";\nimport Image from \"next/image\";\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 { 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/stories/blur-image.stories.tsx\nvar meta = {\n title: \"Components/BlurImage\",\n component: BlurImage,\n tags: [\"autodocs\"],\n parameters: {\n layout: \"centered\"\n },\n argTypes: {\n src: { control: \"text\" },\n alt: { control: \"text\" },\n width: { control: \"number\" },\n height: { control: \"number\" },\n className: { control: \"text\" }\n }\n};\nvar blur_image_stories_default = meta;\nvar Default = {\n args: {\n src: \"https://images.pexels.com/photos/31712301/pexels-photo-31712301/free-photo-of-scenic-cycling-tour-in-andernach-fields.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1\",\n alt: \"Sample image with blur effect\",\n width: 400,\n height: 300,\n className: \"rounded-lg\"\n }\n};\nvar SmallImage = {\n args: {\n src: \"https://images.pexels.com/photos/31712301/pexels-photo-31712301/free-photo-of-scenic-cycling-tour-in-andernach-fields.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1\",\n alt: \"Small sample image with blur effect\",\n width: 200,\n height: 150,\n className: \"rounded-lg\"\n }\n};\nvar RoundedImage = {\n args: {\n src: \"https://images.pexels.com/photos/31712301/pexels-photo-31712301/free-photo-of-scenic-cycling-tour-in-andernach-fields.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1\",\n alt: \"Rounded sample image with blur effect\",\n width: 300,\n height: 300,\n className: \"rounded-full\"\n }\n};\nexport {\n Default,\n RoundedImage,\n SmallImage,\n blur_image_stories_default as default\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","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import type { Meta, StoryObj } from '@storybook/react';\nimport { BlurImage } from '../blur-image';\n\nconst meta = {\n title: 'Components/BlurImage',\n component: BlurImage,\n tags: ['autodocs'],\n parameters: {\n layout: 'centered',\n },\n argTypes: {\n src: { control: 'text' },\n alt: { control: 'text' },\n width: { control: 'number' },\n height: { control: 'number' },\n className: { control: 'text' },\n },\n} satisfies Meta<typeof BlurImage>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const Default: Story = {\n args: {\n src: 'https://images.pexels.com/photos/31712301/pexels-photo-31712301/free-photo-of-scenic-cycling-tour-in-andernach-fields.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1',\n alt: 'Sample image with blur effect',\n width: 400,\n height: 300,\n className: 'rounded-lg',\n },\n};\n\nexport const SmallImage: Story = {\n args: {\n src: 'https://images.pexels.com/photos/31712301/pexels-photo-31712301/free-photo-of-scenic-cycling-tour-in-andernach-fields.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1',\n alt: 'Small sample image with blur effect',\n width: 200,\n height: 150,\n className: 'rounded-lg',\n },\n};\n\nexport const RoundedImage: Story = {\n args: {\n src: 'https://images.pexels.com/photos/31712301/pexels-photo-31712301/free-photo-of-scenic-cycling-tour-in-andernach-fields.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1',\n alt: 'Rounded sample image with blur effect',\n width: 300,\n height: 300,\n className: 'rounded-full',\n },\n};"]}