@pixum/combobox 1.6.3 → 1.6.5-alpha.55

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/lib/ComboBox.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
- import { ComboBoxProps } from './types';
3
- import './styles.css';
4
- declare const ComboBox: React.FC<ComboBoxProps>;
5
- export default ComboBox;
1
+ import React from 'react';
2
+ import { ComboBoxProps } from './types';
3
+ import './styles.css';
4
+ declare const ComboBox: React.FC<ComboBoxProps>;
5
+ export default ComboBox;
package/lib/ComboBox.js CHANGED
@@ -1,77 +1,106 @@
1
- import React, { useCallback, useEffect, useRef, useState } from 'react';
2
- import BottomSheet from '@pixum/bottom-sheet';
3
- import Text, { TextVariant } from '@pixum/text';
4
- import { SelectInput, SmallSearchInput } from '@pixum/user-input';
5
- import ComboBoxOptions from './ComboboxOptions';
6
- import useIsDesktopScreenWidth from './helper/useIsDesktopScreenWidth';
7
- import './styles.css';
8
- import clsx from 'clsx';
9
- const ComboBox = ({ className = '', headline, label, onClick, onChange, onOutsideClick, onOptionItemClick, onSheetClose, searchPattern = '', id, isOpen, setIsOpen, options, placeholder, value, inputMode, noResultsText, leadingType, optionDetails, withSearch = true, }) => {
10
- const comboBoxRef = useRef(null);
11
- const bottomSheetRef = useRef(null);
12
- const [searchQuery, setSearchQuery] = useState('');
13
- const [inputPlaceholder, setPlaceholder] = useState(placeholder);
14
- const isDesktop = useIsDesktopScreenWidth();
15
- const optionsExist = Object.keys(options).length > 0;
16
- const showSelectField = !withSearch || (isDesktop && !isOpen) || !isDesktop;
17
- useEffect(() => {
18
- !isOpen && (onSheetClose === null || onSheetClose === void 0 ? void 0 : onSheetClose());
19
- }, [isOpen]);
20
- const handleChange = (e) => {
21
- const { value: searchValue } = e.target;
22
- setSearchQuery(searchValue);
23
- onChange === null || onChange === void 0 ? void 0 : onChange(searchValue);
24
- };
25
- const handleClearInput = () => {
26
- setSearchQuery('');
27
- };
28
- const clearAndClose = () => {
29
- setSearchQuery('');
30
- setIsOpen(false);
31
- };
32
- const handleClickOutside = useCallback((event) => {
33
- var _a;
34
- const node = event === null || event === void 0 ? void 0 : event.target;
35
- const isOutside = !((_a = comboBoxRef.current) === null || _a === void 0 ? void 0 : _a.contains(node));
36
- setPlaceholder(placeholder);
37
- isOutside && isDesktop && clearAndClose();
38
- isOutside && isDesktop && (onOutsideClick === null || onOutsideClick === void 0 ? void 0 : onOutsideClick());
39
- }, [comboBoxRef, bottomSheetRef, placeholder]);
40
- const handleOptionItemClick = (optionValue) => {
41
- onOptionItemClick === null || onOptionItemClick === void 0 ? void 0 : onOptionItemClick(optionValue);
42
- };
43
- const handleOnArrowClick = () => {
44
- clearAndClose();
45
- };
46
- const handleOnClick = () => {
47
- onClick === null || onClick === void 0 ? void 0 : onClick();
48
- };
49
- const NoResultsTextComponent = () => {
50
- return (React.createElement(Text, { variant: TextVariant.SUBHEADLINE, className: "combobox--no-results-text" }, noResultsText));
51
- };
52
- const removePlaceholder = () => {
53
- setPlaceholder('');
54
- };
55
- const handleKeyDown = (e) => {
56
- var _a;
57
- if (e.key === 'Tab') {
58
- e.preventDefault();
59
- (_a = document.querySelector('.combobox__options .menu-item')) === null || _a === void 0 ? void 0 : _a.focus();
60
- }
61
- };
62
- return (React.createElement(React.Fragment, null,
63
- showSelectField && (React.createElement(SelectInput, { className: clsx(isOpen && 'active', className), label: label, value: value, onClick: handleOnClick, onOutsideClick: handleClickOutside, isCompact: true, id: id, readOnly: true })),
64
- isDesktop && isOpen && (React.createElement("div", { className: "combobox", ref: comboBoxRef },
65
- withSearch && (React.createElement(SmallSearchInput, { value: searchQuery, pattern: searchPattern, label: label, onChange: handleChange, onClear: handleClearInput, onKeyDown: handleKeyDown, onArrowClick: handleOnArrowClick, onOutsideClick: handleClickOutside, show: isOpen, inputMode: inputMode, autoFocus: true, isCompact: true })),
66
- optionsExist ? (React.createElement(ComboBoxOptions, { options: options, onClick: handleOptionItemClick, selectedOption: value, leadingType: leadingType, optionDetails: optionDetails })) : (React.createElement(NoResultsTextComponent, null)),
67
- React.createElement("div", null))),
68
- !isDesktop && isOpen && (React.createElement(BottomSheet, { open: isOpen, onClose: () => {
69
- setIsOpen(false);
70
- }, ref: bottomSheetRef },
71
- React.createElement("div", { className: "combobox--header" },
72
- React.createElement(Text, { variant: TextVariant.HEADLINE, className: "combobox--headline" }, headline),
73
- withSearch && (React.createElement(SmallSearchInput, { value: searchQuery, pattern: searchPattern, onChange: handleChange, onClear: handleClearInput, onFocus: removePlaceholder, placeholder: inputPlaceholder, inputMode: inputMode, show: isOpen, isCompact: true }))),
74
- React.createElement("div", { className: "combobox__options scrollable" }, optionsExist ? (React.createElement(ComboBoxOptions, { options: options, onClick: handleOptionItemClick, selectedOption: value, leadingType: leadingType, optionDetails: optionDetails })) : (React.createElement(NoResultsTextComponent, null)))))));
75
- };
76
- export default ComboBox;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ var react_1 = __importStar(require("react"));
30
+ var bottom_sheet_1 = __importDefault(require("@pixum/bottom-sheet"));
31
+ var text_1 = __importStar(require("@pixum/text"));
32
+ var user_input_1 = require("@pixum/user-input");
33
+ var ComboboxOptions_1 = __importDefault(require("./ComboboxOptions"));
34
+ var useIsDesktopScreenWidth_1 = __importDefault(require("./helper/useIsDesktopScreenWidth"));
35
+ require("./styles.css");
36
+ var clsx_1 = __importDefault(require("clsx"));
37
+ var ComboBox = function (_a) {
38
+ var _b = _a.className, className = _b === void 0 ? '' : _b, headline = _a.headline, label = _a.label, onClick = _a.onClick, onChange = _a.onChange, onOutsideClick = _a.onOutsideClick, onOptionItemClick = _a.onOptionItemClick, onSheetClose = _a.onSheetClose, _c = _a.searchPattern, searchPattern = _c === void 0 ? '' : _c, id = _a.id, isOpen = _a.isOpen, setIsOpen = _a.setIsOpen, options = _a.options, placeholder = _a.placeholder, value = _a.value, inputMode = _a.inputMode, noResultsText = _a.noResultsText, leadingType = _a.leadingType, optionDetails = _a.optionDetails, _d = _a.withSearch, withSearch = _d === void 0 ? true : _d;
39
+ var comboBoxRef = (0, react_1.useRef)(null);
40
+ var bottomSheetRef = (0, react_1.useRef)(null);
41
+ var _e = (0, react_1.useState)(''), searchQuery = _e[0], setSearchQuery = _e[1];
42
+ var _f = (0, react_1.useState)(placeholder), inputPlaceholder = _f[0], setPlaceholder = _f[1];
43
+ var isDesktop = (0, useIsDesktopScreenWidth_1.default)();
44
+ var optionsExist = Object.keys(options).length > 0;
45
+ var showSelectField = !withSearch || (isDesktop && !isOpen) || !isDesktop;
46
+ (0, react_1.useEffect)(function () {
47
+ !isOpen && (onSheetClose === null || onSheetClose === void 0 ? void 0 : onSheetClose());
48
+ }, [isOpen]);
49
+ var handleChange = function (e) {
50
+ var searchValue = e.target.value;
51
+ setSearchQuery(searchValue);
52
+ onChange === null || onChange === void 0 ? void 0 : onChange(searchValue);
53
+ };
54
+ var handleClearInput = function () {
55
+ setSearchQuery('');
56
+ };
57
+ var clearAndClose = function () {
58
+ setSearchQuery('');
59
+ setIsOpen(false);
60
+ };
61
+ var handleClickOutside = (0, react_1.useCallback)(function (event) {
62
+ var _a;
63
+ var node = event === null || event === void 0 ? void 0 : event.target;
64
+ var isOutside = !((_a = comboBoxRef.current) === null || _a === void 0 ? void 0 : _a.contains(node));
65
+ setPlaceholder(placeholder);
66
+ isOutside && isDesktop && clearAndClose();
67
+ isOutside && isDesktop && (onOutsideClick === null || onOutsideClick === void 0 ? void 0 : onOutsideClick());
68
+ }, [comboBoxRef, bottomSheetRef, placeholder]);
69
+ var handleOptionItemClick = function (optionValue) {
70
+ onOptionItemClick === null || onOptionItemClick === void 0 ? void 0 : onOptionItemClick(optionValue);
71
+ };
72
+ var handleOnArrowClick = function () {
73
+ clearAndClose();
74
+ };
75
+ var handleOnClick = function () {
76
+ onClick === null || onClick === void 0 ? void 0 : onClick();
77
+ };
78
+ var NoResultsTextComponent = function () {
79
+ return (react_1.default.createElement(text_1.default, { variant: text_1.TextVariant.SUBHEADLINE, className: "combobox--no-results-text" }, noResultsText));
80
+ };
81
+ var removePlaceholder = function () {
82
+ setPlaceholder('');
83
+ };
84
+ var handleKeyDown = function (e) {
85
+ var _a;
86
+ if (e.key === 'Tab') {
87
+ e.preventDefault();
88
+ (_a = document.querySelector('.combobox__options .menu-item')) === null || _a === void 0 ? void 0 : _a.focus();
89
+ }
90
+ };
91
+ return (react_1.default.createElement(react_1.default.Fragment, null,
92
+ showSelectField && (react_1.default.createElement(user_input_1.SelectInput, { className: (0, clsx_1.default)(isOpen && 'active', className), label: label, value: value, onClick: handleOnClick, onOutsideClick: handleClickOutside, isCompact: true, id: id, readOnly: true })),
93
+ isDesktop && isOpen && (react_1.default.createElement("div", { className: "combobox", ref: comboBoxRef },
94
+ withSearch && (react_1.default.createElement(user_input_1.SmallSearchInput, { value: searchQuery, pattern: searchPattern, label: label, onChange: handleChange, onClear: handleClearInput, onKeyDown: handleKeyDown, onArrowClick: handleOnArrowClick, onOutsideClick: handleClickOutside, show: isOpen, inputMode: inputMode, autoFocus: true, isCompact: true })),
95
+ optionsExist ? (react_1.default.createElement(ComboboxOptions_1.default, { options: options, onClick: handleOptionItemClick, selectedOption: value, leadingType: leadingType, optionDetails: optionDetails })) : (react_1.default.createElement(NoResultsTextComponent, null)),
96
+ react_1.default.createElement("div", null))),
97
+ !isDesktop && isOpen && (react_1.default.createElement(bottom_sheet_1.default, { open: isOpen, onClose: function () {
98
+ setIsOpen(false);
99
+ }, ref: bottomSheetRef },
100
+ react_1.default.createElement("div", { className: "combobox--header" },
101
+ react_1.default.createElement(text_1.default, { variant: text_1.TextVariant.HEADLINE, className: "combobox--headline" }, headline),
102
+ withSearch && (react_1.default.createElement(user_input_1.SmallSearchInput, { value: searchQuery, pattern: searchPattern, onChange: handleChange, onClear: handleClearInput, onFocus: removePlaceholder, placeholder: inputPlaceholder, inputMode: inputMode, show: isOpen, isCompact: true }))),
103
+ react_1.default.createElement("div", { className: "combobox__options scrollable" }, optionsExist ? (react_1.default.createElement(ComboboxOptions_1.default, { options: options, onClick: handleOptionItemClick, selectedOption: value, leadingType: leadingType, optionDetails: optionDetails })) : (react_1.default.createElement(NoResultsTextComponent, null)))))));
104
+ };
105
+ exports.default = ComboBox;
77
106
  //# sourceMappingURL=ComboBox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.js","sourceRoot":"","sources":["../src/ComboBox.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComboBox.js","sourceRoot":"","sources":["../src/ComboBox.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { LeadingType } from '@pixum/menu-item';
