period-ui 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +0 -0
- package/README.md +20 -0
- package/dist/components/atoms/billo-icon/billo-icon.d.ts +125 -0
- package/dist/components/atoms/billo-icon/billo-icon.d.ts.map +1 -0
- package/dist/components/atoms/billo-icon/billo-icon.js +128 -0
- package/dist/components/atoms/billo-icon/billo-icon.js.map +1 -0
- package/dist/components/atoms/billo-icon/billo-icon.stories.d.ts +7 -0
- package/dist/components/atoms/billo-icon/billo-icon.stories.d.ts.map +1 -0
- package/dist/components/atoms/billo-icon/billo-icon.stories.js +38 -0
- package/dist/components/atoms/billo-icon/billo-icon.stories.js.map +1 -0
- package/dist/components/atoms/billo-icon/billo-icon.test.d.ts +2 -0
- package/dist/components/atoms/billo-icon/billo-icon.test.d.ts.map +1 -0
- package/dist/components/atoms/billo-icon/billo-icon.test.js +37 -0
- package/dist/components/atoms/billo-icon/billo-icon.test.js.map +1 -0
- package/dist/components/atoms/button/button.d.ts +9 -0
- package/dist/components/atoms/button/button.d.ts.map +1 -0
- package/dist/components/atoms/button/button.js +30 -0
- package/dist/components/atoms/button/button.js.map +1 -0
- package/dist/components/atoms/button/button.stories.d.ts +9 -0
- package/dist/components/atoms/button/button.stories.d.ts.map +1 -0
- package/dist/components/atoms/button/button.stories.js +40 -0
- package/dist/components/atoms/button/button.stories.js.map +1 -0
- package/dist/components/atoms/button/button.test.d.ts +2 -0
- package/dist/components/atoms/button/button.test.d.ts.map +1 -0
- package/dist/components/atoms/button/button.test.js +72 -0
- package/dist/components/atoms/button/button.test.js.map +1 -0
- package/dist/components/atoms/check-box/check-box.d.ts +22 -0
- package/dist/components/atoms/check-box/check-box.d.ts.map +1 -0
- package/dist/components/atoms/check-box/check-box.js +43 -0
- package/dist/components/atoms/check-box/check-box.js.map +1 -0
- package/dist/components/atoms/check-box/check-box.stories.d.ts +13 -0
- package/dist/components/atoms/check-box/check-box.stories.d.ts.map +1 -0
- package/dist/components/atoms/check-box/check-box.stories.js +41 -0
- package/dist/components/atoms/check-box/check-box.stories.js.map +1 -0
- package/dist/components/atoms/check-box/check-box.test.d.ts +2 -0
- package/dist/components/atoms/check-box/check-box.test.d.ts.map +1 -0
- package/dist/components/atoms/check-box/check-box.test.js +40 -0
- package/dist/components/atoms/check-box/check-box.test.js.map +1 -0
- package/dist/components/atoms/chip/chip/chip.d.ts +9 -0
- package/dist/components/atoms/chip/chip/chip.d.ts.map +1 -0
- package/dist/components/atoms/chip/chip/chip.js +13 -0
- package/dist/components/atoms/chip/chip/chip.js.map +1 -0
- package/dist/components/atoms/chip/chip/chip.stories.d.ts +8 -0
- package/dist/components/atoms/chip/chip/chip.stories.d.ts.map +1 -0
- package/dist/components/atoms/chip/chip/chip.stories.js +29 -0
- package/dist/components/atoms/chip/chip/chip.stories.js.map +1 -0
- package/dist/components/atoms/chip/chip/chip.test.d.ts +2 -0
- package/dist/components/atoms/chip/chip/chip.test.d.ts.map +1 -0
- package/dist/components/atoms/chip/chip/chip.test.js +38 -0
- package/dist/components/atoms/chip/chip/chip.test.js.map +1 -0
- package/dist/components/atoms/chip/chip/components/clear-button.d.ts +11 -0
- package/dist/components/atoms/chip/chip/components/clear-button.d.ts.map +1 -0
- package/dist/components/atoms/chip/chip/components/clear-button.js +11 -0
- package/dist/components/atoms/chip/chip/components/clear-button.js.map +1 -0
- package/dist/components/atoms/chip/chips-list/chips-list.d.ts +14 -0
- package/dist/components/atoms/chip/chips-list/chips-list.d.ts.map +1 -0
- package/dist/components/atoms/chip/chips-list/chips-list.js +11 -0
- package/dist/components/atoms/chip/chips-list/chips-list.js.map +1 -0
- package/dist/components/atoms/chip/chips-list/chips-list.stories.d.ts +8 -0
- package/dist/components/atoms/chip/chips-list/chips-list.stories.d.ts.map +1 -0
- package/dist/components/atoms/chip/chips-list/chips-list.stories.js +45 -0
- package/dist/components/atoms/chip/chips-list/chips-list.stories.js.map +1 -0
- package/dist/components/atoms/chip/chips-list/chips-list.test.d.ts +2 -0
- package/dist/components/atoms/chip/chips-list/chips-list.test.d.ts.map +1 -0
- package/dist/components/atoms/chip/chips-list/chips-list.test.js +36 -0
- package/dist/components/atoms/chip/chips-list/chips-list.test.js.map +1 -0
- package/dist/components/atoms/drop-down-menu/components/menu-item.d.ts +21 -0
- package/dist/components/atoms/drop-down-menu/components/menu-item.d.ts.map +1 -0
- package/dist/components/atoms/drop-down-menu/components/menu-item.js +29 -0
- package/dist/components/atoms/drop-down-menu/components/menu-item.js.map +1 -0
- package/dist/components/atoms/drop-down-menu/drop-down-menu.d.ts +22 -0
- package/dist/components/atoms/drop-down-menu/drop-down-menu.d.ts.map +1 -0
- package/dist/components/atoms/drop-down-menu/drop-down-menu.js +25 -0
- package/dist/components/atoms/drop-down-menu/drop-down-menu.js.map +1 -0
- package/dist/components/atoms/drop-down-menu/drop-down-menu.stories.d.ts +16 -0
- package/dist/components/atoms/drop-down-menu/drop-down-menu.stories.d.ts.map +1 -0
- package/dist/components/atoms/drop-down-menu/drop-down-menu.stories.js +222 -0
- package/dist/components/atoms/drop-down-menu/drop-down-menu.stories.js.map +1 -0
- package/dist/components/atoms/drop-down-menu/drop-down-menu.test.d.ts +2 -0
- package/dist/components/atoms/drop-down-menu/drop-down-menu.test.d.ts.map +1 -0
- package/dist/components/atoms/drop-down-menu/drop-down-menu.test.js +64 -0
- package/dist/components/atoms/drop-down-menu/drop-down-menu.test.js.map +1 -0
- package/dist/components/atoms/icon-button/icon-button.d.ts +12 -0
- package/dist/components/atoms/icon-button/icon-button.d.ts.map +1 -0
- package/dist/components/atoms/icon-button/icon-button.js +11 -0
- package/dist/components/atoms/icon-button/icon-button.js.map +1 -0
- package/dist/components/atoms/icon-button/icon-button.stories.d.ts +9 -0
- package/dist/components/atoms/icon-button/icon-button.stories.d.ts.map +1 -0
- package/dist/components/atoms/icon-button/icon-button.stories.js +58 -0
- package/dist/components/atoms/icon-button/icon-button.stories.js.map +1 -0
- package/dist/components/atoms/icon-button/icon-button.test.d.ts +2 -0
- package/dist/components/atoms/icon-button/icon-button.test.d.ts.map +1 -0
- package/dist/components/atoms/icon-button/icon-button.test.js +71 -0
- package/dist/components/atoms/icon-button/icon-button.test.js.map +1 -0
- package/dist/components/atoms/search-bar/components/clear-button.d.ts +10 -0
- package/dist/components/atoms/search-bar/components/clear-button.d.ts.map +1 -0
- package/dist/components/atoms/search-bar/components/clear-button.js +11 -0
- package/dist/components/atoms/search-bar/components/clear-button.js.map +1 -0
- package/dist/components/atoms/search-bar/search-bar.d.ts +12 -0
- package/dist/components/atoms/search-bar/search-bar.d.ts.map +1 -0
- package/dist/components/atoms/search-bar/search-bar.js +15 -0
- package/dist/components/atoms/search-bar/search-bar.js.map +1 -0
- package/dist/components/atoms/search-bar/search-bar.stories.d.ts +9 -0
- package/dist/components/atoms/search-bar/search-bar.stories.d.ts.map +1 -0
- package/dist/components/atoms/search-bar/search-bar.stories.js +39 -0
- package/dist/components/atoms/search-bar/search-bar.stories.js.map +1 -0
- package/dist/components/atoms/search-bar/search-bar.test.d.ts +2 -0
- package/dist/components/atoms/search-bar/search-bar.test.d.ts.map +1 -0
- package/dist/components/atoms/search-bar/search-bar.test.js +34 -0
- package/dist/components/atoms/search-bar/search-bar.test.js.map +1 -0
- package/dist/components/atoms/text/text.d.ts +35 -0
- package/dist/components/atoms/text/text.d.ts.map +1 -0
- package/dist/components/atoms/text/text.js +57 -0
- package/dist/components/atoms/text/text.js.map +1 -0
- package/dist/components/atoms/text/text.stories.d.ts +15 -0
- package/dist/components/atoms/text/text.stories.d.ts.map +1 -0
- package/dist/components/atoms/text/text.stories.js +70 -0
- package/dist/components/atoms/text/text.stories.js.map +1 -0
- package/dist/components/atoms/text/text.test.d.ts +2 -0
- package/dist/components/atoms/text/text.test.d.ts.map +1 -0
- package/dist/components/atoms/text/text.test.js +93 -0
- package/dist/components/atoms/text/text.test.js.map +1 -0
- package/dist/components/atoms/text-button/text-button.d.ts +19 -0
- package/dist/components/atoms/text-button/text-button.d.ts.map +1 -0
- package/dist/components/atoms/text-button/text-button.js +23 -0
- package/dist/components/atoms/text-button/text-button.js.map +1 -0
- package/dist/components/atoms/text-button/text-button.stories.d.ts +13 -0
- package/dist/components/atoms/text-button/text-button.stories.d.ts.map +1 -0
- package/dist/components/atoms/text-button/text-button.stories.js +71 -0
- package/dist/components/atoms/text-button/text-button.stories.js.map +1 -0
- package/dist/components/atoms/text-button/text-button.test.d.ts +2 -0
- package/dist/components/atoms/text-button/text-button.test.d.ts.map +1 -0
- package/dist/components/atoms/text-button/text-button.test.js +53 -0
- package/dist/components/atoms/text-button/text-button.test.js.map +1 -0
- package/dist/components/index.d.ts +14 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +30 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/molecules/form/form-select/form-select.d.ts +7 -0
- package/dist/components/molecules/form/form-select/form-select.d.ts.map +1 -0
- package/dist/components/molecules/form/form-select/form-select.js +29 -0
- package/dist/components/molecules/form/form-select/form-select.js.map +1 -0
- package/dist/components/molecules/form/form-select/form-select.stories.d.ts +20 -0
- package/dist/components/molecules/form/form-select/form-select.stories.d.ts.map +1 -0
- package/dist/components/molecules/form/form-select/form-select.stories.js +158 -0
- package/dist/components/molecules/form/form-select/form-select.stories.js.map +1 -0
- package/dist/components/molecules/form/form-select/form-select.test.d.ts +2 -0
- package/dist/components/molecules/form/form-select/form-select.test.d.ts.map +1 -0
- package/dist/components/molecules/form/form-select/form-select.test.js +24 -0
- package/dist/components/molecules/form/form-select/form-select.test.js.map +1 -0
- package/dist/components/molecules/form/form.d.ts +33 -0
- package/dist/components/molecules/form/form.d.ts.map +1 -0
- package/dist/components/molecules/form/form.js +44 -0
- package/dist/components/molecules/form/form.js.map +1 -0
- package/dist/components/molecules/form/formStoryStubs.d.ts +11 -0
- package/dist/components/molecules/form/formStoryStubs.d.ts.map +1 -0
- package/dist/components/molecules/form/formStoryStubs.js +81 -0
- package/dist/components/molecules/form/formStoryStubs.js.map +1 -0
- package/dist/components/molecules/form/formTestStubs.d.ts +6 -0
- package/dist/components/molecules/form/formTestStubs.d.ts.map +1 -0
- package/dist/components/molecules/form/formTestStubs.js +41 -0
- package/dist/components/molecules/form/formTestStubs.js.map +1 -0
- package/dist/components/molecules/select/components/select-input.d.ts +8 -0
- package/dist/components/molecules/select/components/select-input.d.ts.map +1 -0
- package/dist/components/molecules/select/components/select-input.js +11 -0
- package/dist/components/molecules/select/components/select-input.js.map +1 -0
- package/dist/components/molecules/select/select.d.ts +16 -0
- package/dist/components/molecules/select/select.d.ts.map +1 -0
- package/dist/components/molecules/select/select.js +30 -0
- package/dist/components/molecules/select/select.js.map +1 -0
- package/dist/components/molecules/select/select.stories.d.ts +10 -0
- package/dist/components/molecules/select/select.stories.d.ts.map +1 -0
- package/dist/components/molecules/select/select.stories.js +53 -0
- package/dist/components/molecules/select/select.stories.js.map +1 -0
- package/dist/components/molecules/select/select.test.d.ts +2 -0
- package/dist/components/molecules/select/select.test.d.ts.map +1 -0
- package/dist/components/molecules/select/select.test.js +57 -0
- package/dist/components/molecules/select/select.test.js.map +1 -0
- package/dist/components/molecules/select/use-select.d.ts +23 -0
- package/dist/components/molecules/select/use-select.d.ts.map +1 -0
- package/dist/components/molecules/select/use-select.js +149 -0
- package/dist/components/molecules/select/use-select.js.map +1 -0
- package/dist/containers/form-control/components/form-error.d.ts +7 -0
- package/dist/containers/form-control/components/form-error.d.ts.map +1 -0
- package/dist/containers/form-control/components/form-error.js +10 -0
- package/dist/containers/form-control/components/form-error.js.map +1 -0
- package/dist/containers/form-control/components/form-helper.d.ts +9 -0
- package/dist/containers/form-control/components/form-helper.d.ts.map +1 -0
- package/dist/containers/form-control/components/form-helper.js +10 -0
- package/dist/containers/form-control/components/form-helper.js.map +1 -0
- package/dist/containers/form-control/components/form-label.d.ts +10 -0
- package/dist/containers/form-control/components/form-label.d.ts.map +1 -0
- package/dist/containers/form-control/components/form-label.js +10 -0
- package/dist/containers/form-control/components/form-label.js.map +1 -0
- package/dist/containers/form-control/form-control.d.ts +33 -0
- package/dist/containers/form-control/form-control.d.ts.map +1 -0
- package/dist/containers/form-control/form-control.js +33 -0
- package/dist/containers/form-control/form-control.js.map +1 -0
- package/dist/containers/index.d.ts +2 -0
- package/dist/containers/index.d.ts.map +1 -0
- package/dist/containers/index.js +18 -0
- package/dist/containers/index.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/button-types.d.ts +6 -0
- package/dist/types/button-types.d.ts.map +1 -0
- package/dist/types/button-types.js +10 -0
- package/dist/types/button-types.js.map +1 -0
- package/dist/types/options-type.d.ts +5 -0
- package/dist/types/options-type.d.ts.map +1 -0
- package/dist/types/options-type.js +3 -0
- package/dist/types/options-type.js.map +1 -0
- package/dist/types/select-types.d.ts +6 -0
- package/dist/types/select-types.d.ts.map +1 -0
- package/dist/types/select-types.js +3 -0
- package/dist/types/select-types.js.map +1 -0
- package/dist/types/text-types.d.ts +14 -0
- package/dist/types/text-types.d.ts.map +1 -0
- package/dist/types/text-types.js +3 -0
- package/dist/types/text-types.js.map +1 -0
- package/dist/utils/string-utils/string-utils.d.ts +6 -0
- package/dist/utils/string-utils/string-utils.d.ts.map +1 -0
- package/dist/utils/string-utils/string-utils.js +15 -0
- package/dist/utils/string-utils/string-utils.js.map +1 -0
- package/dist/utils/string-utils/string-utils.test.d.ts +2 -0
- package/dist/utils/string-utils/string-utils.test.d.ts.map +1 -0
- package/dist/utils/string-utils/string-utils.test.js +25 -0
- package/dist/utils/string-utils/string-utils.test.js.map +1 -0
- package/dist/utils/string-utils.d.ts +6 -0
- package/dist/utils/string-utils.d.ts.map +1 -0
- package/dist/utils/string-utils.js +15 -0
- package/dist/utils/string-utils.js.map +1 -0
- package/dist/utils/tailwind-utils.d.ts +3 -0
- package/dist/utils/tailwind-utils.d.ts.map +1 -0
- package/dist/utils/tailwind-utils.js +12 -0
- package/dist/utils/tailwind-utils.js.map +1 -0
- package/dist/utils/window-dimensions-utils.d.ts +9 -0
- package/dist/utils/window-dimensions-utils.d.ts.map +1 -0
- package/dist/utils/window-dimensions-utils.js +37 -0
- package/dist/utils/window-dimensions-utils.js.map +1 -0
- package/dist/vitest.setup.d.ts +2 -0
- package/dist/vitest.setup.d.ts.map +1 -0
- package/dist/vitest.setup.js +3 -0
- package/dist/vitest.setup.js.map +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mockFormProps = void 0;
|
|
4
|
+
exports.mockFormProps = {
|
|
5
|
+
values: { test: '' },
|
|
6
|
+
errors: {},
|
|
7
|
+
touched: {},
|
|
8
|
+
isSubmitting: false,
|
|
9
|
+
isValid: true,
|
|
10
|
+
isValidating: false,
|
|
11
|
+
submitButtonDisabled: false,
|
|
12
|
+
status: null,
|
|
13
|
+
submitCount: 0,
|
|
14
|
+
dirty: false,
|
|
15
|
+
initialErrors: {},
|
|
16
|
+
initialTouched: {},
|
|
17
|
+
initialValues: { test: '' },
|
|
18
|
+
registerField: vi.fn(),
|
|
19
|
+
unregisterField: vi.fn(),
|
|
20
|
+
setErrors: vi.fn(),
|
|
21
|
+
setFieldError: vi.fn(),
|
|
22
|
+
setFieldTouched: vi.fn(),
|
|
23
|
+
setFieldValue: vi.fn(),
|
|
24
|
+
setStatus: vi.fn(),
|
|
25
|
+
setSubmitting: vi.fn(),
|
|
26
|
+
setTouched: vi.fn(),
|
|
27
|
+
setValues: vi.fn(),
|
|
28
|
+
resetForm: vi.fn(),
|
|
29
|
+
validateForm: vi.fn(),
|
|
30
|
+
validateField: vi.fn(),
|
|
31
|
+
submitForm: vi.fn(),
|
|
32
|
+
setFormikState: vi.fn(),
|
|
33
|
+
getFieldProps: vi.fn(),
|
|
34
|
+
getFieldMeta: vi.fn(),
|
|
35
|
+
getFieldHelpers: vi.fn(),
|
|
36
|
+
handleBlur: vi.fn(),
|
|
37
|
+
handleChange: vi.fn(),
|
|
38
|
+
handleReset: vi.fn(),
|
|
39
|
+
handleSubmit: vi.fn(),
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=formTestStubs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formTestStubs.js","sourceRoot":"","sources":["../../../../src/components/molecules/form/formTestStubs.ts"],"names":[],"mappings":";;;AAOa,QAAA,aAAa,GAAoC;IAE5D,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACpB,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,KAAK;IACnB,oBAAoB,EAAE,KAAK;IAC3B,MAAM,EAAE,IAAI;IACZ,WAAW,EAAE,CAAC;IACd,KAAK,EAAE,KAAK;IACZ,aAAa,EAAE,EAAE;IACjB,cAAc,EAAE,EAAE;IAClB,aAAa,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IAC3B,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;IACtB,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;IAGxB,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;IAClB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;IACtB,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;IACxB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;IACtB,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;IAClB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;IACtB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;IACnB,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;IAClB,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;IAClB,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;IACrB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;IACtB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;IACnB,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;IACvB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;IACtB,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;IACrB,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;IAGxB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;IACnB,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;IACrB,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;IACpB,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;CACtB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type SelectInputProps = {
|
|
2
|
+
isDisabled?: boolean;
|
|
3
|
+
className?: string;
|
|
4
|
+
inputValue: string;
|
|
5
|
+
handleInputChange: (value: string) => void;
|
|
6
|
+
};
|
|
7
|
+
export declare const SelectInput: import("react").ForwardRefExoticComponent<SelectInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
8
|
+
//# sourceMappingURL=select-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-input.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/select/components/select-input.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,WAAW,+GAoBtB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SelectInput = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const components_1 = require("../../../../components");
|
|
6
|
+
const tailwind_utils_1 = require("../../../../utils/tailwind-utils");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
exports.SelectInput = (0, react_1.forwardRef)(function SelectInput({ className, inputValue, isDisabled = false, handleInputChange }, ref) {
|
|
9
|
+
return ((0, jsx_runtime_1.jsx)("input", { ref: ref, type: "text", disabled: isDisabled, value: inputValue, onChange: (e) => handleInputChange(e.target.value), className: (0, tailwind_utils_1.tailwind)('w-full bg-transparent outline-none cursor-pointer', 'text-gray-01', 'disabled:text-gray-03 disabled:cursor-not-allowed', `${components_1.TextStyle[components_1.TextVariant.BODY]}`, className) }));
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=select-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-input.js","sourceRoot":"","sources":["../../../../../src/components/molecules/select/components/select-input.tsx"],"names":[],"mappings":";;;;AAAA,uDAAgE;AAChE,qEAA4D;AAC5D,iCAAiD;AASpC,QAAA,WAAW,GAAG,IAAA,kBAAU,EAAC,SAAS,WAAW,CACxD,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAG,KAAK,EAAE,iBAAiB,EAAoB,EAClF,GAAmC;IAEnC,OAAO,CACL,kCACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,UAAU,EACpB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAClD,SAAS,EAAE,IAAA,yBAAQ,EACjB,mDAAmD,EACnD,cAAc,EACd,mDAAmD,EACnD,GAAG,sBAAS,CAAC,wBAAW,CAAC,IAAI,CAAC,EAAE,EAChC,SAAS,CACV,GACD,CACH,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DropDownMenuOptionProps } from '../../../components';
|
|
2
|
+
export type SelectProps = {
|
|
3
|
+
isDisabled?: boolean;
|
|
4
|
+
isMultiSelect?: boolean;
|
|
5
|
+
removeOnSelect?: boolean;
|
|
6
|
+
isErrorVisible?: boolean;
|
|
7
|
+
className?: string;
|
|
8
|
+
emptyLabel?: string;
|
|
9
|
+
initialInputValue?: string;
|
|
10
|
+
initialValues?: string[] | string;
|
|
11
|
+
options: DropDownMenuOptionProps[];
|
|
12
|
+
onChangeText?: (value: string) => void;
|
|
13
|
+
onOptionChange?: (options: string[]) => void;
|
|
14
|
+
};
|
|
15
|
+
export declare function Select({ isDisabled, isMultiSelect, removeOnSelect, isErrorVisible, className, emptyLabel, initialInputValue, initialValues, options, onChangeText, onOptionChange, }: SelectProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/select/select.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,uBAAuB,EAMxB,MAAM,qBAAqB,CAAC;AAK7B,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAClC,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,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,MAAM,CAAC,EACrB,UAAkB,EAClB,aAAqB,EACrB,cAAsB,EACtB,cAAc,EACd,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,OAAO,EACP,YAAY,EACZ,cAAc,GACf,EAAE,WAAW,2CAoGb"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Select = Select;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const components_1 = require("../../../components");
|
|
6
|
+
const tailwind_utils_1 = require("../../../utils/tailwind-utils");
|
|
7
|
+
const select_input_1 = require("./components/select-input");
|
|
8
|
+
const use_select_1 = require("./use-select");
|
|
9
|
+
function Select({ isDisabled = false, isMultiSelect = false, removeOnSelect = false, isErrorVisible, className, emptyLabel, initialInputValue, initialValues, options, onChangeText, onOptionChange, }) {
|
|
10
|
+
const { openDropdownMenu, inputValue, selectedValues: selectedIDs, chipsData, searchedOptions, inputRef, containerRef, handleInputChange, handleDropdownMenu, } = (0, use_select_1.useSelect)({
|
|
11
|
+
options,
|
|
12
|
+
initialValues,
|
|
13
|
+
isMultiSelect,
|
|
14
|
+
removeOnSelect,
|
|
15
|
+
initialInputValue,
|
|
16
|
+
onChangeText,
|
|
17
|
+
onOptionChange,
|
|
18
|
+
});
|
|
19
|
+
return ((0, jsx_runtime_1.jsxs)("div", { ref: containerRef, className: "relative w-full", children: [(0, jsx_runtime_1.jsxs)("div", { role: "button", "data-testid": "select-trigger", tabIndex: 0, onClick: (e) => {
|
|
20
|
+
const target = e.target;
|
|
21
|
+
const isClickInsideChip = target.closest('[data-chip]');
|
|
22
|
+
if (isClickInsideChip || isDisabled) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
handleDropdownMenu();
|
|
26
|
+
}, 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
|
|
27
|
+
? 'outline-none'
|
|
28
|
+
: '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, { ref: inputRef, isDisabled: isDisabled, inputValue: inputValue, className: "h-fit md:h-10 w-full", handleInputChange: handleInputChange }) }) })) : ((0, jsx_runtime_1.jsx)(select_input_1.SelectInput, { ref: inputRef, 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') })] }), (0, jsx_runtime_1.jsx)(components_1.DropDownMenu, { selectedIDs: selectedIDs, options: searchedOptions, emptyElement: (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 }), className: (0, tailwind_utils_1.tailwind)('max-h-[313px] w-full', { hidden: !openDropdownMenu }) })] }));
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/components/molecules/select/select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Select } from '@/components';
|
|
2
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
3
|
+
declare const meta: Meta<typeof Select>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const WithInitialValue: Story;
|
|
8
|
+
export declare const Disabled: Story;
|
|
9
|
+
export declare const MultiSelect: Story;
|
|
10
|
+
//# sourceMappingURL=select.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/select/select.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CAO7B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAoBnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAK9B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAKzB,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MultiSelect = exports.Disabled = exports.WithInitialValue = exports.Default = void 0;
|
|
4
|
+
const components_1 = require("@/components");
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'Components/Atoms/Select',
|
|
7
|
+
component: components_1.Select,
|
|
8
|
+
parameters: {
|
|
9
|
+
layout: 'centered',
|
|
10
|
+
},
|
|
11
|
+
tags: ['autodocs'],
|
|
12
|
+
};
|
|
13
|
+
exports.default = meta;
|
|
14
|
+
const storyOptions = [
|
|
15
|
+
{ label: 'option 1', value: 'option 1' },
|
|
16
|
+
{ label: 'option 2', value: 'option 2' },
|
|
17
|
+
{ label: 'option 3', value: 'option 3' },
|
|
18
|
+
{ label: 'option 4', value: 'option 4' },
|
|
19
|
+
{ label: 'option 5', value: 'option 5' },
|
|
20
|
+
{ label: 'option 6', value: 'option 6' },
|
|
21
|
+
];
|
|
22
|
+
const baseArgs = {
|
|
23
|
+
className: '',
|
|
24
|
+
options: storyOptions,
|
|
25
|
+
isDisabled: false,
|
|
26
|
+
isMultiSelect: false,
|
|
27
|
+
initialValues: undefined,
|
|
28
|
+
onOptionChange: () => { },
|
|
29
|
+
};
|
|
30
|
+
exports.Default = {
|
|
31
|
+
args: {
|
|
32
|
+
...baseArgs,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
exports.WithInitialValue = {
|
|
36
|
+
args: {
|
|
37
|
+
...baseArgs,
|
|
38
|
+
initialValues: ['option 1'],
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
exports.Disabled = {
|
|
42
|
+
args: {
|
|
43
|
+
...baseArgs,
|
|
44
|
+
isDisabled: true,
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
exports.MultiSelect = {
|
|
48
|
+
args: {
|
|
49
|
+
...baseArgs,
|
|
50
|
+
isMultiSelect: true,
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=select.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.stories.js","sourceRoot":"","sources":["../../../../src/components/molecules/select/select.stories.tsx"],"names":[],"mappings":";;;AAAA,6CAAsC;AAGtC,MAAM,IAAI,GAAwB;IAChC,KAAK,EAAE,yBAAyB;IAChC,SAAS,EAAE,mBAAM;IACjB,UAAU,EAAE;QACV,MAAM,EAAE,UAAU;KACnB;IACD,IAAI,EAAE,CAAC,UAAU,CAAC;CACnB,CAAC;AAEF,kBAAe,IAAI,CAAC;AAIpB,MAAM,YAAY,GAAG;IACnB,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACxC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACxC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACxC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACxC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACxC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;CACzC,CAAC;AAEF,MAAM,QAAQ,GAAG;IACf,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,YAAY;IACrB,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,SAAS;IACxB,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC;CACzB,CAAC;AAEW,QAAA,OAAO,GAAU;IAC5B,IAAI,EAAE;QACJ,GAAG,QAAQ;KACZ;CACF,CAAC;AAEW,QAAA,gBAAgB,GAAU;IACrC,IAAI,EAAE;QACJ,GAAG,QAAQ;QACX,aAAa,EAAE,CAAC,UAAU,CAAC;KAC5B;CACF,CAAC;AAEW,QAAA,QAAQ,GAAU;IAC7B,IAAI,EAAE;QACJ,GAAG,QAAQ;QACX,UAAU,EAAE,IAAI;KACjB;CACF,CAAC;AAEW,QAAA,WAAW,GAAU;IAChC,IAAI,EAAE;QACJ,GAAG,QAAQ;QACX,aAAa,EAAE,IAAI;KACpB;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.test.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/select/select.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
+
const react_1 = require("@testing-library/react");
|
|
5
|
+
const select_1 = require("../select/select");
|
|
6
|
+
const onChange = vi.fn();
|
|
7
|
+
const options = [
|
|
8
|
+
{ value: 'Option 1', label: 'Option 1', onClick: () => onChange(['Option 1']) },
|
|
9
|
+
{
|
|
10
|
+
value: 'Option 2',
|
|
11
|
+
label: 'Option 2',
|
|
12
|
+
onClick: () => onChange(['Option 2']),
|
|
13
|
+
},
|
|
14
|
+
{ value: 'Option 3', label: 'Option 3', onClick: () => onChange(['Option 3']) },
|
|
15
|
+
];
|
|
16
|
+
describe('Select', () => {
|
|
17
|
+
it('renders single-select correctly', () => {
|
|
18
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(select_1.Select, { options: options, initialValues: "Option 1" }));
|
|
19
|
+
expect(react_1.screen.getByDisplayValue('Option 1')).toBeInTheDocument();
|
|
20
|
+
});
|
|
21
|
+
it('opens dropdown on click and shows options', () => {
|
|
22
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(select_1.Select, { options: options }));
|
|
23
|
+
react_1.fireEvent.click(react_1.screen.getByTestId('select-trigger'));
|
|
24
|
+
options.forEach(({ value }) => {
|
|
25
|
+
expect(react_1.screen.getByText(value)).toBeInTheDocument();
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
it('shows matching option when input text is entered', () => {
|
|
29
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(select_1.Select, { options: options }));
|
|
30
|
+
react_1.fireEvent.click(react_1.screen.getByTestId('select-trigger'));
|
|
31
|
+
react_1.fireEvent.change(react_1.screen.getByRole('textbox'), { target: { value: 'Option 2' } });
|
|
32
|
+
expect(react_1.screen.getByText('Option 2')).toBeInTheDocument();
|
|
33
|
+
});
|
|
34
|
+
it('hides non-matching option Option 1 when input text is entered', () => {
|
|
35
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(select_1.Select, { options: options }));
|
|
36
|
+
react_1.fireEvent.click(react_1.screen.getByTestId('select-trigger'));
|
|
37
|
+
react_1.fireEvent.change(react_1.screen.getByRole('textbox'), { target: { value: 'Option 2' } });
|
|
38
|
+
expect(react_1.screen.queryByText('Option 1')).not.toBeInTheDocument();
|
|
39
|
+
});
|
|
40
|
+
it('hides non-matching option Option 3 when input text is entered', () => {
|
|
41
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(select_1.Select, { options: options }));
|
|
42
|
+
react_1.fireEvent.click(react_1.screen.getByTestId('select-trigger'));
|
|
43
|
+
react_1.fireEvent.change(react_1.screen.getByRole('textbox'), { target: { value: 'Option 2' } });
|
|
44
|
+
expect(react_1.screen.queryByText('Option 3')).not.toBeInTheDocument();
|
|
45
|
+
});
|
|
46
|
+
it('calls onOptionChange when selecting single option', () => {
|
|
47
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(select_1.Select, { options: options, onOptionChange: onChange }));
|
|
48
|
+
react_1.fireEvent.click(react_1.screen.getByTestId('select-trigger'));
|
|
49
|
+
react_1.fireEvent.click(react_1.screen.getByText('Option 2'));
|
|
50
|
+
expect(onChange).toHaveBeenCalledWith(['Option 2']);
|
|
51
|
+
});
|
|
52
|
+
it('shows red border when isErrorVisible is true', () => {
|
|
53
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(select_1.Select, { options: options, isErrorVisible: true }));
|
|
54
|
+
expect(react_1.screen.getByTestId('select-trigger')).toHaveClass('border-red-01');
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=select.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.test.js","sourceRoot":"","sources":["../../../../src/components/molecules/select/select.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
containerRef: React.RefObject<HTMLInputElement>;
|
|
10
|
+
handleDropdownMenu: () => void;
|
|
11
|
+
handleInputChange: (value: string) => void;
|
|
12
|
+
};
|
|
13
|
+
export type UseSelectProps = {
|
|
14
|
+
isMultiSelect: boolean;
|
|
15
|
+
removeOnSelect: boolean;
|
|
16
|
+
initialInputValue?: string;
|
|
17
|
+
options: DropDownMenuOptionProps[];
|
|
18
|
+
initialValues?: string[] | string;
|
|
19
|
+
onChangeText?: (value: string) => void;
|
|
20
|
+
onOptionChange?: (options: string[]) => void;
|
|
21
|
+
};
|
|
22
|
+
export declare function useSelect({ isMultiSelect, removeOnSelect, initialInputValue, options, initialValues, onChangeText, onOptionChange, }: UseSelectProps): UseSelectHook;
|
|
23
|
+
//# sourceMappingURL=use-select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-select.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/select/use-select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAIzE,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,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAChD,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,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,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,cAAc,EACd,iBAAiB,EACjB,OAAO,EACP,aAAa,EACb,YAAuB,EACvB,cAAyB,GAC1B,EAAE,cAAc,GAAG,aAAa,CAmMhC"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useSelect = useSelect;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const string_utils_1 = require("../../../utils/string-utils/string-utils");
|
|
6
|
+
function useSelect({ isMultiSelect, removeOnSelect, initialInputValue, options, initialValues, onChangeText = () => { }, onOptionChange = () => { }, }) {
|
|
7
|
+
const { normalize } = (0, string_utils_1.useStringUtils)();
|
|
8
|
+
const [chipsData, setChipsData] = (0, react_1.useState)([]);
|
|
9
|
+
const [openDropdownMenu, setOpenDropdownMenu] = (0, react_1.useState)(false);
|
|
10
|
+
const [searchedOptions, setSearchedOptions] = (0, react_1.useState)([]);
|
|
11
|
+
const [selectedValues, setSelectedValues] = (0, react_1.useState)(() => {
|
|
12
|
+
const values = Array.isArray(initialValues) ? initialValues : [initialValues];
|
|
13
|
+
return options.filter((option) => values.includes(option.value)).map((option) => option.value);
|
|
14
|
+
});
|
|
15
|
+
const [inputValue, setInputValue] = (0, react_1.useState)(() => {
|
|
16
|
+
const values = Array.isArray(initialValues) ? initialValues : [initialValues];
|
|
17
|
+
const [value] = options
|
|
18
|
+
.filter((option) => values.includes(option.value))
|
|
19
|
+
.map((option) => option.value);
|
|
20
|
+
return value;
|
|
21
|
+
});
|
|
22
|
+
const inputRef = (0, react_1.useRef)(null);
|
|
23
|
+
const containerRef = (0, react_1.useRef)(null);
|
|
24
|
+
const memoOptions = (0, react_1.useMemo)(() => options || [], [options]);
|
|
25
|
+
function handleDropdownMenu() {
|
|
26
|
+
setOpenDropdownMenu((current) => !current);
|
|
27
|
+
}
|
|
28
|
+
function handleUnSelect(optionValue) {
|
|
29
|
+
const mappedOptions = handleMapOptions();
|
|
30
|
+
const filteredOptions = mappedOptions.filter((option) => {
|
|
31
|
+
return !selectedValues.includes(option.value) || option.value === optionValue;
|
|
32
|
+
});
|
|
33
|
+
setSearchedOptions(filteredOptions);
|
|
34
|
+
setSelectedValues((current) => current.filter((value) => value !== optionValue));
|
|
35
|
+
setChipsData((current) => current.filter((chip) => chip.value !== optionValue));
|
|
36
|
+
}
|
|
37
|
+
function handleMapChipsData(option) {
|
|
38
|
+
if (!isMultiSelect) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const newChip = {
|
|
42
|
+
label: option.label,
|
|
43
|
+
value: option.value,
|
|
44
|
+
onClear: () => handleUnSelect(option.value),
|
|
45
|
+
};
|
|
46
|
+
setChipsData((current) => [...current, { ...newChip }]);
|
|
47
|
+
}
|
|
48
|
+
async function handleGetSelectedValues(newSelected) {
|
|
49
|
+
if (!isMultiSelect) {
|
|
50
|
+
await handleInputChange(newSelected?.label ?? '');
|
|
51
|
+
return [newSelected.value];
|
|
52
|
+
}
|
|
53
|
+
setInputValue('');
|
|
54
|
+
handleMapChipsData(newSelected);
|
|
55
|
+
return [...(selectedValues || []), newSelected.value];
|
|
56
|
+
}
|
|
57
|
+
async function handleSelectOption(selectedValues) {
|
|
58
|
+
handleDropdownMenu();
|
|
59
|
+
const newSelectedValues = await handleGetSelectedValues(selectedValues);
|
|
60
|
+
setSelectedValues(newSelectedValues);
|
|
61
|
+
onOptionChange?.(newSelectedValues);
|
|
62
|
+
}
|
|
63
|
+
function handleMapOptions() {
|
|
64
|
+
const mapOptions = options.map((option) => ({
|
|
65
|
+
...option,
|
|
66
|
+
onClick: () => {
|
|
67
|
+
if (option?.onClick) {
|
|
68
|
+
option.onClick();
|
|
69
|
+
}
|
|
70
|
+
handleSelectOption(option);
|
|
71
|
+
},
|
|
72
|
+
}));
|
|
73
|
+
return mapOptions;
|
|
74
|
+
}
|
|
75
|
+
function handleInputChange(value) {
|
|
76
|
+
onChangeText(value);
|
|
77
|
+
setInputValue(value);
|
|
78
|
+
const dropDownMenuOption = handleMapOptions();
|
|
79
|
+
const removedOptions = removeOnSelect
|
|
80
|
+
? dropDownMenuOption.filter((option) => !selectedValues.includes(option.value))
|
|
81
|
+
: dropDownMenuOption;
|
|
82
|
+
const filteredOptions = removedOptions.filter((currentOption) => {
|
|
83
|
+
const normalizedValue = normalize(value).toLowerCase();
|
|
84
|
+
const hasMatchingHelper = currentOption.helperLabel &&
|
|
85
|
+
normalize(currentOption.helperLabel).toLowerCase().includes(normalizedValue);
|
|
86
|
+
const hasMatchingValue = normalize(currentOption.label)
|
|
87
|
+
.toLowerCase()
|
|
88
|
+
.includes(normalizedValue);
|
|
89
|
+
return hasMatchingValue || hasMatchingHelper;
|
|
90
|
+
});
|
|
91
|
+
setSearchedOptions(filteredOptions);
|
|
92
|
+
}
|
|
93
|
+
(0, react_1.useEffect)(() => {
|
|
94
|
+
const dropDownMenuOption = handleMapOptions();
|
|
95
|
+
const removedOptions = removeOnSelect
|
|
96
|
+
? dropDownMenuOption.filter((option) => !selectedValues.includes(option.value))
|
|
97
|
+
: dropDownMenuOption;
|
|
98
|
+
setSearchedOptions(removedOptions);
|
|
99
|
+
}, [memoOptions, selectedValues]);
|
|
100
|
+
(0, react_1.useEffect)(() => {
|
|
101
|
+
if (!inputRef.current) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
inputRef.current.blur();
|
|
105
|
+
if (openDropdownMenu) {
|
|
106
|
+
inputRef.current.focus();
|
|
107
|
+
const length = inputRef.current.value.length;
|
|
108
|
+
inputRef.current.setSelectionRange(length, length);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
inputRef.current.blur();
|
|
112
|
+
}, [openDropdownMenu]);
|
|
113
|
+
(0, react_1.useEffect)(() => {
|
|
114
|
+
function handleClickOutside(event) {
|
|
115
|
+
if (containerRef.current && !containerRef.current.contains(event.target)) {
|
|
116
|
+
setOpenDropdownMenu(false);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
120
|
+
return () => {
|
|
121
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
122
|
+
};
|
|
123
|
+
}, []);
|
|
124
|
+
(0, react_1.useEffect)(() => {
|
|
125
|
+
if (!initialInputValue || isMultiSelect) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
const selectedOption = options.find((option) => option.label === initialInputValue);
|
|
129
|
+
if (!selectedOption) {
|
|
130
|
+
setInputValue(initialInputValue ?? '');
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
setSelectedValues([selectedOption.value]);
|
|
134
|
+
setSearchedOptions([selectedOption]);
|
|
135
|
+
setInputValue(initialInputValue ?? '');
|
|
136
|
+
}, [initialInputValue]);
|
|
137
|
+
return {
|
|
138
|
+
openDropdownMenu,
|
|
139
|
+
inputValue,
|
|
140
|
+
selectedValues,
|
|
141
|
+
chipsData,
|
|
142
|
+
searchedOptions,
|
|
143
|
+
inputRef,
|
|
144
|
+
containerRef,
|
|
145
|
+
handleDropdownMenu,
|
|
146
|
+
handleInputChange,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=use-select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"form-error.d.ts","sourceRoot":"","sources":["../../../../src/containers/form-control/components/form-error.tsx"],"names":[],"mappings":"AAWA,KAAK,cAAc,GAAG;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,cAAc,2CAcjE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FormError = FormError;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const components_1 = require("../../../components");
|
|
6
|
+
const tailwind_utils_1 = require("../../../utils/tailwind-utils");
|
|
7
|
+
function FormError({ errorText, className }) {
|
|
8
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, tailwind_utils_1.tailwind)('flex flex-row justify-start items-start mt-2', className), children: [(0, jsx_runtime_1.jsx)(components_1.BilloIcon, { icon: components_1.IconSymbol.ALERT_FILLED, size: components_1.IconSize.SM, color: components_1.IconColor.RED_01, className: (0, tailwind_utils_1.tailwind)('mr-1 pt-[2px] md:pt-[5px]') }), (0, jsx_runtime_1.jsx)(components_1.Text, { variant: components_1.TextVariant.BODY, color: components_1.TextColors.RED, className: "whitespace-normal", children: errorText })] }));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=form-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-error.js","sourceRoot":"","sources":["../../../../src/containers/form-control/components/form-error.tsx"],"names":[],"mappings":";;AAgBA,8BAcC;;AA9BD,oDAQ6B;AAC7B,kEAAyD;AAOzD,SAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,EAAkB;IAChE,OAAO,CACL,iCAAK,SAAS,EAAE,IAAA,yBAAQ,EAAC,8CAA8C,EAAE,SAAS,CAAC,aACjF,uBAAC,sBAAS,IACR,IAAI,EAAE,uBAAU,CAAC,YAAY,EAC7B,IAAI,EAAE,qBAAQ,CAAC,EAAE,EACjB,KAAK,EAAE,sBAAS,CAAC,MAAM,EACvB,SAAS,EAAE,IAAA,yBAAQ,EAAC,2BAA2B,CAAC,GAChD,EACF,uBAAC,iBAAI,IAAC,OAAO,EAAE,wBAAW,CAAC,IAAI,EAAE,KAAK,EAAE,uBAAU,CAAC,GAAG,EAAE,SAAS,EAAC,mBAAmB,YAClF,SAAS,GACL,IACH,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TextColors } from '../../../components';
|
|
2
|
+
type Props = {
|
|
3
|
+
helperText: string;
|
|
4
|
+
color?: TextColors;
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function FormHelper({ helperText, className, color }: Props): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=form-helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-helper.d.ts","sourceRoot":"","sources":["../../../../src/containers/form-control/components/form-helper.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAe,MAAM,qBAAqB,CAAC;AAGpE,KAAK,KAAK,GAAG;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,UAAU,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KAA2B,EAAE,EAAE,KAAK,2CAUvF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FormHelper = FormHelper;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const components_1 = require("../../../components");
|
|
6
|
+
const tailwind_utils_1 = require("../../../utils/tailwind-utils");
|
|
7
|
+
function FormHelper({ helperText, className, color = components_1.TextColors.BLACK_02 }) {
|
|
8
|
+
return ((0, jsx_runtime_1.jsx)(components_1.Text, { variant: components_1.TextVariant.HELPER, color: color, className: (0, tailwind_utils_1.tailwind)('whitespace-normal', className), children: helperText }));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=form-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-helper.js","sourceRoot":"","sources":["../../../../src/containers/form-control/components/form-helper.tsx"],"names":[],"mappings":";;AASA,gCAUC;;AAnBD,oDAAoE;AACpE,kEAAyD;AAQzD,SAAgB,UAAU,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,GAAG,uBAAU,CAAC,QAAQ,EAAS;IACtF,OAAO,CACL,uBAAC,iBAAI,IACH,OAAO,EAAE,wBAAW,CAAC,MAAM,EAC3B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,IAAA,yBAAQ,EAAC,mBAAmB,EAAE,SAAS,CAAC,YAElD,UAAU,GACN,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
type Props = {
|
|
2
|
+
isRequired?: boolean;
|
|
3
|
+
hideRequiredMark?: boolean;
|
|
4
|
+
label: string;
|
|
5
|
+
className?: string;
|
|
6
|
+
optionalLabel: string;
|
|
7
|
+
};
|
|
8
|
+
export declare function FormLabel({ isRequired, hideRequiredMark, label, className, optionalLabel, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=form-label.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-label.d.ts","sourceRoot":"","sources":["../../../../src/containers/form-control/components/form-label.tsx"],"names":[],"mappings":"AAGA,KAAK,KAAK,GAAG;IACX,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,SAAS,CAAC,EACxB,UAAiB,EACjB,gBAAwB,EACxB,KAAK,EACL,SAAS,EACT,aAAa,GACd,EAAE,KAAK,2CAuBP"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FormLabel = FormLabel;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const components_1 = require("../../../components");
|
|
6
|
+
const tailwind_utils_1 = require("../../../utils/tailwind-utils");
|
|
7
|
+
function FormLabel({ isRequired = true, hideRequiredMark = false, label, className, optionalLabel, }) {
|
|
8
|
+
return ((0, jsx_runtime_1.jsxs)(components_1.Text, { className: (0, tailwind_utils_1.tailwind)(className), children: [!hideRequiredMark && isRequired && ((0, jsx_runtime_1.jsx)(components_1.Text, { variant: components_1.TextVariant.BODY, color: components_1.TextColors.PURPLE, className: "inline", children: '* ' })), (0, jsx_runtime_1.jsx)(components_1.Text, { variant: components_1.TextVariant.BODY, className: "inline", children: label }), !hideRequiredMark && !isRequired && ((0, jsx_runtime_1.jsx)(components_1.Text, { variant: components_1.TextVariant.BODY, color: components_1.TextColors.BLACK_02, className: "ml-1 inline", children: optionalLabel }))] }));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=form-label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-label.js","sourceRoot":"","sources":["../../../../src/containers/form-control/components/form-label.tsx"],"names":[],"mappings":";;AAWA,8BA6BC;;AAxCD,oDAAoE;AACpE,kEAAyD;AAUzD,SAAgB,SAAS,CAAC,EACxB,UAAU,GAAG,IAAI,EACjB,gBAAgB,GAAG,KAAK,EACxB,KAAK,EACL,SAAS,EACT,aAAa,GACP;IACN,OAAO,CACL,wBAAC,iBAAI,IAAC,SAAS,EAAE,IAAA,yBAAQ,EAAC,SAAS,CAAC,aAEjC,CAAC,gBAAgB,IAAI,UAAU,IAAI,CAClC,uBAAC,iBAAI,IAAC,OAAO,EAAE,wBAAW,CAAC,IAAI,EAAE,KAAK,EAAE,uBAAU,CAAC,MAAM,EAAE,SAAS,EAAC,QAAQ,YAC1E,IAAI,GACA,CACR,EAGD,uBAAC,iBAAI,IAAC,OAAO,EAAE,wBAAW,CAAC,IAAI,EAAE,SAAS,EAAC,QAAQ,YAChD,KAAK,GACD,EAGN,CAAC,gBAAgB,IAAI,CAAC,UAAU,IAAI,CACnC,uBAAC,iBAAI,IAAC,OAAO,EAAE,wBAAW,CAAC,IAAI,EAAE,KAAK,EAAE,uBAAU,CAAC,QAAQ,EAAE,SAAS,EAAC,aAAa,YACjF,aAAa,GACT,CACR,IACI,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FormRenderProps } from '../../components';
|
|
3
|
+
export declare enum FormInputWidth {
|
|
4
|
+
ONE_COLUMN = "ONE_COLUMN",
|
|
5
|
+
TWO_COLUMN = "TWO_COLUMN",
|
|
6
|
+
THREE_COLUMN = "THREE_COLUMN",
|
|
7
|
+
FOUR_COLUMN = "FOUR_COLUMN",
|
|
8
|
+
FIVE_COLUMN = "FIVE_COLUMN"
|
|
9
|
+
}
|
|
10
|
+
export declare const FormInputWidthClassNames: {
|
|
11
|
+
[type in FormInputWidth]: string;
|
|
12
|
+
};
|
|
13
|
+
export type FormControlProps = {
|
|
14
|
+
isDisabled?: boolean;
|
|
15
|
+
isRequired?: boolean;
|
|
16
|
+
formName: string;
|
|
17
|
+
label?: string;
|
|
18
|
+
errorText?: string;
|
|
19
|
+
className?: string;
|
|
20
|
+
helperText?: string;
|
|
21
|
+
optionalLabel: string;
|
|
22
|
+
inputWidth?: FormInputWidth;
|
|
23
|
+
formProps: FormRenderProps<any>;
|
|
24
|
+
};
|
|
25
|
+
type ChildrenRenderProps = {
|
|
26
|
+
isErrorVisible: boolean;
|
|
27
|
+
};
|
|
28
|
+
type Props = FormControlProps & {
|
|
29
|
+
children?: (renderProps: ChildrenRenderProps) => React.ReactElement;
|
|
30
|
+
};
|
|
31
|
+
export declare function FormControl({ isDisabled, isRequired, formName, label, formProps, className, errorText, helperText, optionalLabel, inputWidth, children, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=form-control.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-control.d.ts","sourceRoot":"","sources":["../../../src/containers/form-control/form-control.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAc,MAAM,kBAAkB,CAAC;AAM/D,oBAAY,cAAc;IACxB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;CAC5B;AAED,eAAO,MAAM,wBAAwB,EAAE;KACpC,IAAI,IAAI,cAAc,GAAG,MAAM;CAOjC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;CACjC,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,KAAK,KAAK,GAAG,gBAAgB,GAAG;IAC9B,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,KAAK,KAAK,CAAC,YAAY,CAAC;CACrE,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAC1B,UAAU,EACV,UAAU,EACV,QAAQ,EACR,KAAK,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,UAAU,EACV,aAAa,EACb,UAAuC,EACvC,QAAQ,GACT,EAAE,KAAK,2CA4BP"}
|