@egose/shadcn-theme 0.0.21 → 0.0.23

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 (92) hide show
  1. package/chunk-7SHQOSBJ.js +123 -0
  2. package/chunk-7SHQOSBJ.js.map +1 -0
  3. package/chunk-CEJOC6JT.mjs +123 -0
  4. package/chunk-CEJOC6JT.mjs.map +1 -0
  5. package/chunk-ENHV3QCF.mjs +41 -0
  6. package/chunk-ENHV3QCF.mjs.map +1 -0
  7. package/chunk-JOYUTUGI.mjs +57 -0
  8. package/chunk-JOYUTUGI.mjs.map +1 -0
  9. package/{chunk-4J7ZCWRI.mjs → chunk-LFW2GKN3.mjs} +5 -5
  10. package/chunk-LFW2GKN3.mjs.map +1 -0
  11. package/chunk-PGE7GQZC.js +71 -0
  12. package/chunk-PGE7GQZC.js.map +1 -0
  13. package/chunk-TV4NNZTS.js +57 -0
  14. package/chunk-TV4NNZTS.js.map +1 -0
  15. package/chunk-TYI6YBBZ.js +41 -0
  16. package/chunk-TYI6YBBZ.js.map +1 -0
  17. package/chunk-Y6WBDYJY.mjs +71 -0
  18. package/chunk-Y6WBDYJY.mjs.map +1 -0
  19. package/{chunk-RUACSQT3.js → chunk-ZHHY5JVV.js} +5 -5
  20. package/chunk-ZHHY5JVV.js.map +1 -0
  21. package/components/form/hook-native-select.d.mts +11 -0
  22. package/components/form/hook-native-select.d.ts +11 -0
  23. package/components/form/hook-native-select.js +72 -0
  24. package/components/form/hook-native-select.js.map +1 -0
  25. package/components/form/hook-native-select.mjs +72 -0
  26. package/components/form/hook-native-select.mjs.map +1 -0
  27. package/components/form/hook-select.d.mts +5 -4
  28. package/components/form/hook-select.d.ts +5 -4
  29. package/components/form/hook-select.js +29 -32
  30. package/components/form/hook-select.js.map +1 -1
  31. package/components/form/hook-select.mjs +30 -33
  32. package/components/form/hook-select.mjs.map +1 -1
  33. package/components/form/hook-text-input.d.mts +2 -2
  34. package/components/form/hook-text-input.d.ts +2 -2
  35. package/components/form/hook-text-input.js +3 -3
  36. package/components/form/hook-text-input.js.map +1 -1
  37. package/components/form/hook-text-input.mjs +3 -3
  38. package/components/form/hook-text-input.mjs.map +1 -1
  39. package/components/form/hook-textarea.d.mts +2 -2
  40. package/components/form/hook-textarea.d.ts +2 -2
  41. package/components/form/hook-textarea.js +3 -3
  42. package/components/form/hook-textarea.js.map +1 -1
  43. package/components/form/hook-textarea.mjs +3 -3
  44. package/components/form/hook-textarea.mjs.map +1 -1
  45. package/components/form/hook-time-text-input.d.mts +13 -0
  46. package/components/form/hook-time-text-input.d.ts +13 -0
  47. package/components/form/hook-time-text-input.js +83 -0
  48. package/components/form/hook-time-text-input.js.map +1 -0
  49. package/components/form/hook-time-text-input.mjs +83 -0
  50. package/components/form/hook-time-text-input.mjs.map +1 -0
  51. package/components/form/multi-select.d.mts +2 -0
  52. package/components/form/multi-select.d.ts +2 -0
  53. package/components/form/multi-select.js +1 -0
  54. package/components/form/multi-select.js.map +1 -0
  55. package/components/form/multi-select.mjs +1 -0
  56. package/components/form/multi-select.mjs.map +1 -0
  57. package/components/form/native-select.d.mts +23 -0
  58. package/components/form/native-select.d.ts +23 -0
  59. package/components/form/native-select.js +11 -0
  60. package/components/form/native-select.js.map +1 -0
  61. package/components/form/native-select.mjs +11 -0
  62. package/components/form/native-select.mjs.map +1 -0
  63. package/components/form/select.d.mts +8 -5
  64. package/components/form/select.d.ts +8 -5
  65. package/components/form/select.js +3 -2
  66. package/components/form/select.js.map +1 -1
  67. package/components/form/select.mjs +2 -1
  68. package/components/form/time-text-input.d.mts +10 -0
  69. package/components/form/time-text-input.d.ts +10 -0
  70. package/components/form/time-text-input.js +14 -0
  71. package/components/form/time-text-input.js.map +1 -0
  72. package/components/form/time-text-input.mjs +14 -0
  73. package/components/form/time-text-input.mjs.map +1 -0
  74. package/components/ui/select.js +27 -122
  75. package/components/ui/select.js.map +1 -1
  76. package/components/ui/select.mjs +13 -108
  77. package/components/ui/select.mjs.map +1 -1
  78. package/components/ui/sidebar.js +3 -3
  79. package/components/ui/sidebar.js.map +1 -1
  80. package/components/ui/sidebar.mjs +3 -3
  81. package/components/widgets/dialog-manager/index.js +1 -1
  82. package/components/widgets/dialog-manager/index.js.map +1 -1
  83. package/components/widgets/dialog-manager/index.mjs +1 -1
  84. package/lib/number.d.mts +7 -0
  85. package/lib/number.d.ts +7 -0
  86. package/lib/number.js +12 -0
  87. package/lib/number.js.map +1 -0
  88. package/lib/number.mjs +12 -0
  89. package/lib/number.mjs.map +1 -0
  90. package/package.json +1 -1
  91. package/chunk-4J7ZCWRI.mjs.map +0 -1
  92. package/chunk-RUACSQT3.js.map +0 -1