2
- import React from 'react';
3
- import { ComboBoxOptionProps } from '../types';
4
- interface OptionsProps {
5
- items: ComboBoxOptionProps[];
6
- selectedOption?: string;
7
- onClick?: (value: string) => void;
8
- onKeyDown: (e: React.KeyboardEvent, value: string) => void;
9
- leadingType?: LeadingType;
10
- }
11
- declare const Options: React.FC<OptionsProps>;
12
- export default Options;
1
+ import { LeadingType } from '@pixum/menu-item';
2
+ import React from 'react';
3
+ import { ComboBoxOptionProps } from '../types';
4
+ interface OptionsProps {
5
+ items: ComboBoxOptionProps[];
6
+ selectedOption?: string;
7
+ onClick?: (value: string) => void;
8
+ onKeyDown: (e: React.KeyboardEvent, value: string) => void;
9
+ leadingType?: LeadingType;
10
+ }
11
+ declare const Options: React.FC<OptionsProps>;
12
+ export default Options;
@@ -1,16 +1,24 @@
1
- import MenuItem from '@pixum/menu-item';
2
- import clsx from 'clsx';
3
- import React from 'react';
4
- const Options = ({ items, selectedOption, onClick, onKeyDown, leadingType, }) => (React.createElement(React.Fragment, null, items.map((item, index) => {
5
- var _a;
6
- return (React.createElement(MenuItem, { key: `combobox-item-${item.text}`, tabIndex: index, className: clsx(selectedOption === item.text && 'selected'), onClick: () => onClick === null || onClick === void 0 ? void 0 : onClick(item.text), onKeyDown: e => onKeyDown(e, item.text), onMouseEnter: item.onMouseEnter, leadingProps: leadingType
7
- ? {
8
- name: item.text,
9
- type: leadingType,
10
- }
11
- : undefined, selected: selectedOption === item.text, text: item.text, subtext: item.subtext, subItemProps: {
12
- text: (_a = item.subItemProps) === null || _a === void 0 ? void 0 : _a.text,
13
- } }));
14
- })));
15
- export default Options;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var menu_item_1 = __importDefault(require("@pixum/menu-item"));
7
+ var clsx_1 = __importDefault(require("clsx"));
8
+ var react_1 = __importDefault(require("react"));
9
+ var Options = function (_a) {
10
+ var items = _a.items, selectedOption = _a.selectedOption, onClick = _a.onClick, onKeyDown = _a.onKeyDown, leadingType = _a.leadingType;
11
+ return (react_1.default.createElement(react_1.default.Fragment, null, items.map(function (item, index) {
12
+ var _a;
13
+ return (react_1.default.createElement(menu_item_1.default, { key: "combobox-item-".concat(item.text), tabIndex: index, className: (0, clsx_1.default)(selectedOption === item.text && 'selected'), onClick: function () { return onClick === null || onClick === void 0 ? void 0 : onClick(item.text); }, onKeyDown: function (e) { return onKeyDown(e, item.text); }, onMouseEnter: item.onMouseEnter, leadingProps: leadingType
14
+ ? {
15
+ name: item.text,
16
+ type: leadingType,
17
+ }
18
+ : undefined, selected: selectedOption === item.text, text: item.text, subtext: item.subtext, subItemProps: {
19
+ text: (_a = item.subItemProps) === null || _a === void 0 ? void 0 : _a.text,
20
+ } }));
21
+ })));
22
+ };
23
+ exports.default = Options;
16
24
  //# sourceMappingURL=Options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Options.js","sourceRoot":"","sources":["../../src/ComboboxOptions/Options.tsx"],"names":[],"mappings":"AAAA,OAAO,QAAwC,MAAM,kBAAkB,CAAA;AACvE,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,KAAK,MAAM,OAAO,CAAA;AAWzB,MAAM,OAAO,GAA2B,CAAC,EACvC,KAAK,EACL,cAAc,EACd,OAAO,EACP,SAAS,EACT,WAAW,GACZ,EAAE,EAAE,CAAC,CACJ,0CACG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAmB,EAAE,KAAa,EAAE,EAAE;;IAAC,OAAA,CACjD,oBAAC,QAAQ,IACP,GAAG,EAAE,iBAAiB,IAAI,CAAC,IAAI,EAAE,EACjC,QAAQ,EAAE,KAAK,EACf,SAAS,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,EAC3D,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,IAAI,CAAC,EACnC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EACvC,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,YAAY,EACV,WAAW;YACT,CAAC,CAAC;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,WAAW;aAClB;YACH,CAAC,CAAC,SAAS,EAEf,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC,IAAI,EACtC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,YAAY,EAAE;YACZ,IAAI,EAAE,MAAA,IAAI,CAAC,YAAY,0CAAE,IAAI;SAC9B,GACD,CACH,CAAA;CAAA,CAAC,CACD,CACJ,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"Options.js","sourceRoot":"","sources":["../../src/ComboboxOptions/Options.tsx"],"names":[],"mappings":";;;;;AAAA,+DAAuE;AACvE,8CAAuB;AACvB,gDAAyB;AAWzB,IAAM,OAAO,GAA2B,UAAC,EAMxC;QALC,KAAK,WAAA,EACL,cAAc,oBAAA,EACd,OAAO,aAAA,EACP,SAAS,eAAA,EACT,WAAW,iBAAA;IACP,OAAA,CACJ,8DACG,KAAK,CAAC,GAAG,CAAC,UAAC,IAAmB,EAAE,KAAa;;QAAK,OAAA,CACjD,8BAAC,mBAAQ,IACP,GAAG,EAAE,wBAAiB,IAAI,CAAC,IAAI,CAAE,EACjC,QAAQ,EAAE,KAAK,EACf,SAAS,EAAE,IAAA,cAAI,EAAC,cAAc,KAAK,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,EAC3D,OAAO,EAAE,cAAM,OAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,IAAI,CAAC,EAApB,CAAoB,EACnC,SAAS,EAAE,UAAA,CAAC,IAAI,OAAA,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAvB,CAAuB,EACvC,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,YAAY,EACV,WAAW;gBACT,CAAC,CAAC;oBACE,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,WAAW;iBAClB;gBACH,CAAC,CAAC,SAAS,EAEf,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC,IAAI,EACtC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,YAAY,EAAE;gBACZ,IAAI,EAAE,MAAA,IAAI,CAAC,YAAY,0CAAE,IAAI;aAC9B,GACD,CACH,CAAA;KAAA,CAAC,CACD,CACJ;AA3BK,CA2BL,CAAA;AAED,kBAAe,OAAO,CAAA"}
