@bbodek/internal-ui 0.0.47 → 0.0.49

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/index.es.js CHANGED
@@ -1,7 +1,2 @@
1
- export { q as ALERT_LABEL_TYPOGRAPHY_VARIANTS, p as ALERT_THEMES, r as ALERT_THEME_STYLES, I as AVATAR_GROUP_DEFAULT_ITEM_LIMIT, z as AVATAR_ICON_KEYS, E as AVATAR_ICON_STYLES, v as AVATAR_SIZES, y as AVATAR_SIZE_IMAGE_PROPS, x as AVATAR_SIZE_STYLES, w as AVATAR_THEMES, G as AVATAR_THEME_STYLES, t as AVATAR_TYPES, A as Alert, s as Avatar, H as AvatarGroup, O as BADGE_FILLED_THEME_STYLES, R as BADGE_ICON_SIZE_STYLES, L as BADGE_THEMES, Q as BADGE_THEME_ICON_STYLES, P as BADGE_THEME_STYLES, K as BADGE_VARIANTS, N as BADGE_VARIANT_STYLES, a0 as BUTTON_ICON_POSITIONS, a3 as BUTTON_ICON_SIZE_STYLES, Z as BUTTON_PENDING_ICON_KEY, m as BUTTON_SIZES, a4 as BUTTON_SIZE_RESPONSIVE_STYLES, a2 as BUTTON_SIZE_STYLES, $ as BUTTON_STATE, a1 as BUTTON_STYLES, l as BUTTON_THEMES, _ as BUTTON_VARIANTS, J as Badge, B as Button, Y as ButtonIcon, am as CALENDAR_DAYS_ARRAY, ak as CALENDAR_DAYS_COUNT, ai as CALENDAR_DAYS_ROW_COUNT, ad as CALENDAR_DAY_DISABLED_VARIANTS, ac as CALENDAR_DAY_SELECTED_VARIANTS, ab as CALENDAR_DAY_STYLES, aa as CALENDAR_DAY_VARIANTS, ao as CALENDAR_DEFAULT_LABELS, al as CALENDAR_MONTHLY_ARRAY, ah as CALENDAR_MONTHLY_COUNT, a9 as CALENDAR_NAVIGATE_META_DATA, a8 as CALENDAR_NAVIGATE_TYPE, C as CALENDAR_VARIANTS, ae as CALENDAR_WEEKS, an as CALENDAR_WEEKS_ARRAY, aj as CALENDAR_WEEKS_COUNT, af as CALENDAR_WEEKS_META_DATA, ar as CHECKBOX_SIZES, cC as COLOR_STYLES_MAPPER, cA as COLOR_TYPES, cB as COLOR_TYPE_PREFIXES, cz as COLOR_VARIANTS, k as Calendar, j as CalendarProvider, aq as Checkbox, as as Chip, at as ChipGroup, S as ConfirmBottomSheet, bw as ConfirmModal, au as DatePicker, D as DialogOverlayFormDivider, aD as FLEX_ALIGN_CONTENTS, aE as FLEX_ALIGN_CONTENT_STYLES, aB as FLEX_ALIGN_ITEMS, aC as FLEX_ALIGN_ITEM_STYLES, aH as FLEX_ALIGN_OPTIONS, aF as FLEX_ALIGN_SELFS, aG as FLEX_ALIGN_SELF_STYLES, aI as FLEX_ALIGN_STYLES, b2 as FLEX_BASES, b3 as FLEX_BASIS_STYLES, aT as FLEX_COLUMN_GAP_STYLES, az as FLEX_DIRECTIONS, aA as FLEX_DIRECTION_STYLES, ay as FLEX_ELEMENTS, aR as FLEX_GAPS, aS as FLEX_GAP_STYLES, aV as FLEX_GAP_STYLES_BY_DIRECTION, a_ as FLEX_GROWS, b4 as FLEX_GROW_AND_SHRINK_AND_BASIS, b5 as FLEX_GROW_AND_SHRINK_AND_BASIS_STYLES, a$ as FLEX_GROW_STYLES, aJ as FLEX_JUSTIFY_CONTENTS, aK as FLEX_JUSTIFY_CONTENT_STYLES, aL as FLEX_JUSTIFY_ITEMS, aM as FLEX_JUSTIFY_ITEM_STYLES, aP as FLEX_JUSTIFY_OPTIONS, aN as FLEX_JUSTIFY_SELFS, aO as FLEX_JUSTIFY_SELF_STYLES, aQ as FLEX_JUSTIFY_STYLES, b0 as FLEX_ORDERS, b1 as FLEX_ORDER_STYLES, aU as FLEX_ROW_GAP_STYLES, aY as FLEX_SHRINKS, aZ as FLEX_SHRINK_STYLES, aW as FLEX_WRAPS, aX as FLEX_WRAP_STYLES, ax as Filter, b as Flex, av as FormDialog, bg as FormFullScreenDialog, b6 as FormRepeater, b7 as FormRepeaterHeader, b8 as FormRepeaterHeaderContent, bb as FormRepeaterInputContent, b9 as FormRepeaterList, ba as FormRepeaterListItem, bc as FormRepeaterRadioContent, bd as FormRepeaterSelectContent, be as FormRepeaterToggleContent, W as ICON_BUTTON_COLORS_STYLES, V as ICON_BUTTON_THEMES, a5 as ICON_SIZE_RESPONSIVE_STYLES, br as INPUT_DEFAULT_MAX_LENGTH, bu as INPUT_ELEMENTS, bt as INPUT_POPOVER_OFFSET, bi as Icon, U as IconButton, T as InfoBottomSheet, aw as InfoDialog, bh as InfoFullScreenDialog, bx as InfoModal, bj as InfoPopover, bk as InfoPopoverDescription, bo as Input, bp as InputBase, bq as InputClearButton, bl as InputField, bm as InputPassword, bn as InputSearch, X as LinkButton, bN as MultiSearchSelect, bA as PERSONA_PROFILE_THEMES, bC as PERSONA_PROFILE_THEME_TYPOGRAPHY_PROPS, bB as PERSONA_SIZE_FLEX_PROPS, bG as POPOVER_PLACEMENTS, bH as POPOVER_PLACEMENT_POSITION_FLIPS, bF as POPOVER_POSITIONS, bE as POPOVER_POSITION_DIVISION, bJ as PORTAL_DEFAULT_TARGET, by as Persona, bz as PersonaProfile, bD as Popover, bI as Portal, bK as RADIO_SIZES, cE as RADIUS_STYLES_MAPPER, cD as RADIUS_VARIANTS, bL as Radio, bM as SELECT_TYPE, cF as SHADOW_VARIANTS, bO as SearchSelect, bP as Select, bQ as Skeleton, bR as SkeletonTheme, bS as Sort, cj as TABLE_CELL_INPUT_STATE, ck as TABLE_CELL_INPUT_STYLES, cf as TABLE_CELL_ROLES, ch as TABLE_CELL_ROLE_COMMON_STYLES, ci as TABLE_CELL_STYLES, cd as TABLE_ROW_GROUP_COMMON_STYLE, cg as TABLE_ROW_STYLES, ce as TABLE_ROW_VARIANTS, c3 as TAB_INDICATOR_VARIANT_STYLES, c2 as TAB_NUMBER_TYPOGRAPHY_VARIANT, bY as TAB_PANEL_ID_SUFFIX, b$ as TAB_SIZES, c0 as TAB_SIZE_STYLES, b_ as TAB_THEMES, c1 as TAB_THEME_STYLES, bZ as TAB_VARIANTS, bs as TEXTAREA_DEFAULT_MAX_LENGTH, cm as TOAST_TYPES, co as TOAST_TYPE_ACTION_BUTTON_THEME, cn as TOAST_TYPE_ICON_PROPS, ct as TOGGLE_ICON_SIZE_STYLES, cu as TOGGLE_LABEL_SIZE_VARIANTS, cq as TOGGLE_SIZES, cr as TOGGLE_STATE, cv as TOGGLE_STYLES, cs as TOGGLE_WITH_LABEL_SIZE_STYLES, cy as TYPOGRAPHY_ELEMENTS, cH as TYPOGRAPHY_PREFIX, cI as TYPOGRAPHY_STYLES_MAPPER, cG as TYPOGRAPHY_VARIANTS, bU as Tab, bV as TabList, bT as TabListProvider, bW as TabPanel, c4 as Table, c5 as TableBody, c6 as TableBodyEmpty, c7 as TableCell, c8 as TableCellCheckbox, c9 as TableCellToggle, ca as TableHead, cb as TableInputCell, cc as TableRow, bX as Tabs, bv as TextArea, cl as Toast, cp as Toggle, cw as Tooltip, cx as Typography, ag as WEEKS, a6 as generateButtonStyle, a7 as getResponsiveStyles, ap as useCalendar, g as useCalendarContext, bf as useFormRepeater } from './index-nvdefcFf.js';
2
- import 'react/jsx-runtime';
3
- import 'react';
4
- import 'react-dom';
5
- import '@bbodek/hooks';
6
- import '@bbodek/utils';
1
+ export{q as ALERT_LABEL_TYPOGRAPHY_VARIANTS,p as ALERT_THEMES,r as ALERT_THEME_STYLES,I as AVATAR_GROUP_DEFAULT_ITEM_LIMIT,z as AVATAR_ICON_KEYS,E as AVATAR_ICON_STYLES,v as AVATAR_SIZES,y as AVATAR_SIZE_IMAGE_PROPS,x as AVATAR_SIZE_STYLES,w as AVATAR_THEMES,G as AVATAR_THEME_STYLES,t as AVATAR_TYPES,A as Alert,s as Avatar,H as AvatarGroup,O as BADGE_FILLED_THEME_STYLES,R as BADGE_ICON_SIZE_STYLES,L as BADGE_THEMES,Q as BADGE_THEME_ICON_STYLES,P as BADGE_THEME_STYLES,K as BADGE_VARIANTS,N as BADGE_VARIANT_STYLES,a0 as BUTTON_ICON_POSITIONS,a3 as BUTTON_ICON_SIZE_STYLES,Z as BUTTON_PENDING_ICON_KEY,m as BUTTON_SIZES,a4 as BUTTON_SIZE_RESPONSIVE_STYLES,a2 as BUTTON_SIZE_STYLES,$ as BUTTON_STATE,a1 as BUTTON_STYLES,l as BUTTON_THEMES,_ as BUTTON_VARIANTS,J as Badge,B as Button,Y as ButtonIcon,am as CALENDAR_DAYS_ARRAY,ak as CALENDAR_DAYS_COUNT,ai as CALENDAR_DAYS_ROW_COUNT,ad as CALENDAR_DAY_DISABLED_VARIANTS,ac as CALENDAR_DAY_SELECTED_VARIANTS,ab as CALENDAR_DAY_STYLES,aa as CALENDAR_DAY_VARIANTS,ao as CALENDAR_DEFAULT_LABELS,al as CALENDAR_MONTHLY_ARRAY,ah as CALENDAR_MONTHLY_COUNT,a9 as CALENDAR_NAVIGATE_META_DATA,a8 as CALENDAR_NAVIGATE_TYPE,C as CALENDAR_VARIANTS,ae as CALENDAR_WEEKS,an as CALENDAR_WEEKS_ARRAY,aj as CALENDAR_WEEKS_COUNT,af as CALENDAR_WEEKS_META_DATA,ar as CHECKBOX_SIZES,cC as COLOR_STYLES_MAPPER,cA as COLOR_TYPES,cB as COLOR_TYPE_PREFIXES,cz as COLOR_VARIANTS,k as Calendar,j as CalendarProvider,aq as Checkbox,as as Chip,at as ChipGroup,S as ConfirmBottomSheet,bw as ConfirmModal,au as DatePicker,D as DialogOverlayFormDivider,aD as FLEX_ALIGN_CONTENTS,aE as FLEX_ALIGN_CONTENT_STYLES,aB as FLEX_ALIGN_ITEMS,aC as FLEX_ALIGN_ITEM_STYLES,aH as FLEX_ALIGN_OPTIONS,aF as FLEX_ALIGN_SELFS,aG as FLEX_ALIGN_SELF_STYLES,aI as FLEX_ALIGN_STYLES,b2 as FLEX_BASES,b3 as FLEX_BASIS_STYLES,aT as FLEX_COLUMN_GAP_STYLES,az as FLEX_DIRECTIONS,aA as FLEX_DIRECTION_STYLES,ay as FLEX_ELEMENTS,aR as FLEX_GAPS,aS as FLEX_GAP_STYLES,aV as FLEX_GAP_STYLES_BY_DIRECTION,a_ as FLEX_GROWS,b4 as FLEX_GROW_AND_SHRINK_AND_BASIS,b5 as FLEX_GROW_AND_SHRINK_AND_BASIS_STYLES,a$ as FLEX_GROW_STYLES,aJ as FLEX_JUSTIFY_CONTENTS,aK as FLEX_JUSTIFY_CONTENT_STYLES,aL as FLEX_JUSTIFY_ITEMS,aM as FLEX_JUSTIFY_ITEM_STYLES,aP as FLEX_JUSTIFY_OPTIONS,aN as FLEX_JUSTIFY_SELFS,aO as FLEX_JUSTIFY_SELF_STYLES,aQ as FLEX_JUSTIFY_STYLES,b0 as FLEX_ORDERS,b1 as FLEX_ORDER_STYLES,aU as FLEX_ROW_GAP_STYLES,aY as FLEX_SHRINKS,aZ as FLEX_SHRINK_STYLES,aW as FLEX_WRAPS,aX as FLEX_WRAP_STYLES,ax as Filter,b as Flex,av as FormDialog,bg as FormFullScreenDialog,b6 as FormRepeater,b7 as FormRepeaterHeader,b8 as FormRepeaterHeaderContent,bb as FormRepeaterInputContent,b9 as FormRepeaterList,ba as FormRepeaterListItem,bc as FormRepeaterRadioContent,bd as FormRepeaterSelectContent,be as FormRepeaterToggleContent,W as ICON_BUTTON_COLORS_STYLES,V as ICON_BUTTON_THEMES,a5 as ICON_SIZE_RESPONSIVE_STYLES,br as INPUT_DEFAULT_MAX_LENGTH,bu as INPUT_ELEMENTS,bt as INPUT_POPOVER_OFFSET,bi as Icon,U as IconButton,T as InfoBottomSheet,aw as InfoDialog,bh as InfoFullScreenDialog,bx as InfoModal,bj as InfoPopover,bk as InfoPopoverDescription,bo as Input,bp as InputBase,bq as InputClearButton,bl as InputField,bm as InputPassword,bn as InputSearch,X as LinkButton,bN as MultiSearchSelect,bA as PERSONA_PROFILE_THEMES,bC as PERSONA_PROFILE_THEME_TYPOGRAPHY_PROPS,bB as PERSONA_SIZE_FLEX_PROPS,bG as POPOVER_PLACEMENTS,bH as POPOVER_PLACEMENT_POSITION_FLIPS,bF as POPOVER_POSITIONS,bE as POPOVER_POSITION_DIVISION,bJ as PORTAL_DEFAULT_TARGET,by as Persona,bz as PersonaProfile,bD as Popover,bI as Portal,bK as RADIO_SIZES,cE as RADIUS_STYLES_MAPPER,cD as RADIUS_VARIANTS,bL as Radio,bM as SELECT_TYPE,cF as SHADOW_VARIANTS,bO as SearchSelect,bP as Select,bQ as Skeleton,bR as SkeletonTheme,bS as Sort,cj as TABLE_CELL_INPUT_STATE,ck as TABLE_CELL_INPUT_STYLES,cf as TABLE_CELL_ROLES,ch as TABLE_CELL_ROLE_COMMON_STYLES,ci as TABLE_CELL_STYLES,cd as TABLE_ROW_GROUP_COMMON_STYLE,cg as TABLE_ROW_STYLES,ce as TABLE_ROW_VARIANTS,c3 as TAB_INDICATOR_VARIANT_STYLES,c2 as TAB_NUMBER_TYPOGRAPHY_VARIANT,bY as TAB_PANEL_ID_SUFFIX,b$ as TAB_SIZES,c0 as TAB_SIZE_STYLES,b_ as TAB_THEMES,c1 as TAB_THEME_STYLES,bZ as TAB_VARIANTS,bs as TEXTAREA_DEFAULT_MAX_LENGTH,cm as TOAST_TYPES,co as TOAST_TYPE_ACTION_BUTTON_THEME,cn as TOAST_TYPE_ICON_PROPS,ct as TOGGLE_ICON_SIZE_STYLES,cu as TOGGLE_LABEL_SIZE_VARIANTS,cq as TOGGLE_SIZES,cr as TOGGLE_STATE,cv as TOGGLE_STYLES,cs as TOGGLE_WITH_LABEL_SIZE_STYLES,cy as TYPOGRAPHY_ELEMENTS,cH as TYPOGRAPHY_PREFIX,cI as TYPOGRAPHY_STYLES_MAPPER,cG as TYPOGRAPHY_VARIANTS,bU as Tab,bV as TabList,bT as TabListProvider,bW as TabPanel,c4 as Table,c5 as TableBody,c6 as TableBodyEmpty,c7 as TableCell,c8 as TableCellCheckbox,c9 as TableCellToggle,ca as TableHead,cb as TableInputCell,cc as TableRow,bX as Tabs,bv as TextArea,cl as Toast,cp as Toggle,cw as Tooltip,cx as Typography,ag as WEEKS,a6 as generateButtonStyle,a7 as getResponsiveStyles,ap as useCalendar,g as useCalendarContext,bf as useFormRepeater}from"./index-By0wJuqk.js";import"react/jsx-runtime";import"react";import"react-dom";import"@bbodek/hooks";import"@bbodek/utils";
7
2
  //# sourceMappingURL=index.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
