@owp/core 2.2.4 → 2.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/index11.js +2 -2
- package/dist/_virtual/index12.js +2 -2
- package/dist/_virtual/index13.js +2 -2
- package/dist/_virtual/index14.js +2 -2
- package/dist/_virtual/index16.js +2 -5
- package/dist/_virtual/index16.js.map +1 -1
- package/dist/_virtual/index17.js +2 -2
- package/dist/_virtual/index5.js +5 -2
- package/dist/_virtual/index5.js.map +1 -1
- package/dist/_virtual/index6.js +2 -2
- package/dist/_virtual/index7.js +2 -2
- package/dist/components/OwpCommonCode/OwpCommonCodeSelector.js +68 -149
- package/dist/components/OwpCommonCode/OwpCommonCodeSelector.js.map +1 -1
- package/dist/components/OwpOptionSelector/OwpOptionSelector.js +52 -38
- package/dist/components/OwpOptionSelector/OwpOptionSelector.js.map +1 -1
- package/dist/components/OwpQuerySelector/OwpQuerySelector.js +232 -0
- package/dist/components/OwpQuerySelector/OwpQuerySelector.js.map +1 -0
- package/dist/components/OwpSelectorBase/OwpSelectorAutocomplete.js +381 -0
- package/dist/components/OwpSelectorBase/OwpSelectorAutocomplete.js.map +1 -0
- package/dist/components/OwpSelectorBase/OwpSelectorBase.js +14 -0
- package/dist/components/OwpSelectorBase/OwpSelectorBase.js.map +1 -0
- package/dist/components/OwpSelectorBase/OwpSelectorSelect.js +152 -0
- package/dist/components/OwpSelectorBase/OwpSelectorSelect.js.map +1 -0
- package/dist/components/OwpSelectorBase/hooks/useOwpSelectorBase.js +120 -0
- package/dist/components/OwpSelectorBase/hooks/useOwpSelectorBase.js.map +1 -0
- package/dist/components/OwpSelectorBase/utils/querySelectorUtils.js +24 -0
- package/dist/components/OwpSelectorBase/utils/querySelectorUtils.js.map +1 -0
- package/dist/index.js +39 -37
- package/dist/index.js.map +1 -1
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/ArrowDropDown.js +9 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/ArrowDropDown.js.map +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isFunction.js +10 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isFunction.js.map +1 -0
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/constants.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
- package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
- package/dist/node_modules/.pnpm/react-imask@7.6.1_react@19.2.4/node_modules/react-imask/esm/mixin.js +1 -1
- package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +1 -1
- package/dist/node_modules/.pnpm/react-overlays@5.2.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-overlays/esm/Portal.js +1 -1
- package/dist/owp-app.css +1 -1
- package/dist/types/components/OwpCommonCode/OwpCommonCodeSelector.d.ts +16 -6
- package/dist/types/components/OwpOptionSelector/OwpOptionSelector.d.ts +9 -8
- package/dist/types/components/OwpQuerySelector/OwpQuerySelector.d.ts +6 -0
- package/dist/types/components/OwpQuerySelector/index.d.ts +2 -0
- package/dist/types/components/OwpQuerySelector/types/index.d.ts +1 -0
- package/dist/types/components/OwpQuerySelector/types/types.d.ts +42 -0
- package/dist/types/components/OwpSelectorBase/OwpSelectorAutocomplete.d.ts +11 -0
- package/dist/types/components/OwpSelectorBase/OwpSelectorBase.d.ts +6 -0
- package/dist/types/components/OwpSelectorBase/OwpSelectorSelect.d.ts +11 -0
- package/dist/types/components/OwpSelectorBase/hooks/useOwpSelectorBase.d.ts +6 -0
- package/dist/types/components/OwpSelectorBase/types/index.d.ts +1 -0
- package/dist/types/components/OwpSelectorBase/types/types.d.ts +59 -0
- package/dist/types/components/OwpSelectorBase/utils/index.d.ts +1 -0
- package/dist/types/components/OwpSelectorBase/utils/querySelectorUtils.d.ts +31 -0
- package/dist/types/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OwpSelectorAutocomplete.js","sources":["../../../src/components/OwpSelectorBase/OwpSelectorAutocomplete.tsx"],"sourcesContent":["import { useOwpTranslation } from '@/hooks/useOwpTranslation';\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport ClearIcon from '@mui/icons-material/Clear';\nimport {\n Autocomplete,\n Box,\n Checkbox,\n Chip,\n CircularProgress,\n ClickAwayListener,\n Paper,\n Popper,\n TextField,\n} from '@mui/material';\nimport { alpha } from '@mui/material/styles';\nimport clsx from 'clsx';\nimport {\n type KeyboardEvent as ReactKeyboardEvent,\n type MouseEvent as ReactMouseEvent,\n type MutableRefObject,\n type SyntheticEvent,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport type { OwpSelectorBaseHookResult, OwpSelectorBaseOption, OwpSelectorBaseProps } from './types';\nimport { isSelectorAllOption } from './utils';\n\ninterface OwpSelectorAutocompleteProps {\n hookResult: OwpSelectorBaseHookResult;\n props: OwpSelectorBaseProps;\n}\n\nconst MULTIPLE_VISIBLE_CHIP_COUNT = 2;\nconst AUTOCOMPLETE_MIN_WIDTH = 152;\nconst MULTIPLE_AUTOCOMPLETE_INPUT_MIN_WIDTH = 72;\nconst SELECTOR_CLEAR_ICON_FONT_SIZE = 18.57;\n\ntype SelectorAutocompleteKeyDownEvent = ReactKeyboardEvent<HTMLDivElement> & {\n defaultMuiPrevented?: boolean;\n};\n\n/**\n * 현재 키 이벤트 기준 입력값 반환\n * @param event 키보드 이벤트\n * @param fallbackValue 제어 입력 fallback 값\n */\nconst getCurrentAutocompleteInputValue = (\n event: SelectorAutocompleteKeyDownEvent,\n fallbackValue?: string,\n) => {\n const eventTarget = event.target;\n\n if (eventTarget instanceof HTMLInputElement) {\n return eventTarget.value;\n }\n\n return fallbackValue ?? '';\n};\n\n/**\n * Autocomplete 옵션 라벨 문자열 변환\n * @param label 옵션 라벨\n */\nconst getAutocompleteOptionLabel = (label: OwpSelectorBaseOption['label']) => {\n return typeof label === 'string' || typeof label === 'number' ? `${label}` : '';\n};\n\n/**\n * Autocomplete 기반 공통 선택기\n * @param props Autocomplete 렌더링 props\n */\nexport const OwpSelectorAutocomplete = ({ hookResult, props }: OwpSelectorAutocompleteProps) => {\n const { t } = useOwpTranslation();\n const {\n autocompleteInputValue,\n className,\n disableAllValueItem,\n disableClientFilter,\n disabled,\n error,\n fullWidth,\n helperText,\n label,\n loading,\n loadingText,\n multiple,\n noOptionsText,\n onAutocompleteInputChange,\n placeholder,\n required,\n textFieldProps,\n } = props;\n const {\n allOption,\n clearSelection,\n isAllSelected,\n resolvedOptions,\n restoreAllSelection,\n selectAll,\n selectedOption,\n selectedOptions,\n selectMultipleValues,\n selectSingleValue,\n } = hookResult;\n const options = disableAllValueItem ? resolvedOptions : [allOption, ...resolvedOptions];\n const filteredSelectedOptions = useMemo(\n () => selectedOptions.filter((option) => !isSelectorAllOption(option)),\n [selectedOptions],\n );\n const hiddenSelectedOptions = useMemo(\n () =>\n isAllSelected\n ? []\n : filteredSelectedOptions.slice(MULTIPLE_VISIBLE_CHIP_COUNT),\n [filteredSelectedOptions, isAllSelected],\n );\n const hiddenSelectedOptionCount = hiddenSelectedOptions.length;\n const [hiddenChipAnchorEl, setHiddenChipAnchorEl] = useState<HTMLElement | null>(null);\n const autocompleteRootRef = useRef<HTMLDivElement | null>(null);\n const resolvedNoOptionsText = noOptionsText ?? t('Message.검색 결과 없음');\n const shouldRestoreAllOnClearRef = useRef(\n multiple &&\n !disableAllValueItem &&\n ((props.value ?? props.defaultValue) == null || (props.value ?? props.defaultValue) === ''),\n );\n const autocompleteSlotProps = {\n clearIndicator: {\n className: 'm-0 p-0',\n size: 'small',\n },\n paper: {\n sx: {\n '& .MuiAutocomplete-noOptions': {\n fontSize: 14,\n px: 1,\n py: 1.5,\n whiteSpace: 'nowrap',\n },\n },\n },\n popupIndicator: {\n className: 'm-0 p-0',\n size: 'small',\n },\n } as const;\n const autocompleteSx = {\n minWidth: AUTOCOMPLETE_MIN_WIDTH,\n '& .MuiAutocomplete-endAdornment': {\n '& .MuiAutocomplete-clearIndicator + .MuiAutocomplete-popupIndicator': {\n ml: 0,\n },\n '& .MuiIconButton-root': {\n m: 0,\n p: 0,\n },\n '& > :not(style) + :not(style)': {\n ml: 0,\n },\n alignItems: 'center',\n gap: 0,\n right: 0,\n },\n } as const;\n const multipleAutocompleteSx = {\n ...autocompleteSx,\n '& .MuiAutocomplete-inputRoot .MuiAutocomplete-input': {\n flexBasis: MULTIPLE_AUTOCOMPLETE_INPUT_MIN_WIDTH,\n minWidth: MULTIPLE_AUTOCOMPLETE_INPUT_MIN_WIDTH,\n },\n } as const;\n\n useEffect(() => {\n if (!hiddenSelectedOptionCount) {\n setHiddenChipAnchorEl(null);\n }\n }, [hiddenSelectedOptionCount]);\n\n useEffect(() => {\n if (!shouldRestoreAllOnClearRef.current) {\n return;\n }\n\n const formElement = autocompleteRootRef.current?.closest('form');\n\n if (!formElement) {\n return;\n }\n\n const handleFormReset = () => {\n window.setTimeout(() => {\n restoreAllSelection();\n }, 0);\n };\n\n formElement.addEventListener('reset', handleFormReset);\n\n return () => {\n formElement.removeEventListener('reset', handleFormReset);\n };\n }, [restoreAllSelection]);\n\n const handleHiddenChipPopperClose = () => {\n setHiddenChipAnchorEl(null);\n };\n\n const handleHiddenChipSummaryMouseDown = (event: ReactMouseEvent<HTMLElement>) => {\n event.preventDefault();\n };\n\n const handleHiddenChipSummaryClick = (event: ReactMouseEvent<HTMLElement>) => {\n event.preventDefault();\n event.stopPropagation();\n\n setHiddenChipAnchorEl((previousAnchorElement) =>\n previousAnchorElement === event.currentTarget ? null : event.currentTarget,\n );\n };\n\n const handleHiddenChipDelete = (optionValue: string) => {\n selectMultipleValues(\n filteredSelectedOptions\n .filter((option) => option.value !== optionValue)\n .map((option) => option.value),\n );\n };\n\n const handleMultipleRootKeyDown = (event: SelectorAutocompleteKeyDownEvent) => {\n const currentInputValue = getCurrentAutocompleteInputValue(event, autocompleteInputValue);\n\n if (\n (isAllSelected || hiddenSelectedOptionCount > 0) &&\n currentInputValue === '' &&\n (event.key === 'Backspace' || event.key === 'Delete')\n ) {\n event.defaultMuiPrevented = true;\n event.preventDefault();\n event.stopPropagation();\n }\n\n textFieldProps?.onKeyDown?.(event as Parameters<NonNullable<typeof textFieldProps.onKeyDown>>[0]);\n };\n\n if (multiple) {\n return (\n <>\n <Autocomplete\n ref={autocompleteRootRef as MutableRefObject<HTMLDivElement | null>}\n className={clsx('min-w-128', className)}\n disableCloseOnSelect\n disabled={disabled}\n filterOptions={disableClientFilter ? (nextOptions) => nextOptions : undefined}\n fullWidth={fullWidth}\n inputValue={autocompleteInputValue}\n loading={loading}\n multiple\n options={options}\n clearText=\"\"\n closeText=\"\"\n clearIcon={<ClearIcon sx={{ fontSize: SELECTOR_CLEAR_ICON_FONT_SIZE }} />}\n openText=\"\"\n popupIcon={<ArrowDropDownIcon />}\n sx={multipleAutocompleteSx}\n value={selectedOptions}\n getOptionLabel={(option) => getAutocompleteOptionLabel(option.label)}\n isOptionEqualToValue={(option, selected) => option.value === selected.value}\n loadingText={loadingText ?? t('Common.로딩 중...')}\n noOptionsText={resolvedNoOptionsText}\n onChange={(\n _event: SyntheticEvent,\n nextOptions: OwpSelectorBaseOption[],\n reason: string,\n details,\n ) => {\n const currentInputValue =\n _event.type === 'keydown'\n ? getCurrentAutocompleteInputValue(\n _event as SelectorAutocompleteKeyDownEvent,\n autocompleteInputValue,\n )\n : autocompleteInputValue ?? '';\n\n if (\n reason === 'removeOption' &&\n _event.type === 'keydown' &&\n currentInputValue === '' &&\n (isAllSelected || hiddenSelectedOptionCount > 0)\n ) {\n _event.preventDefault();\n _event.stopPropagation();\n return;\n }\n\n if (reason === 'clear') {\n if (shouldRestoreAllOnClearRef.current) {\n selectAll();\n return;\n }\n\n clearSelection();\n return;\n }\n\n if (!disableAllValueItem && details?.option && isSelectorAllOption(details.option)) {\n if (isAllSelected) {\n clearSelection();\n return;\n }\n\n selectAll();\n return;\n }\n\n selectMultipleValues(\n nextOptions.filter((option) => !isSelectorAllOption(option)).map((option) => option.value),\n );\n }}\n onInputChange={(_event, nextInputValue, reason) => {\n onAutocompleteInputChange?.(nextInputValue, reason);\n }}\n onKeyDown={handleMultipleRootKeyDown}\n slotProps={autocompleteSlotProps}\n renderInput={(params) => (\n <TextField\n {...params}\n {...textFieldProps}\n disabled={disabled}\n error={error}\n fullWidth={fullWidth}\n helperText={helperText}\n label={label}\n placeholder={placeholder ?? t('Common.검색')}\n required={required}\n slotProps={{\n ...textFieldProps?.slotProps,\n input: {\n ...params.InputProps,\n ...textFieldProps?.slotProps?.input,\n endAdornment: (\n <>\n {loading ? <CircularProgress color=\"inherit\" size={16} sx={{ mr: 0.5 }} /> : null}\n {params.InputProps.endAdornment}\n </>\n ),\n },\n }}\n variant={textFieldProps?.variant ?? 'standard'}\n />\n )}\n renderOption={(optionProps, option, state) => (\n <li {...optionProps}>\n <Checkbox checked={state.selected} className=\"!mr-8 !p-0\" size=\"small\" />\n {option.label}\n </li>\n )}\n renderValue={(nextSelectedOptions, getItemProps) => {\n if (!disableAllValueItem && isAllSelected) {\n return [\n <Box\n component=\"span\"\n key={allOption.value}\n sx={{ color: 'text.primary', fontWeight: 500, mr: 0.5 }}\n >\n {allOption.label}\n </Box>,\n ];\n }\n\n const visibleSelectedOptions = nextSelectedOptions\n .filter((option) => !isSelectorAllOption(option))\n .slice(0, MULTIPLE_VISIBLE_CHIP_COUNT);\n\n return [\n ...visibleSelectedOptions.map((option, index) => (\n <Chip\n {...getItemProps({ index })}\n key={option.value}\n label={option.label}\n size=\"small\"\n sx={{ borderRadius: 1, mr: 0.5 }}\n />\n )),\n ...(hiddenSelectedOptionCount > 0\n ? [\n <Chip\n key=\"owp-selector-hidden-chip-summary\"\n clickable\n label={`+${hiddenSelectedOptionCount}`}\n onClick={handleHiddenChipSummaryClick}\n onMouseDown={handleHiddenChipSummaryMouseDown}\n size=\"small\"\n sx={(theme) => ({\n backgroundColor: alpha(theme.palette.primary.main, 0.14),\n border: `1px solid ${alpha(theme.palette.primary.main, 0.22)}`,\n borderRadius: 1,\n color: theme.palette.primary.dark,\n fontWeight: 600,\n mr: 0.5,\n '&:hover': {\n backgroundColor: alpha(theme.palette.primary.main, 0.2),\n },\n })}\n />,\n ]\n : []),\n ];\n }}\n />\n <Popper\n anchorEl={hiddenChipAnchorEl}\n open={Boolean(hiddenChipAnchorEl) && hiddenSelectedOptionCount > 0}\n placement=\"bottom-start\"\n sx={{ zIndex: (theme) => theme.zIndex.modal }}\n >\n <ClickAwayListener onClickAway={handleHiddenChipPopperClose}>\n <Paper\n className=\"mt-4\"\n sx={{\n border: (theme) => `1px solid ${alpha(theme.palette.common.black, 0.12)}`,\n display: 'flex',\n flexWrap: 'wrap',\n gap: 0.75,\n maxWidth: 280,\n p: 1,\n }}\n >\n {hiddenSelectedOptions.map((option) => (\n <Chip\n key={option.value}\n label={option.label}\n onDelete={() => handleHiddenChipDelete(option.value)}\n size=\"small\"\n sx={{ borderRadius: 1 }}\n />\n ))}\n </Paper>\n </ClickAwayListener>\n </Popper>\n </>\n );\n }\n\n return (\n <Autocomplete\n className={clsx('min-w-128', className)}\n disabled={disabled}\n filterOptions={disableClientFilter ? (nextOptions) => nextOptions : undefined}\n fullWidth={fullWidth}\n inputValue={autocompleteInputValue}\n loading={loading}\n options={options}\n clearText=\"\"\n closeText=\"\"\n clearIcon={<ClearIcon sx={{ fontSize: SELECTOR_CLEAR_ICON_FONT_SIZE }} />}\n openText=\"\"\n popupIcon={<ArrowDropDownIcon />}\n sx={autocompleteSx}\n value={selectedOption}\n getOptionLabel={(option) => getAutocompleteOptionLabel(option.label)}\n isOptionEqualToValue={(option, selected) => option.value === selected.value}\n loadingText={loadingText ?? t('Common.로딩 중...')}\n noOptionsText={resolvedNoOptionsText}\n onChange={(_event: SyntheticEvent, nextOption) => {\n if (!nextOption || (!disableAllValueItem && isSelectorAllOption(nextOption))) {\n selectSingleValue('');\n return;\n }\n\n selectSingleValue(nextOption.value);\n }}\n onInputChange={(_event, nextInputValue, reason) => {\n onAutocompleteInputChange?.(nextInputValue, reason);\n }}\n slotProps={autocompleteSlotProps}\n renderInput={(params) => (\n <TextField\n {...params}\n {...textFieldProps}\n disabled={disabled}\n error={error}\n fullWidth={fullWidth}\n helperText={helperText}\n label={label}\n placeholder={placeholder}\n required={required}\n slotProps={{\n ...textFieldProps?.slotProps,\n input: {\n ...params.InputProps,\n ...textFieldProps?.slotProps?.input,\n sx: {\n '& .MuiAutocomplete-input, & .MuiInputBase-input': {\n paddingLeft: '11px !important',\n },\n ...((params.InputProps as { sx?: object }).sx ?? {}),\n ...((textFieldProps?.slotProps?.input as { sx?: object } | undefined)?.sx ?? {}),\n },\n endAdornment: (\n <>\n {loading ? <CircularProgress color=\"inherit\" size={16} sx={{ mr: 0.5 }} /> : null}\n {params.InputProps.endAdornment}\n </>\n ),\n },\n }}\n variant={textFieldProps?.variant ?? 'standard'}\n />\n )}\n selectOnFocus\n renderOption={(optionProps, option) => <li {...optionProps}>{option.label}</li>}\n />\n );\n};\n"],"names":["MULTIPLE_VISIBLE_CHIP_COUNT","AUTOCOMPLETE_MIN_WIDTH","MULTIPLE_AUTOCOMPLETE_INPUT_MIN_WIDTH","SELECTOR_CLEAR_ICON_FONT_SIZE","getCurrentAutocompleteInputValue","__name","event","fallbackValue","eventTarget","getAutocompleteOptionLabel","label","OwpSelectorAutocomplete","hookResult","props","t","useOwpTranslation","autocompleteInputValue","className","disableAllValueItem","disableClientFilter","disabled","error","fullWidth","helperText","loading","loadingText","multiple","noOptionsText","onAutocompleteInputChange","placeholder","required","textFieldProps","allOption","clearSelection","isAllSelected","resolvedOptions","restoreAllSelection","selectAll","selectedOption","selectedOptions","selectMultipleValues","selectSingleValue","options","filteredSelectedOptions","useMemo","option","isSelectorAllOption","hiddenSelectedOptions","hiddenSelectedOptionCount","hiddenChipAnchorEl","setHiddenChipAnchorEl","useState","autocompleteRootRef","useRef","resolvedNoOptionsText","shouldRestoreAllOnClearRef","autocompleteSlotProps","autocompleteSx","multipleAutocompleteSx","useEffect","formElement","_a","handleFormReset","handleHiddenChipPopperClose","handleHiddenChipSummaryMouseDown","handleHiddenChipSummaryClick","previousAnchorElement","handleHiddenChipDelete","optionValue","handleMultipleRootKeyDown","currentInputValue","jsxs","Fragment","jsx","Autocomplete","clsx","nextOptions","ClearIcon","ArrowDropDownIcon","selected","_event","reason","details","nextInputValue","params","TextField","CircularProgress","optionProps","state","Checkbox","nextSelectedOptions","getItemProps","Box","index","createElement","Chip","theme","alpha","Popper","ClickAwayListener","Paper","nextOption","_c","_b"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
var c = Object.defineProperty;
|
|
2
|
+
var o = (e, t) => c(e, "name", { value: t, configurable: !0 });
|
|
3
|
+
import { jsx as r } from "../../node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
|
|
4
|
+
import { OwpSelectorAutocomplete as m } from "./OwpSelectorAutocomplete.js";
|
|
5
|
+
import { OwpSelectorSelect as l } from "./OwpSelectorSelect.js";
|
|
6
|
+
import { useOwpSelectorBase as p } from "./hooks/useOwpSelectorBase.js";
|
|
7
|
+
const n = /* @__PURE__ */ o((e) => {
|
|
8
|
+
const t = p(e);
|
|
9
|
+
return e.selectorType === "autocomplete" ? /* @__PURE__ */ r(m, { hookResult: t, props: e }) : /* @__PURE__ */ r(l, { hookResult: t, props: e });
|
|
10
|
+
}, "OwpSelectorBase");
|
|
11
|
+
export {
|
|
12
|
+
n as OwpSelectorBase
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=OwpSelectorBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OwpSelectorBase.js","sources":["../../../src/components/OwpSelectorBase/OwpSelectorBase.tsx"],"sourcesContent":["import { OwpSelectorAutocomplete } from './OwpSelectorAutocomplete';\nimport { OwpSelectorSelect } from './OwpSelectorSelect';\nimport { useOwpSelectorBase } from './hooks/useOwpSelectorBase';\nimport type { OwpSelectorBaseProps } from './types';\n\n/**\n * 공통 선택기 베이스\n * @param props 공통 선택기 props\n */\nexport const OwpSelectorBase = (props: OwpSelectorBaseProps) => {\n const hookResult = useOwpSelectorBase(props);\n\n if (props.selectorType === 'autocomplete') {\n return <OwpSelectorAutocomplete hookResult={hookResult} props={props} />;\n }\n\n return <OwpSelectorSelect hookResult={hookResult} props={props} />;\n};\n"],"names":["OwpSelectorBase","__name","props","hookResult","useOwpSelectorBase","jsx","OwpSelectorAutocomplete","OwpSelectorSelect"],"mappings":";;;;;;AASO,MAAMA,IAAkB,gBAAAC,EAAA,CAACC,MAAgC;AAC9D,QAAMC,IAAaC,EAAmBF,CAAK;AAE3C,SAAIA,EAAM,iBAAiB,iBAClB,gBAAAG,EAACC,GAAA,EAAwB,YAAAH,GAAwB,OAAAD,EAAA,CAAc,IAGjE,gBAAAG,EAACE,GAAA,EAAkB,YAAAJ,GAAwB,OAAAD,EAAA,CAAc;AAClE,GAR+B;"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
var Q = Object.defineProperty;
|
|
2
|
+
var n = (a, x) => Q(a, "name", { value: x, configurable: !0 });
|
|
3
|
+
import { jsxs as s, jsx as l } from "../../node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
|
|
4
|
+
import { useOwpTranslation as U } from "../../hooks/useOwpTranslation.js";
|
|
5
|
+
import { InputLabel as V, Select as $, MenuItem as f, FormHelperText as j, FormControl as B, Checkbox as M, ListItemText as O, Box as y, Tooltip as X } from "@mui/material";
|
|
6
|
+
import { alpha as W } from "@mui/material/styles";
|
|
7
|
+
import { clsx as z } from "../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
|
|
8
|
+
import { useId as Y, useMemo as H } from "react";
|
|
9
|
+
import { getSelectorAllToken as N } from "./utils/querySelectorUtils.js";
|
|
10
|
+
const E = /* @__PURE__ */ n((a) => typeof a == "string" || typeof a == "number" ? `${a}` : "", "getSelectorLabelText"), ne = /* @__PURE__ */ n(({ hookResult: a, props: x }) => {
|
|
11
|
+
const { t: g } = U(), {
|
|
12
|
+
className: L,
|
|
13
|
+
disableAllValueItem: p,
|
|
14
|
+
disabled: S,
|
|
15
|
+
error: T,
|
|
16
|
+
fullWidth: w,
|
|
17
|
+
helperText: h,
|
|
18
|
+
label: o,
|
|
19
|
+
loading: F,
|
|
20
|
+
multiple: q,
|
|
21
|
+
required: C,
|
|
22
|
+
selectProps: r
|
|
23
|
+
} = x, {
|
|
24
|
+
clearSelection: R,
|
|
25
|
+
isAllSelected: b,
|
|
26
|
+
resolvedOptions: m,
|
|
27
|
+
selectAll: D,
|
|
28
|
+
selectedValueList: d,
|
|
29
|
+
selectMultipleValues: G,
|
|
30
|
+
selectSingleValue: I
|
|
31
|
+
} = a, v = `owp-selector-base-label-${Y()}`, k = H(
|
|
32
|
+
() => m.filter((e) => d.includes(e.value)).map((e) => e.label),
|
|
33
|
+
[m, d]
|
|
34
|
+
), A = H(
|
|
35
|
+
() => k.map((e) => E(e)).filter(Boolean),
|
|
36
|
+
[k]
|
|
37
|
+
).join(", ");
|
|
38
|
+
if (!q)
|
|
39
|
+
return /* @__PURE__ */ s(
|
|
40
|
+
B,
|
|
41
|
+
{
|
|
42
|
+
className: z("min-w-128", L),
|
|
43
|
+
disabled: S,
|
|
44
|
+
error: T,
|
|
45
|
+
fullWidth: w,
|
|
46
|
+
required: C,
|
|
47
|
+
variant: (r == null ? void 0 : r.variant) ?? "standard",
|
|
48
|
+
children: [
|
|
49
|
+
o ? /* @__PURE__ */ l(V, { shrink: !0, id: v, children: o }) : null,
|
|
50
|
+
/* @__PURE__ */ s(
|
|
51
|
+
$,
|
|
52
|
+
{
|
|
53
|
+
displayEmpty: !0,
|
|
54
|
+
...r,
|
|
55
|
+
labelId: o ? v : void 0,
|
|
56
|
+
value: d[0] ?? "",
|
|
57
|
+
onChange: /* @__PURE__ */ n((e) => {
|
|
58
|
+
const u = String(e.target.value ?? "");
|
|
59
|
+
if (!p && u === "") {
|
|
60
|
+
I("");
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
I(u);
|
|
64
|
+
}, "onChange"),
|
|
65
|
+
children: [
|
|
66
|
+
p ? null : /* @__PURE__ */ l(f, { value: "", children: g("Common.전체") }),
|
|
67
|
+
m.map((e) => /* @__PURE__ */ l(f, { disabled: e.disabled, value: e.value, children: e.label }, `owp-selector-base-item-${e.value}`))
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
),
|
|
71
|
+
h ? /* @__PURE__ */ l(j, { children: h }) : null
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
const J = /* @__PURE__ */ n((e) => {
|
|
76
|
+
const u = Array.isArray(e) ? e.map((t) => String(t)) : [], c = m.filter((t) => u.includes(t.value)).map((t) => E(t.label)).filter(Boolean), i = b ? 0 : Math.max(c.length - 2, 0), K = b ? g("Common.전체") : i > 0 ? `${c.slice(0, 2).join(", ")}...` : c.join(", ");
|
|
77
|
+
return /* @__PURE__ */ l(X, { title: A, placement: "top", disableHoverListener: !A, children: /* @__PURE__ */ s(y, { component: "span", sx: { alignItems: "center", display: "inline-flex", maxWidth: "100%" }, children: [
|
|
78
|
+
/* @__PURE__ */ l(y, { component: "span", sx: { minWidth: 0, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: K }),
|
|
79
|
+
i > 0 ? /* @__PURE__ */ l(
|
|
80
|
+
y,
|
|
81
|
+
{
|
|
82
|
+
component: "span",
|
|
83
|
+
sx: /* @__PURE__ */ n((t) => ({
|
|
84
|
+
backgroundColor: W(t.palette.primary.main, 0.14),
|
|
85
|
+
border: `1px solid ${W(t.palette.primary.main, 0.22)}`,
|
|
86
|
+
borderRadius: 1,
|
|
87
|
+
color: t.palette.primary.dark,
|
|
88
|
+
fontSize: 12,
|
|
89
|
+
fontWeight: 600,
|
|
90
|
+
lineHeight: 1.4,
|
|
91
|
+
ml: 0.5,
|
|
92
|
+
px: 0.75,
|
|
93
|
+
py: 0.125
|
|
94
|
+
}), "sx"),
|
|
95
|
+
children: `+${i}`
|
|
96
|
+
}
|
|
97
|
+
) : null
|
|
98
|
+
] }) });
|
|
99
|
+
}, "renderValue");
|
|
100
|
+
return /* @__PURE__ */ s(
|
|
101
|
+
B,
|
|
102
|
+
{
|
|
103
|
+
className: z("w-128", L),
|
|
104
|
+
disabled: S,
|
|
105
|
+
error: T,
|
|
106
|
+
fullWidth: w,
|
|
107
|
+
required: C,
|
|
108
|
+
variant: (r == null ? void 0 : r.variant) ?? "standard",
|
|
109
|
+
children: [
|
|
110
|
+
o ? /* @__PURE__ */ l(V, { shrink: !0, id: v, children: o }) : null,
|
|
111
|
+
/* @__PURE__ */ s(
|
|
112
|
+
$,
|
|
113
|
+
{
|
|
114
|
+
displayEmpty: !0,
|
|
115
|
+
...r,
|
|
116
|
+
labelId: o ? v : void 0,
|
|
117
|
+
multiple: !0,
|
|
118
|
+
renderValue: J,
|
|
119
|
+
value: d,
|
|
120
|
+
onChange: /* @__PURE__ */ n((e, u) => {
|
|
121
|
+
const c = Array.isArray(e.target.value) ? e.target.value.map((i) => String(i)) : String(e.target.value ?? "").split(",").map((i) => i.trim()).filter(Boolean);
|
|
122
|
+
if (c.includes(N())) {
|
|
123
|
+
if (b) {
|
|
124
|
+
R();
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
D();
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
G(c);
|
|
131
|
+
}, "onChange"),
|
|
132
|
+
children: [
|
|
133
|
+
p ? null : /* @__PURE__ */ s(f, { value: N(), children: [
|
|
134
|
+
/* @__PURE__ */ l(M, { checked: b, size: "small" }),
|
|
135
|
+
/* @__PURE__ */ l(O, { primary: g("Common.전체") })
|
|
136
|
+
] }),
|
|
137
|
+
m.map((e) => /* @__PURE__ */ s(f, { disabled: e.disabled || F, value: e.value, children: [
|
|
138
|
+
/* @__PURE__ */ l(M, { checked: d.includes(e.value), size: "small" }),
|
|
139
|
+
/* @__PURE__ */ l(O, { primary: e.label })
|
|
140
|
+
] }, `owp-selector-base-item-${e.value}`))
|
|
141
|
+
]
|
|
142
|
+
}
|
|
143
|
+
),
|
|
144
|
+
h ? /* @__PURE__ */ l(j, { children: h }) : null
|
|
145
|
+
]
|
|
146
|
+
}
|
|
147
|
+
);
|
|
148
|
+
}, "OwpSelectorSelect");
|
|
149
|
+
export {
|
|
150
|
+
ne as OwpSelectorSelect
|
|
151
|
+
};
|
|
152
|
+
//# sourceMappingURL=OwpSelectorSelect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OwpSelectorSelect.js","sources":["../../../src/components/OwpSelectorBase/OwpSelectorSelect.tsx"],"sourcesContent":["import { useOwpTranslation } from '@/hooks/useOwpTranslation';\nimport {\n Box,\n Checkbox,\n FormControl,\n FormHelperText,\n InputLabel,\n ListItemText,\n MenuItem,\n Select,\n Tooltip,\n type SelectChangeEvent,\n type SelectProps,\n} from '@mui/material';\nimport { alpha } from '@mui/material/styles';\nimport clsx from 'clsx';\nimport { type ReactNode, useId, useMemo } from 'react';\nimport type { OwpSelectorBaseHookResult, OwpSelectorBaseProps } from './types';\nimport { getSelectorAllToken } from './utils';\n\ninterface OwpSelectorSelectProps {\n hookResult: OwpSelectorBaseHookResult;\n props: OwpSelectorBaseProps;\n}\n\n/**\n * 선택 라벨 문자열 변환\n * @param label 선택 라벨\n */\nconst getSelectorLabelText = (label: ReactNode) => {\n return typeof label === 'string' || typeof label === 'number' ? `${label}` : '';\n};\n\n/**\n * Select 기반 공통 선택기\n * @param props Select 렌더링 props\n */\nexport const OwpSelectorSelect = ({ hookResult, props }: OwpSelectorSelectProps) => {\n const { t } = useOwpTranslation();\n const {\n className,\n disableAllValueItem,\n disabled,\n error,\n fullWidth,\n helperText,\n label,\n loading,\n multiple,\n required,\n selectProps,\n } = props;\n const {\n clearSelection,\n isAllSelected,\n resolvedOptions,\n selectAll,\n selectedValueList,\n selectMultipleValues,\n selectSingleValue,\n } = hookResult;\n const labelId = `owp-selector-base-label-${useId()}`;\n const selectedLabelList = useMemo(\n () => resolvedOptions.filter((option) => selectedValueList.includes(option.value)).map((option) => option.label),\n [resolvedOptions, selectedValueList],\n );\n const selectedLabelTextList = useMemo(\n () => selectedLabelList.map((label) => getSelectorLabelText(label)).filter(Boolean),\n [selectedLabelList],\n );\n const selectedTitle = selectedLabelTextList.join(', ');\n\n if (!multiple) {\n return (\n <FormControl\n className={clsx('min-w-128', className)}\n disabled={disabled}\n error={error}\n fullWidth={fullWidth}\n required={required}\n variant={selectProps?.variant ?? 'standard'}\n >\n {label ? (\n <InputLabel shrink id={labelId}>\n {label}\n </InputLabel>\n ) : null}\n <Select\n displayEmpty\n {...(selectProps as SelectProps<unknown>)}\n labelId={label ? labelId : undefined}\n value={(disableAllValueItem ? selectedValueList[0] ?? '' : selectedValueList[0] ?? '') as SelectProps<unknown>['value']}\n onChange={(event) => {\n const nextValue = String(event.target.value ?? '');\n\n if (!disableAllValueItem && nextValue === '') {\n selectSingleValue('');\n return;\n }\n\n selectSingleValue(nextValue);\n }}\n >\n {!disableAllValueItem ? <MenuItem value=\"\">{t('Common.전체')}</MenuItem> : null}\n {resolvedOptions.map((option) => (\n <MenuItem key={`owp-selector-base-item-${option.value}`} disabled={option.disabled} value={option.value}>\n {option.label}\n </MenuItem>\n ))}\n </Select>\n {helperText ? <FormHelperText>{helperText}</FormHelperText> : null}\n </FormControl>\n );\n }\n\n const renderValue = (selected: unknown) => {\n const selectedValues = Array.isArray(selected) ? selected.map((item) => String(item)) : [];\n const visibleLabelTextList = resolvedOptions\n .filter((option) => selectedValues.includes(option.value))\n .map((option) => getSelectorLabelText(option.label))\n .filter(Boolean);\n const hiddenLabelCount = isAllSelected ? 0 : Math.max(visibleLabelTextList.length - 2, 0);\n const displayText = isAllSelected\n ? t('Common.전체')\n : hiddenLabelCount > 0\n ? `${visibleLabelTextList.slice(0, 2).join(', ')}...`\n : visibleLabelTextList.join(', ');\n\n return (\n <Tooltip title={selectedTitle} placement=\"top\" disableHoverListener={!selectedTitle}>\n <Box component=\"span\" sx={{ alignItems: 'center', display: 'inline-flex', maxWidth: '100%' }}>\n <Box component=\"span\" sx={{ minWidth: 0, overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}>\n {displayText}\n </Box>\n {hiddenLabelCount > 0 ? (\n <Box\n component=\"span\"\n sx={(theme) => ({\n backgroundColor: alpha(theme.palette.primary.main, 0.14),\n border: `1px solid ${alpha(theme.palette.primary.main, 0.22)}`,\n borderRadius: 1,\n color: theme.palette.primary.dark,\n fontSize: 12,\n fontWeight: 600,\n lineHeight: 1.4,\n ml: 0.5,\n px: 0.75,\n py: 0.125,\n })}\n >\n {`+${hiddenLabelCount}`}\n </Box>\n ) : null}\n </Box>\n </Tooltip>\n );\n };\n\n return (\n <FormControl\n className={clsx('w-128', className)}\n disabled={disabled}\n error={error}\n fullWidth={fullWidth}\n required={required}\n variant={selectProps?.variant ?? 'standard'}\n >\n {label ? (\n <InputLabel shrink id={labelId}>\n {label}\n </InputLabel>\n ) : null}\n <Select\n displayEmpty\n {...(selectProps as SelectProps<unknown>)}\n labelId={label ? labelId : undefined}\n multiple\n renderValue={renderValue}\n value={selectedValueList as SelectProps<unknown>['value']}\n onChange={(event: SelectChangeEvent<unknown>, child: ReactNode) => {\n const selectedValues = Array.isArray(event.target.value)\n ? event.target.value.map((item) => String(item))\n : String(event.target.value ?? '')\n .split(',')\n .map((item) => item.trim())\n .filter(Boolean);\n\n if (selectedValues.includes(getSelectorAllToken())) {\n if (isAllSelected) {\n clearSelection();\n return;\n }\n\n selectAll();\n return;\n }\n\n selectMultipleValues(selectedValues);\n void child;\n }}\n >\n {!disableAllValueItem ? (\n <MenuItem value={getSelectorAllToken()}>\n <Checkbox checked={isAllSelected} size=\"small\" />\n <ListItemText primary={t('Common.전체')} />\n </MenuItem>\n ) : null}\n {resolvedOptions.map((option) => (\n <MenuItem key={`owp-selector-base-item-${option.value}`} disabled={option.disabled || loading} value={option.value}>\n <Checkbox checked={selectedValueList.includes(option.value)} size=\"small\" />\n <ListItemText primary={option.label} />\n </MenuItem>\n ))}\n </Select>\n {helperText ? <FormHelperText>{helperText}</FormHelperText> : null}\n </FormControl>\n );\n};\n"],"names":["getSelectorLabelText","__name","label","OwpSelectorSelect","hookResult","props","t","useOwpTranslation","className","disableAllValueItem","disabled","error","fullWidth","helperText","loading","multiple","required","selectProps","clearSelection","isAllSelected","resolvedOptions","selectAll","selectedValueList","selectMultipleValues","selectSingleValue","labelId","useId","selectedLabelList","useMemo","option","selectedTitle","jsxs","FormControl","clsx","InputLabel","Select","event","nextValue","MenuItem","jsx","FormHelperText","renderValue","selected","selectedValues","item","visibleLabelTextList","hiddenLabelCount","displayText","Tooltip","Box","theme","alpha","child","getSelectorAllToken","Checkbox","ListItemText"],"mappings":";;;;;;;;;AA6BA,MAAMA,IAAuB,gBAAAC,EAAA,CAACC,MACrB,OAAOA,KAAU,YAAY,OAAOA,KAAU,WAAW,GAAGA,CAAK,KAAK,IADlD,yBAQhBC,KAAoB,gBAAAF,EAAA,CAAC,EAAE,YAAAG,GAAY,OAAAC,QAAoC;AAClF,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAA,GACR;AAAA,IACJ,WAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,WAAAC;AAAA,IACA,YAAAC;AAAA,IACA,OAAAX;AAAA,IACA,SAAAY;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,EAAA,IACEZ,GACE;AAAA,IACJ,gBAAAa;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,mBAAAC;AAAA,EAAA,IACEpB,GACEqB,IAAU,2BAA2BC,EAAA,CAAO,IAC5CC,IAAoBC;AAAA,IACxB,MAAMR,EAAgB,OAAO,CAACS,MAAWP,EAAkB,SAASO,EAAO,KAAK,CAAC,EAAE,IAAI,CAACA,MAAWA,EAAO,KAAK;AAAA,IAC/G,CAACT,GAAiBE,CAAiB;AAAA,EAAA,GAM/BQ,IAJwBF;AAAA,IAC5B,MAAMD,EAAkB,IAAI,CAACzB,MAAUF,EAAqBE,CAAK,CAAC,EAAE,OAAO,OAAO;AAAA,IAClF,CAACyB,CAAiB;AAAA,EAAA,EAEwB,KAAK,IAAI;AAErD,MAAI,CAACZ;AACH,WACE,gBAAAgB;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAWC,EAAK,aAAazB,CAAS;AAAA,QACtC,UAAAE;AAAA,QACA,OAAAC;AAAA,QACA,WAAAC;AAAA,QACA,UAAAI;AAAA,QACA,UAASC,KAAA,gBAAAA,EAAa,YAAW;AAAA,QAEhC,UAAA;AAAA,UAAAf,sBACEgC,GAAA,EAAW,QAAM,IAAC,IAAIT,GACpB,aACH,IACE;AAAA,UACJ,gBAAAM;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,cAAY;AAAA,cACX,GAAIlB;AAAA,cACL,SAASf,IAAQuB,IAAU;AAAA,cAC3B,OAA8BH,EAAkB,CAAC,KAAK;AAAA,cACtD,UAAU,gBAAArB,EAAA,CAACmC,MAAU;AACnB,sBAAMC,IAAY,OAAOD,EAAM,OAAO,SAAS,EAAE;AAEjD,oBAAI,CAAC3B,KAAuB4B,MAAc,IAAI;AAC5C,kBAAAb,EAAkB,EAAE;AACpB;AAAA,gBACF;AAEA,gBAAAA,EAAkBa,CAAS;AAAA,cAC7B,GATU;AAAA,cAWT,UAAA;AAAA,gBAAC5B,IAAuE,yBAAhD6B,GAAA,EAAS,OAAM,IAAI,UAAAhC,EAAE,WAAW,GAAE;AAAA,gBAC1Dc,EAAgB,IAAI,CAACS,MACpB,gBAAAU,EAACD,GAAA,EAAwD,UAAUT,EAAO,UAAU,OAAOA,EAAO,OAC/F,UAAAA,EAAO,MAAA,GADK,0BAA0BA,EAAO,KAAK,EAErD,CACD;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAEFhB,IAAa,gBAAA0B,EAACC,GAAA,EAAgB,UAAA3B,EAAA,CAAW,IAAoB;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAKpE,QAAM4B,IAAc,gBAAAxC,EAAA,CAACyC,MAAsB;AACzC,UAAMC,IAAiB,MAAM,QAAQD,CAAQ,IAAIA,EAAS,IAAI,CAACE,MAAS,OAAOA,CAAI,CAAC,IAAI,CAAA,GAClFC,IAAuBzB,EAC1B,OAAO,CAACS,MAAWc,EAAe,SAASd,EAAO,KAAK,CAAC,EACxD,IAAI,CAACA,MAAW7B,EAAqB6B,EAAO,KAAK,CAAC,EAClD,OAAO,OAAO,GACXiB,IAAmB3B,IAAgB,IAAI,KAAK,IAAI0B,EAAqB,SAAS,GAAG,CAAC,GAClFE,IAAc5B,IAChBb,EAAE,WAAW,IACbwC,IAAmB,IACjB,GAAGD,EAAqB,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,QAC9CA,EAAqB,KAAK,IAAI;AAEpC,WACE,gBAAAN,EAACS,KAAQ,OAAOlB,GAAe,WAAU,OAAM,sBAAsB,CAACA,GACpE,UAAA,gBAAAC,EAACkB,KAAI,WAAU,QAAO,IAAI,EAAE,YAAY,UAAU,SAAS,eAAe,UAAU,OAAA,GAClF,UAAA;AAAA,MAAA,gBAAAV,EAACU,GAAA,EAAI,WAAU,QAAO,IAAI,EAAE,UAAU,GAAG,UAAU,UAAU,cAAc,YAAY,YAAY,YAChG,UAAAF,GACH;AAAA,MACCD,IAAmB,IAClB,gBAAAP;AAAA,QAACU;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,IAAI,gBAAAhD,EAAA,CAACiD,OAAW;AAAA,YACd,iBAAiBC,EAAMD,EAAM,QAAQ,QAAQ,MAAM,IAAI;AAAA,YACvD,QAAQ,aAAaC,EAAMD,EAAM,QAAQ,QAAQ,MAAM,IAAI,CAAC;AAAA,YAC5D,cAAc;AAAA,YACd,OAAOA,EAAM,QAAQ,QAAQ;AAAA,YAC7B,UAAU;AAAA,YACV,YAAY;AAAA,YACZ,YAAY;AAAA,YACZ,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,IAAI;AAAA,UAAA,IAVF;AAAA,UAaH,cAAIJ,CAAgB;AAAA,QAAA;AAAA,MAAA,IAErB;AAAA,IAAA,EAAA,CACN,EAAA,CACF;AAAA,EAEJ,GAzCoB;AA2CpB,SACE,gBAAAf;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAK,SAASzB,CAAS;AAAA,MAClC,UAAAE;AAAA,MACA,OAAAC;AAAA,MACA,WAAAC;AAAA,MACA,UAAAI;AAAA,MACA,UAASC,KAAA,gBAAAA,EAAa,YAAW;AAAA,MAEhC,UAAA;AAAA,QAAAf,sBACEgC,GAAA,EAAW,QAAM,IAAC,IAAIT,GACpB,aACH,IACE;AAAA,QACJ,gBAAAM;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,cAAY;AAAA,YACX,GAAIlB;AAAA,YACL,SAASf,IAAQuB,IAAU;AAAA,YAC3B,UAAQ;AAAA,YACR,aAAAgB;AAAA,YACA,OAAOnB;AAAA,YACP,UAAU,gBAAArB,EAAA,CAACmC,GAAmCgB,MAAqB;AACjE,oBAAMT,IAAiB,MAAM,QAAQP,EAAM,OAAO,KAAK,IACnDA,EAAM,OAAO,MAAM,IAAI,CAACQ,MAAS,OAAOA,CAAI,CAAC,IAC7C,OAAOR,EAAM,OAAO,SAAS,EAAE,EAC5B,MAAM,GAAG,EACT,IAAI,CAACQ,MAASA,EAAK,KAAA,CAAM,EACzB,OAAO,OAAO;AAErB,kBAAID,EAAe,SAASU,EAAA,CAAqB,GAAG;AAClD,oBAAIlC,GAAe;AACjB,kBAAAD,EAAA;AACA;AAAA,gBACF;AAEA,gBAAAG,EAAA;AACA;AAAA,cACF;AAEA,cAAAE,EAAqBoB,CAAc;AAAA,YAErC,GApBU;AAAA,YAsBT,UAAA;AAAA,cAAClC,IAKE,OAJF,gBAAAsB,EAACO,GAAA,EAAS,OAAOe,KACf,UAAA;AAAA,gBAAA,gBAAAd,EAACe,GAAA,EAAS,SAASnC,GAAe,MAAK,SAAQ;AAAA,gBAC/C,gBAAAoB,EAACgB,GAAA,EAAa,SAASjD,EAAE,WAAW,EAAA,CAAG;AAAA,cAAA,EAAA,CACzC;AAAA,cAEDc,EAAgB,IAAI,CAACS,MACpB,gBAAAE,EAACO,GAAA,EAAwD,UAAUT,EAAO,YAAYf,GAAS,OAAOe,EAAO,OAC3G,UAAA;AAAA,gBAAA,gBAAAU,EAACe,GAAA,EAAS,SAAShC,EAAkB,SAASO,EAAO,KAAK,GAAG,MAAK,SAAQ;AAAA,gBAC1E,gBAAAU,EAACgB,GAAA,EAAa,SAAS1B,EAAO,MAAA,CAAO;AAAA,cAAA,EAAA,GAFxB,0BAA0BA,EAAO,KAAK,EAGrD,CACD;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAEFhB,IAAa,gBAAA0B,EAACC,GAAA,EAAgB,UAAA3B,EAAA,CAAW,IAAoB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpE,GApLiC;"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
var b = Object.defineProperty;
|
|
2
|
+
var U = (a, c) => b(a, "name", { value: c, configurable: !0 });
|
|
3
|
+
import { useOwpTranslation as m } from "../../../hooks/useOwpTranslation.js";
|
|
4
|
+
import { mergeSelectorOptions as I, joinSelectorValue as W, splitSelectorValue as X, getSelectorAllToken as nn, createSelectorChangeEvent as en } from "../utils/querySelectorUtils.js";
|
|
5
|
+
import { useState as Y, useRef as k, useMemo as i, useCallback as d, useEffect as q } from "react";
|
|
6
|
+
const sn = /* @__PURE__ */ U(({
|
|
7
|
+
allOptions: a,
|
|
8
|
+
allValueMode: c = "joined",
|
|
9
|
+
defaultValue: L,
|
|
10
|
+
disableAllValueItem: r,
|
|
11
|
+
multiple: n,
|
|
12
|
+
name: F,
|
|
13
|
+
onChange: G,
|
|
14
|
+
options: H,
|
|
15
|
+
value: j
|
|
16
|
+
}) => {
|
|
17
|
+
const { t: J } = m(), f = j !== void 0, K = L ?? "", [w, x] = Y(L), [h, v] = Y(
|
|
18
|
+
() => n && !r && (j ?? K) === "" ? "all" : "none"
|
|
19
|
+
), Q = k(!1), O = k(j ?? K), g = k(null), B = k(G);
|
|
20
|
+
B.current = G;
|
|
21
|
+
const y = i(
|
|
22
|
+
() => I(H, a),
|
|
23
|
+
[a, H]
|
|
24
|
+
), t = i(
|
|
25
|
+
() => y.filter((e) => !e.disabled).map((e) => e.value),
|
|
26
|
+
[y]
|
|
27
|
+
), Z = i(() => W(t), [t]), o = f ? j : w, R = i(() => X(o), [o]), T = i(() => n && !r && (o == null || o === "") && h === "all" ? t : R, [t, r, h, n, o, R]), E = i(() => new Set(T), [T]), p = i(
|
|
28
|
+
() => ({
|
|
29
|
+
label: J("Common.전체"),
|
|
30
|
+
raw: null,
|
|
31
|
+
value: nn()
|
|
32
|
+
}),
|
|
33
|
+
[J]
|
|
34
|
+
), D = i(
|
|
35
|
+
() => y.filter((e) => E.has(e.value)),
|
|
36
|
+
[y, E]
|
|
37
|
+
), C = i(() => r ? !1 : n ? (o == null || o === "") && h === "all" ? !0 : c === "empty" ? h === "all" : !!t.length && t.every((e) => E.has(e)) : o == null || o === "", [
|
|
38
|
+
t,
|
|
39
|
+
c,
|
|
40
|
+
r,
|
|
41
|
+
h,
|
|
42
|
+
n,
|
|
43
|
+
o,
|
|
44
|
+
E
|
|
45
|
+
]), _ = i(() => !n && C && !r ? p : D[0] ?? null, [p, r, C, n, D]), z = n && c === "joined" ? Z : "", s = d(
|
|
46
|
+
(e, S) => {
|
|
47
|
+
var u;
|
|
48
|
+
n && !r && (e === "" ? (g.current = S ?? "none", v(S ?? "none")) : (g.current = null, v("none"))), f || x(e), (u = B.current) == null || u.call(B, en(F, e));
|
|
49
|
+
},
|
|
50
|
+
[r, f, n, F]
|
|
51
|
+
), P = d(() => {
|
|
52
|
+
s(z, n && c === "empty" ? "all" : void 0);
|
|
53
|
+
}, [z, c, s, n]), $ = d(() => {
|
|
54
|
+
!n || r || (g.current = "all", O.current = "", v("all"), f || x(""));
|
|
55
|
+
}, [r, f, n]), l = d(() => {
|
|
56
|
+
s("", n ? "none" : void 0);
|
|
57
|
+
}, [s, n]), M = d(
|
|
58
|
+
(e) => {
|
|
59
|
+
s(e);
|
|
60
|
+
},
|
|
61
|
+
[s]
|
|
62
|
+
), V = d(
|
|
63
|
+
(e) => {
|
|
64
|
+
const S = e.filter((u) => u !== "");
|
|
65
|
+
if (!r && t.length && t.every((u) => S.includes(u))) {
|
|
66
|
+
P();
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
s(
|
|
70
|
+
W(S),
|
|
71
|
+
c === "empty" ? "none" : void 0
|
|
72
|
+
);
|
|
73
|
+
},
|
|
74
|
+
[t, c, r, s, P]
|
|
75
|
+
);
|
|
76
|
+
return q(() => {
|
|
77
|
+
f || x(L);
|
|
78
|
+
}, [L, f]), q(() => {
|
|
79
|
+
if (n && !r) {
|
|
80
|
+
const e = o ?? "", S = O.current;
|
|
81
|
+
if (e === "") {
|
|
82
|
+
const N = g.current;
|
|
83
|
+
N ? (v(N), g.current = null) : S !== e && v("all"), O.current = e;
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const u = X(e), A = !!t.length && t.every((N) => u.includes(N));
|
|
87
|
+
v(A ? "all" : "none"), g.current = null, O.current = e;
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
O.current = o ?? "";
|
|
91
|
+
}, [t, r, n, o]), q(() => {
|
|
92
|
+
!n || r || Q.current || f || w !== void 0 && w !== "" || !t.length || (Q.current = !0, s(z, n && c === "empty" ? "all" : void 0));
|
|
93
|
+
}, [
|
|
94
|
+
z,
|
|
95
|
+
t.length,
|
|
96
|
+
c,
|
|
97
|
+
r,
|
|
98
|
+
s,
|
|
99
|
+
w,
|
|
100
|
+
f,
|
|
101
|
+
n
|
|
102
|
+
]), {
|
|
103
|
+
allOption: p,
|
|
104
|
+
allValue: z,
|
|
105
|
+
clearSelection: l,
|
|
106
|
+
isAllSelected: C,
|
|
107
|
+
resolvedOptions: y,
|
|
108
|
+
restoreAllSelection: $,
|
|
109
|
+
selectAll: P,
|
|
110
|
+
selectedOption: _,
|
|
111
|
+
selectedOptions: C && n && !r ? [p, ...y] : D,
|
|
112
|
+
selectedValueList: T,
|
|
113
|
+
selectMultipleValues: V,
|
|
114
|
+
selectSingleValue: M
|
|
115
|
+
};
|
|
116
|
+
}, "useOwpSelectorBase");
|
|
117
|
+
export {
|
|
118
|
+
sn as useOwpSelectorBase
|
|
119
|
+
};
|
|
120
|
+
//# sourceMappingURL=useOwpSelectorBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOwpSelectorBase.js","sources":["../../../../src/components/OwpSelectorBase/hooks/useOwpSelectorBase.ts"],"sourcesContent":["import { useOwpTranslation } from '@/hooks/useOwpTranslation';\nimport {\n type OwpSelectorBaseHookResult,\n type OwpSelectorBaseOption,\n type OwpSelectorBaseProps,\n type OwpSelectorEmptyValueMode,\n} from '../types';\nimport {\n createSelectorChangeEvent,\n getSelectorAllToken,\n joinSelectorValue,\n mergeSelectorOptions,\n splitSelectorValue,\n} from '../utils';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\n/**\n * 공통 선택기 상태 훅\n * @param props 공통 선택기 props\n */\nexport const useOwpSelectorBase = ({\n allOptions,\n allValueMode = 'joined',\n defaultValue,\n disableAllValueItem,\n multiple,\n name,\n onChange,\n options,\n value,\n}: OwpSelectorBaseProps): OwpSelectorBaseHookResult => {\n const { t } = useOwpTranslation();\n const isControlled = value !== undefined;\n const normalizedDefaultValue = defaultValue ?? '';\n const [internalValue, setInternalValue] = useState(defaultValue);\n const [emptyValueMode, setEmptyValueMode] = useState<OwpSelectorEmptyValueMode>(() =>\n multiple && !disableAllValueItem && (value ?? normalizedDefaultValue) === ''\n ? 'all'\n : 'none',\n );\n const didInitializeAllValue = useRef(false);\n const previousNormalizedValue = useRef(value ?? normalizedDefaultValue);\n const pendingEmptyValueMode = useRef<OwpSelectorEmptyValueMode | null>(null);\n const onChangeRef = useRef(onChange);\n\n onChangeRef.current = onChange;\n\n const resolvedOptions = useMemo(\n () => mergeSelectorOptions(options, allOptions),\n [allOptions, options],\n );\n const allValueList = useMemo(\n () => resolvedOptions.filter((option) => !option.disabled).map((option) => option.value),\n [resolvedOptions],\n );\n const joinedAllValue = useMemo(() => joinSelectorValue(allValueList), [allValueList]);\n const normalizedValue = isControlled ? value : internalValue;\n const splitValueList = useMemo(() => splitSelectorValue(normalizedValue), [normalizedValue]);\n const selectedValueList = useMemo(() => {\n if (\n multiple &&\n !disableAllValueItem &&\n (normalizedValue == null || normalizedValue === '') &&\n emptyValueMode === 'all'\n ) {\n return allValueList;\n }\n\n return splitValueList;\n }, [allValueList, disableAllValueItem, emptyValueMode, multiple, normalizedValue, splitValueList]);\n const selectedValueSet = useMemo(() => new Set(selectedValueList), [selectedValueList]);\n const allOption = useMemo<OwpSelectorBaseOption<null>>(\n () => ({\n label: t('Common.전체'),\n raw: null,\n value: getSelectorAllToken(),\n }),\n [t],\n );\n const selectedOptions = useMemo(\n () => resolvedOptions.filter((option) => selectedValueSet.has(option.value)),\n [resolvedOptions, selectedValueSet],\n );\n const isAllSelected = useMemo(() => {\n if (disableAllValueItem) {\n return false;\n }\n\n if (!multiple) {\n return normalizedValue == null || normalizedValue === '';\n }\n\n if ((normalizedValue == null || normalizedValue === '') && emptyValueMode === 'all') {\n return true;\n }\n\n if (allValueMode === 'empty') {\n return emptyValueMode === 'all';\n }\n\n return Boolean(allValueList.length) && allValueList.every((item) => selectedValueSet.has(item));\n }, [\n allValueList,\n allValueMode,\n disableAllValueItem,\n emptyValueMode,\n multiple,\n normalizedValue,\n selectedValueSet,\n ]);\n const selectedOption = useMemo(() => {\n if (!multiple && isAllSelected && !disableAllValueItem) {\n return allOption;\n }\n\n return selectedOptions[0] ?? null;\n }, [allOption, disableAllValueItem, isAllSelected, multiple, selectedOptions]);\n const allValue = multiple\n ? allValueMode === 'joined'\n ? joinedAllValue\n : ''\n : '';\n\n const emitChange = useCallback(\n (nextValue: string, nextEmptyMode?: OwpSelectorEmptyValueMode) => {\n if (multiple && !disableAllValueItem) {\n if (nextValue === '') {\n pendingEmptyValueMode.current = nextEmptyMode ?? 'none';\n setEmptyValueMode(nextEmptyMode ?? 'none');\n } else {\n pendingEmptyValueMode.current = null;\n setEmptyValueMode('none');\n }\n }\n\n if (!isControlled) {\n setInternalValue(nextValue);\n }\n\n onChangeRef.current?.(createSelectorChangeEvent(name, nextValue));\n },\n [disableAllValueItem, isControlled, multiple, name],\n );\n\n const selectAll = useCallback(() => {\n emitChange(allValue, multiple && allValueMode === 'empty' ? 'all' : undefined);\n }, [allValue, allValueMode, emitChange, multiple]);\n\n const restoreAllSelection = useCallback(() => {\n if (!multiple || disableAllValueItem) {\n return;\n }\n\n pendingEmptyValueMode.current = 'all';\n previousNormalizedValue.current = '';\n setEmptyValueMode('all');\n\n if (!isControlled) {\n setInternalValue('');\n }\n }, [disableAllValueItem, isControlled, multiple]);\n\n const clearSelection = useCallback(() => {\n emitChange('', multiple ? 'none' : undefined);\n }, [emitChange, multiple]);\n\n const selectSingleValue = useCallback(\n (nextValue: string) => {\n emitChange(nextValue);\n },\n [emitChange],\n );\n\n const selectMultipleValues = useCallback(\n (nextSelectedValueList: string[]) => {\n const normalizedSelectedValueList = nextSelectedValueList.filter((item) => item !== '');\n\n if (\n !disableAllValueItem &&\n Boolean(allValueList.length) &&\n allValueList.every((item) => normalizedSelectedValueList.includes(item))\n ) {\n selectAll();\n return;\n }\n\n emitChange(\n joinSelectorValue(normalizedSelectedValueList),\n allValueMode === 'empty' ? 'none' : undefined,\n );\n },\n [allValueList, allValueMode, disableAllValueItem, emitChange, selectAll],\n );\n\n useEffect(() => {\n if (isControlled) {\n return;\n }\n\n setInternalValue(defaultValue);\n }, [defaultValue, isControlled]);\n\n useEffect(() => {\n if (multiple && !disableAllValueItem) {\n const nextNormalizedValue = normalizedValue ?? '';\n const previousValue = previousNormalizedValue.current;\n\n if (nextNormalizedValue === '') {\n const nextPendingEmptyValueMode = pendingEmptyValueMode.current;\n\n if (nextPendingEmptyValueMode) {\n setEmptyValueMode(nextPendingEmptyValueMode);\n pendingEmptyValueMode.current = null;\n } else if (previousValue !== nextNormalizedValue) {\n setEmptyValueMode('all');\n }\n\n previousNormalizedValue.current = nextNormalizedValue;\n\n return;\n }\n\n const nextSelectedValueList = splitSelectorValue(nextNormalizedValue);\n const isNextAllSelected =\n Boolean(allValueList.length) &&\n allValueList.every((item) => nextSelectedValueList.includes(item));\n\n setEmptyValueMode(isNextAllSelected ? 'all' : 'none');\n pendingEmptyValueMode.current = null;\n previousNormalizedValue.current = nextNormalizedValue;\n\n return;\n }\n\n previousNormalizedValue.current = normalizedValue ?? '';\n }, [allValueList, disableAllValueItem, multiple, normalizedValue]);\n\n useEffect(() => {\n if (\n !multiple ||\n disableAllValueItem ||\n didInitializeAllValue.current ||\n isControlled ||\n (internalValue !== undefined && internalValue !== '') ||\n !allValueList.length\n ) {\n return;\n }\n\n didInitializeAllValue.current = true;\n emitChange(allValue, multiple && allValueMode === 'empty' ? 'all' : undefined);\n }, [\n allValue,\n allValueList.length,\n allValueMode,\n disableAllValueItem,\n emitChange,\n internalValue,\n isControlled,\n multiple,\n ]);\n\n return {\n allOption,\n allValue,\n clearSelection,\n isAllSelected,\n resolvedOptions,\n restoreAllSelection,\n selectAll,\n selectedOption,\n selectedOptions: isAllSelected && multiple && !disableAllValueItem ? [allOption, ...resolvedOptions] : selectedOptions,\n selectedValueList,\n selectMultipleValues,\n selectSingleValue,\n };\n};\n"],"names":["useOwpSelectorBase","__name","allOptions","allValueMode","defaultValue","disableAllValueItem","multiple","name","onChange","options","value","t","useOwpTranslation","isControlled","normalizedDefaultValue","internalValue","setInternalValue","useState","emptyValueMode","setEmptyValueMode","didInitializeAllValue","useRef","previousNormalizedValue","pendingEmptyValueMode","onChangeRef","resolvedOptions","useMemo","mergeSelectorOptions","allValueList","option","joinedAllValue","joinSelectorValue","normalizedValue","splitValueList","splitSelectorValue","selectedValueList","selectedValueSet","allOption","getSelectorAllToken","selectedOptions","isAllSelected","item","selectedOption","allValue","emitChange","useCallback","nextValue","nextEmptyMode","_a","createSelectorChangeEvent","selectAll","restoreAllSelection","clearSelection","selectSingleValue","selectMultipleValues","nextSelectedValueList","normalizedSelectedValueList","useEffect","nextNormalizedValue","previousValue","nextPendingEmptyValueMode","isNextAllSelected"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
var c = Object.defineProperty;
|
|
2
|
+
var r = (e, t) => c(e, "name", { value: t, configurable: !0 });
|
|
3
|
+
const a = "__OWP_SELECTOR_ALL__", o = /* @__PURE__ */ r(() => a, "getSelectorAllToken"), i = /* @__PURE__ */ r((e) => e ? e.split(",").map((t) => t.trim()).filter(Boolean) : [], "splitSelectorValue"), u = /* @__PURE__ */ r((e) => e.map((t) => t.trim()).filter(Boolean).join(","), "joinSelectorValue"), E = /* @__PURE__ */ r((e, t) => ({
|
|
4
|
+
target: {
|
|
5
|
+
name: e ?? "",
|
|
6
|
+
value: t
|
|
7
|
+
}
|
|
8
|
+
}), "createSelectorChangeEvent"), S = /* @__PURE__ */ r((...e) => {
|
|
9
|
+
const t = /* @__PURE__ */ new Map();
|
|
10
|
+
return e.forEach((l) => {
|
|
11
|
+
l == null || l.forEach((n) => {
|
|
12
|
+
t.has(n.value) || t.set(n.value, n);
|
|
13
|
+
});
|
|
14
|
+
}), Array.from(t.values());
|
|
15
|
+
}, "mergeSelectorOptions"), _ = /* @__PURE__ */ r((e) => e.value === a, "isSelectorAllOption");
|
|
16
|
+
export {
|
|
17
|
+
E as createSelectorChangeEvent,
|
|
18
|
+
o as getSelectorAllToken,
|
|
19
|
+
_ as isSelectorAllOption,
|
|
20
|
+
u as joinSelectorValue,
|
|
21
|
+
S as mergeSelectorOptions,
|
|
22
|
+
i as splitSelectorValue
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=querySelectorUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"querySelectorUtils.js","sources":["../../../../src/components/OwpSelectorBase/utils/querySelectorUtils.ts"],"sourcesContent":["import type { OwpSelectorBaseChangeEvent, OwpSelectorBaseOption } from '../types';\n\nconst SELECTOR_ALL_TOKEN = '__OWP_SELECTOR_ALL__';\n\n/**\n * 전체 선택 토큰 반환\n */\nexport const getSelectorAllToken = () => {\n return SELECTOR_ALL_TOKEN;\n};\n\n/**\n * 선택 값 문자열 분리\n * @param value 원본 선택 값\n */\nexport const splitSelectorValue = (value?: string) => {\n if (!value) {\n return [];\n }\n\n return value\n .split(',')\n .map((item) => item.trim())\n .filter(Boolean);\n};\n\n/**\n * 선택 값 문자열 결합\n * @param valueList 선택 값 목록\n */\nexport const joinSelectorValue = (valueList: string[]) => {\n return valueList\n .map((item) => item.trim())\n .filter(Boolean)\n .join(',');\n};\n\n/**\n * 선택 변경 이벤트 생성\n * @param name 필드 이름\n * @param value 선택 값\n */\nexport const createSelectorChangeEvent = (name: string | undefined, value: string) => {\n return {\n target: {\n name: name ?? '',\n value,\n },\n } as OwpSelectorBaseChangeEvent;\n};\n\n/**\n * 선택 옵션 목록 병합\n * @param optionGroups 옵션 그룹 목록\n */\nexport const mergeSelectorOptions = <T = unknown>(\n ...optionGroups: Array<OwpSelectorBaseOption<T>[] | undefined>\n) => {\n const optionMap = new Map<string, OwpSelectorBaseOption<T>>();\n\n optionGroups.forEach((optionGroup) => {\n optionGroup?.forEach((option) => {\n if (!optionMap.has(option.value)) {\n optionMap.set(option.value, option);\n }\n });\n });\n\n return Array.from(optionMap.values());\n};\n\n/**\n * 선택 옵션 값 포함 여부 확인\n * @param option 선택 옵션\n */\nexport const isSelectorAllOption = (option: OwpSelectorBaseOption) => {\n return option.value === SELECTOR_ALL_TOKEN;\n};\n"],"names":["SELECTOR_ALL_TOKEN","getSelectorAllToken","__name","splitSelectorValue","value","item","joinSelectorValue","valueList","createSelectorChangeEvent","name","mergeSelectorOptions","optionGroups","optionMap","optionGroup","option","isSelectorAllOption"],"mappings":";;AAEA,MAAMA,IAAqB,wBAKdC,IAAsB,gBAAAC,EAAA,MAC1BF,GAD0B,wBAQtBG,IAAqB,gBAAAD,EAAA,CAACE,MAC5BA,IAIEA,EACJ,MAAM,GAAG,EACT,IAAI,CAACC,MAASA,EAAK,KAAA,CAAM,EACzB,OAAO,OAAO,IANR,CAAA,GAFuB,uBAerBC,IAAoB,gBAAAJ,EAAA,CAACK,MACzBA,EACJ,IAAI,CAACF,MAASA,EAAK,MAAM,EACzB,OAAO,OAAO,EACd,KAAK,GAAG,GAJoB,sBAYpBG,IAA4B,gBAAAN,EAAA,CAACO,GAA0BL,OAC3D;AAAA,EACL,QAAQ;AAAA,IACN,MAAMK,KAAQ;AAAA,IACd,OAAAL;AAAA,EAAA;AACF,IALqC,8BAa5BM,IAAuB,gBAAAR,EAAA,IAC/BS,MACA;AACH,QAAMC,wBAAgB,IAAA;AAEtB,SAAAD,EAAa,QAAQ,CAACE,MAAgB;AACpC,IAAAA,KAAA,QAAAA,EAAa,QAAQ,CAACC,MAAW;AAC/B,MAAKF,EAAU,IAAIE,EAAO,KAAK,KAC7BF,EAAU,IAAIE,EAAO,OAAOA,CAAM;AAAA,IAEtC;AAAA,EACF,CAAC,GAEM,MAAM,KAAKF,EAAU,OAAA,CAAQ;AACtC,GAdoC,yBAoBvBG,IAAsB,gBAAAb,EAAA,CAACY,MAC3BA,EAAO,UAAUd,GADS;"}
|
package/dist/index.js
CHANGED
|
@@ -2,18 +2,18 @@ import { DialogsProvider as r } from "@toolpad/core/useDialogs";
|
|
|
2
2
|
import { themeLayouts as p } from "./layout/themeLayouts.js";
|
|
3
3
|
import { createInitialOwpSettings as a, defaultSettings as f, defaultThemeOptions as x, defaultThemes as O, extendThemeWithMixins as w, generateSettings as i, getDefaultLayout as d, getDefaultThemeSettings as l, getParsedQuerySettings as n, mustHaveThemeOptions as g } from "./configs/defaultConfig.js";
|
|
4
4
|
import { OwpAutoLogoutDialog as T } from "./components/OwpAutoLogoutDialog/OwpAutoLogoutDialog.js";
|
|
5
|
-
import { OwpBarcodeInputField as
|
|
5
|
+
import { OwpBarcodeInputField as s } from "./components/OwpBarcodeInput/OwpBarcodeInputField.js";
|
|
6
6
|
import { OwpExportDataToExcelButton as C } from "./components/OwpExportExcelButton/OwpExportExcelButton.js";
|
|
7
7
|
import { OwpFileUploadButton as b } from "./components/OwpFileUploadButton/OwpFileUploadButton.js";
|
|
8
8
|
import { OwpMoreActionsButton as h } from "./components/OwpMoreActionsButton/OwpMoreActionsButton.js";
|
|
9
|
-
import { OwpPageCardedHeader as
|
|
9
|
+
import { OwpPageCardedHeader as k } from "./components/OwpPageCarded/OwpPageCardedHeader.js";
|
|
10
10
|
import { OwpPageCardedSidebar as L } from "./components/OwpPageCarded/OwpPageCardedSidebar.js";
|
|
11
11
|
import { OwpPageCardedSidebarContent as G } from "./components/OwpPageCarded/OwpPageCardedSidebarContent.js";
|
|
12
12
|
import { OwpDatePicker as v } from "./components/OwpPicker/OwpDatePicker.js";
|
|
13
13
|
import { OwpDateRangePicker as I } from "./components/OwpPicker/OwpDateRangePicker.js";
|
|
14
14
|
import { OwpTimePicker as A } from "./components/OwpPicker/OwpTimePicker.js";
|
|
15
15
|
import { OwpWeekDatePicker as N } from "./components/OwpPicker/OwpWeekDatePicker.js";
|
|
16
|
-
import { OwpYearRangePicker as
|
|
16
|
+
import { OwpYearRangePicker as W } from "./components/OwpPicker/OwpYearRangePicker.js";
|
|
17
17
|
import { OwpDataTable as U } from "./components/OwpTable/OwpDataTable.js";
|
|
18
18
|
import { OwpTable as Z, OwpTableTotalCount as j, StyledTable as q, StyledTableRow as z } from "./components/OwpTable/OwpTable.js";
|
|
19
19
|
import { OwpVerticalTable as K } from "./components/OwpTable/OwpVerticalTable.js";
|
|
@@ -26,37 +26,38 @@ import { OwpEventEmitter as xe } from "./components/OwpEventEmitter/OwpEventEmit
|
|
|
26
26
|
import { OwpLanguageSwitcherSelect as we } from "./components/OwpLanguageSwitcherSelect/OwpLanguageSwitcherSelect.js";
|
|
27
27
|
import { OwpCommonDialog as de, OwpDialog as le } from "./components/OwpDialog/OwpDialog.js";
|
|
28
28
|
import { CommonCodeSelector as ge, OwpCommonCodeSelector as ue } from "./components/OwpCommonCode/OwpCommonCodeSelector.js";
|
|
29
|
-
import { CommonCodeRadioGroup as
|
|
29
|
+
import { CommonCodeRadioGroup as ce, OwpCommonCodeRadioGroup as se } from "./components/OwpCommonCode/OwpCommonCodeRadioGroup.js";
|
|
30
30
|
import { OwpErrorStatusPage as Ce } from "./components/OwpErrorStatusPage/OwpErrorStatusPage.js";
|
|
31
31
|
import { OwpLayout as be } from "./components/OwpLayout/OwpLayout.js";
|
|
32
32
|
import { OwpLoading as he } from "./components/OwpLoading/OwpLoading.js";
|
|
33
|
-
import { OwpMrtTable as
|
|
33
|
+
import { OwpMrtTable as ke } from "./components/OwpMrtTable/OwpMrtTable.js";
|
|
34
34
|
import { OwpNumberField as Le } from "./components/OwpNumberField/OwpNumberField.js";
|
|
35
35
|
import { OwpOptionSelector as Ge } from "./components/OwpOptionSelector/OwpOptionSelector.js";
|
|
36
36
|
import { OwpPageCarded as ve } from "./components/OwpPageCarded/OwpPageCarded.js";
|
|
37
37
|
import { OwpPageContent as Ie } from "./components/OwpPageContent/OwpPageContent.js";
|
|
38
38
|
import { OwpPageLockLoading as Ae } from "./components/OwpPageLockLoading/OwpPageLockLoading.js";
|
|
39
39
|
import { OwpPageTitle as Ne } from "./components/OwpPageTitle/OwpPageTitle.js";
|
|
40
|
-
import {
|
|
41
|
-
import {
|
|
42
|
-
import {
|
|
43
|
-
import {
|
|
44
|
-
import {
|
|
45
|
-
import {
|
|
46
|
-
import {
|
|
47
|
-
import {
|
|
48
|
-
import {
|
|
49
|
-
import {
|
|
50
|
-
import {
|
|
51
|
-
import {
|
|
52
|
-
import {
|
|
40
|
+
import { OwpQuerySelector as We } from "./components/OwpQuerySelector/OwpQuerySelector.js";
|
|
41
|
+
import { OwpScrollbars as Ue } from "./components/OwpScrollbars/OwpScrollbars.js";
|
|
42
|
+
import { OwpSearchFilter as Ze } from "./components/OwpSearchFilter/OwpSearchFilter.js";
|
|
43
|
+
import { OwpSection as qe } from "./components/OwpSection/OwpSection.js";
|
|
44
|
+
import { OwpStyleProvider as Je } from "./components/OwpStyleProvider/OwpStyleProvider.js";
|
|
45
|
+
import { OwpSuspense as Xe } from "./components/OwpSuspense/OwpSuspense.js";
|
|
46
|
+
import { OwpSvgIcon as $e } from "./components/OwpSvgIcon/OwpSvgIcon.js";
|
|
47
|
+
import { OwpTab as oo } from "./components/OwpTabs/OwpTab.js";
|
|
48
|
+
import { OwpTabs as to } from "./components/OwpTabs/OwpTabs.js";
|
|
49
|
+
import { OwpTreeGridExcelButton as mo } from "./components/OwpTreeGridExcelButton/OwpTreeGridExcelButton.js";
|
|
50
|
+
import { OwpTreeGridResetChangesButton as fo } from "./components/OwpTreeGridResetChangesButton/OwpTreeGridResetChangesButton.js";
|
|
51
|
+
import { OwpTreeGrid as Oo } from "./components/OwpTreeGrid/OwpTreeGrid.js";
|
|
52
|
+
import { TreeGrid as io } from "./components/OwpTreeGrid/TreeGrid.js";
|
|
53
|
+
import { OwpYesNoSelector as no } from "./components/OwpYesNoSelector/OwpYesNoSelector.js";
|
|
53
54
|
export {
|
|
54
|
-
|
|
55
|
+
ce as CommonCodeRadioGroup,
|
|
55
56
|
ge as CommonCodeSelector,
|
|
56
57
|
r as DialogsProvider,
|
|
57
58
|
T as OwpAutoLogoutDialog,
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
s as OwpBarcodeInputField,
|
|
60
|
+
se as OwpCommonCodeRadioGroup,
|
|
60
61
|
ue as OwpCommonCodeSelector,
|
|
61
62
|
de as OwpCommonDialog,
|
|
62
63
|
U as OwpDataTable,
|
|
@@ -72,41 +73,42 @@ export {
|
|
|
72
73
|
be as OwpLayout,
|
|
73
74
|
he as OwpLoading,
|
|
74
75
|
h as OwpMoreActionsButton,
|
|
75
|
-
|
|
76
|
+
ke as OwpMrtTable,
|
|
76
77
|
Le as OwpNumberField,
|
|
77
78
|
Ge as OwpOptionSelector,
|
|
78
79
|
pe as OwpPageBreadcrumb,
|
|
79
80
|
ve as OwpPageCarded,
|
|
80
|
-
|
|
81
|
+
k as OwpPageCardedHeader,
|
|
81
82
|
L as OwpPageCardedSidebar,
|
|
82
83
|
G as OwpPageCardedSidebarContent,
|
|
83
84
|
Ie as OwpPageContent,
|
|
84
85
|
Ae as OwpPageLockLoading,
|
|
85
86
|
Ne as OwpPageTitle,
|
|
86
|
-
|
|
87
|
-
Ue as
|
|
88
|
-
Ze as
|
|
89
|
-
qe as
|
|
90
|
-
Je as
|
|
91
|
-
Xe as
|
|
92
|
-
$e as
|
|
87
|
+
We as OwpQuerySelector,
|
|
88
|
+
Ue as OwpScrollbars,
|
|
89
|
+
Ze as OwpSearchFilter,
|
|
90
|
+
qe as OwpSection,
|
|
91
|
+
Je as OwpStyleProvider,
|
|
92
|
+
Xe as OwpSuspense,
|
|
93
|
+
$e as OwpSvgIcon,
|
|
94
|
+
oo as OwpTab,
|
|
93
95
|
Z as OwpTable,
|
|
94
96
|
j as OwpTableTotalCount,
|
|
95
|
-
|
|
97
|
+
to as OwpTabs,
|
|
96
98
|
_ as OwpTextMaskField,
|
|
97
99
|
A as OwpTimePicker,
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
100
|
+
Oo as OwpTreeGrid,
|
|
101
|
+
mo as OwpTreeGridExcelButton,
|
|
102
|
+
fo as OwpTreeGridResetChangesButton,
|
|
101
103
|
ee as OwpTreeGridToolbar,
|
|
102
104
|
K as OwpVerticalTable,
|
|
103
105
|
N as OwpWeekDatePicker,
|
|
104
|
-
|
|
105
|
-
|
|
106
|
+
W as OwpYearRangePicker,
|
|
107
|
+
no as OwpYesNoSelector,
|
|
106
108
|
re as OwpZoomImageSlider,
|
|
107
109
|
q as StyledTable,
|
|
108
110
|
z as StyledTableRow,
|
|
109
|
-
|
|
111
|
+
io as TreeGrid,
|
|
110
112
|
a as createInitialOwpSettings,
|
|
111
113
|
f as defaultSettings,
|
|
112
114
|
x as defaultThemeOptions,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { j as o } from "../../../../../../../_virtual/jsx-runtime.js";
|
|
2
|
+
import { createSvgIcon as r } from "@mui/material/utils";
|
|
3
|
+
const m = r(/* @__PURE__ */ o.jsx("path", {
|
|
4
|
+
d: "m7 10 5 5 5-5z"
|
|
5
|
+
}), "ArrowDropDown");
|
|
6
|
+
export {
|
|
7
|
+
m as default
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=ArrowDropDown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArrowDropDown.js","sources":["../../../../../../../../../../node_modules/.pnpm/@mui+icons-material@7.3.9_@mui+material@7.3.9_@emotion+react@11.14.0_@types+react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/ArrowDropDown.js"],"sourcesContent":["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');"],"names":["ArrowDropDownIcon","createSvgIcon","_jsx"],"mappings":";;AAIA,MAAAA,IAAeC,EAA2BC,gBAAAA,EAAAA,IAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,eAAe;","x_google_ignoreList":[0]}
|