@@ -1,13 +1,13 @@
1
- import { LeadingType } from '@pixum/menu-item';
2
- import React from 'react';
3
- import { ComboBoxOptionProps } from '../types';
4
- interface OptionsGroupProps {
5
- group: string;
6
- items: ComboBoxOptionProps[];
7
- selectedOption?: string;
8
- onClick?: (value: string) => void;
9
- onKeyDown: (e: React.KeyboardEvent, value: string) => void;
10
- leadingType?: LeadingType;
11
- }
12
- declare const OptionsGroup: React.FC<OptionsGroupProps>;
13
- export default OptionsGroup;
1
+ import { LeadingType } from '@pixum/menu-item';
2
+ import React from 'react';
3
+ import { ComboBoxOptionProps } from '../types';
4
+ interface OptionsGroupProps {
5
+ group: string;
6
+ items: ComboBoxOptionProps[];
7
+ selectedOption?: string;
8
+ onClick?: (value: string) => void;
9
+ onKeyDown: (e: React.KeyboardEvent, value: string) => void;
10
+ leadingType?: LeadingType;
11
+ }
12
+ declare const OptionsGroup: React.FC<OptionsGroupProps>;
13
+ export default OptionsGroup;
@@ -1,8 +1,39 @@
1
- import Text, { TextVariant } from '@pixum/text';
2
- import React from 'react';
3
- import Options from './Options';
4
- const OptionsGroup = ({ group, items, selectedOption, onClick, onKeyDown, leadingType, }) => (React.createElement("div", { className: "combobox__options-group", key: `combobox__options-group-${group}` },
5
- React.createElement(Text, { variant: TextVariant.HEADLINE, className: "combobox__sticky-header" }, group),
6
- React.createElement(Options, { items: items, selectedOption: selectedOption, onClick: onClick, onKeyDown: onKeyDown, leadingType: leadingType })));
7
- export default OptionsGroup;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ var text_1 = __importStar(require("@pixum/text"));
30
+ var react_1 = __importDefault(require("react"));
31
+ var Options_1 = __importDefault(require("./Options"));
32
+ var OptionsGroup = function (_a) {
33
+ var group = _a.group, items = _a.items, selectedOption = _a.selectedOption, onClick = _a.onClick, onKeyDown = _a.onKeyDown, leadingType = _a.leadingType;
34
+ return (react_1.default.createElement("div", { className: "combobox__options-group", key: "combobox__options-group-".concat(group) },
35
+ react_1.default.createElement(text_1.default, { variant: text_1.TextVariant.HEADLINE, className: "combobox__sticky-header" }, group),
36
+ react_1.default.createElement(Options_1.default, { items: items, selectedOption: selectedOption, onClick: onClick, onKeyDown: onKeyDown, leadingType: leadingType })));
37
+ };
38
+ exports.default = OptionsGroup;
8
39
  //# sourceMappingURL=OptionsGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OptionsGroup.js","sourceRoot":"","sources":["../../src/ComboboxOptions/OptionsGroup.tsx"],"names":[],"mappings":"AACA,OAAO,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,OAAO,MAAM,WAAW,CAAA;AAY/B,MAAM,YAAY,GAAgC,CAAC,EACjD,KAAK,EACL,KAAK,EACL,cAAc,EACd,OAAO,EACP,SAAS,EACT,WAAW,GACZ,EAAE,EAAE,CAAC,CACJ,6BACE,SAAS,EAAC,yBAAyB,EACnC,GAAG,EAAE,2BAA2B,KAAK,EAAE;IAEvC,oBAAC,IAAI,IAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAC,yBAAyB,IACrE,KAAK,CACD;IACP,oBAAC,OAAO,IACN,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,GACxB,CACE,CACP,CAAA;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"OptionsGroup.js","sourceRoot":"","sources":["../../src/ComboboxOptions/OptionsGroup.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAA+C;AAC/C,gDAAyB;AACzB,sDAA+B;AAY/B,IAAM,YAAY,GAAgC,UAAC,EAOlD;QANC,KAAK,WAAA,EACL,KAAK,WAAA,EACL,cAAc,oBAAA,EACd,OAAO,aAAA,EACP,SAAS,eAAA,EACT,WAAW,iBAAA;IACP,OAAA,CACJ,uCACE,SAAS,EAAC,yBAAyB,EACnC,GAAG,EAAE,kCAA2B,KAAK,CAAE;QAEvC,8BAAC,cAAI,IAAC,OAAO,EAAE,kBAAW,CAAC,QAAQ,EAAE,SAAS,EAAC,yBAAyB,IACrE,KAAK,CACD;QACP,8BAAC,iBAAO,IACN,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,GACxB,CACE,CACP;AAhBK,CAgBL,CAAA;AAED,kBAAe,YAAY,CAAA"}