1
+ {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{B as l,l as s,m as t,n as a,u as r,o as n}from"./index-By0wJuqk.js";import{useCallback as o}from"react";const u=({onClick:a,disabled:r})=>e("div",{className:"border-t-in-gray-02 border-t p-4",children:e(l,{className:"w-full",disabled:r,label:"선택 완료",size:t.SM,theme:s.PRIMARY,onClick:a})}),i=()=>{const{toggleValues:e=null,selectValues:l,selectOptions:s,onChange:t}=a(),{currentOptions:u,currentSelectValue:i,setCurrentSelectValue:c,setFilterStep:d}=r(),{key:m}=u,p=l?.[m]??null??(i?.[m]??null),g=s.find((e=>e.key===m)),V=o((({value:s})=>{t({toggleValues:e,selectValues:{...l,[m]:s}}),d(n.IDLE),c(null)}),[m,i,l]);return{models:{value:p,options:g},operations:{handleChange:V,setCurrentSelectValue:c}}};export{u as F,i as u};
2
+ //# sourceMappingURL=useFilterSelectOptionPanel-CS6hhKHO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFilterSelectOptionPanel-CS6hhKHO.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bbodek/internal-ui",
3
- "version": "0.0.47",
3
+ "version": "0.0.49",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -8,6 +8,7 @@
8
8
  "url": "https://github.com/thebbodek/dotoli",
9
9
  "directory": "apps/internal-ui"
10
10
  },
