period-ui 0.2.25 → 0.3.1

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 (185) hide show
  1. package/dist/components/atoms/base-input/base-input.d.ts +8 -0
  2. package/dist/components/atoms/base-input/base-input.d.ts.map +1 -0
  3. package/dist/components/atoms/base-input/base-input.js +26 -0
  4. package/dist/components/atoms/base-input/base-input.js.map +1 -0
  5. package/dist/components/atoms/base-input/index.d.ts +2 -0
  6. package/dist/components/atoms/base-input/index.d.ts.map +1 -0
  7. package/dist/components/{molecules/modal/full-screen-modal → atoms/base-input}/index.js +1 -1
  8. package/dist/components/atoms/base-input/index.js.map +1 -0
  9. package/dist/components/atoms/date-picker/use-date-picker.d.ts.map +1 -1
  10. package/dist/components/atoms/date-picker/use-date-picker.js +2 -15
  11. package/dist/components/atoms/date-picker/use-date-picker.js.map +1 -1
  12. package/dist/components/index.d.ts +6 -4
  13. package/dist/components/index.d.ts.map +1 -1
  14. package/dist/components/index.js +6 -4
  15. package/dist/components/index.js.map +1 -1
  16. package/dist/components/molecules/accordion/accordion.d.ts.map +1 -0
  17. package/dist/components/{atoms → molecules}/accordion/accordion.js +2 -2
  18. package/dist/components/molecules/accordion/accordion.js.map +1 -0
  19. package/dist/components/molecules/accordion/components/accordion-item.d.ts.map +1 -0
  20. package/dist/components/molecules/accordion/components/accordion-item.js.map +1 -0
  21. package/dist/components/molecules/accordion/index.d.ts.map +1 -0
  22. package/dist/components/molecules/accordion/index.js.map +1 -0
  23. package/dist/components/molecules/form/form-select/form-select.d.ts +2 -1
  24. package/dist/components/molecules/form/form-select/form-select.d.ts.map +1 -1
  25. package/dist/components/molecules/form/form-select/form-select.js +21 -20
  26. package/dist/components/molecules/form/form-select/form-select.js.map +1 -1
  27. package/dist/components/molecules/modal/components/full-screen-modal.d.ts.map +1 -0
  28. package/dist/components/molecules/modal/components/full-screen-modal.js.map +1 -0
  29. package/dist/components/molecules/modal/components/index.d.ts +1 -0
  30. package/dist/components/molecules/modal/components/index.d.ts.map +1 -1
  31. package/dist/components/molecules/modal/components/index.js +1 -0
  32. package/dist/components/molecules/modal/components/index.js.map +1 -1
  33. package/dist/components/molecules/modal/index.d.ts +0 -2
  34. package/dist/components/molecules/modal/index.d.ts.map +1 -1
  35. package/dist/components/molecules/modal/index.js +0 -2
  36. package/dist/components/molecules/modal/index.js.map +1 -1
  37. package/dist/components/molecules/pop-over/index.d.ts.map +1 -0
  38. package/dist/components/molecules/pop-over/index.js.map +1 -0
  39. package/dist/components/molecules/pop-over/pop-over-positions.d.ts.map +1 -0
  40. package/dist/components/molecules/pop-over/pop-over-positions.js.map +1 -0
  41. package/dist/components/molecules/pop-over/pop-over.d.ts.map +1 -0
  42. package/dist/components/molecules/pop-over/pop-over.js.map +1 -0
  43. package/dist/components/molecules/search-bar/components/clear-button.d.ts.map +1 -0
  44. package/dist/components/molecules/search-bar/components/clear-button.js.map +1 -0
  45. package/dist/components/molecules/search-bar/index.d.ts.map +1 -0
  46. package/dist/components/molecules/search-bar/index.js.map +1 -0
  47. package/dist/components/molecules/search-bar/search-bar.d.ts.map +1 -0
  48. package/dist/components/molecules/search-bar/search-bar.js.map +1 -0
  49. package/dist/components/molecules/select/components/select-input.d.ts +3 -2
  50. package/dist/components/molecules/select/components/select-input.d.ts.map +1 -1
  51. package/dist/components/molecules/select/components/select-input.js +3 -13
  52. package/dist/components/molecules/select/components/select-input.js.map +1 -1
  53. package/dist/components/molecules/select/select.d.ts +1 -3
  54. package/dist/components/molecules/select/select.d.ts.map +1 -1
  55. package/dist/components/molecules/select/select.js +16 -20
  56. package/dist/components/molecules/select/select.js.map +1 -1
  57. package/dist/components/molecules/select/use-select.d.ts +14 -16
  58. package/dist/components/molecules/select/use-select.d.ts.map +1 -1
  59. package/dist/components/molecules/select/use-select.js +102 -152
  60. package/dist/components/molecules/select/use-select.js.map +1 -1
  61. package/dist/components/molecules/text-field/components/text-field-input.d.ts +14 -0
  62. package/dist/components/molecules/text-field/components/text-field-input.d.ts.map +1 -0
  63. package/dist/components/molecules/text-field/components/text-field-input.js +12 -0
  64. package/dist/components/molecules/text-field/components/text-field-input.js.map +1 -0
  65. package/dist/components/molecules/text-field/text-field.d.ts +15 -14
  66. package/dist/components/molecules/text-field/text-field.d.ts.map +1 -1
  67. package/dist/components/molecules/text-field/text-field.js +6 -41
  68. package/dist/components/molecules/text-field/text-field.js.map +1 -1
  69. package/dist/components/organisms/filter-modal/components/filter-variant.d.ts.map +1 -0
  70. package/dist/components/organisms/filter-modal/components/filter-variant.js.map +1 -0
  71. package/dist/components/{molecules/modal → organisms}/filter-modal/components/filter.d.ts +1 -1
  72. package/dist/components/organisms/filter-modal/components/filter.d.ts.map +1 -0
  73. package/dist/components/{molecules/modal → organisms}/filter-modal/components/filter.js +2 -2
  74. package/dist/components/organisms/filter-modal/components/filter.js.map +1 -0
  75. package/dist/components/organisms/filter-modal/components/index.d.ts.map +1 -0
  76. package/dist/components/organisms/filter-modal/components/index.js.map +1 -0
  77. package/dist/components/{molecules/modal → organisms}/filter-modal/filter-modal-types.d.ts +2 -2
  78. package/dist/components/organisms/filter-modal/filter-modal-types.d.ts.map +1 -0
  79. package/dist/components/organisms/filter-modal/filter-modal-types.js.map +1 -0
  80. package/dist/components/{molecules/modal → organisms}/filter-modal/filter-modal.d.ts +1 -1
  81. package/dist/components/organisms/filter-modal/filter-modal.d.ts.map +1 -0
  82. package/dist/components/{molecules/modal → organisms}/filter-modal/filter-modal.js +3 -4
  83. package/dist/components/organisms/filter-modal/filter-modal.js.map +1 -0
  84. package/dist/components/organisms/filter-modal/index.d.ts.map +1 -0
  85. package/dist/components/organisms/filter-modal/index.js.map +1 -0
  86. package/dist/components/{molecules/modal → organisms}/filter-modal/use-filter-modal.d.ts +1 -1
  87. package/dist/components/organisms/filter-modal/use-filter-modal.d.ts.map +1 -0
  88. package/dist/components/{molecules/modal → organisms}/filter-modal/use-filter-modal.js +41 -39
  89. package/dist/components/organisms/filter-modal/use-filter-modal.js.map +1 -0
  90. package/dist/components/organisms/tool-tip/index.d.ts.map +1 -0
  91. package/dist/components/organisms/tool-tip/index.js.map +1 -0
  92. package/dist/components/organisms/tool-tip/tool-tip-type.d.ts.map +1 -0
  93. package/dist/components/organisms/tool-tip/tool-tip-type.js.map +1 -0
  94. package/dist/components/organisms/tool-tip/tool-tip.d.ts.map +1 -0
  95. package/dist/components/organisms/tool-tip/tool-tip.js.map +1 -0
  96. package/dist/components/organisms/tool-tip/use-tool-tip.d.ts.map +1 -0
  97. package/dist/components/organisms/tool-tip/use-tool-tip.js.map +1 -0
  98. package/dist/index.d.ts +1 -1
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +2 -3
  101. package/dist/index.js.map +1 -1
  102. package/dist/utils/use-focus-on-open.d.ts +3 -0
  103. package/dist/utils/use-focus-on-open.d.ts.map +1 -0
  104. package/dist/utils/use-focus-on-open.js +22 -0
  105. package/dist/utils/use-focus-on-open.js.map +1 -0
  106. package/package.json +1 -1
  107. package/dist/components/atoms/accordion/accordion.d.ts.map +0 -1
  108. package/dist/components/atoms/accordion/accordion.js.map +0 -1
  109. package/dist/components/atoms/accordion/components/accordion-item.d.ts.map +0 -1
  110. package/dist/components/atoms/accordion/components/accordion-item.js.map +0 -1
  111. package/dist/components/atoms/accordion/index.d.ts.map +0 -1
  112. package/dist/components/atoms/accordion/index.js.map +0 -1
  113. package/dist/components/atoms/pop-over/index.d.ts.map +0 -1
  114. package/dist/components/atoms/pop-over/index.js.map +0 -1
  115. package/dist/components/atoms/pop-over/pop-over-positions.d.ts.map +0 -1
  116. package/dist/components/atoms/pop-over/pop-over-positions.js.map +0 -1
  117. package/dist/components/atoms/pop-over/pop-over.d.ts.map +0 -1
  118. package/dist/components/atoms/pop-over/pop-over.js.map +0 -1
  119. package/dist/components/atoms/search-bar/components/clear-button.d.ts.map +0 -1
  120. package/dist/components/atoms/search-bar/components/clear-button.js.map +0 -1
  121. package/dist/components/atoms/search-bar/index.d.ts.map +0 -1
  122. package/dist/components/atoms/search-bar/index.js.map +0 -1
  123. package/dist/components/atoms/search-bar/search-bar.d.ts.map +0 -1
  124. package/dist/components/atoms/search-bar/search-bar.js.map +0 -1
  125. package/dist/components/atoms/tool-tip/index.d.ts.map +0 -1
  126. package/dist/components/atoms/tool-tip/index.js.map +0 -1
  127. package/dist/components/atoms/tool-tip/tool-tip-type.d.ts.map +0 -1
  128. package/dist/components/atoms/tool-tip/tool-tip-type.js.map +0 -1
  129. package/dist/components/atoms/tool-tip/tool-tip.d.ts.map +0 -1
  130. package/dist/components/atoms/tool-tip/tool-tip.js.map +0 -1
  131. package/dist/components/atoms/tool-tip/use-tool-tip.d.ts.map +0 -1
  132. package/dist/components/atoms/tool-tip/use-tool-tip.js.map +0 -1
  133. package/dist/components/molecules/modal/filter-modal/components/filter-variant.d.ts.map +0 -1
  134. package/dist/components/molecules/modal/filter-modal/components/filter-variant.js.map +0 -1
  135. package/dist/components/molecules/modal/filter-modal/components/filter.d.ts.map +0 -1
  136. package/dist/components/molecules/modal/filter-modal/components/filter.js.map +0 -1
  137. package/dist/components/molecules/modal/filter-modal/components/index.d.ts.map +0 -1
  138. package/dist/components/molecules/modal/filter-modal/components/index.js.map +0 -1
  139. package/dist/components/molecules/modal/filter-modal/filter-modal-types.d.ts.map +0 -1
  140. package/dist/components/molecules/modal/filter-modal/filter-modal-types.js.map +0 -1
  141. package/dist/components/molecules/modal/filter-modal/filter-modal.d.ts.map +0 -1
  142. package/dist/components/molecules/modal/filter-modal/filter-modal.js.map +0 -1
  143. package/dist/components/molecules/modal/filter-modal/index.d.ts.map +0 -1
  144. package/dist/components/molecules/modal/filter-modal/index.js.map +0 -1
  145. package/dist/components/molecules/modal/filter-modal/use-filter-modal.d.ts.map +0 -1
  146. package/dist/components/molecules/modal/filter-modal/use-filter-modal.js.map +0 -1
  147. package/dist/components/molecules/modal/full-screen-modal/full-screen-modal.d.ts.map +0 -1
  148. package/dist/components/molecules/modal/full-screen-modal/full-screen-modal.js.map +0 -1
  149. package/dist/components/molecules/modal/full-screen-modal/index.d.ts +0 -2
  150. package/dist/components/molecules/modal/full-screen-modal/index.d.ts.map +0 -1
  151. package/dist/components/molecules/modal/full-screen-modal/index.js.map +0 -1
  152. /package/dist/components/{atoms → molecules}/accordion/accordion.d.ts +0 -0
  153. /package/dist/components/{atoms → molecules}/accordion/components/accordion-item.d.ts +0 -0
  154. /package/dist/components/{atoms → molecules}/accordion/components/accordion-item.js +0 -0
  155. /package/dist/components/{atoms → molecules}/accordion/index.d.ts +0 -0
  156. /package/dist/components/{atoms → molecules}/accordion/index.js +0 -0
  157. /package/dist/components/molecules/modal/{full-screen-modal → components}/full-screen-modal.d.ts +0 -0
  158. /package/dist/components/molecules/modal/{full-screen-modal → components}/full-screen-modal.js +0 -0
  159. /package/dist/components/{atoms → molecules}/pop-over/index.d.ts +0 -0
  160. /package/dist/components/{atoms → molecules}/pop-over/index.js +0 -0
  161. /package/dist/components/{atoms → molecules}/pop-over/pop-over-positions.d.ts +0 -0
  162. /package/dist/components/{atoms → molecules}/pop-over/pop-over-positions.js +0 -0
  163. /package/dist/components/{atoms → molecules}/pop-over/pop-over.d.ts +0 -0
  164. /package/dist/components/{atoms → molecules}/pop-over/pop-over.js +0 -0
  165. /package/dist/components/{atoms → molecules}/search-bar/components/clear-button.d.ts +0 -0
  166. /package/dist/components/{atoms → molecules}/search-bar/components/clear-button.js +0 -0
  167. /package/dist/components/{atoms → molecules}/search-bar/index.d.ts +0 -0
  168. /package/dist/components/{atoms → molecules}/search-bar/index.js +0 -0
  169. /package/dist/components/{atoms → molecules}/search-bar/search-bar.d.ts +0 -0
  170. /package/dist/components/{atoms → molecules}/search-bar/search-bar.js +0 -0
  171. /package/dist/components/{molecules/modal → organisms}/filter-modal/components/filter-variant.d.ts +0 -0
  172. /package/dist/components/{molecules/modal → organisms}/filter-modal/components/filter-variant.js +0 -0
  173. /package/dist/components/{molecules/modal → organisms}/filter-modal/components/index.d.ts +0 -0
  174. /package/dist/components/{molecules/modal → organisms}/filter-modal/components/index.js +0 -0
  175. /package/dist/components/{molecules/modal → organisms}/filter-modal/filter-modal-types.js +0 -0
  176. /package/dist/components/{molecules/modal → organisms}/filter-modal/index.d.ts +0 -0
  177. /package/dist/components/{molecules/modal → organisms}/filter-modal/index.js +0 -0
  178. /package/dist/components/{atoms → organisms}/tool-tip/index.d.ts +0 -0
  179. /package/dist/components/{atoms → organisms}/tool-tip/index.js +0 -0
  180. /package/dist/components/{atoms → organisms}/tool-tip/tool-tip-type.d.ts +0 -0
  181. /package/dist/components/{atoms → organisms}/tool-tip/tool-tip-type.js +0 -0
  182. /package/dist/components/{atoms → organisms}/tool-tip/tool-tip.d.ts +0 -0
  183. /package/dist/components/{atoms → organisms}/tool-tip/tool-tip.js +0 -0
  184. /package/dist/components/{atoms → organisms}/tool-tip/use-tool-tip.d.ts +0 -0
  185. /package/dist/components/{atoms → organisms}/tool-tip/use-tool-tip.js +0 -0