@@ -1,4 +1,4 @@
1
- import React from 'react';
2
- import { ComboBoxOptionsProps } from '../types';
3
- declare const ComboBoxOptions: React.FC<ComboBoxOptionsProps>;
4
- export default ComboBoxOptions;
1
+ import React from 'react';
2
+ import { ComboBoxOptionsProps } from '../types';
3
+ declare const ComboBoxOptions: React.FC<ComboBoxOptionsProps>;
4
+ export default ComboBoxOptions;
@@ -1,22 +1,54 @@
1
- import React, { useEffect } from 'react';
2
- import Menu from '@pixum/menu';
3
- import { scrollOptionToViewport } from '../helper/scrollOptionToViewport';
4
- import OptionsGroup from './OptionsGroup';
5
- import Options from './Options';
6
- import useIsDesktopScreenWidth from '../helper/useIsDesktopScreenWidth';
7
- const ComboBoxOptions = ({ options, onClick, selectedOption, leadingType, optionDetails, }) => {
8
- const isDesktop = useIsDesktopScreenWidth();
9
- const handleOnKeyDown = (e, value) => {
10
- if (e.key === 'Enter') {
11
- onClick === null || onClick === void 0 ? void 0 : onClick(value);
12
- }
13
- };
14
- useEffect(() => {
15
- scrollOptionToViewport(isDesktop);
16
- }, [isDesktop]);
17
- return (React.createElement(Menu, { className: "combobox__options" },
18
- Array.isArray(options) ? (React.createElement(Options, { items: options, selectedOption: selectedOption, onClick: onClick, onKeyDown: handleOnKeyDown, leadingType: leadingType })) : (React.createElement(React.Fragment, null, Object.entries(options).map(([group, items]) => (React.createElement(OptionsGroup, { group: group, items: items, selectedOption: selectedOption, onClick: onClick, onKeyDown: handleOnKeyDown, leadingType: leadingType }))))),
19
- optionDetails && (React.createElement("div", { className: "combobox__option-details text--caption" }, optionDetails))));
20
- };
21
- export default ComboBoxOptions;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ var react_1 = __importStar(require("react"));
30
+ var menu_1 = __importDefault(require("@pixum/menu"));
31
+ var scrollOptionToViewport_1 = require("../helper/scrollOptionToViewport");
32
+ var OptionsGroup_1 = __importDefault(require("./OptionsGroup"));
33
+ var Options_1 = __importDefault(require("./Options"));
34
+ var useIsDesktopScreenWidth_1 = __importDefault(require("../helper/useIsDesktopScreenWidth"));
35
+ var ComboBoxOptions = function (_a) {
36
+ var options = _a.options, onClick = _a.onClick, selectedOption = _a.selectedOption, leadingType = _a.leadingType, optionDetails = _a.optionDetails;
37
+ var isDesktop = (0, useIsDesktopScreenWidth_1.default)();
38
+ var handleOnKeyDown = function (e, value) {
39
+ if (e.key === 'Enter') {
40
+ onClick === null || onClick === void 0 ? void 0 : onClick(value);
41
+ }
42
+ };
43
+ (0, react_1.useEffect)(function () {
44
+ (0, scrollOptionToViewport_1.scrollOptionToViewport)(isDesktop);
45
+ }, [isDesktop]);
46
+ return (react_1.default.createElement(menu_1.default, { className: "combobox__options" },
47
+ Array.isArray(options) ? (react_1.default.createElement(Options_1.default, { items: options, selectedOption: selectedOption, onClick: onClick, onKeyDown: handleOnKeyDown, leadingType: leadingType })) : (react_1.default.createElement(react_1.default.Fragment, null, Object.entries(options).map(function (_a) {
48
+ var group = _a[0], items = _a[1];
49
+ return (react_1.default.createElement(OptionsGroup_1.default, { group: group, items: items, selectedOption: selectedOption, onClick: onClick, onKeyDown: handleOnKeyDown, leadingType: leadingType }));
50
+ }))),
51
+ optionDetails && (react_1.default.createElement("div", { className: "combobox__option-details text--caption" }, optionDetails))));
52
+ };
53
+ exports.default = ComboBoxOptions;
22
54
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ComboboxOptions/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAW,MAAM,OAAO,CAAA;AACjD,OAAO,IAAI,MAAM,aAAa,CAAA;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAEzE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,uBAAuB,MAAM,mCAAmC,CAAA;AAEvE,MAAM,eAAe,GAAmC,CAAC,EACvD,OAAO,EACP,OAAO,EACP,cAAc,EACd,WAAW,EACX,aAAa,GACd,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAA;IAE3C,MAAM,eAAe,GAAG,CAAC,CAAsB,EAAE,KAAa,EAAE,EAAE;QAChE,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;YACrB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,KAAK,CAAC,CAAA;SACjB;IACH,CAAC,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,sBAAsB,CAAC,SAAS,CAAC,CAAA;IACnC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAEf,OAAO,CACL,oBAAC,IAAI,IAAC,SAAS,EAAC,mBAAmB;QAChC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CACxB,oBAAC,OAAO,IACN,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,WAAW,GACxB,CACH,CAAC,CAAC,CAAC,CACF,0CACG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAC/C,oBAAC,YAAY,IACX,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,WAAW,GACxB,CACH,CAAC,CACD,CACJ;QACA,aAAa,IAAI,CAChB,6BAAK,SAAS,EAAC,wCAAwC,IACpD,aAAa,CACV,CACP,CACI,CACR,CAAA;AACH,CAAC,CAAA;AAED,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ComboboxOptions/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAiD;AACjD,qDAA8B;AAC9B,2EAAyE;AAEzE,gEAAyC;AACzC,sDAA+B;AAC/B,8FAAuE;AAEvE,IAAM,eAAe,GAAmC,UAAC,EAMxD;QALC,OAAO,aAAA,EACP,OAAO,aAAA,EACP,cAAc,oBAAA,EACd,WAAW,iBAAA,EACX,aAAa,mBAAA;IAEb,IAAM,SAAS,GAAG,IAAA,iCAAuB,GAAE,CAAA;IAE3C,IAAM,eAAe,GAAG,UAAC,CAAsB,EAAE,KAAa;QAC5D,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;YACrB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,KAAK,CAAC,CAAA;SACjB;IACH,CAAC,CAAA;IAED,IAAA,iBAAS,EAAC;QACR,IAAA,+CAAsB,EAAC,SAAS,CAAC,CAAA;IACnC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAEf,OAAO,CACL,8BAAC,cAAI,IAAC,SAAS,EAAC,mBAAmB;QAChC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CACxB,8BAAC,iBAAO,IACN,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,WAAW,GACxB,CACH,CAAC,CAAC,CAAC,CACF,8DACG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAC,EAAc;gBAAb,KAAK,QAAA,EAAE,KAAK,QAAA;YAAM,OAAA,CAC/C,8BAAC,sBAAY,IACX,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,WAAW,GACxB,CACH;QATgD,CAShD,CAAC,CACD,CACJ;QACA,aAAa,IAAI,CAChB,uCAAK,SAAS,EAAC,wCAAwC,IACpD,aAAa,CACV,CACP,CACI,CACR,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,eAAe,CAAA"}
@@ -1 +1 @@
1
- export declare const calculateListMaxHeight: () => number;
1
+ export declare const calculateListMaxHeight: () => number;
@@ -1,8 +1,12 @@
1
- export const calculateListMaxHeight = () => {
2
- const windowHeight = window.innerHeight;
3
- const headerHeight = 50;
4
- const inputFieldHeight = 35;
5
- const maxListHeight = windowHeight - headerHeight - inputFieldHeight;
6
- return maxListHeight;
7
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calculateListMaxHeight = void 0;
4
+ var calculateListMaxHeight = function () {
5
+ var windowHeight = window.innerHeight;
6
+ var headerHeight = 50;
7
+ var inputFieldHeight = 35;
8
+ var maxListHeight = windowHeight - headerHeight - inputFieldHeight;
9
+ return maxListHeight;
10
+ };
11
+ exports.calculateListMaxHeight = calculateListMaxHeight;
8
12
  //# sourceMappingURL=calculateListMaxHeight.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calculateListMaxHeight.js","sourceRoot":"","sources":["../../src/helper/calculateListMaxHeight.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACvC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAA;IACvC,MAAM,YAAY,GAAG,EAAE,CAAA;IACvB,MAAM,gBAAgB,GAAG,EAAE,CAAA;IAC3B,MAAM,aAAa,GAAG,YAAY,GAAG,YAAY,GAAG,gBAAgB,CAAA;IAErE,OAAO,aAAa,CAAA;AAEvB,CAAC,CAAA"}
1
+ {"version":3,"file":"calculateListMaxHeight.js","sourceRoot":"","sources":["../../src/helper/calculateListMaxHeight.ts"],"names":[],"mappings":";;;AAAO,IAAM,sBAAsB,GAAG;IAClC,IAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAA;IACvC,IAAM,YAAY,GAAG,EAAE,CAAA;IACvB,IAAM,gBAAgB,GAAG,EAAE,CAAA;IAC3B,IAAM,aAAa,GAAG,YAAY,GAAG,YAAY,GAAG,gBAAgB,CAAA;IAErE,OAAO,aAAa,CAAA;AAEvB,CAAC,CAAA;AARY,QAAA,sBAAsB,0BAQlC"}
@@ -1 +1 @@
1
- export declare const scrollOptionToViewport: (isDesktop: boolean) => void;
1
+ export declare const scrollOptionToViewport: (isDesktop: boolean) => void;
@@ -1,18 +1,22 @@
1
- export const scrollOptionToViewport = (isDesktop) => {
2
- const comboboxOptions = isDesktop ? document.querySelector('.menu') :
3
- document.querySelector('.combobox__options');
4
- const selectedItem = document.querySelector(".menu-item.selected");
5
- if (selectedItem && comboboxOptions) {
6
- let comboboxOptionsGroup = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.parentElement;
7
- if (comboboxOptionsGroup) {
8
- const stickyHeader = comboboxOptionsGroup === null || comboboxOptionsGroup === void 0 ? void 0 : comboboxOptionsGroup.querySelector('.sticky-header');
9
- const stickyHeaderOffset = stickyHeader === null || stickyHeader === void 0 ? void 0 : stickyHeader.offsetTop;
10
- comboboxOptions === null || comboboxOptions === void 0 ? void 0 : comboboxOptions.scrollTo({ top: stickyHeaderOffset });
11
- }
12
- else {
13
- const selectedItemOffset = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.offsetTop;
14
- comboboxOptions === null || comboboxOptions === void 0 ? void 0 : comboboxOptions.scrollTo({ top: selectedItemOffset });
15
- }
16
- }
17
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.scrollOptionToViewport = void 0;
4
+ var scrollOptionToViewport = function (isDesktop) {
5
+ var comboboxOptions = isDesktop ? document.querySelector('.menu') :
6
+ document.querySelector('.combobox__options');
7
+ var selectedItem = document.querySelector(".menu-item.selected");
8
+ if (selectedItem && comboboxOptions) {
9
+ var comboboxOptionsGroup = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.parentElement;
10
+ if (comboboxOptionsGroup) {
11
+ var stickyHeader = comboboxOptionsGroup === null || comboboxOptionsGroup === void 0 ? void 0 : comboboxOptionsGroup.querySelector('.sticky-header');
12
+ var stickyHeaderOffset = stickyHeader === null || stickyHeader === void 0 ? void 0 : stickyHeader.offsetTop;
13
+ comboboxOptions === null || comboboxOptions === void 0 ? void 0 : comboboxOptions.scrollTo({ top: stickyHeaderOffset });
14
+ }
15
+ else {
16
+ var selectedItemOffset = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.offsetTop;
17
+ comboboxOptions === null || comboboxOptions === void 0 ? void 0 : comboboxOptions.scrollTo({ top: selectedItemOffset });
18
+ }
19
+ }
20
+ };
21
+ exports.scrollOptionToViewport = scrollOptionToViewport;
18
22
  //# sourceMappingURL=scrollOptionToViewport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scrollOptionToViewport.js","sourceRoot":"","sources":["../../src/helper/scrollOptionToViewport.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAkB,EAAE,EAAE;IACzD,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAgB,CAAC,CAAC;QAChF,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAgB,CAAA;IAC/D,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAgB,CAAC;IAElF,IAAI,YAAY,IAAI,eAAe,EAAE;QACjC,IAAI,oBAAoB,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,aAAa,CAAA;QAEtD,IAAI,oBAAoB,EAAE;YACtB,MAAM,YAAY,GAAG,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,aAAa,CAAC,gBAAgB,CAAgB,CAAA;YACzF,MAAM,kBAAkB,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,CAAA;YAElD,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAG,CAAC,CAAA;SAC1D;aAAM;YACH,MAAM,kBAAkB,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,CAAA;YAElD,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAA;SACzD;KACJ;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"scrollOptionToViewport.js","sourceRoot":"","sources":["../../src/helper/scrollOptionToViewport.ts"],"names":[],"mappings":";;;AAAO,IAAM,sBAAsB,GAAG,UAAC,SAAkB;IACrD,IAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAgB,CAAC,CAAC;QAChF,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAgB,CAAA;IAC/D,IAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAgB,CAAC;IAElF,IAAI,YAAY,IAAI,eAAe,EAAE;QACjC,IAAI,oBAAoB,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,aAAa,CAAA;QAEtD,IAAI,oBAAoB,EAAE;YACtB,IAAM,YAAY,GAAG,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,aAAa,CAAC,gBAAgB,CAAgB,CAAA;YACzF,IAAM,kBAAkB,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,CAAA;YAElD,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAG,CAAC,CAAA;SAC1D;aAAM;YACH,IAAM,kBAAkB,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,CAAA;YAElD,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAA;SACzD;KACJ;AACL,CAAC,CAAA;AAnBY,QAAA,sBAAsB,0BAmBlC"}
@@ -1,2 +1,2 @@
1
- declare const useIsDesktopScreenWidth: () => boolean;
2
- export default useIsDesktopScreenWidth;
1
+ declare const useIsDesktopScreenWidth: () => boolean;
2
+ export default useIsDesktopScreenWidth;