11
+ "homepage": "https://github.com/thebbodek/dotoli/tree/main/apps/internal-ui#readme",
11
12
  "files": [
12
13
  "dist",
13
14
  "tailwind.config.js",
@@ -29,18 +30,18 @@
29
30
  "es-toolkit": "^1.39.8",
30
31
  "next": "^15.3.1",
31
32
  "pretendard": "^1.3.9",
32
- "react-loading-skeleton": "^3.5.0"
33
+ "react-loading-skeleton": "^3.5.0",
34
+ "@bbodek/hooks": "0.0.23",
35
+ "@bbodek/utils": "0.0.20"
33
36
  },
34
37
  "peerDependencies": {
35
- "@bbodek/hooks": "^0.0.20",
36
- "@bbodek/utils": "^0.0.18",
37
38
  "react": "^19.1.0",
38
39
  "react-dom": "^19.1.0",
39
- "tailwindcss": "^4"
40
+ "tailwindcss": "^4",
41
+ "@bbodek/hooks": "0.0.23",
42
+ "@bbodek/utils": "0.0.20"
40
43
  },
41
44
  "devDependencies": {
42
- "@bbodek/hooks": "^0.0.20",
43
- "@bbodek/utils": "^0.0.18",
44
45
  "@rollup/plugin-image": "^3.0.3",
45
46
  "@types/node": "^20",
46
47
  "@types/react": "^19",
@@ -54,7 +55,7 @@
54
55
  "tsc-alias": "^1.8.16",
55
56
  "tslib": "^2.8.1",
56
57
  "typescript": "^5.8.3",
57
- "@bbodek/eslint-config": "0.0.3",
58
+ "@bbodek/eslint-config": "0.0.4",
58
59
  "@dotoli/rollup-config": "0.0.0",
59
60
  "@dotoli/typescript-config": "0.0.0"
60
61
  },