@@ -6,32 +6,28 @@ const components_1 = require("../../../components");
6
6
  const tailwind_utils_1 = require("../../../utils/tailwind-utils");
7
7
  const select_input_1 = require("./components/select-input");
8
8
  const use_select_1 = require("./use-select");
9
- function SelectDropDownComponent({ mask, isDisabled = false, isMultiSelect = false, isErrorVisible, className, onBlur, onClick = () => { }, selectHook, }) {
10
- const { openDropdownMenu, inputValue, chipsData, inputRef, handleInputChange } = selectHook;
11
- return ((0, jsx_runtime_1.jsxs)("div", { role: "button", "data-testid": "select-trigger", tabIndex: 0, onClick: (e) => {
12
- const target = e.target;
13
- const isClickInsideChip = target.closest('[data-chip]');
14
- if (isClickInsideChip || isDisabled) {
15
- return;
16
- }
17
- onClick();
18
- }, className: (0, tailwind_utils_1.tailwind)('flex flex-none w-full p-4 justify-start items-center rounded-lg', 'border border-gray-04 bg-white', 'overflow-hidden cursor-pointer', 'hover:border-blue-02', isDisabled
19
- ? 'outline-none'
20
- : 'focus-visible:border-none focus-visible:outline-2 focus-visible:outline-blue-01', { 'cursor-not-allowed bg-gray-05 border-gray-04 hover:border-gray-04': isDisabled }, { 'border-red-01': isErrorVisible }, { 'p-0 pr-4 pl-2 py-2': isMultiSelect }, className), children: [isMultiSelect ? ((0, jsx_runtime_1.jsx)(components_1.ChipList, { data: chipsData, className: "mr-1 w-full max-h-[138px]", lasItemComponent: (0, jsx_runtime_1.jsx)("div", { className: "flex-grow min-w-[20px] basis-[150px]", children: (0, jsx_runtime_1.jsx)(select_input_1.SelectInput, { mask: mask, ref: inputRef, onBlur: onBlur, isDisabled: isDisabled, inputValue: inputValue, className: "h-fit md:h-10 w-full", handleInputChange: handleInputChange }) }) })) : ((0, jsx_runtime_1.jsx)(select_input_1.SelectInput, { mask: mask, ref: inputRef, onBlur: onBlur, isDisabled: isDisabled, className: (0, tailwind_utils_1.tailwind)('h-fit md:h-6 w-full'), inputValue: inputValue, handleInputChange: handleInputChange })), (0, jsx_runtime_1.jsx)(components_1.BilloIcon, { icon: openDropdownMenu ? components_1.IconSymbol.CARET_UP : components_1.IconSymbol.CARET_DOWN, size: components_1.IconSize.SM, color: isDisabled ? components_1.IconColor.BLUE_03 : components_1.IconColor.BLUE_01, className: (0, tailwind_utils_1.tailwind)('ml-2') })] }));
21
- }
22
- function Select({ mask, isFixed = true, isWritable = false, isDisabled = false, isMultiSelect = false, removeOnSelect = false, isErrorVisible, className, emptyLabel, initialInputValue, initialValues, debounceDelay, options, onBlur, onChangeText, onOptionChange, onClick = () => { }, }) {
23
- const selectHook = (0, use_select_1.useSelect)({
9
+ function Select({ mask, isFixed = true, isDisabled = false, isMultiSelect = false, isErrorVisible, className, emptyLabel, initialInputValue, initialValues, debounceDelay, options, onBlur, onChangeText, onOptionChange, onClick, }) {
10
+ const { isOpen, inputValue, selectedValues, chipsData, filteredOptions, inputRef, handleSearchChange, setIsOpen, } = (0, use_select_1.useSelect)({
24
11
  options,
25
- isWritable,
26
- initialValues,
27
12
  isMultiSelect,
28
- removeOnSelect,
13
+ initialValues,
29
14
  initialInputValue,
30
15
  debounceDelay,
31
16
  onChangeText,
32
17
  onOptionChange,
33
18
  });
34
- const { openDropdownMenu, selectedValues: selectedIDs, searchedOptions, setOpenDropdownMenu, } = selectHook;
35
- return ((0, jsx_runtime_1.jsx)(components_1.DropDownMenu, { isFixed: isFixed, isDisabled: isDisabled, onClose: setOpenDropdownMenu, isOpen: openDropdownMenu, selectedIDs: selectedIDs, options: searchedOptions, emptyElement: typeof emptyLabel === 'string' ? ((0, jsx_runtime_1.jsx)(components_1.Text, { variant: components_1.TextVariant.BODY, className: (0, tailwind_utils_1.tailwind)('flex whitespace-normal bg-white py-2 px-4'), children: emptyLabel })) : (emptyLabel), dropDownClassName: "left-0", className: (0, tailwind_utils_1.tailwind)('w-full'), children: (0, jsx_runtime_1.jsx)(SelectDropDownComponent, { mask: mask, isDisabled: isDisabled, isMultiSelect: isMultiSelect, isErrorVisible: isErrorVisible, className: className, onBlur: onBlur, onClick: onClick, selectHook: selectHook }) }));
19
+ function handleTriggerClick(event) {
20
+ if (isDisabled) {
21
+ return;
22
+ }
23
+ if (event.target.closest('[data-chip]')) {
24
+ return;
25
+ }
26
+ onClick?.();
27
+ }
28
+ const trigger = ((0, jsx_runtime_1.jsxs)("div", { role: "button", "data-testid": "select-trigger", tabIndex: isDisabled ? -1 : 0, onClick: handleTriggerClick, className: (0, tailwind_utils_1.tailwind)('flex flex-none w-full p-4 justify-start items-center rounded-lg', 'border border-gray-04 bg-white', 'overflow-hidden cursor-pointer', 'hover:border-blue-02', isDisabled
29
+ ? 'outline-none cursor-not-allowed bg-gray-05 border-gray-04 hover:border-gray-04'
30
+ : 'focus-visible:border-none focus-visible:outline-2 focus-visible:outline-blue-01', isErrorVisible && 'border-red-01', isMultiSelect && 'p-0 pr-4 pl-2 py-2', className), children: [isMultiSelect ? ((0, jsx_runtime_1.jsx)(components_1.ChipList, { data: chipsData, className: "mr-1 w-full max-h-[138px] overflow-y-auto md:overflow-y-auto", lasItemComponent: (0, jsx_runtime_1.jsx)("div", { className: "flex-grow min-w-[20px] basis-[150px]", children: (0, jsx_runtime_1.jsx)(select_input_1.SelectInput, { mask: mask, ref: inputRef, onBlur: onBlur, isDisabled: isDisabled, inputValue: inputValue, className: "h-fit md:h-10 w-full", onInputChange: handleSearchChange }) }) })) : ((0, jsx_runtime_1.jsx)(select_input_1.SelectInput, { mask: mask, ref: inputRef, onBlur: onBlur, isDisabled: isDisabled, className: "h-fit md:h-6 w-full", inputValue: inputValue, onInputChange: handleSearchChange })), (0, jsx_runtime_1.jsx)(components_1.BilloIcon, { icon: isOpen ? components_1.IconSymbol.CARET_UP : components_1.IconSymbol.CARET_DOWN, size: components_1.IconSize.SM, color: isDisabled ? components_1.IconColor.BLUE_03 : components_1.IconColor.BLUE_01, className: "ml-2" })] }));
31
+ return ((0, jsx_runtime_1.jsx)(components_1.DropDownMenu, { isFixed: isFixed, isDisabled: isDisabled, onClose: setIsOpen, isOpen: isOpen, selectedIDs: selectedValues, options: filteredOptions, emptyElement: typeof emptyLabel === 'string' ? ((0, jsx_runtime_1.jsx)(components_1.Text, { variant: components_1.TextVariant.BODY, className: "flex whitespace-normal bg-white py-2 px-4", children: emptyLabel })) : (emptyLabel), dropDownClassName: "left-0", className: "w-full", children: trigger }));
36
32
  }
37
33
  //# sourceMappingURL=select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/components/molecules/select/select.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/components/molecules/select/select.tsx"],"names":[],"mappings":"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"}
@@ -1,24 +1,22 @@
1
1
  import { ChipOptionsProps, DropDownMenuOptionProps } from '../../../components';
2
- export type UseSelectHook = {
3
- openDropdownMenu: boolean;
4
- inputValue: string;
5
- selectedValues: string[];
6
- chipsData: ChipOptionsProps[];
7
- searchedOptions: DropDownMenuOptionProps[];
8
- inputRef: React.RefObject<HTMLInputElement>;
9
- handleInputChange: (value: string) => void;
10
- setOpenDropdownMenu: (value: boolean) => void;
11
- };
12
2
  export type UseSelectProps = {
13
- isMultiSelect: boolean;
14
- isWritable: boolean;
15
- removeOnSelect: boolean;
16
- initialInputValue?: string;
17
3
  options: DropDownMenuOptionProps[];
4
+ isMultiSelect: boolean;
18
5
  initialValues?: string[] | string;
6
+ initialInputValue?: string;
19
7
  debounceDelay?: number;
20
8
  onChangeText?: (value: string) => void;
21
- onOptionChange?: (options: string[]) => void;
9
+ onOptionChange?: (values: string[]) => void;
10
+ };
11
+ export type UseSelectResult = {
12
+ isOpen: boolean;
13
+ inputValue: string;
14
+ selectedValues: string[];
15
+ chipsData: ChipOptionsProps[];
16
+ filteredOptions: DropDownMenuOptionProps[];
17
+ inputRef: React.RefObject<HTMLInputElement>;
18
+ handleSearchChange: (text: string) => void;
19
+ setIsOpen: (open: boolean) => void;
22
20
  };
23
- export declare function useSelect({ isMultiSelect, isWritable, removeOnSelect, initialInputValue, options, initialValues, debounceDelay, onChangeText, onOptionChange, }: UseSelectProps): UseSelectHook;
21
+ export declare function useSelect({ options, isMultiSelect, initialValues, initialInputValue, debounceDelay, onChangeText, onOptionChange, }: UseSelectProps): UseSelectResult;
24
22
  //# sourceMappingURL=use-select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-select.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/select/use-select.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAmB,MAAM,cAAc,CAAC;AAI1F,MAAM,MAAM,aAAa,GAAG;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,eAAe,EAAE,uBAAuB,EAAE,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,mBAAmB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC9C,CAAC;AAEF,wBAAgB,SAAS,CAAC,EACxB,aAAa,EACb,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,OAAO,EACP,aAAa,EACb,aAAa,EACb,YAAuB,EACvB,cAAyB,GAC1B,EAAE,cAAc,GAAG,aAAa,CAiPhC"}
1
+ {"version":3,"file":"use-select.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/select/use-select.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAmB,MAAM,cAAc,CAAC;AAM1F,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,eAAe,EAAE,uBAAuB,EAAE,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC,CAAC;AAEF,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,aAAiB,EACjB,YAAY,EACZ,cAAc,GACf,EAAE,cAAc,GAAG,eAAe,CA0KlC"}
@@ -3,185 +3,135 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useSelect = useSelect;
4
4
  const react_1 = require("react");
5
5
  const components_1 = require("../../../components");
6
- const string_utils_1 = require("../../../utils/string-utils/string-utils");
7
6
  const use_debounce_1 = require("../../../utils/use-debounce");
8
- function useSelect({ isMultiSelect, isWritable, removeOnSelect, initialInputValue, options, initialValues, debounceDelay, onChangeText = () => { }, onOptionChange = () => { }, }) {
7
+ const use_focus_on_open_1 = require("../../../utils/use-focus-on-open");
8
+ const string_utils_1 = require("../../../utils/string-utils/string-utils");
9
+ function useSelect({ options, isMultiSelect, initialValues, initialInputValue, debounceDelay = 0, onChangeText, onOptionChange, }) {
9
10
  const { normalize } = (0, string_utils_1.useStringUtils)();
10
- const [chipsData, setChipsData] = (0, react_1.useState)([]);
11
- const [openDropdownMenu, setOpenDropdownMenu] = (0, react_1.useState)(false);
12
- const [searchedOptions, setSearchedOptions] = (0, react_1.useState)([]);
13
- const [selectedValues, setSelectedValues] = (0, react_1.useState)([]);
14
- const [inputValue, setInputValue] = (0, react_1.useState)('');
15
- const [searchValue, setSearchValue] = (0, react_1.useState)('');
16
- const [lastCommittedLabel, setLastCommittedLabel] = (0, react_1.useState)('');
17
- const debouncedSearch = (0, use_debounce_1.useDebounce)(searchValue, debounceDelay ?? 0);
18
11
  const inputRef = (0, react_1.useRef)(null);
19
- const memoOptions = (0, react_1.useMemo)(() => options || [], [options]);
20
- (0, react_1.useEffect)(() => {
21
- const dropDownMenuOption = handleMapOptions();
22
- const removedOptions = removeOnSelect
23
- ? dropDownMenuOption.filter((option) => !selectedValues.includes(option.value))
24
- : dropDownMenuOption;
25
- const normalizedValue = normalize(debouncedSearch).toLowerCase();
26
- const filteredOptions = removedOptions.filter((currentOption) => {
27
- const hasMatchingHelper = currentOption.helperLabel &&
28
- normalize(currentOption.helperLabel).toLowerCase().includes(normalizedValue);
29
- const hasMatchingValue = normalize(currentOption.label)
30
- .toLowerCase()
31
- .includes(normalizedValue);
32
- return (hasMatchingValue || hasMatchingHelper || currentOption.variant !== components_1.MenuItemVariant.DEFAULT);
33
- });
34
- setSearchedOptions(filteredOptions);
35
- }, [debouncedSearch, removeOnSelect, selectedValues, options]);
36
- (0, react_1.useEffect)(() => {
37
- if (openDropdownMenu || isWritable) {
12
+ const [isOpen, setIsOpenState] = (0, react_1.useState)(false);
13
+ const [searchText, setSearchText] = (0, react_1.useState)('');
14
+ const [selected, setSelected] = (0, react_1.useState)([]);
15
+ const [prefilledText, setPrefilledText] = (0, react_1.useState)(initialInputValue ?? '');
16
+ const debouncedSearch = (0, use_debounce_1.useDebounce)(searchText, debounceDelay);
17
+ (0, use_focus_on_open_1.useFocusOnOpen)(inputRef, isOpen);
18
+ const handleOptionSelect = (0, react_1.useCallback)((option) => {
19
+ if (option.variant !== components_1.MenuItemVariant.DEFAULT)
38
20
  return;
39
- }
40
- if (!isMultiSelect) {
41
- setInputValue(lastCommittedLabel ?? '');
21
+ const newOption = { value: option.value, label: option.label };
22
+ if (isMultiSelect) {
23
+ if (selected.some((s) => s.value === option.value))
24
+ return;
25
+ const newSelected = [...selected, newOption];
26
+ setSelected(newSelected);
27
+ setSearchText('');
28
+ onChangeText?.('');
29
+ onOptionChange?.(newSelected.map((s) => s.value));
42
30
  }
43
31
  else {
44
- setInputValue('');
45
- }
46
- setSearchValue('');
47
- }, [openDropdownMenu, isMultiSelect, lastCommittedLabel]);
48
- function handleUnSelect(optionValue) {
49
- const mappedOptions = handleMapOptions();
50
- const filteredOptions = mappedOptions.filter((option) => {
51
- return !selectedValues.includes(option.value) || option.value === optionValue;
52
- });
53
- setSearchedOptions(filteredOptions);
54
- setSelectedValues((current) => current.filter((value) => value !== optionValue));
55
- setChipsData((current) => current.filter((chip) => chip.value !== optionValue));
56
- }
57
- function handleMapChipsData(option) {
58
- if (!isMultiSelect) {
59
- return;
60
- }
61
- const newChip = {
62
- label: option.label,
63
- value: option.value,
64
- onClear: () => handleUnSelect(option.value),
65
- };
66
- setChipsData((current) => [...current, { ...newChip }]);
67
- }
68
- async function handleGetSelectedValues(newSelected) {
69
- if (!isMultiSelect) {
70
- const label = newSelected?.label ?? '';
71
- onChangeText(label);
72
- setInputValue(label);
73
- setSearchValue('');
74
- setLastCommittedLabel(label);
75
- return [newSelected.value];
76
- }
77
- setInputValue('');
78
- onChangeText('');
79
- setSearchValue('');
80
- handleMapChipsData(newSelected);
81
- return [...(selectedValues || []), newSelected.value];
82
- }
83
- async function handleSelectOption(selectedValues) {
84
- if (selectedValues.variant !== components_1.MenuItemVariant.DEFAULT) {
85
- return;
32
+ setSelected([newOption]);
33
+ setSearchText('');
34
+ setIsOpenState(false);
35
+ setPrefilledText('');
36
+ onChangeText?.(option.label);
37
+ onOptionChange?.([option.value]);
86
38
  }
87
- const newSelectedValues = await handleGetSelectedValues(selectedValues);
88
- setSelectedValues(newSelectedValues);
89
- onOptionChange?.(newSelectedValues);
90
- }
91
- function handleMapOptions() {
92
- if (!options) {
93
- return [];
39
+ }, [isMultiSelect, selected, onChangeText, onOptionChange]);
40
+ const handleDeselect = (0, react_1.useCallback)((value) => {
41
+ const newSelected = selected.filter((s) => s.value !== value);
42
+ setSelected(newSelected);
43
+ onOptionChange?.(newSelected.map((s) => s.value));
44
+ }, [selected, onOptionChange]);
45
+ const handleSearchChange = (0, react_1.useCallback)((text) => {
46
+ setSearchText(text);
47
+ onChangeText?.(text);
48
+ }, [onChangeText]);
49
+ const setIsOpen = (0, react_1.useCallback)((open) => {
50
+ if (!open) {
51
+ setSearchText('');
94
52
  }
95
- const mapOptions = options.map((option) => {
96
- const newOption = {
97
- ...option,
98
- variant: option.variant ?? components_1.MenuItemVariant.DEFAULT,
99
- };
53
+ setIsOpenState(open);
54
+ }, []);
55
+ const chipsData = (0, react_1.useMemo)(() => selected.map((opt) => ({
56
+ label: opt.label,
57
+ value: opt.value,
58
+ onClear: () => handleDeselect(opt.value),
59
+ })), [selected, handleDeselect]);
60
+ const filteredOptions = (0, react_1.useMemo)(() => {
61
+ const selectedSet = new Set(selected.map((select) => select.value));
62
+ const searchQuery = normalize(debouncedSearch).toLowerCase();
63
+ return options
64
+ .filter((option) => !isMultiSelect || !selectedSet.has(option.value))
65
+ .filter((option) => {
66
+ if (!searchQuery) {
67
+ return true;
68
+ }
69
+ if (option.variant && option.variant !== components_1.MenuItemVariant.DEFAULT) {
70
+ return true;
71
+ }
72
+ const labelMatch = normalize(option.label).toLowerCase().includes(searchQuery);
73
+ const helperMatch = option.helperLabel
74
+ ? normalize(option.helperLabel).toLowerCase().includes(searchQuery)
75
+ : false;
76
+ return labelMatch || helperMatch;
77
+ })
78
+ .map((option) => {
79
+ const withDefaults = { ...option, variant: option.variant ?? components_1.MenuItemVariant.DEFAULT };
100
80
  return {
101
- ...newOption,
81
+ ...withDefaults,
102
82
  onClick: () => {
103
- if (newOption?.onClick) {
104
- newOption.onClick();
105
- }
106
- handleSelectOption(newOption);
83
+ option.onClick?.();
84
+ handleOptionSelect(withDefaults);
107
85
  },
108
86
  };
109
87
  });
110
- return mapOptions;
111
- }
112
- function handleInputChange(value) {
113
- onChangeText(value);
114
- setInputValue(value);
115
- setSearchValue(value);
116
- }
117
- function initializeValues() {
118
- const values = Array.isArray(initialValues) ? initialValues : [initialValues];
119
- const chipInitialValue = options
120
- .filter((option) => values.includes(option.value))
121
- .map((option) => ({
122
- label: option.label,
123
- value: option.value,
124
- onClear: () => handleUnSelect(option.value),
125
- }));
126
- const initialSelectValues = options
127
- .filter((option) => values.includes(option.value))
128
- .map((option) => option.value);
129
- const [initial] = options
130
- .filter((option) => values.includes(option.value))
131
- .map((option) => option.label);
132
- setChipsData(chipInitialValue);
133
- setSelectedValues(initialSelectValues);
134
- setInputValue(!isMultiSelect ? initial : '');
135
- setLastCommittedLabel(!isMultiSelect ? (initial ?? '') : '');
136
- }
137
- (0, react_1.useEffect)(() => {
138
- initializeValues();
139
- }, [memoOptions, initialValues]);
140
- (0, react_1.useEffect)(() => {
141
- const dropDownMenuOption = handleMapOptions();
142
- const removedOptions = removeOnSelect
143
- ? dropDownMenuOption.filter((option) => !selectedValues.includes(option.value))
144
- : dropDownMenuOption;
145
- setSearchedOptions(removedOptions);
146
- }, [memoOptions, selectedValues]);
147
- (0, react_1.useEffect)(() => {
148
- if (!inputRef.current) {
149
- return;
88
+ }, [options, selected, isMultiSelect, debouncedSearch, handleOptionSelect]);
89
+ const inputValue = (0, react_1.useMemo)(() => {
90
+ if (isOpen) {
91
+ return searchText;
150
92
  }
151
- if (openDropdownMenu) {
152
- inputRef.current.focus();
153
- const { selectionStart, selectionEnd, value } = inputRef.current;
154
- if (selectionStart === 0 && selectionEnd === 0) {
155
- const length = value.length;
156
- inputRef.current.setSelectionRange(length, length);
157
- }
93
+ if (isMultiSelect) {
94
+ return '';
95
+ }
96
+ return selected[0]?.label ?? prefilledText;
97
+ }, [isOpen, searchText, isMultiSelect, selected, prefilledText]);
98
+ const selectedValues = (0, react_1.useMemo)(() => selected.map((s) => s.value), [selected]);
99
+ (0, react_1.useEffect)(() => {
100
+ if (initialValues === undefined || initialValues === null) {
158
101
  return;
159
102
  }
160
- inputRef.current.blur();
161
- }, [openDropdownMenu]);
103
+ const values = Array.isArray(initialValues) ? initialValues : [initialValues];
104
+ const matched = options
105
+ .filter((option) => values.includes(option.value))
106
+ .map((option) => ({ value: option.value, label: option.label }));
107
+ setSelected(matched);
108
+ }, [options, initialValues]);
162
109
  (0, react_1.useEffect)(() => {
163
110
  if (initialInputValue === undefined) {
164
111
  return;
165
112
  }
166
- const selectedOption = options.find((option) => option.label === initialInputValue || option.value === initialInputValue);
167
- if (!selectedOption) {
168
- setInputValue(initialInputValue ?? '');
113
+ if (initialValues !== undefined && initialValues !== null) {
169
114
  return;
170
115
  }
171
- setSelectedValues([selectedOption.value]);
172
- setSearchedOptions([selectedOption]);
173
- setInputValue(initialInputValue ?? '');
174
- setLastCommittedLabel(initialInputValue ?? '');
175
- }, [initialInputValue]);
116
+ const matched = options.find((option) => option.label === initialInputValue || option.value === initialInputValue);
117
+ if (matched) {
118
+ setSelected([{ value: matched.value, label: matched.label }]);
119
+ setPrefilledText('');
120
+ }
121
+ else {
122
+ setPrefilledText(initialInputValue);
123
+ setSelected([]);
124
+ }
125
+ }, [initialInputValue, options, initialValues]);
176
126
  return {
177
- openDropdownMenu,
127
+ isOpen,
178
128
  inputValue,
179
129
  selectedValues,
180
130
  chipsData,
181
- searchedOptions,
131
+ filteredOptions,
182
132
  inputRef,
183
- handleInputChange,
184
- setOpenDropdownMenu,
133
+ handleSearchChange,
134
+ setIsOpen,
185
135
  };
186
136
  }
187
137
  //# sourceMappingURL=use-select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-select.js","sourceRoot":"","sources":["../../../../src/components/molecules/select/use-select.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-select.js","sourceRoot":"","sources":["../../../../src/components/molecules/select/use-select.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { ComponentProps, FocusEvent } from 'react';
2
+ export type TextFieldInputProps = Omit<ComponentProps<'input'>, 'disabled' | 'required' | 'ref' | 'onBlur'> & {
3
+ mask?: string;
4
+ isRequired?: boolean;
5
+ isDisabled?: boolean;
6
+ onBlur?: (event?: FocusEvent<HTMLInputElement>) => void;
7
+ };
8
+ export declare const TextFieldInput: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref" | "disabled" | "required" | "onBlur"> & {
9
+ mask?: string;
10
+ isRequired?: boolean;
11
+ isDisabled?: boolean;
12
+ onBlur?: (event?: FocusEvent<HTMLInputElement>) => void;
13
+ } & import("react").RefAttributes<HTMLInputElement>>;
14
+ //# sourceMappingURL=text-field-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-field-input.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/text-field/components/text-field-input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAA4B,MAAM,OAAO,CAAC;AAK7E,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,cAAc,CAAC,OAAO,CAAC,EACvB,UAAU,GAAG,UAAU,GAAG,KAAK,GAAG,QAAQ,CAC3C,GAAG;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,cAAc;WANlB,MAAM;iBACA,OAAO;iBACP,OAAO;aACX,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI;oDAuBvD,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TextFieldInput = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const components_1 = require("../../../../components");
7
+ const tailwind_utils_1 = require("../../../../utils/tailwind-utils");
8
+ const components_2 = require("../../../../components");
9
+ exports.TextFieldInput = (0, react_1.forwardRef)(function TextFieldInput({ mask, isRequired, isDisabled, className, onBlur, ...rest }, ref) {
10
+ return ((0, jsx_runtime_1.jsx)(components_1.BaseInput, { ref: ref, mask: mask, required: isRequired, disabled: isDisabled, className: (0, tailwind_utils_1.tailwind)('flex-grow py-4 px-4 bg-transparent text-gray-01', 'focus:outline-none', components_2.TextStyle[components_2.TextVariant.BODY], className), onBlur: onBlur, ...rest }));
11
+ });
12
+ //# sourceMappingURL=text-field-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-field-input.js","sourceRoot":"","sources":["../../../../../src/components/molecules/text-field/components/text-field-input.tsx"],"names":[],"mappings":";;;;AAAA,iCAA6E;AAC7E,uDAAmD;AACnD,qEAA4D;AAC5D,uDAAgE;AAYnD,QAAA,cAAc,GAAG,IAAA,kBAAU,EAAC,SAAS,cAAc,CAC9D,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,EAAuB,EACjF,GAAmC;IAEnC,OAAO,CACL,uBAAC,sBAAS,IACR,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,IAAA,yBAAQ,EACjB,iDAAiD,EACjD,oBAAoB,EACpB,sBAAS,CAAC,wBAAW,CAAC,IAAI,CAAC,EAC3B,SAAS,CACV,EACD,MAAM,EAAE,MAA2C,KAC/C,IAAI,GACR,CACH,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,22 +1,23 @@
1
- import { RefObject, ReactNode } from 'react';
2
- type InputRestriction = 'numeric' | 'alpha' | 'alphanumeric' | 'none';
3
- type InputFieldProps = {
1
+ import { ComponentProps, FocusEvent, ReactNode } from 'react';
2
+ type Props = Omit<ComponentProps<'input'>, 'disabled' | 'required' | 'ref' | 'className' | 'onBlur'> & {
4
3
  isRequired?: boolean;
5
4
  isDisabled?: boolean;
6
- value?: any;
7
5
  mask?: string;
8
- restriction?: InputRestriction;
9
6
  leadingElement?: ReactNode;
10
7
  trailingElement?: ReactNode;
11
- onBlur?: (event?: any) => void;
12
- onChange?: (event?: any) => void;
13
8
  className?: string;
9
+ inputClassName?: string;
10
+ onBlur?: (event?: FocusEvent<HTMLInputElement>) => void;
14
11
  };
15
- type IntrinsicInputFieldProps = InputFieldProps & JSX.IntrinsicElements['input'];
16
- export type TextFieldProps = IntrinsicInputFieldProps & {
17
- ref?: RefObject<any>;
18
- inputForwardedRef?: RefObject<any>;
19
- };
20
- export declare function TextField({ isRequired, isDisabled, type, name, value, placeholder, width, mask, restriction, leadingElement, trailingElement, onBlur, onChange, className, }: TextFieldProps): import("react/jsx-runtime").JSX.Element;
21
- export {};
12
+ export declare const TextField: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref" | "disabled" | "required" | "className" | "onBlur"> & {
13
+ isRequired?: boolean;
14
+ isDisabled?: boolean;
15
+ mask?: string;
16
+ leadingElement?: ReactNode;
17
+ trailingElement?: ReactNode;
18
+ className?: string;
19
+ inputClassName?: string;
20
+ onBlur?: (event?: FocusEvent<HTMLInputElement>) => void;
21
+ } & import("react").RefAttributes<HTMLInputElement>>;
22
+ export type { Props as TextFieldProps };
22
23
  //# sourceMappingURL=text-field.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-field.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/text-field/text-field.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAe,MAAM,OAAO,CAAC;AAI1D,KAAK,gBAAgB,GAAG,SAAS,GAAG,OAAO,GAAG,cAAc,GAAG,MAAM,CAAC;AAEtE,KAAK,eAAe,GAAG;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,wBAAwB,GAAG,eAAe,GAAG,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAEjF,MAAM,MAAM,cAAc,GAAG,wBAAwB,GAAG;IACtD,GAAG,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,iBAAiB,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAgB,SAAS,CAAC,EACxB,UAAU,EACV,UAAU,EACV,IAAa,EACb,IAAI,EACJ,KAAU,EACV,WAAW,EACX,KAAK,EACL,IAAI,EACJ,WAAoB,EACpB,cAAc,EACd,eAAe,EACf,MAAM,EACN,QAAQ,EACR,SAAS,GACV,EAAE,cAAc,2CA0EhB"}
1
+ {"version":3,"file":"text-field.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/text-field/text-field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAA4B,SAAS,EAAE,MAAM,OAAO,CAAC;AAIxF,KAAK,KAAK,GAAG,IAAI,CACf,cAAc,CAAC,OAAO,CAAC,EACvB,UAAU,GAAG,UAAU,GAAG,KAAK,GAAG,WAAW,GAAG,QAAQ,CACzD,GAAG;IACF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,SAAS;iBAZP,OAAO;iBACP,OAAO;WACb,MAAM;qBACI,SAAS;sBACR,SAAS;gBACf,MAAM;qBACD,MAAM;aAGd,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI;oDAwCvD,CAAC;AAEH,YAAY,EAAE,KAAK,IAAI,cAAc,EAAE,CAAC"}
@@ -1,46 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TextField = TextField;
3
+ exports.TextField = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
5
6
  const tailwind_utils_1 = require("../../../utils/tailwind-utils");
6
- const components_1 = require("../../../components");
7
- function TextField({ isRequired, isDisabled, type = 'text', name, value = '', placeholder, width, mask, restriction = 'none', leadingElement, trailingElement, onBlur, onChange, className, }) {
8
- function handleChange(event) {
9
- let inputValue = event.target.value;
10
- if (mask) {
11
- let allowedPattern = /./g;
12
- if (restriction === 'numeric')
13
- allowedPattern = /[0-9]/g;
14
- if (restriction === 'alpha')
15
- allowedPattern = /[a-zA-ZáéíóúÁÉÍÓÚñÑ\s]/g;
16
- if (restriction === 'alphanumeric')
17
- allowedPattern = /[a-zA-Z0-9\s]/g;
18
- const clean = (inputValue.match(allowedPattern) || []).join('');
19
- let masked = '';
20
- let maskIndex = 0;
21
- let valueIndex = 0;
22
- while (maskIndex < mask.length && valueIndex < clean.length) {
23
- if (mask[maskIndex] === '#') {
24
- masked += clean[valueIndex];
25
- valueIndex++;
26
- }
27
- else {
28
- masked += mask[maskIndex];
29
- }
30
- maskIndex++;
31
- }
32
- inputValue = masked;
33
- }
34
- const syntheticEvent = {
35
- ...event,
36
- target: {
37
- ...event.target,
38
- name,
39
- value: inputValue,
40
- },
41
- };
42
- onChange?.(syntheticEvent);
43
- }
44
- return ((0, jsx_runtime_1.jsxs)("div", { className: (0, tailwind_utils_1.tailwind)('flex items-center w-full', 'border border-gray-04 rounded-lg bg-white', 'hover:border-blue-02 focus-within:border-blue-01 focus-within:hover:border-blue-01', 'focus-within:ring-1 focus-within:ring-blue-01', className), children: [leadingElement && (0, jsx_runtime_1.jsx)("div", { className: "flex-shrink-0 pl-4 text-gray-01", children: leadingElement }), (0, jsx_runtime_1.jsx)("input", { required: isRequired, disabled: isDisabled, type: type, name: name, value: value, placeholder: placeholder, width: width, onBlur: onBlur, onChange: handleChange, className: (0, tailwind_utils_1.tailwind)('flex-grow py-4 px-4 bg-transparent text-gray-01', 'focus:outline-none', leadingElement ? 'px-2' : 'px-4', components_1.TextStyle[components_1.TextVariant.BODY]) }), trailingElement && (0, jsx_runtime_1.jsx)("div", { className: "flex-shrink-0 pr-4 text-gray-01", children: trailingElement })] }));
45
- }
7
+ const text_field_input_1 = require("./components/text-field-input");
8
+ exports.TextField = (0, react_1.forwardRef)(function TextField({ isRequired, isDisabled, mask, leadingElement, trailingElement, className, inputClassName, ...rest }, ref) {
9
+ return ((0, jsx_runtime_1.jsxs)("div", { className: (0, tailwind_utils_1.tailwind)('flex items-center w-full', 'border border-gray-04 rounded-lg bg-white', 'hover:border-blue-02 focus-within:border-blue-01 focus-within:hover:border-blue-01', 'focus-within:ring-1 focus-within:ring-blue-01', className), children: [leadingElement && (0, jsx_runtime_1.jsx)("div", { className: "flex-shrink-0 pl-4 text-gray-01", children: leadingElement }), (0, jsx_runtime_1.jsx)(text_field_input_1.TextFieldInput, { ref: ref, mask: mask, isRequired: isRequired, isDisabled: isDisabled, className: (0, tailwind_utils_1.tailwind)(leadingElement ? 'px-2' : 'px-4', inputClassName), ...rest }), trailingElement && (0, jsx_runtime_1.jsx)("div", { className: "flex-shrink-0 pr-4 text-gray-01", children: trailingElement })] }));
10
+ });
46
11
  //# sourceMappingURL=text-field.js.map