@@ -0,0 +1,41 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+
3
+ var _chunkKRSIQ2CBjs = require('./chunk-KRSIQ2CB.js');
4
+
5
+
6
+
7
+
8
+ var _chunkTV4NNZTSjs = require('./chunk-TV4NNZTS.js');
9
+
10
+
11
+
12
+
13
+ var _chunk2NMEKWO5js = require('./chunk-2NMEKWO5.js');
14
+
15
+ // components/form/time-text-input.tsx
16
+ var _react = require('react'); var _react2 = _interopRequireDefault(_react);
17
+ function FormTimeTextInput(_a) {
18
+ var _b = _a, { value: parentValue = 0, onChange } = _b, rest = _chunk2NMEKWO5js.__objRest.call(void 0, _b, ["value", "onChange"]);
19
+ const [value, setValue] = _react.useState.call(void 0, String(parentValue));
20
+ _react.useEffect.call(void 0, () => {
21
+ setValue(String(parentValue != null ? parentValue : ""));
22
+ }, [parentValue]);
23
+ const handleChange = (e) => {
24
+ setValue(e.target.value);
25
+ };
26
+ const handleBlur = (e) => {
27
+ const newValue = _chunkTV4NNZTSjs.convertToHours.call(void 0, e.target.value);
28
+ const numericValue = Number(newValue);
29
+ setValue(newValue);
30
+ onChange == null ? void 0 : onChange(numericValue);
31
+ };
32
+ const displayText = _chunkTV4NNZTSjs.convertFromHours.call(void 0, value);
33
+ const displayWhole = _chunkTV4NNZTSjs.convertToWholeFromHours.call(void 0, value);
34
+ const title = displayText !== displayWhole ? `${displayText} (${displayWhole})` : displayText;
35
+ return /* @__PURE__ */ _react2.default.createElement(_chunkKRSIQ2CBjs.FormTextInput, _chunk2NMEKWO5js.__spreadProps.call(void 0, _chunk2NMEKWO5js.__spreadValues.call(void 0, {}, rest), { value, onChange: handleChange, onBlur: handleBlur, title }));
36
+ }
37
+
38
+
39
+
40
+ exports.FormTimeTextInput = FormTimeTextInput;
41
+ //# sourceMappingURL=chunk-TYI6YBBZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/chunk-TYI6YBBZ.js","../components/form/time-text-input.tsx"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACA;ACZA,4EAAwD;AAUjD,SAAS,iBAAA,CAAkB,EAAA,EAAuE;AAAvE,EAAA,IAAA,GAAA,EAAA,EAAA,EAAE,EAAA,KAAA,EAAO,YAAA,EAAc,CAAA,EAAG,SAZ5D,EAAA,EAYkC,EAAA,EAAuC,KAAA,EAAA,wCAAA,EAAvC,EAAuC,CAArC,OAAA,EAAwB,UAAA,CAAA,CAAA;AAC1D,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,EAAA,EAAI,6BAAA,MAAiB,CAAO,WAAW,CAAC,CAAA;AAE9D,EAAA,8BAAA,CAAU,EAAA,GAAM;AACd,IAAA,QAAA,CAAS,MAAA,CAAO,YAAA,GAAA,KAAA,EAAA,YAAA,EAAe,EAAE,CAAC,CAAA;AAAA,EACpC,CAAA,EAAG,CAAC,WAAW,CAAC,CAAA;AAEhB,EAAA,MAAM,aAAA,EAAe,CAAC,CAAA,EAAA,GAAqC;AACzD,IAAA,QAAA,CAAS,CAAA,CAAE,MAAA,CAAO,KAAK,CAAA;AAAA,EACzB,CAAA;AAEA,EAAA,MAAM,WAAA,EAAa,CAAC,CAAA,EAAA,GAAqC;AACvD,IAAA,MAAM,SAAA,EAAW,6CAAA,CAAe,CAAE,MAAA,CAAO,KAAK,CAAA;AAC9C,IAAA,MAAM,aAAA,EAAe,MAAA,CAAO,QAAQ,CAAA;AAEpC,IAAA,QAAA,CAAS,QAAQ,CAAA;AACjB,IAAA,SAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,QAAA,CAAW,YAAA,CAAA;AAAA,EACb,CAAA;AAEA,EAAA,MAAM,YAAA,EAAc,+CAAA,KAAsB,CAAA;AAC1C,EAAA,MAAM,aAAA,EAAe,sDAAA,KAA6B,CAAA;AAClD,EAAA,MAAM,MAAA,EAAQ,YAAA,IAAgB,aAAA,EAAe,CAAA,EAAA;AAErC,EAAA;AACV;ADAgD;AACA;AACA;AACA","file":"/home/ahnjun/projects/egose-shadcn/package/dist/chunk-TYI6YBBZ.js","sourcesContent":[null,"'use client';\n\nimport React, { useState, useEffect, ChangeEvent } from 'react';\nimport { FormTextInput } from './text-input';\nimport type { FormTextInputProps } from './text-input';\nimport { convertToHours, convertFromHours, convertToWholeFromHours } from '../../lib/number';\n\nexport interface FormTimeTextInputProps extends Omit<FormTextInputProps, 'onChange' | 'value'> {\n value?: number;\n onChange?: (value: number) => void;\n}\n\nexport function FormTimeTextInput({ value: parentValue = 0, onChange, ...rest }: FormTimeTextInputProps) {\n const [value, setValue] = useState<string>(String(parentValue));\n\n useEffect(() => {\n setValue(String(parentValue ?? ''));\n }, [parentValue]);\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n setValue(e.target.value);\n };\n\n const handleBlur = (e: ChangeEvent<HTMLInputElement>) => {\n const newValue = convertToHours(e.target.value);\n const numericValue = Number(newValue);\n\n setValue(newValue);\n onChange?.(numericValue);\n };\n\n const displayText = convertFromHours(value);\n const displayWhole = convertToWholeFromHours(value);\n const title = displayText !== displayWhole ? `${displayText} (${displayWhole})` : displayText;\n\n return <FormTextInput {...rest} value={value} onChange={handleChange} onBlur={handleBlur} title={title} />;\n}\n"]}
@@ -0,0 +1,71 @@
1
+ import {
2
+ Select,
3
+ SelectContent,
4
+ SelectItem,
5
+ SelectTrigger,
6
+ SelectValue
7
+ } from "./chunk-CEJOC6JT.mjs";
8
+ import {
9
+ Label
10
+ } from "./chunk-7W42BHVK.mjs";
11
+ import {
12
+ cn
13
+ } from "./chunk-3ONILUYO.mjs";
14
+ import {
15
+ __objRest
16
+ } from "./chunk-YOSPWY5K.mjs";
17
+
18
+ // components/form/select.tsx
19
+ import React from "react";
20
+ import _kebabCase from "lodash-es/kebabCase";
21
+ import _isString from "lodash-es/isString";
22
+ function listToSelectOptions(items) {
23
+ return items.map((item) => {
24
+ return { label: item, value: item };
25
+ });
26
+ }
27
+ function FormSelect(_a) {
28
+ var _b = _a, {
29
+ id,
30
+ name,
31
+ label,
32
+ placeholder = "",
33
+ data,
34
+ defaultValue,
35
+ value,
36
+ onChange,
37
+ classNames,
38
+ required,
39
+ disabled
40
+ } = _b, others = __objRest(_b, [
41
+ "id",
42
+ "name",
43
+ "label",
44
+ "placeholder",
45
+ "data",
46
+ "defaultValue",
47
+ "value",
48
+ "onChange",
49
+ "classNames",
50
+ "required",
51
+ "disabled"
52
+ ]);
53
+ var _a2;
54
+ let _options = [];
55
+ if (data.length > 0) {
56
+ if (_isString(data[0])) {
57
+ _options = listToSelectOptions(data);
58
+ } else {
59
+ _options = data;
60
+ }
61
+ }
62
+ if (!id) id = _kebabCase(name);
63
+ return /* @__PURE__ */ React.createElement("div", { className: cn("_select", classNames == null ? void 0 : classNames.wrapper) }, label && /* @__PURE__ */ React.createElement(Label, { htmlFor: id, className: classNames == null ? void 0 : classNames.label, required }, label), /* @__PURE__ */ React.createElement(Select, { onValueChange: onChange, defaultValue: (_a2 = defaultValue != null ? defaultValue : value) != null ? _a2 : "" }, /* @__PURE__ */ React.createElement(SelectTrigger, { className: "" }, /* @__PURE__ */ React.createElement(SelectValue, { placeholder })), /* @__PURE__ */ React.createElement(SelectContent, { className: cn(classNames == null ? void 0 : classNames.input) }, _options.map((option, index) => {
64
+ return /* @__PURE__ */ React.createElement(SelectItem, { key: option.value, value: option.value }, option.label);
65
+ }))));
66
+ }
67
+
68
+ export {
69
+ FormSelect
70
+ };
71
+ //# sourceMappingURL=chunk-Y6WBDYJY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../components/form/select.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport _isString from 'lodash-es/isString';\nimport { cn } from '../../lib/utils';\nimport { Label } from '../ui/label';\nimport { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectTrigger, SelectValue } from '../ui/select';\n\nexport interface SelectOption {\n label: string;\n value: string;\n}\n\nfunction listToSelectOptions(items: string[]) {\n return items.map((item) => {\n return { label: item, value: item };\n });\n}\n\nexport interface FormSelectProps {\n id?: string;\n name: string;\n label: string;\n placeholder?: string;\n data: SelectOption[] | string[];\n defaultValue?: string;\n value?: string;\n onChange: (value?: string) => void;\n classNames?: {\n wrapper?: string;\n label?: string;\n input?: string;\n };\n required?: boolean;\n disabled?: boolean;\n}\n\nexport function FormSelect({\n id,\n name,\n label,\n placeholder = '',\n data,\n defaultValue,\n value,\n onChange,\n classNames,\n required,\n disabled,\n ...others\n}: FormSelectProps) {\n let _options: SelectOption[] = [];\n if (data.length > 0) {\n if (_isString(data[0])) {\n _options = listToSelectOptions(data as string[]);\n } else {\n _options = data as SelectOption[];\n }\n }\n\n if (!id) id = _kebabCase(name);\n\n return (\n <div className={cn('_select', classNames?.wrapper)}>\n {label && (\n <Label htmlFor={id} className={classNames?.label} required={required}>\n {label}\n </Label>\n )}\n\n <Select onValueChange={onChange} defaultValue={defaultValue ?? value ?? ''}>\n <SelectTrigger className=\"\">\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent className={cn(classNames?.input)}>\n {_options.map((option, index) => {\n return (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n );\n })}\n </SelectContent>\n </Select>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAEA,OAAO,WAAW;AAClB,OAAO,gBAAgB;AACvB,OAAO,eAAe;AAUtB,SAAS,oBAAoB,OAAiB;AAC5C,SAAO,MAAM,IAAI,CAAC,SAAS;AACzB,WAAO,EAAE,OAAO,MAAM,OAAO,KAAK;AAAA,EACpC,CAAC;AACH;AAoBO,SAAS,WAAW,IAaP;AAbO,eACzB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAjDF,IAsC2B,IAYtB,mBAZsB,IAYtB;AAAA,IAXH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAjDF,MAAAA;AAoDE,MAAI,WAA2B,CAAC;AAChC,MAAI,KAAK,SAAS,GAAG;AACnB,QAAI,UAAU,KAAK,CAAC,CAAC,GAAG;AACtB,iBAAW,oBAAoB,IAAgB;AAAA,IACjD,OAAO;AACL,iBAAW;AAAA,IACb;AAAA,EACF;AAEA,MAAI,CAAC,GAAI,MAAK,WAAW,IAAI;AAE7B,SACE,oCAAC,SAAI,WAAW,GAAG,WAAW,yCAAY,OAAO,KAC9C,SACC,oCAAC,SAAM,SAAS,IAAI,WAAW,yCAAY,OAAO,YAC/C,KACH,GAGF,oCAAC,UAAO,eAAe,UAAU,eAAcA,MAAA,sCAAgB,UAAhB,OAAAA,MAAyB,MACtE,oCAAC,iBAAc,WAAU,MACvB,oCAAC,eAAY,aAA0B,CACzC,GACA,oCAAC,iBAAc,WAAW,GAAG,yCAAY,KAAK,KAC3C,SAAS,IAAI,CAAC,QAAQ,UAAU;AAC/B,WACE,oCAAC,cAAW,KAAK,OAAO,OAAO,OAAO,OAAO,SAC1C,OAAO,KACV;AAAA,EAEJ,CAAC,CACH,CACF,CACF;AAEJ;","names":["_a"]}
@@ -10,7 +10,7 @@ var _chunkB2G2EZ4Pjs = require('./chunk-B2G2EZ4P.js');
10
10
 