@@ -1,46 +0,0 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { useId } from 'react';
3
- import { g as useCalendarContext, i as isValidDateOfVariant, h as getCalendarDate, j as CalendarProvider, b as Flex, k as Calendar } from './index-nvdefcFf.js';
4
- import '@bbodek/utils';
5
- import { F as FilterSelectButton, u as useFilterSelectOptionPanel } from './useFilterSelectOptionPanel-CliL1k8Q.js';
6
- import 'react-dom';
7
- import '@bbodek/hooks';
8
-
9
- const FilterCalendarSelectButton = () => {
10
- const { variant, internalValue, handleChange } = useCalendarContext();
11
- const isDisabled = !isValidDateOfVariant({ value: internalValue, variant });
12
- return jsx(FilterSelectButton, { disabled: isDisabled, onClick: handleChange });
13
- };
14
-
15
- const useFilterCalendarPanel = () => {
16
- const { models: { value }, operations: { handleChange }, } = useFilterSelectOptionPanel();
17
- const { startDate, endDate } = value !== null
18
- ? getCalendarDate({ value })
19
- : { startDate: null, endDate: null };
20
- const calendarValue = value !== null
21
- ? {
22
- startDate: startDate,
23
- endDate: endDate,
24
- }
25
- : null;
26
- const onChange = (value) => {
27
- const _value = value ? [`${value.startDate}~${value.endDate}`] : null;
28
- handleChange({ value: _value });
29
- };
30
- return {
31
- models: {
32
- calendarValue,
33
- },
34
- operations: { onChange },
35
- };
36
- };
37
-
38
- const FilterCalendarPanel = ({ variant }) => {
39
- const labelId = useId();
40
- const calendarId = useId();
41
- const { models: { calendarValue }, operations: { onChange }, } = useFilterCalendarPanel();
42
- return (jsx(CalendarProvider, { value: calendarValue, variant: variant, onChange: onChange, children: jsxs(Flex, { className: 'in-tablet:min-w-[23.75rem] mx-auto w-[22.5rem] justify-between overflow-hidden', direction: 'column', children: [jsx(Calendar, { className: 'in-tablet:min-h-[34svh-3.75rem] in-tablet:max-h-[46svh-3.75rem] mx-auto h-[100svh-4rem]', id: calendarId, labelId: labelId }), jsx(FilterCalendarSelectButton, {})] }) }));
43
- };
44
-
45
- export { FilterCalendarPanel as default };
46
- //# sourceMappingURL=FilterCalendarPanel-xRJERPNn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilterCalendarPanel-xRJERPNn.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,51 +0,0 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { useId } from 'react';
3
- import { F as FilterSelectButton, u as useFilterSelectOptionPanel } from './useFilterSelectOptionPanel-CliL1k8Q.js';
4
- import { a as useMultiSelectBaseContext, M as MultiSelectBaseProvider, b as Flex, c as MultiSelectBase, e as MultiSearchSelectSelectedPanel, f as MultiSearchSelectSearchPanel } from './index-nvdefcFf.js';
5
- import 'react-dom';
6
- import '@bbodek/hooks';
7
- import '@bbodek/utils';
8
-
9
- const FilterMultiSelectButton = () => {
10
- const { onChange, onSearch, internalOptions } = useMultiSelectBaseContext();
11
- const handleClick = () => {
12
- onSearch({ value: null });
13
- onChange();
14
- };
15
- return (jsx(FilterSelectButton, { disabled: internalOptions.length === 0 ||
16
- internalOptions.find(({ isSelected }) => isSelected) === undefined, onClick: handleClick }));
17
- };
18
-
19
- const useFilterMultiSelectPanel = () => {
20
- const { models: { options: selectOptions, value: selectValue }, operations: { handleChange }, } = useFilterSelectOptionPanel();
21
- const options = selectOptions.options.map(({ value, displayValue }) => ({
22
- value,
23
- label: displayValue,
24
- }));
25
- const value = (selectValue ?? []).map((value) => ({
26
- value: value,
27
- label: options.find((option) => option.value === value)?.label ?? '',
28
- }));
29
- const onChange = (values) => {
30
- const _value = values ? values.map(({ value }) => value) : null;
31
- handleChange({ value: _value });
32
- };
33
- return {
34
- models: {
35
- value,
36
- options,
37
- },
38
- operations: { onChange },
39
- };
40
- };
41
-
42
- const FilterMultiSelectPanel = () => {
43
- const labelId = useId();
44
- const selectListResultId = useId();
45
- const selectedListResultId = useId();
46
- const { models: { value, options }, operations: { onChange }, } = useFilterMultiSelectPanel();
47
- return (jsx(MultiSelectBaseProvider, { options: options, selectListResultId: selectListResultId, selectedListResultId: selectedListResultId, value: value, onChange: onChange, children: jsxs(Flex, { className: 'in-tablet:min-w-[36.25rem] mx-auto w-[22.5rem] flex-1 justify-between overflow-hidden', direction: 'column', children: [jsx(MultiSelectBase, { className: 'in-tablet:min-h-[calc(34svh-3.75rem)] in-tablet:max-h-[calc(46svh-3.75rem)] h-[100svh-4rem]', labelId: labelId, searchPanel: jsx(MultiSearchSelectSearchPanel, {}), selectedPanel: jsx(MultiSearchSelectSelectedPanel, {}) }), jsx(FilterMultiSelectButton, {})] }) }));
48
- };
49
-
50
- export { FilterMultiSelectPanel as default };
51
- //# sourceMappingURL=FilterMultiSelectPanel-M8j-s3EV.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilterMultiSelectPanel-M8j-s3EV.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,22 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { u as useFilterPanelContext, F as FILTER_TYPES, d as dynamic, C as CALENDAR_VARIANTS } from './index-nvdefcFf.js';
3
- import 'react';
4
- import '@bbodek/utils';
5
- import 'react-dom';
6
- import '@bbodek/hooks';
7
-
8
- const FilterMultiSelectPanel = dynamic(() => import('./FilterMultiSelectPanel-M8j-s3EV.js'), { ssr: false });
9
- const FilterCalendarPanel = dynamic(() => import('./FilterCalendarPanel-xRJERPNn.js'), { ssr: false });
10
- const FilterSelectOptionPanel = () => {
11
- const { currentOptions } = useFilterPanelContext();
12
- const { type } = currentOptions;
13
- const PANELS = {
14
- [FILTER_TYPES.MULTI_SELECT]: jsx(FilterMultiSelectPanel, {}),
15
- [FILTER_TYPES.DATE_SINGLE]: (jsx(FilterCalendarPanel, { variant: CALENDAR_VARIANTS.SINGLE })),
16
- [FILTER_TYPES.DATE_RANGE]: (jsx(FilterCalendarPanel, { variant: CALENDAR_VARIANTS.RANGE })),
17
- };
18
- return PANELS[type];
19
- };
20
-
21
- export { FilterSelectOptionPanel as default };
22
- //# sourceMappingURL=FilterSelectOptionPanel-D_AQGIT2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilterSelectOptionPanel-D_AQGIT2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}