@c-rex/components 0.0.6 → 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/{components/src/blog-card.d.ts → blog-card.d.cts} +5 -3
- package/dist/{src/blog-card.d.ts → blog-card.d.ts} +5 -3
- 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/{components/src/providers/search-state-wrapper.d.ts → providers/search-state-wrapper.d.cts} +5 -4
- package/dist/{src/providers → providers}/search-state-wrapper.d.ts +5 -4
- 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/{components/src/stories → stories}/blur-image.stories.d.ts +12 -7
- 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 +30 -18
- package/dist/components/src/autocomplete.d.ts +0 -8
- package/dist/components/src/autocomplete.d.ts.map +0 -1
- package/dist/components/src/autocomplete.js +0 -36
- package/dist/components/src/blog-card.d.ts.map +0 -1
- package/dist/components/src/blog-card.js +0 -16
- package/dist/components/src/blur-image.d.ts +0 -4
- package/dist/components/src/blur-image.d.ts.map +0 -1
- package/dist/components/src/blur-image.js +0 -16
- package/dist/components/src/breadcrumb.d.ts +0 -9
- package/dist/components/src/breadcrumb.d.ts.map +0 -1
- package/dist/components/src/breadcrumb.js +0 -33
- package/dist/components/src/empty.d.ts +0 -3
- package/dist/components/src/empty.d.ts.map +0 -1
- package/dist/components/src/empty.js +0 -9
- package/dist/components/src/navbar.d.ts +0 -8
- package/dist/components/src/navbar.d.ts.map +0 -1
- package/dist/components/src/navbar.js +0 -14
- package/dist/components/src/providers/search-state-wrapper.d.ts.map +0 -1
- package/dist/components/src/providers/search-state-wrapper.js +0 -10
- package/dist/components/src/result-list.d.ts +0 -8
- package/dist/components/src/result-list.d.ts.map +0 -1
- package/dist/components/src/result-list.js +0 -16
- package/dist/components/src/result-view/blog-view.stories.d.ts +0 -7
- package/dist/components/src/result-view/blog-view.stories.d.ts.map +0 -1
- package/dist/components/src/result-view/blog-view.stories.js +0 -58
- package/dist/components/src/result-view/blog.d.ts +0 -8
- package/dist/components/src/result-view/blog.d.ts.map +0 -1
- package/dist/components/src/result-view/blog.js +0 -22
- package/dist/components/src/result-view/table-view.stories.d.ts +0 -7
- package/dist/components/src/result-view/table-view.stories.d.ts.map +0 -1
- package/dist/components/src/result-view/table-view.stories.js +0 -55
- package/dist/components/src/result-view/table.d.ts +0 -8
- package/dist/components/src/result-view/table.d.ts.map +0 -1
- package/dist/components/src/result-view/table.js +0 -26
- package/dist/components/src/sidebar.d.ts +0 -10
- package/dist/components/src/sidebar.d.ts.map +0 -1
- package/dist/components/src/sidebar.js +0 -10
- package/dist/components/src/stories/blog-card.stories.d.ts +0 -7
- package/dist/components/src/stories/blog-card.stories.d.ts.map +0 -1
- package/dist/components/src/stories/blog-card.stories.js +0 -42
- package/dist/components/src/stories/blur-image.stories.d.ts.map +0 -1
- package/dist/components/src/stories/blur-image.stories.js +0 -47
- package/dist/components/src/stories/breadcrumb.stories.d.ts +0 -7
- package/dist/components/src/stories/breadcrumb.stories.d.ts.map +0 -1
- package/dist/components/src/stories/breadcrumb.stories.js +0 -48
- package/dist/components/src/stories/empty.stories.d.ts +0 -10
- package/dist/components/src/stories/empty.stories.d.ts.map +0 -1
- package/dist/components/src/stories/empty.stories.js +0 -11
- package/dist/components/src/stories/navbar.stories.d.ts +0 -6
- package/dist/components/src/stories/navbar.stories.d.ts.map +0 -1
- package/dist/components/src/stories/navbar.stories.js +0 -14
- package/dist/components/src/stories/sidebar.stories.d.ts +0 -24
- package/dist/components/src/stories/sidebar.stories.d.ts.map +0 -1
- package/dist/components/src/stories/sidebar.stories.js +0 -80
- package/dist/components/tailwind.config.d.ts +0 -2
- package/dist/components/tailwind.config.d.ts.map +0 -1
- package/dist/components/tailwind.config.js +0 -15
- package/dist/config/src/index.d.ts +0 -4
- package/dist/config/src/index.d.ts.map +0 -1
- package/dist/config/src/index.js +0 -67
- package/dist/constants/src/index.d.ts +0 -17
- package/dist/constants/src/index.d.ts.map +0 -1
- package/dist/constants/src/index.js +0 -30
- package/dist/contexts/src/index.d.ts +0 -15
- package/dist/contexts/src/index.d.ts.map +0 -1
- package/dist/contexts/src/index.js +0 -18
- package/dist/interfaces/src/common.d.ts +0 -36
- package/dist/interfaces/src/common.d.ts.map +0 -1
- package/dist/interfaces/src/common.js +0 -2
- package/dist/interfaces/src/config.d.ts +0 -26
- package/dist/interfaces/src/config.d.ts.map +0 -1
- package/dist/interfaces/src/config.js +0 -2
- package/dist/interfaces/src/directoryNodes.d.ts +0 -8
- package/dist/interfaces/src/directoryNodes.d.ts.map +0 -1
- package/dist/interfaces/src/directoryNodes.js +0 -2
- package/dist/interfaces/src/documentTypes.d.ts +0 -7
- package/dist/interfaces/src/documentTypes.d.ts.map +0 -1
- package/dist/interfaces/src/documentTypes.js +0 -2
- package/dist/interfaces/src/index.d.ts +0 -7
- package/dist/interfaces/src/index.d.ts.map +0 -1
- package/dist/interfaces/src/index.js +0 -22
- package/dist/interfaces/src/informationUnits.d.ts +0 -53
- package/dist/interfaces/src/informationUnits.d.ts.map +0 -1
- package/dist/interfaces/src/informationUnits.js +0 -2
- package/dist/interfaces/src/treeOfContent.d.ts +0 -8
- package/dist/interfaces/src/treeOfContent.d.ts.map +0 -1
- package/dist/interfaces/src/treeOfContent.js +0 -2
- package/dist/src/autocomplete.d.ts +0 -8
- package/dist/src/autocomplete.d.ts.map +0 -1
- package/dist/src/blog-card.d.ts.map +0 -1
- package/dist/src/blur-image.d.ts +0 -4
- package/dist/src/blur-image.d.ts.map +0 -1
- package/dist/src/breadcrumb.d.ts +0 -9
- package/dist/src/breadcrumb.d.ts.map +0 -1
- package/dist/src/empty.d.ts +0 -3
- package/dist/src/empty.d.ts.map +0 -1
- package/dist/src/navbar.d.ts +0 -8
- package/dist/src/navbar.d.ts.map +0 -1
- package/dist/src/providers/search-state-wrapper.d.ts.map +0 -1
- package/dist/src/result-list.d.ts +0 -8
- package/dist/src/result-list.d.ts.map +0 -1
- package/dist/src/result-view/blog.d.ts +0 -8
- package/dist/src/result-view/blog.d.ts.map +0 -1
- package/dist/src/result-view/table.d.ts +0 -8
- package/dist/src/result-view/table.d.ts.map +0 -1
- package/dist/src/sidebar.d.ts +0 -10
- package/dist/src/sidebar.d.ts.map +0 -1
- package/dist/tailwind.config.d.ts +0 -2
- package/dist/tailwind.config.d.ts.map +0 -1
- package/dist/types/src/index.d.ts +0 -8
- package/dist/types/src/index.d.ts.map +0 -1
- package/dist/types/src/index.js +0 -2
- package/dist/utils/src/breadcrumbs.d.ts +0 -3
- package/dist/utils/src/breadcrumbs.d.ts.map +0 -1
- package/dist/utils/src/breadcrumbs.js +0 -14
- package/dist/utils/src/classMerge.d.ts +0 -3
- package/dist/utils/src/classMerge.d.ts.map +0 -1
- package/dist/utils/src/classMerge.js +0 -8
- package/dist/utils/src/index.d.ts +0 -5
- package/dist/utils/src/index.d.ts.map +0 -1
- package/dist/utils/src/index.js +0 -20
- package/dist/utils/src/treeOfContent.d.ts +0 -2
- package/dist/utils/src/treeOfContent.d.ts.map +0 -1
- package/dist/utils/src/treeOfContent.js +0 -85
- package/dist/utils/src/utils.d.ts +0 -8
- package/dist/utils/src/utils.d.ts.map +0 -1
- package/dist/utils/src/utils.js +0 -37
- 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,215 @@
|
|
|
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 _instanceof(left, right) {
|
|
11
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
12
|
+
return !!right[Symbol.hasInstance](left);
|
|
13
|
+
} else {
|
|
14
|
+
return left instanceof right;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function _iterable_to_array_limit(arr, i) {
|
|
18
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
19
|
+
if (_i == null) return;
|
|
20
|
+
var _arr = [];
|
|
21
|
+
var _n = true;
|
|
22
|
+
var _d = false;
|
|
23
|
+
var _s, _e;
|
|
24
|
+
try {
|
|
25
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
26
|
+
_arr.push(_s.value);
|
|
27
|
+
if (i && _arr.length === i) break;
|
|
28
|
+
}
|
|
29
|
+
} catch (err) {
|
|
30
|
+
_d = true;
|
|
31
|
+
_e = err;
|
|
32
|
+
} finally{
|
|
33
|
+
try {
|
|
34
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
35
|
+
} finally{
|
|
36
|
+
if (_d) throw _e;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return _arr;
|
|
40
|
+
}
|
|
41
|
+
function _non_iterable_rest() {
|
|
42
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
43
|
+
}
|
|
44
|
+
function _sliced_to_array(arr, i) {
|
|
45
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
46
|
+
}
|
|
47
|
+
function _type_of(obj) {
|
|
48
|
+
"@swc/helpers - typeof";
|
|
49
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
50
|
+
}
|
|
51
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
52
|
+
if (!o) return;
|
|
53
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
54
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
55
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
56
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
57
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
58
|
+
}
|
|
59
|
+
var __defProp = Object.defineProperty;
|
|
60
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
61
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
62
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
63
|
+
var __export = function(target, all) {
|
|
64
|
+
for(var name in all)__defProp(target, name, {
|
|
65
|
+
get: all[name],
|
|
66
|
+
enumerable: true
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
var __copyProps = function(to, from, except, desc) {
|
|
70
|
+
if (from && (typeof from === "undefined" ? "undefined" : _type_of(from)) === "object" || typeof from === "function") {
|
|
71
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
72
|
+
try {
|
|
73
|
+
var _loop = function() {
|
|
74
|
+
var key = _step.value;
|
|
75
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
76
|
+
get: function() {
|
|
77
|
+
return from[key];
|
|
78
|
+
},
|
|
79
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
for(var _iterator = __getOwnPropNames(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();
|
|
83
|
+
} catch (err) {
|
|
84
|
+
_didIteratorError = true;
|
|
85
|
+
_iteratorError = err;
|
|
86
|
+
} finally{
|
|
87
|
+
try {
|
|
88
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
89
|
+
_iterator.return();
|
|
90
|
+
}
|
|
91
|
+
} finally{
|
|
92
|
+
if (_didIteratorError) {
|
|
93
|
+
throw _iteratorError;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return to;
|
|
99
|
+
};
|
|
100
|
+
var __toCommonJS = function(mod) {
|
|
101
|
+
return __copyProps(__defProp({}, "__esModule", {
|
|
102
|
+
value: true
|
|
103
|
+
}), mod);
|
|
104
|
+
};
|
|
105
|
+
// src/autocomplete.tsx
|
|
106
|
+
var autocomplete_exports = {};
|
|
107
|
+
__export(autocomplete_exports, {
|
|
108
|
+
AutoComplete: function() {
|
|
109
|
+
return AutoComplete;
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
module.exports = __toCommonJS(autocomplete_exports);
|
|
113
|
+
var import_cmdk = require("cmdk");
|
|
114
|
+
var import_lucide_react = require("lucide-react");
|
|
115
|
+
var import_react = require("react");
|
|
116
|
+
var import_input = require("@c-rex/ui/input");
|
|
117
|
+
var import_command = require("@c-rex/ui/command");
|
|
118
|
+
var import_popover = require("@c-rex/ui/popover");
|
|
119
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
120
|
+
var AutoComplete = function(param) {
|
|
121
|
+
var initialValue = param.initialValue, onSearch = param.onSearch, onSelect = param.onSelect;
|
|
122
|
+
var _ref = _sliced_to_array((0, import_react.useState)(initialValue), 2), query = _ref[0], setQuery = _ref[1];
|
|
123
|
+
var _ref1 = _sliced_to_array((0, import_react.useState)([]), 2), suggestions = _ref1[0], setSuggestions = _ref1[1];
|
|
124
|
+
var _ref2 = _sliced_to_array((0, import_react.useState)(false), 2), open = _ref2[0], setOpen = _ref2[1];
|
|
125
|
+
(0, import_react.useEffect)(function() {
|
|
126
|
+
var debounceFetch = setTimeout(function() {
|
|
127
|
+
if (query) {
|
|
128
|
+
onSearch(query).then(setSuggestions);
|
|
129
|
+
} else {
|
|
130
|
+
setSuggestions([]);
|
|
131
|
+
}
|
|
132
|
+
}, 300);
|
|
133
|
+
return function() {
|
|
134
|
+
return clearTimeout(debounceFetch);
|
|
135
|
+
};
|
|
136
|
+
}, [
|
|
137
|
+
onSearch,
|
|
138
|
+
query
|
|
139
|
+
]);
|
|
140
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
141
|
+
className: "flex items-center",
|
|
142
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_popover.Popover, {
|
|
143
|
+
open: open,
|
|
144
|
+
onOpenChange: setOpen,
|
|
145
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_command.Command, {
|
|
146
|
+
shouldFilter: false,
|
|
147
|
+
children: [
|
|
148
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_popover.PopoverAnchor, {
|
|
149
|
+
asChild: true,
|
|
150
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_cmdk.Command.Input, {
|
|
151
|
+
asChild: true,
|
|
152
|
+
value: query,
|
|
153
|
+
onValueChange: setQuery,
|
|
154
|
+
onKeyDown: function(e) {
|
|
155
|
+
return setOpen(e.key !== "Escape");
|
|
156
|
+
},
|
|
157
|
+
onMouseDown: function() {
|
|
158
|
+
return setOpen(false);
|
|
159
|
+
},
|
|
160
|
+
onFocus: function() {
|
|
161
|
+
return setOpen(true);
|
|
162
|
+
},
|
|
163
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_input.Input, {})
|
|
164
|
+
})
|
|
165
|
+
}),
|
|
166
|
+
!open && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_command.CommandList, {
|
|
167
|
+
"aria-hidden": "true",
|
|
168
|
+
className: "hidden"
|
|
169
|
+
}),
|
|
170
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_popover.PopoverContent, {
|
|
171
|
+
asChild: true,
|
|
172
|
+
onOpenAutoFocus: function(e) {
|
|
173
|
+
return e.preventDefault();
|
|
174
|
+
},
|
|
175
|
+
onInteractOutside: function(e) {
|
|
176
|
+
if (_instanceof(e.target, Element) && e.target.hasAttribute("cmdk-input")) {
|
|
177
|
+
e.preventDefault();
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
className: "w-[--radix-popover-trigger-width] p-0",
|
|
181
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_command.CommandList, {
|
|
182
|
+
children: suggestions.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_command.CommandGroup, {
|
|
183
|
+
children: suggestions.map(function(option) {
|
|
184
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_command.CommandItem, {
|
|
185
|
+
value: option,
|
|
186
|
+
onMouseDown: function(e) {
|
|
187
|
+
return e.preventDefault();
|
|
188
|
+
},
|
|
189
|
+
onSelect: function(inputValue) {
|
|
190
|
+
setOpen(false);
|
|
191
|
+
onSelect(inputValue !== null && inputValue !== void 0 ? inputValue : "");
|
|
192
|
+
},
|
|
193
|
+
children: [
|
|
194
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Check, {
|
|
195
|
+
className: "mr-2 h-4 w-4 opacity-0"
|
|
196
|
+
}),
|
|
197
|
+
option
|
|
198
|
+
]
|
|
199
|
+
}, option);
|
|
200
|
+
})
|
|
201
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_command.CommandEmpty, {
|
|
202
|
+
children: "No suggestions."
|
|
203
|
+
})
|
|
204
|
+
})
|
|
205
|
+
})
|
|
206
|
+
]
|
|
207
|
+
})
|
|
208
|
+
})
|
|
209
|
+
});
|
|
210
|
+
};
|
|
211
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
212
|
+
0 && (module.exports = {
|
|
213
|
+
AutoComplete: AutoComplete
|
|
214
|
+
});
|
|
215
|
+
//# sourceMappingURL=autocomplete.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/periotto/Desktop/workspace/c-rex.net-web-client-foundation/packages/components/dist/autocomplete.cjs.js","../src/autocomplete.tsx"],"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","autocomplete_exports","AutoComplete","module","exports","import_cmdk","require","import_lucide_react","import_react","import_input","import_command","import_popover","import_jsx_runtime","initialValue","onSearch","onSelect","useState","query","setQuery","suggestions","setSuggestions","open","setOpen","useEffect","debounceFetch","setTimeout","then","clearTimeout","jsx","className","children","Popover","onOpenChange","jsxs","Command","shouldFilter","PopoverAnchor","asChild","CommandPrimitive","Input","onValueChange","onKeyDown","e","onMouseDown","onFocus","CommandList","PopoverContent","onOpenAutoFocus","preventDefault","onInteractOutside","Element","hasAttribute","length","CommandGroup","map","option","CommandItem","inputValue","Check","CommandEmpty"],"mappings":"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","sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\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 __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/autocomplete.tsx\nvar autocomplete_exports = {};\n__export(autocomplete_exports, {\n AutoComplete: () => AutoComplete\n});\nmodule.exports = __toCommonJS(autocomplete_exports);\nvar import_cmdk = require(\"cmdk\");\nvar import_lucide_react = require(\"lucide-react\");\nvar import_react = require(\"react\");\nvar import_input = require(\"@c-rex/ui/input\");\nvar import_command = require(\"@c-rex/ui/command\");\nvar import_popover = require(\"@c-rex/ui/popover\");\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar AutoComplete = ({\n initialValue,\n onSearch,\n onSelect\n}) => {\n const [query, setQuery] = (0, import_react.useState)(initialValue);\n const [suggestions, setSuggestions] = (0, import_react.useState)([]);\n const [open, setOpen] = (0, import_react.useState)(false);\n (0, import_react.useEffect)(() => {\n const debounceFetch = setTimeout(() => {\n if (query) {\n onSearch(query).then(setSuggestions);\n } else {\n setSuggestions([]);\n }\n }, 300);\n return () => clearTimeout(debounceFetch);\n }, [onSearch, query]);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"div\", { className: \"flex items-center\", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_popover.Popover, { open, onOpenChange: setOpen, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_command.Command, { shouldFilter: false, children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_popover.PopoverAnchor, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\n import_cmdk.Command.Input,\n {\n asChild: true,\n value: query,\n onValueChange: setQuery,\n onKeyDown: (e) => setOpen(e.key !== \"Escape\"),\n onMouseDown: () => setOpen(false),\n onFocus: () => setOpen(true),\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_input.Input, {})\n }\n ) }),\n !open && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_command.CommandList, { \"aria-hidden\": \"true\", className: \"hidden\" }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\n import_popover.PopoverContent,\n {\n asChild: true,\n onOpenAutoFocus: (e) => e.preventDefault(),\n onInteractOutside: (e) => {\n if (e.target instanceof Element && e.target.hasAttribute(\"cmdk-input\")) {\n e.preventDefault();\n }\n },\n className: \"w-[--radix-popover-trigger-width] p-0\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_command.CommandList, { children: suggestions.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_command.CommandGroup, { children: suggestions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(\n import_command.CommandItem,\n {\n value: option,\n onMouseDown: (e) => e.preventDefault(),\n onSelect: (inputValue) => {\n setOpen(false);\n onSelect(inputValue ?? \"\");\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Check, { className: \"mr-2 h-4 w-4 opacity-0\" }),\n option\n ]\n },\n option\n )) }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_command.CommandEmpty, { children: \"No suggestions.\" }) })\n }\n )\n ] }) }) });\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n AutoComplete\n});\n","import { Command as CommandPrimitive } from \"cmdk\";\nimport { Check } from \"lucide-react\";\nimport { useEffect, useState } from \"react\";\nimport { Input } from \"@c-rex/ui/input\";\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandList\n} from \"@c-rex/ui/command\";\nimport {\n Popover,\n PopoverAnchor,\n PopoverContent\n} from \"@c-rex/ui/popover\";\n\ntype Props = {\n initialValue: string;\n onSelect: (value: string) => void;\n onSearch: (value: string) => Promise<string[]>;\n};\n\nexport const AutoComplete = ({\n initialValue,\n onSearch,\n onSelect,\n}: Props) => {\n const [query, setQuery] = useState(initialValue);\n const [suggestions, setSuggestions] = useState<string[]>([]);\n\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n const debounceFetch = setTimeout(() => {\n if (query) {\n onSearch(query).then(setSuggestions);\n } else {\n setSuggestions([]);\n }\n }, 300);\n\n return () => clearTimeout(debounceFetch);\n }, [onSearch, query]);\n\n return (\n <div className=\"flex items-center\">\n <Popover open={open} onOpenChange={setOpen}>\n <Command shouldFilter={false}>\n <PopoverAnchor asChild>\n <CommandPrimitive.Input\n asChild\n value={query}\n onValueChange={setQuery}\n onKeyDown={(e) => setOpen(e.key !== \"Escape\")}\n onMouseDown={() => setOpen(false)}\n onFocus={() => setOpen(true)}\n >\n <Input />\n </CommandPrimitive.Input>\n </PopoverAnchor>\n\n {!open && <CommandList aria-hidden=\"true\" className=\"hidden\" />}\n\n <PopoverContent\n asChild\n onOpenAutoFocus={(e) => e.preventDefault()}\n onInteractOutside={(e) => {\n if (\n e.target instanceof Element &&\n e.target.hasAttribute(\"cmdk-input\")\n ) {\n e.preventDefault();\n }\n }}\n className=\"w-[--radix-popover-trigger-width] p-0\"\n >\n <CommandList>\n {/*isLoading && (\n <CommandPrimitive.Loading>\n <div className=\"p-1\">\n <Skeleton className=\"h-6 w-full\" />\n </div>\n </CommandPrimitive.Loading>\n )*/}\n\n {suggestions.length > 0 ? (\n <CommandGroup>\n {suggestions.map((option) => (\n <CommandItem\n key={option}\n value={option}\n onMouseDown={(e) => e.preventDefault()}\n onSelect={(inputValue) => {\n setOpen(false);\n onSelect(inputValue ?? \"\");\n }}\n >\n <Check className=\"mr-2 h-4 w-4 opacity-0\" />\n {option}\n </CommandItem>\n ))}\n </CommandGroup>\n ) : (\n <CommandEmpty>No suggestions.</CommandEmpty>\n )}\n </CommandList>\n </PopoverContent>\n </Command>\n </Popover>\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
type Props = {
|
|
4
|
+
initialValue: string;
|
|
5
|
+
onSelect: (value: string) => void;
|
|
6
|
+
onSearch: (value: string) => Promise<string[]>;
|
|
7
|
+
};
|
|
8
|
+
declare const AutoComplete: ({ initialValue, onSearch, onSelect, }: Props) => react_jsx_runtime.JSX.Element;
|
|
9
|
+
|
|
10
|
+
export { AutoComplete };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
type Props = {
|
|
4
|
+
initialValue: string;
|
|
5
|
+
onSelect: (value: string) => void;
|
|
6
|
+
onSearch: (value: string) => Promise<string[]>;
|
|
7
|
+
};
|
|
8
|
+
declare const AutoComplete: ({ initialValue, onSearch, onSelect, }: Props) => react_jsx_runtime.JSX.Element;
|
|
9
|
+
|
|
10
|
+
export { AutoComplete };
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
// src/autocomplete.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 _instanceof(left, right) {
|
|
11
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
12
|
+
return !!right[Symbol.hasInstance](left);
|
|
13
|
+
} else {
|
|
14
|
+
return left instanceof right;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function _iterable_to_array_limit(arr, i) {
|
|
18
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
19
|
+
if (_i == null) return;
|
|
20
|
+
var _arr = [];
|
|
21
|
+
var _n = true;
|
|
22
|
+
var _d = false;
|
|
23
|
+
var _s, _e;
|
|
24
|
+
try {
|
|
25
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
26
|
+
_arr.push(_s.value);
|
|
27
|
+
if (i && _arr.length === i) break;
|
|
28
|
+
}
|
|
29
|
+
} catch (err) {
|
|
30
|
+
_d = true;
|
|
31
|
+
_e = err;
|
|
32
|
+
} finally{
|
|
33
|
+
try {
|
|
34
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
35
|
+
} finally{
|
|
36
|
+
if (_d) throw _e;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return _arr;
|
|
40
|
+
}
|
|
41
|
+
function _non_iterable_rest() {
|
|
42
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
43
|
+
}
|
|
44
|
+
function _sliced_to_array(arr, i) {
|
|
45
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
46
|
+
}
|
|
47
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
48
|
+
if (!o) return;
|
|
49
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
50
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
51
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
52
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
53
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
54
|
+
}
|
|
55
|
+
import { Command as CommandPrimitive } from "cmdk";
|
|
56
|
+
import { Check } from "lucide-react";
|
|
57
|
+
import { useEffect, useState } from "react";
|
|
58
|
+
import { Input } from "@c-rex/ui/input";
|
|
59
|
+
import { Command, CommandEmpty, CommandGroup, CommandItem, CommandList } from "@c-rex/ui/command";
|
|
60
|
+
import { Popover, PopoverAnchor, PopoverContent } from "@c-rex/ui/popover";
|
|
61
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
62
|
+
var AutoComplete = function(param) {
|
|
63
|
+
var initialValue = param.initialValue, onSearch = param.onSearch, onSelect = param.onSelect;
|
|
64
|
+
var _useState = _sliced_to_array(useState(initialValue), 2), query = _useState[0], setQuery = _useState[1];
|
|
65
|
+
var _useState1 = _sliced_to_array(useState([]), 2), suggestions = _useState1[0], setSuggestions = _useState1[1];
|
|
66
|
+
var _useState2 = _sliced_to_array(useState(false), 2), open = _useState2[0], setOpen = _useState2[1];
|
|
67
|
+
useEffect(function() {
|
|
68
|
+
var debounceFetch = setTimeout(function() {
|
|
69
|
+
if (query) {
|
|
70
|
+
onSearch(query).then(setSuggestions);
|
|
71
|
+
} else {
|
|
72
|
+
setSuggestions([]);
|
|
73
|
+
}
|
|
74
|
+
}, 300);
|
|
75
|
+
return function() {
|
|
76
|
+
return clearTimeout(debounceFetch);
|
|
77
|
+
};
|
|
78
|
+
}, [
|
|
79
|
+
onSearch,
|
|
80
|
+
query
|
|
81
|
+
]);
|
|
82
|
+
return /* @__PURE__ */ jsx("div", {
|
|
83
|
+
className: "flex items-center",
|
|
84
|
+
children: /* @__PURE__ */ jsx(Popover, {
|
|
85
|
+
open: open,
|
|
86
|
+
onOpenChange: setOpen,
|
|
87
|
+
children: /* @__PURE__ */ jsxs(Command, {
|
|
88
|
+
shouldFilter: false,
|
|
89
|
+
children: [
|
|
90
|
+
/* @__PURE__ */ jsx(PopoverAnchor, {
|
|
91
|
+
asChild: true,
|
|
92
|
+
children: /* @__PURE__ */ jsx(CommandPrimitive.Input, {
|
|
93
|
+
asChild: true,
|
|
94
|
+
value: query,
|
|
95
|
+
onValueChange: setQuery,
|
|
96
|
+
onKeyDown: function(e) {
|
|
97
|
+
return setOpen(e.key !== "Escape");
|
|
98
|
+
},
|
|
99
|
+
onMouseDown: function() {
|
|
100
|
+
return setOpen(false);
|
|
101
|
+
},
|
|
102
|
+
onFocus: function() {
|
|
103
|
+
return setOpen(true);
|
|
104
|
+
},
|
|
105
|
+
children: /* @__PURE__ */ jsx(Input, {})
|
|
106
|
+
})
|
|
107
|
+
}),
|
|
108
|
+
!open && /* @__PURE__ */ jsx(CommandList, {
|
|
109
|
+
"aria-hidden": "true",
|
|
110
|
+
className: "hidden"
|
|
111
|
+
}),
|
|
112
|
+
/* @__PURE__ */ jsx(PopoverContent, {
|
|
113
|
+
asChild: true,
|
|
114
|
+
onOpenAutoFocus: function(e) {
|
|
115
|
+
return e.preventDefault();
|
|
116
|
+
},
|
|
117
|
+
onInteractOutside: function(e) {
|
|
118
|
+
if (_instanceof(e.target, Element) && e.target.hasAttribute("cmdk-input")) {
|
|
119
|
+
e.preventDefault();
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
className: "w-[--radix-popover-trigger-width] p-0",
|
|
123
|
+
children: /* @__PURE__ */ jsx(CommandList, {
|
|
124
|
+
children: suggestions.length > 0 ? /* @__PURE__ */ jsx(CommandGroup, {
|
|
125
|
+
children: suggestions.map(function(option) {
|
|
126
|
+
return /* @__PURE__ */ jsxs(CommandItem, {
|
|
127
|
+
value: option,
|
|
128
|
+
onMouseDown: function(e) {
|
|
129
|
+
return e.preventDefault();
|
|
130
|
+
},
|
|
131
|
+
onSelect: function(inputValue) {
|
|
132
|
+
setOpen(false);
|
|
133
|
+
onSelect(inputValue !== null && inputValue !== void 0 ? inputValue : "");
|
|
134
|
+
},
|
|
135
|
+
children: [
|
|
136
|
+
/* @__PURE__ */ jsx(Check, {
|
|
137
|
+
className: "mr-2 h-4 w-4 opacity-0"
|
|
138
|
+
}),
|
|
139
|
+
option
|
|
140
|
+
]
|
|
141
|
+
}, option);
|
|
142
|
+
})
|
|
143
|
+
}) : /* @__PURE__ */ jsx(CommandEmpty, {
|
|
144
|
+
children: "No suggestions."
|
|
145
|
+
})
|
|
146
|
+
})
|
|
147
|
+
})
|
|
148
|
+
]
|
|
149
|
+
})
|
|
150
|
+
})
|
|
151
|
+
});
|
|
152
|
+
};
|
|
153
|
+
export { AutoComplete };
|
|
154
|
+
//# sourceMappingURL=autocomplete.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/periotto/Desktop/workspace/c-rex.net-web-client-foundation/packages/components/dist/autocomplete.esm.js","../src/autocomplete.tsx"],"names":["Command","CommandPrimitive","Check","useEffect","useState","Input","CommandEmpty","CommandGroup","CommandItem","CommandList","Popover","PopoverAnchor","PopoverContent","jsx","jsxs","AutoComplete","initialValue","onSearch","onSelect","query","setQuery","suggestions","setSuggestions","open","setOpen","debounceFetch","setTimeout","then","clearTimeout","className","children","onOpenChange","shouldFilter","asChild","value","onValueChange","onKeyDown","e","key","onMouseDown","onFocus","onOpenAutoFocus","preventDefault","onInteractOutside","target","Element","hasAttribute","length","map","option","inputValue"],"mappings":"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","sourcesContent":["// src/autocomplete.tsx\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Check } from \"lucide-react\";\nimport { useEffect, useState } from \"react\";\nimport { Input } from \"@c-rex/ui/input\";\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandList\n} from \"@c-rex/ui/command\";\nimport {\n Popover,\n PopoverAnchor,\n PopoverContent\n} from \"@c-rex/ui/popover\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar AutoComplete = ({\n initialValue,\n onSearch,\n onSelect\n}) => {\n const [query, setQuery] = useState(initialValue);\n const [suggestions, setSuggestions] = useState([]);\n const [open, setOpen] = useState(false);\n useEffect(() => {\n const debounceFetch = setTimeout(() => {\n if (query) {\n onSearch(query).then(setSuggestions);\n } else {\n setSuggestions([]);\n }\n }, 300);\n return () => clearTimeout(debounceFetch);\n }, [onSearch, query]);\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex items-center\", children: /* @__PURE__ */ jsx(Popover, { open, onOpenChange: setOpen, children: /* @__PURE__ */ jsxs(Command, { shouldFilter: false, children: [\n /* @__PURE__ */ jsx(PopoverAnchor, { asChild: true, children: /* @__PURE__ */ jsx(\n CommandPrimitive.Input,\n {\n asChild: true,\n value: query,\n onValueChange: setQuery,\n onKeyDown: (e) => setOpen(e.key !== \"Escape\"),\n onMouseDown: () => setOpen(false),\n onFocus: () => setOpen(true),\n children: /* @__PURE__ */ jsx(Input, {})\n }\n ) }),\n !open && /* @__PURE__ */ jsx(CommandList, { \"aria-hidden\": \"true\", className: \"hidden\" }),\n /* @__PURE__ */ jsx(\n PopoverContent,\n {\n asChild: true,\n onOpenAutoFocus: (e) => e.preventDefault(),\n onInteractOutside: (e) => {\n if (e.target instanceof Element && e.target.hasAttribute(\"cmdk-input\")) {\n e.preventDefault();\n }\n },\n className: \"w-[--radix-popover-trigger-width] p-0\",\n children: /* @__PURE__ */ jsx(CommandList, { children: suggestions.length > 0 ? /* @__PURE__ */ jsx(CommandGroup, { children: suggestions.map((option) => /* @__PURE__ */ jsxs(\n CommandItem,\n {\n value: option,\n onMouseDown: (e) => e.preventDefault(),\n onSelect: (inputValue) => {\n setOpen(false);\n onSelect(inputValue ?? \"\");\n },\n children: [\n /* @__PURE__ */ jsx(Check, { className: \"mr-2 h-4 w-4 opacity-0\" }),\n option\n ]\n },\n option\n )) }) : /* @__PURE__ */ jsx(CommandEmpty, { children: \"No suggestions.\" }) })\n }\n )\n ] }) }) });\n};\nexport {\n AutoComplete\n};\n","import { Command as CommandPrimitive } from \"cmdk\";\nimport { Check } from \"lucide-react\";\nimport { useEffect, useState } from \"react\";\nimport { Input } from \"@c-rex/ui/input\";\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandList\n} from \"@c-rex/ui/command\";\nimport {\n Popover,\n PopoverAnchor,\n PopoverContent\n} from \"@c-rex/ui/popover\";\n\ntype Props = {\n initialValue: string;\n onSelect: (value: string) => void;\n onSearch: (value: string) => Promise<string[]>;\n};\n\nexport const AutoComplete = ({\n initialValue,\n onSearch,\n onSelect,\n}: Props) => {\n const [query, setQuery] = useState(initialValue);\n const [suggestions, setSuggestions] = useState<string[]>([]);\n\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n const debounceFetch = setTimeout(() => {\n if (query) {\n onSearch(query).then(setSuggestions);\n } else {\n setSuggestions([]);\n }\n }, 300);\n\n return () => clearTimeout(debounceFetch);\n }, [onSearch, query]);\n\n return (\n <div className=\"flex items-center\">\n <Popover open={open} onOpenChange={setOpen}>\n <Command shouldFilter={false}>\n <PopoverAnchor asChild>\n <CommandPrimitive.Input\n asChild\n value={query}\n onValueChange={setQuery}\n onKeyDown={(e) => setOpen(e.key !== \"Escape\")}\n onMouseDown={() => setOpen(false)}\n onFocus={() => setOpen(true)}\n >\n <Input />\n </CommandPrimitive.Input>\n </PopoverAnchor>\n\n {!open && <CommandList aria-hidden=\"true\" className=\"hidden\" />}\n\n <PopoverContent\n asChild\n onOpenAutoFocus={(e) => e.preventDefault()}\n onInteractOutside={(e) => {\n if (\n e.target instanceof Element &&\n e.target.hasAttribute(\"cmdk-input\")\n ) {\n e.preventDefault();\n }\n }}\n className=\"w-[--radix-popover-trigger-width] p-0\"\n >\n <CommandList>\n {/*isLoading && (\n <CommandPrimitive.Loading>\n <div className=\"p-1\">\n <Skeleton className=\"h-6 w-full\" />\n </div>\n </CommandPrimitive.Loading>\n )*/}\n\n {suggestions.length > 0 ? (\n <CommandGroup>\n {suggestions.map((option) => (\n <CommandItem\n key={option}\n value={option}\n onMouseDown={(e) => e.preventDefault()}\n onSelect={(inputValue) => {\n setOpen(false);\n onSelect(inputValue ?? \"\");\n }}\n >\n <Check className=\"mr-2 h-4 w-4 opacity-0\" />\n {option}\n </CommandItem>\n ))}\n </CommandGroup>\n ) : (\n <CommandEmpty>No suggestions.</CommandEmpty>\n )}\n </CommandList>\n </PopoverContent>\n </Command>\n </Popover>\n </div>\n );\n}\n"]}
|