11
11
  var _chunk2NMEKWO5js = require('./chunk-2NMEKWO5.js');
12
12
 
13
- // components/form/select.tsx
13
+ // components/form/native-select.tsx
14
14
  var _react = require('react'); var _react2 = _interopRequireDefault(_react);
15
15
  var _kebabCase2 = require('lodash-es/kebabCase'); var _kebabCase3 = _interopRequireDefault(_kebabCase2);
16
16
  var _isString2 = require('lodash-es/isString'); var _isString3 = _interopRequireDefault(_isString2);
@@ -19,7 +19,7 @@ function listToSelectOptions(items) {
19
19
  return { label: item, value: item };
20
20
  });
21
21
  }
22
- function FormSelect(_a) {
22
+ function FormNativeSelect(_a) {
23
23
  var _b = _a, {
24
24
  id,
25
25
  name,
@@ -51,7 +51,7 @@ function FormSelect(_a) {
51
51
  }
52
52
  }
53
53
  if (!id) id = _kebabCase3.default.call(void 0, name);
54
- return /* @__PURE__ */ _react2.default.createElement("div", { className: classNames == null ? void 0 : classNames.wrapper }, label && /* @__PURE__ */ _react2.default.createElement(_chunkAXZDZXCYjs.Label, { htmlFor: id, className: classNames == null ? void 0 : classNames.label, required }, label), /* @__PURE__ */ _react2.default.createElement(
54
+ return /* @__PURE__ */ _react2.default.createElement("div", { className: _chunkB2G2EZ4Pjs.cn.call(void 0, "_native-select", classNames == null ? void 0 : classNames.wrapper) }, label && /* @__PURE__ */ _react2.default.createElement(_chunkAXZDZXCYjs.Label, { htmlFor: id, className: classNames == null ? void 0 : classNames.label, required }, label), /* @__PURE__ */ _react2.default.createElement(
55
55
  "select",
56
56
  _chunk2NMEKWO5js.__spreadValues.call(void 0, _chunk2NMEKWO5js.__spreadProps.call(void 0, _chunk2NMEKWO5js.__spreadValues.call(void 0, {}, selectProps), {
57
57
  id,
@@ -80,5 +80,5 @@ function FormSelect(_a) {
80
80
 
81
81
 
82
82
 
83
- exports.FormSelect = FormSelect;
84
- //# sourceMappingURL=chunk-RUACSQT3.js.map
83
+ exports.FormNativeSelect = FormNativeSelect;
84
+ //# sourceMappingURL=chunk-ZHHY5JVV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/chunk-ZHHY5JVV.js","../components/form/native-select.tsx"],"names":["_a"],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACA;ACVA,4EAA4C;AAC5C,wGAAuB;AACvB,oGAAsB;AAWtB,SAAS,mBAAA,CAAoB,KAAA,EAAiB;AAC5C,EAAA,OAAO,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,EAAA,GAAS;AACzB,IAAA,OAAO,EAAE,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,KAAK,CAAA;AAAA,EACpC,CAAC,CAAA;AACH;AAgBO,SAAS,gBAAA,CAAiB,EAAA,EAWP;AAXO,EAAA,IAAA,GAAA,EAAA,EAAA,EAC/B;AAAA,IAAA,EAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,IACA,IAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,EA5CF,EAAA,EAmCiC,EAAA,EAU5B,OAAA,EAAA,wCAAA,EAV4B,EAU5B;AAAA,IATH,IAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,aAAA;AAAA,IACA,MAAA;AAAA,IACA,cAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,EAAA,CAAA,CAAA;AA5CF,EAAA,IAAAA,GAAAA;AA+CE,EAAA,IAAI,SAAA,EAA2B,CAAC,CAAA;AAChC,EAAA,GAAA,CAAI,IAAA,CAAK,OAAA,EAAS,CAAA,EAAG;AACnB,IAAA,GAAA,CAAI,gCAAA,IAAU,CAAK,CAAC,CAAC,CAAA,EAAG;AACtB,MAAA,SAAA,EAAW,mBAAA,CAAoB,IAAgB,CAAA;AAAA,IACjD,EAAA,KAAO;AACL,MAAA,SAAA,EAAW,IAAA;AAAA,IACb;AAAA,EACF;AAEA,EAAA,GAAA,CAAI,CAAC,EAAA,EAAI,GAAA,EAAK,iCAAA,IAAe,CAAA;AAE7B,EAAA,uBACE,eAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,iCAAA,gBAAG,EAAkB,WAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,OAAO,EAAA,CAAA,EACrD,MAAA,mBACC,eAAA,CAAA,aAAA,CAAC,sBAAA,EAAA,EAAM,OAAA,EAAS,EAAA,EAAI,SAAA,EAAW,WAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,KAAA,EAAO,SAAA,CAAA,EAC/C,KACH,CAAA,kBAGF,eAAA,CAAA,aAAA;AAAA,IAAC,QAAA;AAAA,IAAA,6CAAA,4CAAA,6CAAA,CAAA,CAAA,EACK,WAAA,CAAA,EADL;AAAA,MAEC,EAAA;AAAA,MACA,IAAA;AAAA,MACA,YAAA,EAAc,EAAA;AAAA,MACd,SAAA,EAAW,iCAAA;AAAA,QACT,kPAAA;AAAA,QAAA,CACAA,IAAAA,EAAA,WAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,KAAA,EAAA,GAAZ,KAAA,EAAAA,IAAAA,EAAqB;AAAA,MACvB,CAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,IAAA,CAAA,CAAA,EACI,MAAA,CAAA;AAAA,IAEH,QAAA,CAAS,GAAA,CAAI,CAAC,MAAA,EAAQ,KAAA,EAAA,GAAU;AAC/B,MAAA,uBACE,eAAA,CAAA,aAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UACC,GAAA,EAAK,MAAA,CAAO,KAAA;AAAA,UACZ,KAAA,EAAO,MAAA,CAAO;AAAA,QAAA,CAAA;AAAA,QAKb,MAAA,CAAO;AAAA,MACV,CAAA;AAAA,IAEJ,CAAC;AAAA,EACH,CACF,CAAA;AAEJ;ADjBA;AACA;AACE;AACF,4CAAC","file":"/home/ahnjun/projects/egose-shadcn/package/dist/chunk-ZHHY5JVV.js","sourcesContent":[null,"'use client';\n\nimport React, { SelectHTMLAttributes } from 'react';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport _isString from 'lodash-es/isString';\nimport { cn } from '../../lib/utils';\nimport { Label } from '../ui/label';\n\ntype NativeSelectProps = SelectHTMLAttributes<HTMLSelectElement>;\n\nexport interface SelectOption {\n label: string;\n value: string;\n}\n\nfunction listToSelectOptions(items: string[]) {\n return items.map((item) => {\n return { label: item, value: item };\n });\n}\n\nexport interface FormNativeSelectProps extends NativeSelectProps {\n id?: string;\n name: string;\n label: string;\n selectProps: NativeSelectProps;\n data: SelectOption[] | string[];\n defaultValue?: string;\n classNames?: {\n wrapper?: string;\n label?: string;\n input?: string;\n };\n}\n\nexport function FormNativeSelect({\n id,\n name,\n label,\n selectProps,\n data,\n defaultValue,\n classNames,\n required,\n disabled,\n ...others\n}: FormNativeSelectProps) {\n let _options: SelectOption[] = [];\n if (data.length > 0) {\n if (_isString(data[0])) {\n _options = listToSelectOptions(data as string[]);\n } else {\n _options = data as SelectOption[];\n }\n }\n\n if (!id) id = _kebabCase(name);\n\n return (\n <div className={cn('_native-select', classNames?.wrapper)}>\n {label && (\n <Label htmlFor={id} className={classNames?.label} required={required}>\n {label}\n </Label>\n )}\n\n <select\n {...selectProps}\n id={id}\n name={name}\n autoComplete={id}\n className={cn(\n 'flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n classNames?.input ?? '',\n )}\n required={required}\n disabled={disabled}\n defaultValue={defaultValue}\n {...others}\n >\n {_options.map((option, index) => {\n return (\n <option\n key={option.value}\n value={option.value}\n // Unfortunately, the selected prop is not properly set at the nested component level.\n // use `defaultValue` in select element.\n // selected={defaultValue ? defaultValue === option.value : index === 0}\n >\n {option.label}\n </option>\n );\n })}\n </select>\n </div>\n );\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import React__default from 'react';
2
+ import { FieldValues, Path, RegisterOptions } from 'react-hook-form';
3
+ import { FormNativeSelectProps } from './native-select.mjs';
4
+
5
+ declare function HookFormNativeSelect<T extends FieldValues>({ id, name, rules, label, error, classNames, disabled, ...others }: Omit<FormNativeSelectProps, 'name' | 'selectProps'> & {
6
+ name: Path<T>;
7
+ rules?: RegisterOptions<T, Path<T>> | undefined;
8
+ error?: string;
9
+ }): React__default.JSX.Element | null;
10
+
11
+ export { HookFormNativeSelect };
@@ -0,0 +1,11 @@
1
+ import React__default from 'react';
2
+ import { FieldValues, Path, RegisterOptions } from 'react-hook-form';
3
+ import { FormNativeSelectProps } from './native-select.js';
4
+
5
+ declare function HookFormNativeSelect<T extends FieldValues>({ id, name, rules, label, error, classNames, disabled, ...others }: Omit<FormNativeSelectProps, 'name' | 'selectProps'> & {
6
+ name: Path<T>;
7
+ rules?: RegisterOptions<T, Path<T>> | undefined;
8
+ error?: string;
9
+ }): React__default.JSX.Element | null;
10
+
11
+ export { HookFormNativeSelect };
@@ -0,0 +1,72 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }"use client";
2
+
3
+
4
+ var _chunkZHHY5JVVjs = require('../../chunk-ZHHY5JVV.js');
5
+ require('../../chunk-AXZDZXCY.js');
6
+
7
+
8
+ var _chunkP2BPVQXHjs = require('../../chunk-P2BPVQXH.js');
9
+
10
+
11
+ var _chunkB2G2EZ4Pjs = require('../../chunk-B2G2EZ4P.js');
12
+
13
+
14
+
15
+
16
+ var _chunk2NMEKWO5js = require('../../chunk-2NMEKWO5.js');
17
+
18
+ // components/form/hook-native-select.tsx
19
+ var _react = require('react'); var _react2 = _interopRequireDefault(_react);
20
+ var _get2 = require('lodash-es/get'); var _get3 = _interopRequireDefault(_get2);
21
+ var _reacthookform = require('react-hook-form');
22
+ function HookFormNativeSelect(_a) {
23
+ var _b = _a, {
24
+ id,
25
+ name,
26
+ rules,
27
+ label,
28
+ error,
29
+ classNames,
30
+ disabled
31
+ } = _b, others = _chunk2NMEKWO5js.__objRest.call(void 0, _b, [
32
+ "id",
33
+ "name",
34
+ "rules",
35
+ "label",
36
+ "error",
37
+ "classNames",
38
+ "disabled"
39
+ ]);
40
+ const methods = _reacthookform.useFormContext.call(void 0, );
41
+ if (!methods) return null;
42
+ const {
43
+ register,
44
+ formState: { errors }
45
+ } = methods;
46
+ const fieldError = _get3.default.call(void 0, errors, name);
47
+ const errorMessage = error != null ? error : fieldError && String(fieldError == null ? void 0 : fieldError.message);
48
+ const showError = !!fieldError && !disabled;
49
+ return /* @__PURE__ */ _react2.default.createElement("div", { className: classNames == null ? void 0 : classNames.wrapper }, /* @__PURE__ */ _react2.default.createElement(
50
+ _chunkZHHY5JVVjs.FormNativeSelect,
51
+ _chunk2NMEKWO5js.__spreadProps.call(void 0, _chunk2NMEKWO5js.__spreadValues.call(void 0, {
52
+ id,
53
+ name,
54
+ label,
55
+ disabled
56
+ }, others), {
57
+ classNames: {
58
+ label: _chunkB2G2EZ4Pjs.cn.call(void 0, classNames == null ? void 0 : classNames.label, {
59
+ "text-danger": showError
60
+ }),
61
+ input: _chunkB2G2EZ4Pjs.cn.call(void 0, classNames == null ? void 0 : classNames.input, {
62
+ "ring-danger text-danger": showError
63
+ })
64
+ },
65
+ selectProps: register(name, rules)
66
+ })
67
+ ), showError && /* @__PURE__ */ _react2.default.createElement(_chunkP2BPVQXHjs.FormError, { field: name, className: "mt-1", message: errorMessage }));
68
+ }
69
+
70
+
71
+ exports.HookFormNativeSelect = HookFormNativeSelect;
72
+ //# sourceMappingURL=hook-native-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/components/form/hook-native-select.js","../../../components/form/hook-native-select.tsx"],"names":[],"mappings":"AAAA,qLAAY;AACZ;AACE;AACF,0DAAgC;AAChC,mCAAgC;AAChC;AACE;AACF,0DAAgC;AAChC;AACE;AACF,0DAAgC;AAChC;AACE;AACA;AACA;AACF,0DAAgC;AAChC;AACA;ACfA,4EAAkB;AAClB,gFAAiB;AACjB,gDAAmE;AAM5D,SAAS,oBAAA,CAA4C,EAAA,EAazD;AAbyD,EAAA,IAAA,GAAA,EAAA,EAAA,EAC1D;AAAA,IAAA,EAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,EAjBF,EAAA,EAU4D,EAAA,EAQvD,OAAA,EAAA,wCAAA,EARuD,EAQvD;AAAA,IAPH,IAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,EAAA,CAAA,CAAA;AAOA,EAAA,MAAM,QAAA,EAAU,2CAAA,CAAkB;AAClC,EAAA,GAAA,CAAI,CAAC,OAAA,EAAS,OAAO,IAAA;AAErB,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,SAAA,EAAW,EAAE,OAAO;AAAA,EACtB,EAAA,EAAI,OAAA;AAEJ,EAAA,MAAM,WAAA,EAAa,2BAAA,MAAK,EAAQ,IAAI,CAAA;AACpC,EAAA,MAAM,aAAA,EAAe,MAAA,GAAA,KAAA,EAAA,MAAA,EAAU,WAAA,GAAc,MAAA,CAAO,WAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,OAAO,CAAA;AACvE,EAAA,MAAM,UAAA,EAAY,CAAC,CAAC,WAAA,GAAc,CAAC,QAAA;AAEnC,EAAA,uBACE,eAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,WAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,QAAA,CAAA,kBAC1B,eAAA,CAAA,aAAA;AAAA,IAAC,iCAAA;AAAA,IAAA,4CAAA,6CAAA;AAAA,MACC,EAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA;AAAA,MACA;AAAA,IAAA,CAAA,EACI,MAAA,CAAA,EALL;AAAA,MAMC,UAAA,EAAY;AAAA,QACV,KAAA,EAAO,iCAAA,WAAG,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,KAAA,EAAO;AAAA,UAC3B,aAAA,EAAe;AAAA,QACjB,CAAC,CAAA;AAAA,QACD,KAAA,EAAO,iCAAA,WAAG,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,KAAA,EAAO;AAAA,UAC3B,yBAAA,EAA2B;AAAA,QAC7B,CAAC;AAAA,MACH,CAAA;AAAA,MACA,WAAA,EAAa,QAAA,CAAS,IAAA,EAAM,KAAK;AAAA,IAAA,CAAA;AAAA,EACnC,CAAA,EACC,UAAA,mBAAa,eAAA,CAAA,aAAA,CAAC,0BAAA,EAAA,EAAU,KAAA,EAAO,IAAA,EAAM,SAAA,EAAU,MAAA,EAAO,OAAA,EAAS,aAAA,CAAc,CAChF,CAAA;AAEJ;ADWA;AACE;AACF,oDAAC","file":"/home/ahnjun/projects/egose-shadcn/package/dist/components/form/hook-native-select.js","sourcesContent":[null,"'use client';\n\nimport React from 'react';\nimport _get from 'lodash-es/get';\nimport { FieldValues, RegisterOptions, Path, useFormContext } from 'react-hook-form';\nimport { cn } from '../../lib/utils';\nimport { FormError } from './error';\nimport { FormNativeSelect } from './native-select';\nimport type { FormNativeSelectProps } from './native-select';\n\nexport function HookFormNativeSelect<T extends FieldValues>({\n id,\n name,\n rules,\n label,\n error,\n classNames,\n disabled,\n ...others\n}: Omit<FormNativeSelectProps, 'name' | 'selectProps'> & {\n name: Path<T>;\n rules?: RegisterOptions<T, Path<T>> | undefined;\n error?: string;\n}) {\n const methods = useFormContext<T>();\n if (!methods) return null;\n\n const {\n register,\n formState: { errors },\n } = methods;\n\n const fieldError = _get(errors, name);\n const errorMessage = error ?? (fieldError && String(fieldError?.message));\n const showError = !!fieldError && !disabled;\n\n return (\n <div className={classNames?.wrapper}>\n <FormNativeSelect\n id={id}\n name={name}\n label={label}\n disabled={disabled}\n {...others}\n classNames={{\n label: cn(classNames?.label, {\n 'text-danger': showError,\n }),\n input: cn(classNames?.input, {\n 'ring-danger text-danger': showError,\n }),\n }}\n selectProps={register(name, rules)}\n />\n {showError && <FormError field={name} className=\"mt-1\" message={errorMessage} />}\n </div>\n );\n}\n"]}
@@ -0,0 +1,72 @@
1
+ "use client";
2
+ import {
3
+ FormNativeSelect
4
+ } from "../../chunk-LFW2GKN3.mjs";
5
+ import "../../chunk-7W42BHVK.mjs";
6
+ import {
7
+ FormError
8
+ } from "../../chunk-WGV3SHLF.mjs";
9
+ import {
10
+ cn
11
+ } from "../../chunk-3ONILUYO.mjs";
12
+ import {
13
+ __objRest,
14
+ __spreadProps,
15
+ __spreadValues
16
+ } from "../../chunk-YOSPWY5K.mjs";
17
+
18
+ // components/form/hook-native-select.tsx
19
+ import React from "react";
20
+ import _get from "lodash-es/get";
21
+ import { useFormContext } from "react-hook-form";
22
+ function HookFormNativeSelect(_a) {
23
+ var _b = _a, {
24
+ id,
25
+ name,
26
+ rules,
27
+ label,
28
+ error,
29
+ classNames,
30
+ disabled
31
+ } = _b, others = __objRest(_b, [
32
+ "id",
33
+ "name",
34
+ "rules",
35
+ "label",
36
+ "error",
37
+ "classNames",
38
+ "disabled"
39
+ ]);
40
+ const methods = useFormContext();
41
+ if (!methods) return null;
42
+ const {
43
+ register,
44
+ formState: { errors }
45
+ } = methods;
46
+ const fieldError = _get(errors, name);
47
+ const errorMessage = error != null ? error : fieldError && String(fieldError == null ? void 0 : fieldError.message);
48
+ const showError = !!fieldError && !disabled;
49
+ return /* @__PURE__ */ React.createElement("div", { className: classNames == null ? void 0 : classNames.wrapper }, /* @__PURE__ */ React.createElement(
50
+ FormNativeSelect,
51
+ __spreadProps(__spreadValues({
52
+ id,
53
+ name,
54
+ label,
55
+ disabled
56
+ }, others), {
57
+ classNames: {
58
+ label: cn(classNames == null ? void 0 : classNames.label, {
59
+ "text-danger": showError
60
+ }),
61
+ input: cn(classNames == null ? void 0 : classNames.input, {
62
+ "ring-danger text-danger": showError
63
+ })
64
+ },
65
+ selectProps: register(name, rules)
66
+ })
67
+ ), showError && /* @__PURE__ */ React.createElement(FormError, { field: name, className: "mt-1", message: errorMessage }));
68
+ }
69
+ export {
70
+ HookFormNativeSelect
71
+ };
72
+ //# sourceMappingURL=hook-native-select.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../components/form/hook-native-select.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\nimport _get from 'lodash-es/get';\nimport { FieldValues, RegisterOptions, Path, useFormContext } from 'react-hook-form';\nimport { cn } from '../../lib/utils';\nimport { FormError } from './error';\nimport { FormNativeSelect } from './native-select';\nimport type { FormNativeSelectProps } from './native-select';\n\nexport function HookFormNativeSelect<T extends FieldValues>({\n id,\n name,\n rules,\n label,\n error,\n classNames,\n disabled,\n ...others\n}: Omit<FormNativeSelectProps, 'name' | 'selectProps'> & {\n name: Path<T>;\n rules?: RegisterOptions<T, Path<T>> | undefined;\n error?: string;\n}) {\n const methods = useFormContext<T>();\n if (!methods) return null;\n\n const {\n register,\n formState: { errors },\n } = methods;\n\n const fieldError = _get(errors, name);\n const errorMessage = error ?? (fieldError && String(fieldError?.message));\n const showError = !!fieldError && !disabled;\n\n return (\n <div className={classNames?.wrapper}>\n <FormNativeSelect\n id={id}\n name={name}\n label={label}\n disabled={disabled}\n {...others}\n classNames={{\n label: cn(classNames?.label, {\n 'text-danger': showError,\n }),\n input: cn(classNames?.input, {\n 'ring-danger text-danger': showError,\n }),\n }}\n selectProps={register(name, rules)}\n />\n {showError && <FormError field={name} className=\"mt-1\" message={errorMessage} />}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAEA,OAAO,WAAW;AAClB,OAAO,UAAU;AACjB,SAA6C,sBAAsB;AAM5D,SAAS,qBAA4C,IAazD;AAbyD,eAC1D;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAjBF,IAU4D,IAQvD,mBARuD,IAQvD;AAAA,IAPH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAOA,QAAM,UAAU,eAAkB;AAClC,MAAI,CAAC,QAAS,QAAO;AAErB,QAAM;AAAA,IACJ;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,EACtB,IAAI;AAEJ,QAAM,aAAa,KAAK,QAAQ,IAAI;AACpC,QAAM,eAAe,wBAAU,cAAc,OAAO,yCAAY,OAAO;AACvE,QAAM,YAAY,CAAC,CAAC,cAAc,CAAC;AAEnC,SACE,oCAAC,SAAI,WAAW,yCAAY,WAC1B;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,OACI,SALL;AAAA,MAMC,YAAY;AAAA,QACV,OAAO,GAAG,yCAAY,OAAO;AAAA,UAC3B,eAAe;AAAA,QACjB,CAAC;AAAA,QACD,OAAO,GAAG,yCAAY,OAAO;AAAA,UAC3B,2BAA2B;AAAA,QAC7B,CAAC;AAAA,MACH;AAAA,MACA,aAAa,SAAS,MAAM,KAAK;AAAA;AAAA,EACnC,GACC,aAAa,oCAAC,aAAU,OAAO,MAAM,WAAU,QAAO,SAAS,cAAc,CAChF;AAEJ;","names":[]}
@@ -1,11 +1,12 @@
1
1
  import React__default from 'react';
2
- import { FieldValues, Path, RegisterOptions } from 'react-hook-form';
2
+ import { FieldValues, Path } from 'react-hook-form';
3
3
  import { FormSelectProps } from './select.mjs';
4
+ import { HookFormRules } from './types.mjs';
4
5
 
5
- declare function HookFormSelect<T extends FieldValues>({ id, name, options, label, error, classNames, disabled, ...others }: Omit<FormSelectProps, 'name' | 'selectProps'> & {
6
+ declare function HookFormSelect<T extends FieldValues>({ id, name, label, error, rules, classNames, disabled, ...others }: Omit<FormSelectProps, 'name' | 'onChange' | 'value'> & {
7
+ rules?: HookFormRules<T>;
6
8
  name: Path<T>;
7
- options?: RegisterOptions<T, Path<T>> | undefined;
8
9
  error?: string;
9
- }): React__default.JSX.Element | null;
10
+ }): React__default.JSX.Element;
10
11
 
11
12
  export { HookFormSelect };
@@ -1,11 +1,12 @@
1
1
  import React__default from 'react';
2
- import { FieldValues, Path, RegisterOptions } from 'react-hook-form';
2
+ import { FieldValues, Path } from 'react-hook-form';
3
3
  import { FormSelectProps } from './select.js';
4
+ import { HookFormRules } from './types.js';
4
5
 
5
- declare function HookFormSelect<T extends FieldValues>({ id, name, options, label, error, classNames, disabled, ...others }: Omit<FormSelectProps, 'name' | 'selectProps'> & {
6
+ declare function HookFormSelect<T extends FieldValues>({ id, name, label, error, rules, classNames, disabled, ...others }: Omit<FormSelectProps, 'name' | 'onChange' | 'value'> & {
7
+ rules?: HookFormRules<T>;
6
8
  name: Path<T>;
7
- options?: RegisterOptions<T, Path<T>> | undefined;
8
9
  error?: string;
9
- }): React__default.JSX.Element | null;
10
+ }): React__default.JSX.Element;
10
11
 
11
12
  export { HookFormSelect };
@@ -1,7 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }"use client";
2
2
 
3
3
 
4
- var _chunkRUACSQT3js = require('../../chunk-RUACSQT3.js');
4
+ var _chunkPGE7GQZCjs = require('../../chunk-PGE7GQZC.js');
5
+ require('../../chunk-7SHQOSBJ.js');
5
6
  require('../../chunk-AXZDZXCY.js');
6
7
 
7
8
 
@@ -17,54 +18,50 @@ var _chunk2NMEKWO5js = require('../../chunk-2NMEKWO5.js');
17
18
 
18
19
  // components/form/hook-select.tsx
19
20
  var _react = require('react'); var _react2 = _interopRequireDefault(_react);
20
- var _get2 = require('lodash-es/get'); var _get3 = _interopRequireDefault(_get2);
21
21
  var _reacthookform = require('react-hook-form');
22
22
  function HookFormSelect(_a) {
23
23
  var _b = _a, {
24
24
  id,
25
25
  name,
26
- options,
27
26
  label,
28
27
  error,
28
+ rules,
29
29
  classNames,
30
- disabled
30
+ disabled = false
31
31
  } = _b, others = _chunk2NMEKWO5js.__objRest.call(void 0, _b, [
32
32
  "id",
33
33
  "name",
34
- "options",
35
34
  "label",
36
35
  "error",
36
+ "rules",
37
37
  "classNames",
38
38
  "disabled"
39
39
  ]);
40
- const methods = _reacthookform.useFormContext.call(void 0, );
41
- if (!methods) return null;
42
- const {
43
- register,
44
- formState: { errors }
45
- } = methods;
46
- const fieldError = _get3.default.call(void 0, errors, name);
47
- const errorMessage = error != null ? error : fieldError && String(fieldError == null ? void 0 : fieldError.message);
48
- const showError = !!fieldError && !disabled;
49
- return /* @__PURE__ */ _react2.default.createElement("div", { className: classNames == null ? void 0 : classNames.wrapper }, /* @__PURE__ */ _react2.default.createElement(
50
- _chunkRUACSQT3js.FormSelect,
51
- _chunk2NMEKWO5js.__spreadProps.call(void 0, _chunk2NMEKWO5js.__spreadValues.call(void 0, {
52
- id,
40
+ const { control } = _reacthookform.useFormContext.call(void 0, );
41
+ const _a2 = classNames != null ? classNames : {}, { wrapper } = _a2, restClassnames = _chunk2NMEKWO5js.__objRest.call(void 0, _a2, ["wrapper"]);
42
+ return /* @__PURE__ */ _react2.default.createElement("div", { className: _chunkB2G2EZ4Pjs.cn.call(void 0, "_hook-select", wrapper) }, /* @__PURE__ */ _react2.default.createElement(
43
+ _reacthookform.Controller,
44
+ {
45
+ control,
53
46
  name,
54
- label,
55
- disabled
56
- }, others), {
57
- classNames: {
58
- label: _chunkB2G2EZ4Pjs.cn.call(void 0, classNames == null ? void 0 : classNames.label, {
59
- "text-danger": showError
60
- }),
61
- input: _chunkB2G2EZ4Pjs.cn.call(void 0, classNames == null ? void 0 : classNames.input, {
62
- "ring-danger text-danger": showError
63
- })
64
- },
65
- selectProps: register(name, options)
66
- })
67
- ), showError && /* @__PURE__ */ _react2.default.createElement(_chunkP2BPVQXHjs.FormError, { field: name, className: "mt-1", message: errorMessage }));
47
+ rules,
48
+ render: ({ field: { onChange, onBlur, value } }) => {
49
+ return /* @__PURE__ */ _react2.default.createElement(
50
+ _chunkPGE7GQZCjs.FormSelect,
51
+ _chunk2NMEKWO5js.__spreadProps.call(void 0, _chunk2NMEKWO5js.__spreadValues.call(void 0, {
52
+ id,
53
+ name,
54
+ label,
55
+ onChange,
56
+ value,
57
+ disabled
58
+ }, others), {
59
+ classNames: restClassnames
60
+ })
61
+ );
62
+ }
63
+ }
64
+ ), /* @__PURE__ */ _react2.default.createElement(_chunkP2BPVQXHjs.FormError, { field: name, className: "mt-1", message: error }));
68
65
  }
69
66
 
70
67
 
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/components/form/hook-select.js","../../../components/form/hook-select.tsx"],"names":[],"mappings":"AAAA,qLAAY;AACZ;AACE;AACF,0DAAgC;AAChC,mCAAgC;AAChC;AACE;AACF,0DAAgC;AAChC;AACE;AACF,0DAAgC;AAChC;AACE;AACA;AACA;AACF,0DAAgC;AAChC;AACA;ACfA,4EAAkB;AAClB,gFAAiB;AACjB,gDAAmE;AAM5D,SAAS,cAAA,CAAsC,EAAA,EAanD;AAbmD,EAAA,IAAA,GAAA,EAAA,EAAA,EACpD;AAAA,IAAA,EAAA;AAAA,IACA,IAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,EAjBF,EAAA,EAUsD,EAAA,EAQjD,OAAA,EAAA,wCAAA,EARiD,EAQjD;AAAA,IAPH,IAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,EAAA,CAAA,CAAA;AAOA,EAAA,MAAM,QAAA,EAAU,2CAAA,CAAkB;AAClC,EAAA,GAAA,CAAI,CAAC,OAAA,EAAS,OAAO,IAAA;AAErB,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,SAAA,EAAW,EAAE,OAAO;AAAA,EACtB,EAAA,EAAI,OAAA;AAEJ,EAAA,MAAM,WAAA,EAAa,2BAAA,MAAK,EAAQ,IAAI,CAAA;AACpC,EAAA,MAAM,aAAA,EAAe,MAAA,GAAA,KAAA,EAAA,MAAA,EAAU,WAAA,GAAc,MAAA,CAAO,WAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,OAAO,CAAA;AACvE,EAAA,MAAM,UAAA,EAAY,CAAC,CAAC,WAAA,GAAc,CAAC,QAAA;AAEnC,EAAA,uBACE,eAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,WAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,QAAA,CAAA,kBAC1B,eAAA,CAAA,aAAA;AAAA,IAAC,2BAAA;AAAA,IAAA,4CAAA,6CAAA;AAAA,MACC,EAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA;AAAA,MACA;AAAA,IAAA,CAAA,EACI,MAAA,CAAA,EALL;AAAA,MAMC,UAAA,EAAY;AAAA,QACV,KAAA,EAAO,iCAAA,WAAG,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,KAAA,EAAO;AAAA,UAC3B,aAAA,EAAe;AAAA,QACjB,CAAC,CAAA;AAAA,QACD,KAAA,EAAO,iCAAA,WAAG,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,KAAA,EAAO;AAAA,UAC3B,yBAAA,EAA2B;AAAA,QAC7B,CAAC;AAAA,MACH,CAAA;AAAA,MACA,WAAA,EAAa,QAAA,CAAS,IAAA,EAAM,OAAO;AAAA,IAAA,CAAA;AAAA,EACrC,CAAA,EACC,UAAA,mBAAa,eAAA,CAAA,aAAA,CAAC,0BAAA,EAAA,EAAU,KAAA,EAAO,IAAA,EAAM,SAAA,EAAU,MAAA,EAAO,OAAA,EAAS,aAAA,CAAc,CAChF,CAAA;AAEJ;ADWA;AACE;AACF,wCAAC","file":"/home/ahnjun/projects/egose-shadcn/package/dist/components/form/hook-select.js","sourcesContent":[null,"'use client';\n\nimport React from 'react';\nimport _get from 'lodash-es/get';\nimport { FieldValues, RegisterOptions, Path, useFormContext } from 'react-hook-form';\nimport { cn } from '../../lib/utils';\nimport { FormError } from './error';\nimport { FormSelect } from './select';\nimport type { FormSelectProps } from './select';\n\nexport function HookFormSelect<T extends FieldValues>({\n id,\n name,\n options,\n label,\n error,\n classNames,\n disabled,\n ...others\n}: Omit<FormSelectProps, 'name' | 'selectProps'> & {\n name: Path<T>;\n options?: RegisterOptions<T, Path<T>> | undefined;\n error?: string;\n}) {\n const methods = useFormContext<T>();\n if (!methods) return null;\n\n const {\n register,\n formState: { errors },\n } = methods;\n\n const fieldError = _get(errors, name);\n const errorMessage = error ?? (fieldError && String(fieldError?.message));\n const showError = !!fieldError && !disabled;\n\n return (\n <div className={classNames?.wrapper}>\n <FormSelect\n id={id}\n name={name}\n label={label}\n disabled={disabled}\n {...others}\n classNames={{\n label: cn(classNames?.label, {\n 'text-danger': showError,\n }),\n input: cn(classNames?.input, {\n 'ring-danger text-danger': showError,\n }),\n }}\n selectProps={register(name, options)}\n />\n {showError && <FormError field={name} className=\"mt-1\" message={errorMessage} />}\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/components/form/hook-select.js","../../../components/form/hook-select.tsx"],"names":["_a"],"mappings":"AAAA,qLAAY;AACZ;AACE;AACF,0DAAgC;AAChC,mCAAgC;AAChC,mCAAgC;AAChC;AACE;AACF,0DAAgC;AAChC;AACE;AACF,0DAAgC;AAChC;AACE;AACA;AACA;AACF,0DAAgC;AAChC;AACA;AChBA,4EAAkB;AAClB,gDAA8D;AAUvD,SAAS,cAAA,CAAsC,EAAA,EAanD;AAbmD,EAAA,IAAA,GAAA,EAAA,EAAA,EACpD;AAAA,IAAA,EAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA,EAAW;AAAA,EApBb,EAAA,EAasD,EAAA,EAQjD,OAAA,EAAA,wCAAA,EARiD,EAQjD;AAAA,IAPH,IAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,EAAA,CAAA,CAAA;AAOA,EAAA,MAAM,EAAE,QAAQ,EAAA,EAAI,2CAAA,CAAkB;AACtC,EAAA,MAAuCA,IAAAA,EAAA,WAAA,GAAA,KAAA,EAAA,WAAA,EAAc,CAAC,CAAA,EAA9C,EAAA,QA5BV,EAAA,EA4ByCA,GAAAA,EAAnB,eAAA,EAAA,wCAAA,GAAmBA,EAAnB,CAAZ,SAAA,CAAA,CAAA;AAER,EAAA,uBACE,eAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,iCAAA,cAAG,EAAgB,OAAO,EAAA,CAAA,kBACxC,eAAA,CAAA,aAAA;AAAA,IAAC,yBAAA;AAAA,IAAA;AAAA,MACC,OAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA;AAAA,MACA,MAAA,EAAQ,CAAC,EAAE,KAAA,EAAO,EAAE,QAAA,EAAU,MAAA,EAAQ,MAAM,EAAE,CAAA,EAAA,GAAM;AAClD,QAAA,uBACE,eAAA,CAAA,aAAA;AAAA,UAAC,2BAAA;AAAA,UAAA,4CAAA,6CAAA;AAAA,YACC,EAAA;AAAA,YACA,IAAA;AAAA,YACA,KAAA;AAAA,YACA,QAAA;AAAA,YACA,KAAA;AAAA,YACA;AAAA,UAAA,CAAA,EACI,MAAA,CAAA,EAPL;AAAA,YAQC,UAAA,EAAY;AAAA,UAAA,CAAA;AAAA,QACd,CAAA;AAAA,MAEJ;AAAA,IAAA;AAAA,EACF,CAAA,kBACA,eAAA,CAAA,aAAA,CAAC,0BAAA,EAAA,EAAU,KAAA,EAAO,IAAA,EAAM,SAAA,EAAU,MAAA,EAAO,OAAA,EAAS,MAAA,CAAO,CAC3D,CAAA;AAEJ;ADWA;AACE;AACF,wCAAC","file":"/home/ahnjun/projects/egose-shadcn/package/dist/components/form/hook-select.js","sourcesContent":[null,"'use client';\n\nimport React from 'react';\nimport { Controller, FieldValues, Path, useFormContext } from 'react-hook-form';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport _isNil from 'lodash-es/isNil';\n\nimport { cn } from '../../lib/utils';\nimport { FormError } from './error';\nimport { FormSelect } from './select';\nimport type { FormSelectProps } from './select';\nimport type { HookFormRules } from './types';\n\nexport function HookFormSelect<T extends FieldValues>({\n id,\n name,\n label,\n error,\n rules,\n classNames,\n disabled = false,\n ...others\n}: Omit<FormSelectProps, 'name' | 'onChange' | 'value'> & {\n rules?: HookFormRules<T>;\n name: Path<T>;\n error?: string;\n}) {\n const { control } = useFormContext<T>();\n const { wrapper, ...restClassnames } = classNames ?? {};\n\n return (\n <div className={cn('_hook-select', wrapper)}>\n <Controller\n control={control}\n name={name}\n rules={rules}\n render={({ field: { onChange, onBlur, value } }) => {\n return (\n <FormSelect\n id={id}\n name={name}\n label={label}\n onChange={onChange}\n value={value}\n disabled={disabled}\n {...others}\n classNames={restClassnames}\n />\n );\n }}\n />\n <FormError field={name} className=\"mt-1\" message={error} />\n </div>\n );\n}\n"]}
@@ -1,7 +1,8 @@
1
1
  "use client";
2
2
  import {
3
3
  FormSelect
4
- } from "../../chunk-4J7ZCWRI.mjs";
4
+ } from "../../chunk-Y6WBDYJY.mjs";
5
+ import "../../chunk-CEJOC6JT.mjs";
5
6
  import "../../chunk-7W42BHVK.mjs";
6
7
  import {
7
8
  FormError
@@ -17,54 +18,50 @@ import {
17
18
 
18
19
  // components/form/hook-select.tsx
19
20
  import React from "react";
20
- import _get from "lodash-es/get";
21
- import { useFormContext } from "react-hook-form";
21
+ import { Controller, useFormContext } from "react-hook-form";
22
22
  function HookFormSelect(_a) {
23
23
  var _b = _a, {
24
24
  id,
25
25
  name,
26
- options,
27
26
  label,
28
27
  error,
28
+ rules,
29
29
  classNames,
30
- disabled
30
+ disabled = false
31
31
  } = _b, others = __objRest(_b, [
32
32
  "id",
33
33
  "name",
34
- "options",
35
34
  "label",
36
35
  "error",
36
+ "rules",
37
37
  "classNames",
38
38
  "disabled"
39
39
  ]);
40
- const methods = useFormContext();
41
- if (!methods) return null;
42
- const {
43
- register,
44
- formState: { errors }
45
- } = methods;
46
- const fieldError = _get(errors, name);
47
- const errorMessage = error != null ? error : fieldError && String(fieldError == null ? void 0 : fieldError.message);
48
- const showError = !!fieldError && !disabled;
49
- return /* @__PURE__ */ React.createElement("div", { className: classNames == null ? void 0 : classNames.wrapper }, /* @__PURE__ */ React.createElement(
50
- FormSelect,
51
- __spreadProps(__spreadValues({
52
- id,
40
+ const { control } = useFormContext();
41
+ const _a2 = classNames != null ? classNames : {}, { wrapper } = _a2, restClassnames = __objRest(_a2, ["wrapper"]);
42
+ return /* @__PURE__ */ React.createElement("div", { className: cn("_hook-select", wrapper) }, /* @__PURE__ */ React.createElement(
43
+ Controller,
44
+ {
45
+ control,
53
46
  name,
54
- label,
55
- disabled
56
- }, others), {
57
- classNames: {
58
- label: cn(classNames == null ? void 0 : classNames.label, {
59
- "text-danger": showError
60
- }),
61
- input: cn(classNames == null ? void 0 : classNames.input, {
62
- "ring-danger text-danger": showError
63
- })
64
- },
65
- selectProps: register(name, options)
66
- })
67
- ), showError && /* @__PURE__ */ React.createElement(FormError, { field: name, className: "mt-1", message: errorMessage }));
47
+ rules,
48
+ render: ({ field: { onChange, onBlur, value } }) => {
49
+ return /* @__PURE__ */ React.createElement(
50
+ FormSelect,
51
+ __spreadProps(__spreadValues({
52
+ id,
53
+ name,
54
+ label,
55
+ onChange,
56
+ value,
57
+ disabled
58
+ }, others), {
59
+ classNames: restClassnames
60
+ })
61
+ );
62
+ }
63
+ }
64
+ ), /* @__PURE__ */ React.createElement(FormError, { field: name, className: "mt-1", message: error }));
68
65
  }
69
66
  export {
70
67
  HookFormSelect
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/form/hook-select.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\nimport _get from 'lodash-es/get';\nimport { FieldValues, RegisterOptions, Path, useFormContext } from 'react-hook-form';\nimport { cn } from '../../lib/utils';\nimport { FormError } from './error';\nimport { FormSelect } from './select';\nimport type { FormSelectProps } from './select';\n\nexport function HookFormSelect<T extends FieldValues>({\n id,\n name,\n options,\n label,\n error,\n classNames,\n disabled,\n ...others\n}: Omit<FormSelectProps, 'name' | 'selectProps'> & {\n name: Path<T>;\n options?: RegisterOptions<T, Path<T>> | undefined;\n error?: string;\n}) {\n const methods = useFormContext<T>();\n if (!methods) return null;\n\n const {\n register,\n formState: { errors },\n } = methods;\n\n const fieldError = _get(errors, name);\n const errorMessage = error ?? (fieldError && String(fieldError?.message));\n const showError = !!fieldError && !disabled;\n\n return (\n <div className={classNames?.wrapper}>\n <FormSelect\n id={id}\n name={name}\n label={label}\n disabled={disabled}\n {...others}\n classNames={{\n label: cn(classNames?.label, {\n 'text-danger': showError,\n }),\n input: cn(classNames?.input, {\n 'ring-danger text-danger': showError,\n }),\n }}\n selectProps={register(name, options)}\n />\n {showError && <FormError field={name} className=\"mt-1\" message={errorMessage} />}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAEA,OAAO,WAAW;AAClB,OAAO,UAAU;AACjB,SAA6C,sBAAsB;AAM5D,SAAS,eAAsC,IAanD;AAbmD,eACpD;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAjBF,IAUsD,IAQjD,mBARiD,IAQjD;AAAA,IAPH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAOA,QAAM,UAAU,eAAkB;AAClC,MAAI,CAAC,QAAS,QAAO;AAErB,QAAM;AAAA,IACJ;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,EACtB,IAAI;AAEJ,QAAM,aAAa,KAAK,QAAQ,IAAI;AACpC,QAAM,eAAe,wBAAU,cAAc,OAAO,yCAAY,OAAO;AACvE,QAAM,YAAY,CAAC,CAAC,cAAc,CAAC;AAEnC,SACE,oCAAC,SAAI,WAAW,yCAAY,WAC1B;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,OACI,SALL;AAAA,MAMC,YAAY;AAAA,QACV,OAAO,GAAG,yCAAY,OAAO;AAAA,UAC3B,eAAe;AAAA,QACjB,CAAC;AAAA,QACD,OAAO,GAAG,yCAAY,OAAO;AAAA,UAC3B,2BAA2B;AAAA,QAC7B,CAAC;AAAA,MACH;AAAA,MACA,aAAa,SAAS,MAAM,OAAO;AAAA;AAAA,EACrC,GACC,aAAa,oCAAC,aAAU,OAAO,MAAM,WAAU,QAAO,SAAS,cAAc,CAChF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../components/form/hook-select.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\nimport { Controller, FieldValues, Path, useFormContext } from 'react-hook-form';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport _isNil from 'lodash-es/isNil';\n\nimport { cn } from '../../lib/utils';\nimport { FormError } from './error';\nimport { FormSelect } from './select';\nimport type { FormSelectProps } from './select';\nimport type { HookFormRules } from './types';\n\nexport function HookFormSelect<T extends FieldValues>({\n id,\n name,\n label,\n error,\n rules,\n classNames,\n disabled = false,\n ...others\n}: Omit<FormSelectProps, 'name' | 'onChange' | 'value'> & {\n rules?: HookFormRules<T>;\n name: Path<T>;\n error?: string;\n}) {\n const { control } = useFormContext<T>();\n const { wrapper, ...restClassnames } = classNames ?? {};\n\n return (\n <div className={cn('_hook-select', wrapper)}>\n <Controller\n control={control}\n name={name}\n rules={rules}\n render={({ field: { onChange, onBlur, value } }) => {\n return (\n <FormSelect\n id={id}\n name={name}\n label={label}\n onChange={onChange}\n value={value}\n disabled={disabled}\n {...others}\n classNames={restClassnames}\n />\n );\n }}\n />\n <FormError field={name} className=\"mt-1\" message={error} />\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAEA,OAAO,WAAW;AAClB,SAAS,YAA+B,sBAAsB;AAUvD,SAAS,eAAsC,IAanD;AAbmD,eACpD;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,EApBb,IAasD,IAQjD,mBARiD,IAQjD;AAAA,IAPH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAOA,QAAM,EAAE,QAAQ,IAAI,eAAkB;AACtC,QAAuCA,MAAA,kCAAc,CAAC,GAA9C,UA5BV,IA4ByCA,KAAnB,2BAAmBA,KAAnB,CAAZ;AAER,SACE,oCAAC,SAAI,WAAW,GAAG,gBAAgB,OAAO,KACxC;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,QAAQ,MAAM,EAAE,MAAM;AAClD,eACE;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,aACI,SAPL;AAAA,YAQC,YAAY;AAAA;AAAA,QACd;AAAA,MAEJ;AAAA;AAAA,EACF,GACA,oCAAC,aAAU,OAAO,MAAM,WAAU,QAAO,SAAS,OAAO,CAC3D;AAEJ;","names":["_a"]}