soda-heroui 0.10.6 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/EnumSelect.cjs +60 -0
- package/dist/components/EnumSelect.d.ts +9 -0
- package/dist/components/EnumSelect.js +23 -0
- package/dist/components/FormSelect.d.ts +4 -3
- package/dist/index.cjs +87 -78
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/package.json +3 -3
- package/src/components/EnumSelect.tsx +46 -0
- package/src/components/FormSelect.tsx +9 -7
- package/src/index.ts +1 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
"use strict";
|
|
3
|
+
var __webpack_require__ = {};
|
|
4
|
+
(()=>{
|
|
5
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
6
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: definition[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.r = (exports1)=>{
|
|
17
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
18
|
+
value: 'Module'
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
21
|
+
value: true
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
})();
|
|
25
|
+
var __webpack_exports__ = {};
|
|
26
|
+
__webpack_require__.r(__webpack_exports__);
|
|
27
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
28
|
+
createEnumSelect: ()=>createEnumSelect,
|
|
29
|
+
EnumSelect: ()=>EnumSelect
|
|
30
|
+
});
|
|
31
|
+
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
32
|
+
const react_namespaceObject = require("@heroui/react");
|
|
33
|
+
const external_deepsea_tools_namespaceObject = require("deepsea-tools");
|
|
34
|
+
const external_FormSelect_cjs_namespaceObject = require("./FormSelect.cjs");
|
|
35
|
+
function EnumSelect({ enumObject, ...rest }) {
|
|
36
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_FormSelect_cjs_namespaceObject.FormSelect, {
|
|
37
|
+
items: (0, external_deepsea_tools_namespaceObject.getEnumOptions)(enumObject),
|
|
38
|
+
...rest,
|
|
39
|
+
children: ({ label, value })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.SelectItem, {
|
|
40
|
+
children: label
|
|
41
|
+
}, value)
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
function createEnumSelect(enumObject) {
|
|
45
|
+
return function(props) {
|
|
46
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(EnumSelect, {
|
|
47
|
+
enumObject: enumObject,
|
|
48
|
+
...props
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
exports.EnumSelect = __webpack_exports__.EnumSelect;
|
|
53
|
+
exports.createEnumSelect = __webpack_exports__.createEnumSelect;
|
|
54
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
55
|
+
"EnumSelect",
|
|
56
|
+
"createEnumSelect"
|
|
57
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
58
|
+
Object.defineProperty(exports, '__esModule', {
|
|
59
|
+
value: true
|
|
60
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { EnumOption } from "deepsea-tools";
|
|
3
|
+
import { StrictOmit, ValueOf } from "soda-type";
|
|
4
|
+
import { FormSelectProps, SelectionMode } from "./FormSelect";
|
|
5
|
+
export interface EnumSelectProps<T extends Record<string, string>, Mode extends SelectionMode = "single", FieldValue extends (Mode extends "multiple" ? ValueOf<T>[] : ValueOf<T>) | null | undefined = (Mode extends "multiple" ? ValueOf<T>[] : ValueOf<T>) | null | undefined> extends StrictOmit<FormSelectProps<Mode, FieldValue, EnumOption<T>>, "children" | "items"> {
|
|
6
|
+
enumObject: T;
|
|
7
|
+
}
|
|
8
|
+
export declare function EnumSelect<T extends Record<string, string>, Mode extends SelectionMode = "single", FieldValue extends (Mode extends "multiple" ? ValueOf<T>[] : ValueOf<T>) | null | undefined = (Mode extends "multiple" ? ValueOf<T>[] : ValueOf<T>) | null | undefined>({ enumObject, ...rest }: EnumSelectProps<T, Mode, FieldValue>): ReactNode;
|
|
9
|
+
export declare function createEnumSelect<T extends Record<string, string>>(enumObject: T): <Mode extends SelectionMode = "single", FieldValue extends (Mode extends "multiple" ? ValueOf<T>[] : ValueOf<T>) | null | undefined = (Mode extends "multiple" ? ValueOf<T>[] : ValueOf<T>) | null | undefined>(props: StrictOmit<EnumSelectProps<T, Mode, FieldValue>, "enumObject">) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__ from "@heroui/react";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__ from "deepsea-tools";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE__FormSelect_js_f6f248f0__ from "./FormSelect.js";
|
|
6
|
+
function EnumSelect({ enumObject, ...rest }) {
|
|
7
|
+
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__FormSelect_js_f6f248f0__.FormSelect, {
|
|
8
|
+
items: (0, __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__.getEnumOptions)(enumObject),
|
|
9
|
+
...rest,
|
|
10
|
+
children: ({ label, value })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__.SelectItem, {
|
|
11
|
+
children: label
|
|
12
|
+
}, value)
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
function createEnumSelect(enumObject) {
|
|
16
|
+
return function(props) {
|
|
17
|
+
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(EnumSelect, {
|
|
18
|
+
enumObject: enumObject,
|
|
19
|
+
...props
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export { EnumSelect, createEnumSelect };
|
|
@@ -4,9 +4,10 @@ import { Key } from "@react-types/shared";
|
|
|
4
4
|
import { FieldComponentProps } from "soda-tanstack-form";
|
|
5
5
|
import { StrictOmit } from "soda-type";
|
|
6
6
|
import { EmptyValue } from "./FormProvider";
|
|
7
|
-
export
|
|
8
|
-
|
|
7
|
+
export type SelectionMode = "single" | "multiple";
|
|
8
|
+
export interface FormSelectProps<Mode extends SelectionMode = "single", Value extends (Mode extends "multiple" ? Key[] : Key) | null | undefined = (Mode extends "multiple" ? Key[] : Key) | null | undefined, RenderItem extends object = object> extends StrictOmit<FieldComponentProps<typeof Select<RenderItem>, Value>, "selectionMode"> {
|
|
9
|
+
selectionMode?: Mode;
|
|
9
10
|
emptyValue?: EmptyValue;
|
|
10
11
|
component?: <RenderItem extends object>(props: SelectProps<RenderItem>) => ReactNode;
|
|
11
12
|
}
|
|
12
|
-
export declare function FormSelect<
|
|
13
|
+
export declare function FormSelect<Mode extends SelectionMode = "single", Value extends (Mode extends "multiple" ? Key[] : Key) | null | undefined = (Mode extends "multiple" ? Key[] : Key) | null | undefined, RenderItem extends object = object>({ field, multiple, emptyValue, component: Select2, ...rest }: FormSelectProps<Mode, Value, RenderItem>): ReactNode;
|
package/dist/index.cjs
CHANGED
|
@@ -3,6 +3,9 @@ var __webpack_modules__ = {
|
|
|
3
3
|
"@/components/AutoRefresh": function(module) {
|
|
4
4
|
module.exports = require("./components/AutoRefresh.cjs");
|
|
5
5
|
},
|
|
6
|
+
"@/components/EnumSelect": function(module) {
|
|
7
|
+
module.exports = require("./components/EnumSelect.cjs");
|
|
8
|
+
},
|
|
6
9
|
"@/components/ErrorMessage": function(module) {
|
|
7
10
|
module.exports = require("./components/ErrorMessage.cjs");
|
|
8
11
|
},
|
|
@@ -131,160 +134,166 @@ var __webpack_exports__ = {};
|
|
|
131
134
|
return _components_AutoRefresh__WEBPACK_IMPORTED_MODULE_0__[key];
|
|
132
135
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
133
136
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
134
|
-
var
|
|
137
|
+
var _components_EnumSelect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("@/components/EnumSelect");
|
|
138
|
+
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
139
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_EnumSelect__WEBPACK_IMPORTED_MODULE_1__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
140
|
+
return _components_EnumSelect__WEBPACK_IMPORTED_MODULE_1__[key];
|
|
141
|
+
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
142
|
+
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
143
|
+
var _components_ErrorMessage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("@/components/ErrorMessage");
|
|
135
144
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
136
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
137
|
-
return
|
|
145
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_ErrorMessage__WEBPACK_IMPORTED_MODULE_2__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
146
|
+
return _components_ErrorMessage__WEBPACK_IMPORTED_MODULE_2__[key];
|
|
138
147
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
139
148
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
140
|
-
var
|
|
149
|
+
var _components_FormAutocomplete__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("@/components/FormAutocomplete");
|
|
141
150
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
142
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
143
|
-
return
|
|
151
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_FormAutocomplete__WEBPACK_IMPORTED_MODULE_3__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
152
|
+
return _components_FormAutocomplete__WEBPACK_IMPORTED_MODULE_3__[key];
|
|
144
153
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
145
154
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
146
|
-
var
|
|
155
|
+
var _components_FormCalendar__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("@/components/FormCalendar");
|
|
147
156
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
148
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
149
|
-
return
|
|
157
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_FormCalendar__WEBPACK_IMPORTED_MODULE_4__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
158
|
+
return _components_FormCalendar__WEBPACK_IMPORTED_MODULE_4__[key];
|
|
150
159
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
151
160
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
152
|
-
var
|
|
161
|
+
var _components_FormCheckbox__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("@/components/FormCheckbox");
|
|
153
162
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
154
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
155
|
-
return
|
|
163
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_FormCheckbox__WEBPACK_IMPORTED_MODULE_5__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
164
|
+
return _components_FormCheckbox__WEBPACK_IMPORTED_MODULE_5__[key];
|
|
156
165
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
157
166
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
158
|
-
var
|
|
167
|
+
var _components_FormCheckboxGroup__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("@/components/FormCheckboxGroup");
|
|
159
168
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
160
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
161
|
-
return
|
|
169
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_FormCheckboxGroup__WEBPACK_IMPORTED_MODULE_6__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
170
|
+
return _components_FormCheckboxGroup__WEBPACK_IMPORTED_MODULE_6__[key];
|
|
162
171
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
163
172
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
164
|
-
var
|
|
173
|
+
var _components_FormDateInput__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("@/components/FormDateInput");
|
|
165
174
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
166
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
167
|
-
return
|
|
175
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_FormDateInput__WEBPACK_IMPORTED_MODULE_7__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
176
|
+
return _components_FormDateInput__WEBPACK_IMPORTED_MODULE_7__[key];
|
|
168
177
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
169
178
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
170
|
-
var
|
|
179
|
+
var _components_FormDatePicker__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("@/components/FormDatePicker");
|
|
171
180
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
172
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
173
|
-
return
|
|
181
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_FormDatePicker__WEBPACK_IMPORTED_MODULE_8__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
182
|
+
return _components_FormDatePicker__WEBPACK_IMPORTED_MODULE_8__[key];
|
|
174
183
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
175
184
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
176
|
-
var
|
|
185
|
+
var _components_FormDateRangePicker__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("@/components/FormDateRangePicker");
|
|
177
186
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
178
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
179
|
-
return
|
|
187
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_FormDateRangePicker__WEBPACK_IMPORTED_MODULE_9__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
188
|
+
return _components_FormDateRangePicker__WEBPACK_IMPORTED_MODULE_9__[key];
|
|
180
189
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
181
190
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
182
|
-
var
|
|
191
|
+
var _components_FormInput__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("@/components/FormInput");
|
|
183
192
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
184
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
185
|
-
return
|
|
193
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_FormInput__WEBPACK_IMPORTED_MODULE_10__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
194
|
+
return _components_FormInput__WEBPACK_IMPORTED_MODULE_10__[key];
|
|
186
195
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
187
196
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
188
|
-
var
|
|
197
|
+
var _components_FormInputOtp__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__("@/components/FormInputOtp");
|
|
189
198
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
190
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
191
|
-
return
|
|
199
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_FormInputOtp__WEBPACK_IMPORTED_MODULE_11__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
200
|
+
return _components_FormInputOtp__WEBPACK_IMPORTED_MODULE_11__[key];
|
|
192
201
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
193
202
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
194
|
-
var
|
|
203
|
+
var _components_FormNumberInput__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__("@/components/FormNumberInput");
|
|
195
204
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
196
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
197
|
-
return
|
|
205
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_FormNumberInput__WEBPACK_IMPORTED_MODULE_12__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
206
|
+
return _components_FormNumberInput__WEBPACK_IMPORTED_MODULE_12__[key];
|
|
198
207
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
199
208
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
200
|
-
var
|
|
209
|
+
var _components_FormPagination__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__("@/components/FormPagination");
|
|
201
210
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
202
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
203
|
-
return
|
|
211
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_FormPagination__WEBPACK_IMPORTED_MODULE_13__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
212
|
+
return _components_FormPagination__WEBPACK_IMPORTED_MODULE_13__[key];
|
|
204
213
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
205
214
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
206
|
-
var
|
|
215
|
+
var _components_FormProvider__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__("@/components/FormProvider");
|
|
207
216
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
208
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
209
|
-
return
|
|
217
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_FormProvider__WEBPACK_IMPORTED_MODULE_14__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
218
|
+
return _components_FormProvider__WEBPACK_IMPORTED_MODULE_14__[key];
|
|
210
219
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
211
220
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
212
|
-
var
|
|
221
|
+
var _components_FormRadioGroup__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__("@/components/FormRadioGroup");
|
|
213
222
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
214
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
215
|
-
return
|
|
223
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_FormRadioGroup__WEBPACK_IMPORTED_MODULE_15__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
224
|
+
return _components_FormRadioGroup__WEBPACK_IMPORTED_MODULE_15__[key];
|
|
216
225
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
217
226
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
218
|
-
var
|
|
227
|
+
var _components_FormRangeCalendar__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__("@/components/FormRangeCalendar");
|
|
219
228
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
220
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
221
|
-
return
|
|
229
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_FormRangeCalendar__WEBPACK_IMPORTED_MODULE_16__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
230
|
+
return _components_FormRangeCalendar__WEBPACK_IMPORTED_MODULE_16__[key];
|
|
222
231
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
223
232
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
224
|
-
var
|
|
233
|
+
var _components_FormSelect__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__("@/components/FormSelect");
|
|
225
234
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
226
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
227
|
-
return
|
|
235
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_FormSelect__WEBPACK_IMPORTED_MODULE_17__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
236
|
+
return _components_FormSelect__WEBPACK_IMPORTED_MODULE_17__[key];
|
|
228
237
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
229
238
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
230
|
-
var
|
|
239
|
+
var _components_FormSwitch__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__("@/components/FormSwitch");
|
|
231
240
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
232
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
233
|
-
return
|
|
241
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_FormSwitch__WEBPACK_IMPORTED_MODULE_18__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
242
|
+
return _components_FormSwitch__WEBPACK_IMPORTED_MODULE_18__[key];
|
|
234
243
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
235
244
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
236
|
-
var
|
|
245
|
+
var _components_FormTextarea__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__("@/components/FormTextarea");
|
|
237
246
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
238
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
239
|
-
return
|
|
247
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_FormTextarea__WEBPACK_IMPORTED_MODULE_19__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
248
|
+
return _components_FormTextarea__WEBPACK_IMPORTED_MODULE_19__[key];
|
|
240
249
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
241
250
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
242
|
-
var
|
|
251
|
+
var _components_FormTimeInput__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__("@/components/FormTimeInput");
|
|
243
252
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
244
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
245
|
-
return
|
|
253
|
+
for(var __WEBPACK_IMPORT_KEY__ in _components_FormTimeInput__WEBPACK_IMPORTED_MODULE_20__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
254
|
+
return _components_FormTimeInput__WEBPACK_IMPORTED_MODULE_20__[key];
|
|
246
255
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
247
256
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
248
|
-
var
|
|
257
|
+
var _types_index__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__("@/types/index");
|
|
249
258
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
250
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
251
|
-
return
|
|
259
|
+
for(var __WEBPACK_IMPORT_KEY__ in _types_index__WEBPACK_IMPORTED_MODULE_21__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
260
|
+
return _types_index__WEBPACK_IMPORTED_MODULE_21__[key];
|
|
252
261
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
253
262
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
254
|
-
var
|
|
263
|
+
var _utils_addBetterToast__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__("@/utils/addBetterToast");
|
|
255
264
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
256
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
257
|
-
return
|
|
265
|
+
for(var __WEBPACK_IMPORT_KEY__ in _utils_addBetterToast__WEBPACK_IMPORTED_MODULE_22__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
266
|
+
return _utils_addBetterToast__WEBPACK_IMPORTED_MODULE_22__[key];
|
|
258
267
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
259
268
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
260
|
-
var
|
|
269
|
+
var _utils_getFieldProps__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__("@/utils/getFieldProps");
|
|
261
270
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
262
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
263
|
-
return
|
|
271
|
+
for(var __WEBPACK_IMPORT_KEY__ in _utils_getFieldProps__WEBPACK_IMPORTED_MODULE_23__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
272
|
+
return _utils_getFieldProps__WEBPACK_IMPORTED_MODULE_23__[key];
|
|
264
273
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
265
274
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
266
|
-
var
|
|
275
|
+
var _utils_getTimeValue__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__("@/utils/getTimeValue");
|
|
267
276
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
268
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
269
|
-
return
|
|
277
|
+
for(var __WEBPACK_IMPORT_KEY__ in _utils_getTimeValue__WEBPACK_IMPORTED_MODULE_24__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
278
|
+
return _utils_getTimeValue__WEBPACK_IMPORTED_MODULE_24__[key];
|
|
270
279
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
271
280
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
272
|
-
var
|
|
281
|
+
var _utils_parseTime__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__("@/utils/parseTime");
|
|
273
282
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
274
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
275
|
-
return
|
|
283
|
+
for(var __WEBPACK_IMPORT_KEY__ in _utils_parseTime__WEBPACK_IMPORTED_MODULE_25__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
284
|
+
return _utils_parseTime__WEBPACK_IMPORTED_MODULE_25__[key];
|
|
276
285
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
277
286
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
278
|
-
var
|
|
287
|
+
var _utils_range__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__("@/utils/range");
|
|
279
288
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
280
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
281
|
-
return
|
|
289
|
+
for(var __WEBPACK_IMPORT_KEY__ in _utils_range__WEBPACK_IMPORTED_MODULE_26__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
290
|
+
return _utils_range__WEBPACK_IMPORTED_MODULE_26__[key];
|
|
282
291
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
283
292
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
284
|
-
var
|
|
293
|
+
var _utils_time__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__("@/utils/time");
|
|
285
294
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
286
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
287
|
-
return
|
|
295
|
+
for(var __WEBPACK_IMPORT_KEY__ in _utils_time__WEBPACK_IMPORTED_MODULE_27__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
296
|
+
return _utils_time__WEBPACK_IMPORTED_MODULE_27__[key];
|
|
288
297
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
289
298
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
290
299
|
})();
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "soda-heroui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
"@internationalized/date": "^3.8.2",
|
|
39
39
|
"@tanstack/react-form": "^1.14.1",
|
|
40
40
|
"deepsea-tools": "5.40.3",
|
|
41
|
+
"soda-type": "6.3.0",
|
|
41
42
|
"soda-hooks": "6.12.6",
|
|
42
|
-
"soda-tanstack-form": "0.2.4"
|
|
43
|
-
"soda-type": "6.3.0"
|
|
43
|
+
"soda-tanstack-form": "0.2.4"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@ianvs/prettier-plugin-sort-imports": "^4.5.1",
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
|
|
3
|
+
import { ReactNode } from "react"
|
|
4
|
+
import { SelectItem } from "@heroui/react"
|
|
5
|
+
import { EnumOption, getEnumOptions } from "deepsea-tools"
|
|
6
|
+
import { StrictOmit, ValueOf } from "soda-type"
|
|
7
|
+
|
|
8
|
+
import { FormSelect, FormSelectProps, SelectionMode } from "./FormSelect"
|
|
9
|
+
|
|
10
|
+
export interface EnumSelectProps<
|
|
11
|
+
T extends Record<string, string>,
|
|
12
|
+
Mode extends SelectionMode = "single",
|
|
13
|
+
FieldValue extends (Mode extends "multiple" ? ValueOf<T>[] : ValueOf<T>) | null | undefined =
|
|
14
|
+
| (Mode extends "multiple" ? ValueOf<T>[] : ValueOf<T>)
|
|
15
|
+
| null
|
|
16
|
+
| undefined,
|
|
17
|
+
> extends StrictOmit<FormSelectProps<Mode, FieldValue, EnumOption<T>>, "children" | "items"> {
|
|
18
|
+
enumObject: T
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function EnumSelect<
|
|
22
|
+
T extends Record<string, string>,
|
|
23
|
+
Mode extends SelectionMode = "single",
|
|
24
|
+
FieldValue extends (Mode extends "multiple" ? ValueOf<T>[] : ValueOf<T>) | null | undefined =
|
|
25
|
+
| (Mode extends "multiple" ? ValueOf<T>[] : ValueOf<T>)
|
|
26
|
+
| null
|
|
27
|
+
| undefined,
|
|
28
|
+
>({ enumObject, ...rest }: EnumSelectProps<T, Mode, FieldValue>): ReactNode {
|
|
29
|
+
return (
|
|
30
|
+
<FormSelect items={getEnumOptions(enumObject)} {...rest}>
|
|
31
|
+
{({ label, value }) => <SelectItem key={value}>{label}</SelectItem>}
|
|
32
|
+
</FormSelect>
|
|
33
|
+
)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function createEnumSelect<T extends Record<string, string>>(enumObject: T) {
|
|
37
|
+
return function FormSelect<
|
|
38
|
+
Mode extends SelectionMode = "single",
|
|
39
|
+
FieldValue extends (Mode extends "multiple" ? ValueOf<T>[] : ValueOf<T>) | null | undefined =
|
|
40
|
+
| (Mode extends "multiple" ? ValueOf<T>[] : ValueOf<T>)
|
|
41
|
+
| null
|
|
42
|
+
| undefined,
|
|
43
|
+
>(props: StrictOmit<EnumSelectProps<T, Mode, FieldValue>, "enumObject">) {
|
|
44
|
+
return <EnumSelect enumObject={enumObject} {...props} />
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -10,21 +10,23 @@ import { StrictOmit } from "soda-type"
|
|
|
10
10
|
import { getFieldProps } from "../utils/getFieldProps"
|
|
11
11
|
import { EmptyValue, FormContext, getEmptyValue } from "./FormProvider"
|
|
12
12
|
|
|
13
|
+
export type SelectionMode = "single" | "multiple"
|
|
14
|
+
|
|
13
15
|
export interface FormSelectProps<
|
|
14
|
-
|
|
15
|
-
Value extends (
|
|
16
|
+
Mode extends SelectionMode = "single",
|
|
17
|
+
Value extends (Mode extends "multiple" ? Key[] : Key) | null | undefined = (Mode extends "multiple" ? Key[] : Key) | null | undefined,
|
|
16
18
|
RenderItem extends object = object,
|
|
17
|
-
> extends StrictOmit<FieldComponentProps<typeof Select<RenderItem>, Value>, "
|
|
18
|
-
|
|
19
|
+
> extends StrictOmit<FieldComponentProps<typeof Select<RenderItem>, Value>, "selectionMode"> {
|
|
20
|
+
selectionMode?: Mode
|
|
19
21
|
emptyValue?: EmptyValue
|
|
20
22
|
component?: <RenderItem extends object>(props: SelectProps<RenderItem>) => ReactNode
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
export function FormSelect<
|
|
24
|
-
|
|
25
|
-
Value extends (
|
|
26
|
+
Mode extends SelectionMode = "single",
|
|
27
|
+
Value extends (Mode extends "multiple" ? Key[] : Key) | null | undefined = (Mode extends "multiple" ? Key[] : Key) | null | undefined,
|
|
26
28
|
RenderItem extends object = object,
|
|
27
|
-
>({ field, multiple, emptyValue, component: Select2 = Select, ...rest }: FormSelectProps<
|
|
29
|
+
>({ field, multiple, emptyValue, component: Select2 = Select, ...rest }: FormSelectProps<Mode, Value, RenderItem>): ReactNode {
|
|
28
30
|
const context = useContext(FormContext)
|
|
29
31
|
emptyValue ??= context.emptyValue
|
|
30
32
|
|